Skip to content

Commit 8e3512d

Browse files
committed
Update for 1.6.8 release
1 parent 9afeb63 commit 8e3512d

10 files changed

Lines changed: 1578 additions & 18 deletions

File tree

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# Change Log
22

3+
## [1.6.8](https://github.com/nicklockwood/ShapeScript/releases/tag/1.6.8) (2023-16-04)
4+
5+
- Improved static type inference for import statements
6+
- Fixed type error for constant transform overrides
7+
- Removed OpenGL support for High Sierra
8+
- Fixed range precision issue
9+
- Added Linux CLI support
10+
311
## [1.6.7](https://github.com/nicklockwood/ShapeScript/releases/tag/1.6.7) (2023-04-04)
412

513
- Added `arc` command

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,9 @@ For more information, check out the [help section](docs/index.md).
6767

6868
# Usage (Linux)
6969

70-
ShapeScript provides a command-line interface for Linux machines.
70+
ShapeScript provides a command-line interface for Linux machines. You can download the latest CLI build from the [releases page](https://github.com/nicklockwood/ShapeScript/releases).
7171

72-
To build the CLI, you will need to install the [latest Swift toolchain](https://www.swift.org/download/), then run the following commands:
72+
Alternatively, to build the tool yourself from source, you will need to install the [latest Swift toolchain](https://www.swift.org/download/), then run the following commands:
7373

7474
```bash
7575
$ git clone https://github.com/nicklockwood/ShapeScript

ShapeScript.podspec.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ShapeScript",
3-
"version": "1.6.7",
3+
"version": "1.6.8",
44
"license": {
55
"type": "MIT",
66
"file": "LICENSE.md"
@@ -10,7 +10,7 @@
1010
"authors": "Nick Lockwood",
1111
"source": {
1212
"git": "https://github.com/nicklockwood/ShapeScript.git",
13-
"tag": "1.6.7"
13+
"tag": "1.6.8"
1414
},
1515
"source_files": ["ShapeScript", "LRUCache/Sources", "SVGPath/Sources"],
1616
"requires_arc": true,

ShapeScript.xcodeproj/project.pbxproj

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
014F85DB215BE1A900461FB7 /* Parser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 014F85DA215BE1A900461FB7 /* Parser.swift */; };
3232
0152E5DA214500C50082A5A3 /* ShapeScript.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 01BFB39621425C8500E47A7C /* ShapeScript.framework */; };
3333
016F9ED229DB2315008206CE /* WhatsNewViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 016F9ECD29DB2315008206CE /* WhatsNewViewController.swift */; };
34-
016F9ED429DB24F8008206CE /* CHANGELOG.md in Resources */ = {isa = PBXBuildFile; fileRef = 016F9ED329DB24F8008206CE /* CHANGELOG.md */; };
3534
01746BF226C5D226009DADEF /* GeometryType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01746BF126C5D226009DADEF /* GeometryType.swift */; };
3635
0174CD6C2917FC1F0007B6DF /* FileMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0174CD6B2917FC1F0007B6DF /* FileMonitor.swift */; };
3736
0174CD6D2917FC1F0007B6DF /* FileMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0174CD6B2917FC1F0007B6DF /* FileMonitor.swift */; };
@@ -104,6 +103,7 @@
104103
01D753E729E89BD000B326F0 /* ProgramError+Formatting.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01D753E629E89BD000B326F0 /* ProgramError+Formatting.swift */; };
105104
01D753E929E8A22A00B326F0 /* Geometry+ModelInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01D753E829E8A22A00B326F0 /* Geometry+ModelInfo.swift */; };
106105
01D753EB29E93B7600B326F0 /* Mesh+STL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01D753EA29E93B7600B326F0 /* Mesh+STL.swift */; };
106+
01D7548F29ECAEA400B326F0 /* WhatsNew.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 01D7548E29ECAEA400B326F0 /* WhatsNew.rtf */; };
107107
01D8796F285FBDC800C65135 /* ImportExportTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01D8796A285FBDC800C65135 /* ImportExportTests.swift */; };
108108
01E3AA0526CB8E8200E0B287 /* Logging.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01E3AA0426CB8E8200E0B287 /* Logging.swift */; };
109109
01E3AA0A26CB920000E0B287 /* LoggingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01E3AA0926CB920000E0B287 /* LoggingTests.swift */; };
@@ -335,7 +335,6 @@
335335
014F85DA215BE1A900461FB7 /* Parser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Parser.swift; sourceTree = "<group>"; };
336336
0152E5C5214500990082A5A3 /* ShapeScript Viewer.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "ShapeScript Viewer.app"; sourceTree = BUILT_PRODUCTS_DIR; };
337337
016F9ECD29DB2315008206CE /* WhatsNewViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WhatsNewViewController.swift; sourceTree = "<group>"; };
338-
016F9ED329DB24F8008206CE /* CHANGELOG.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = CHANGELOG.md; sourceTree = "<group>"; };
339338
016FAC0321C149C300AF60DC /* Euclid.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = Euclid.xcodeproj; sourceTree = "<group>"; };
340339
01746BF126C5D226009DADEF /* GeometryType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GeometryType.swift; sourceTree = "<group>"; };
341340
0174CD6B2917FC1F0007B6DF /* FileMonitor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileMonitor.swift; sourceTree = "<group>"; };
@@ -402,6 +401,7 @@
402401
01D753E629E89BD000B326F0 /* ProgramError+Formatting.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ProgramError+Formatting.swift"; sourceTree = "<group>"; };
403402
01D753E829E8A22A00B326F0 /* Geometry+ModelInfo.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Geometry+ModelInfo.swift"; sourceTree = "<group>"; };
404403
01D753EA29E93B7600B326F0 /* Mesh+STL.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Mesh+STL.swift"; sourceTree = "<group>"; };
404+
01D7548E29ECAEA400B326F0 /* WhatsNew.rtf */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.rtf; path = WhatsNew.rtf; sourceTree = "<group>"; };
405405
01D8796A285FBDC800C65135 /* ImportExportTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImportExportTests.swift; sourceTree = "<group>"; };
406406
01E3AA0426CB8E8200E0B287 /* Logging.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Logging.swift; sourceTree = "<group>"; };
407407
01E3AA0926CB920000E0B287 /* LoggingTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoggingTests.swift; sourceTree = "<group>"; };
@@ -565,7 +565,7 @@
565565
0183AADB28EC3ACB00AD1984 /* Document.swift */,
566566
0183AADC28EC3ACB00AD1984 /* Viewer.entitlements */,
567567
0183AADD28EC3ACB00AD1984 /* Welcome.rtf */,
568-
016F9ED329DB24F8008206CE /* CHANGELOG.md */,
568+
01D7548E29ECAEA400B326F0 /* WhatsNew.rtf */,
569569
0183AADE28EC3ACB00AD1984 /* AppDelegate.swift */,
570570
0183AADF28EC3ACB00AD1984 /* DocumentViewController.swift */,
571571
0183AAE028EC3ACB00AD1984 /* Info.plist */,
@@ -937,7 +937,7 @@
937937
buildActionMask = 2147483647;
938938
files = (
939939
0183AAE728EC3ACB00AD1984 /* Main.storyboard in Resources */,
940-
016F9ED429DB24F8008206CE /* CHANGELOG.md in Resources */,
940+
01D7548F29ECAEA400B326F0 /* WhatsNew.rtf in Resources */,
941941
0183AAE928EC3ACB00AD1984 /* Welcome.rtf in Resources */,
942942
0183AAE428EC3ACB00AD1984 /* Assets.xcassets in Resources */,
943943
01BD9437219367D2005FFAEC /* Examples in Resources */,
@@ -1277,7 +1277,7 @@
12771277
"$(inherited)",
12781278
"@executable_path/../Frameworks",
12791279
);
1280-
MARKETING_VERSION = 1.6.7;
1280+
MARKETING_VERSION = 1.6.8;
12811281
PRODUCT_BUNDLE_IDENTIFIER = com.charcoaldesign.ShapeScriptViewer;
12821282
PRODUCT_MODULE_NAME = Viewer;
12831283
PRODUCT_NAME = "ShapeScript Viewer";
@@ -1305,7 +1305,7 @@
13051305
"$(inherited)",
13061306
"@executable_path/../Frameworks",
13071307
);
1308-
MARKETING_VERSION = 1.6.7;
1308+
MARKETING_VERSION = 1.6.8;
13091309
PRODUCT_BUNDLE_IDENTIFIER = com.charcoaldesign.ShapeScriptViewer;
13101310
PRODUCT_MODULE_NAME = Viewer;
13111311
PRODUCT_NAME = "ShapeScript Viewer";
@@ -1335,7 +1335,7 @@
13351335
"$(inherited)",
13361336
"@executable_path/Frameworks",
13371337
);
1338-
MARKETING_VERSION = 1.6.7;
1338+
MARKETING_VERSION = 1.6.8;
13391339
PRODUCT_BUNDLE_IDENTIFIER = com.charcoaldesign.ShapeScriptViewer;
13401340
PRODUCT_MODULE_NAME = Viewer;
13411341
PRODUCT_NAME = ShapeScript;
@@ -1367,7 +1367,7 @@
13671367
"$(inherited)",
13681368
"@executable_path/Frameworks",
13691369
);
1370-
MARKETING_VERSION = 1.6.7;
1370+
MARKETING_VERSION = 1.6.8;
13711371
PRODUCT_BUNDLE_IDENTIFIER = com.charcoaldesign.ShapeScriptViewer;
13721372
PRODUCT_MODULE_NAME = Viewer;
13731373
PRODUCT_NAME = ShapeScript;
@@ -1530,7 +1530,7 @@
15301530
"@executable_path/../Frameworks",
15311531
"@loader_path/Frameworks",
15321532
);
1533-
MARKETING_VERSION = 1.6.7;
1533+
MARKETING_VERSION = 1.6.8;
15341534
PRODUCT_BUNDLE_IDENTIFIER = com.charcoaldesign.ShapeScriptLib;
15351535
PRODUCT_NAME = ShapeScript;
15361536
SKIP_INSTALL = YES;
@@ -1561,7 +1561,7 @@
15611561
"@executable_path/../Frameworks",
15621562
"@loader_path/Frameworks",
15631563
);
1564-
MARKETING_VERSION = 1.6.7;
1564+
MARKETING_VERSION = 1.6.8;
15651565
PRODUCT_BUNDLE_IDENTIFIER = com.charcoaldesign.ShapeScriptLib;
15661566
PRODUCT_NAME = ShapeScript;
15671567
SKIP_INSTALL = YES;

ShapeScript/Interpreter.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import Foundation
1111

1212
// MARK: Public interface
1313

14-
public let version = "1.6.7"
14+
public let version = "1.6.8"
1515

1616
public protocol EvaluationDelegate: AnyObject {
1717
func resolveURL(for path: String) -> URL

ShapeScriptTests/MetadataTests.swift

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ private let projectDirectory: URL = URL(fileURLWithPath: #file)
1515
private let changelogURL = projectDirectory
1616
.appendingPathComponent("CHANGELOG.md")
1717

18+
private let whatsNewURL = projectDirectory
19+
.appendingPathComponent("Viewer/Mac/WhatsNew.rtf")
20+
1821
private let podspecURL: URL = projectDirectory
1922
.appendingPathComponent("ShapeScript.podspec.json")
2023

@@ -163,6 +166,69 @@ class MetadataTests: XCTestCase {
163166
XCTAssertEqual(ShapeScript.version, shapeScriptVersion)
164167
}
165168

169+
func testUpdateWhatsNew() throws {
170+
let changelog = try! String(contentsOf: changelogURL, encoding: .utf8)
171+
var releases = [(version: String, date: String, notes: [String])]()
172+
var notes = [String]()
173+
for line in changelog.split(separator: "\n") {
174+
if line.hasPrefix("## [") {
175+
if !notes.isEmpty, !releases.isEmpty {
176+
releases[releases.count - 1].notes = notes
177+
notes.removeAll()
178+
}
179+
let versionStart = try XCTUnwrap(line.firstIndex(of: "["))
180+
let versionEnd = try XCTUnwrap(line.firstIndex(of: "]"))
181+
let version = line[line.index(after: versionStart) ..< versionEnd]
182+
let dateStart = try XCTUnwrap(line.lastIndex(of: "("))
183+
let dateEnd = try XCTUnwrap(line.lastIndex(of: ")"))
184+
let date = line[line.index(after: dateStart) ..< dateEnd]
185+
releases.append((String(version), String(date), []))
186+
} else if line.hasPrefix("-") {
187+
notes.append(String(line[line.index(after: line.startIndex)...]))
188+
}
189+
}
190+
if !notes.isEmpty, !releases.isEmpty {
191+
releases[releases.count - 1].notes = notes
192+
notes.removeAll()
193+
}
194+
195+
let body = releases.map {
196+
#"""
197+
\f1\b\fs34 \cf2 ShapeScript \#($0.version) \'97 \#($0.date)\
198+
\
199+
\pard\tx220\tx720\pardeftab720\li720\fi-720\partightenfactor0
200+
201+
\fs33\fsmilli16867 \cf2 \kerning1\expnd0\expndtw0\#($0.notes.map {
202+
#"""
203+
\'95
204+
\f0\b0 \expnd0\expndtw0\kerning0
205+
\#($0).\
206+
\
207+
"""#
208+
}.joined())
209+
"""#
210+
}.joined(separator: "\n")
211+
212+
let whatsNew = #"""
213+
{\rtf1\ansi\ansicpg1252\cocoartf2639
214+
\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 HelveticaNeue;\f1\fnil\fcharset0 HelveticaNeue-Bold;}
215+
{\colortbl;\red255\green255\blue255;\red0\green0\blue0;}
216+
{\*\expandedcolortbl;;\cssrgb\c0\c0\c0\cname textColor;}
217+
\paperw11900\paperh16840\margl1440\margr1440\vieww24140\viewh18420\viewkind0
218+
\deftab720
219+
\pard\pardeftab720\qc\partightenfactor0
220+
221+
\f0\fs50 \cf2 \expnd0\expndtw0\kerning0
222+
What's New in ShapeScript?\
223+
\
224+
\pard\tx220\tx720\pardeftab720\li720\fi-720\partightenfactor0
225+
226+
\#(body)
227+
}
228+
"""#
229+
try whatsNew.write(to: whatsNewURL, atomically: true, encoding: .utf8)
230+
}
231+
166232
// MARK: Help
167233
168234
func testUpdateIndex() throws {

Viewer/Mac/CHANGELOG.md

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)