Skip to content

Commit 2e1afda

Browse files
committed
Finalize 2.4.0 release.
1 parent 220649c commit 2e1afda

File tree

10 files changed

+41
-15
lines changed

10 files changed

+41
-15
lines changed

CHANGELOG.md

+22
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,27 @@
11
# Changelog
22

3+
## 2.4.0 (2024-01-15)
4+
5+
- Ported universal formatting facility from Common Lisp and made it available via library `(lispkit format)`
6+
- Library `(lispkit records)` now supports extensible records compatible to SRFI 131
7+
- New procedures in library `(lispkit system)`: `available-region?`, `region-flag`, `available-language?`, `available-currencies`, `available-currency?`, `currency-name`, `currency-code`, `currency-numeric-code`, and `currency-symbol`
8+
- New procedures in library `(lispkit port)`: `display-format`, `write-formatted`
9+
- New procedures in library `(lispkit bitset)`: `fixnum->bitset`, `bitset->fixnum`
10+
- New procedures in library `(lispkit system)`: `terminal-size`, `make-uuid-string`, `make-uuid-bytevector`
11+
- New procedure in library `(lispkit draw)`: `clear-drawing`
12+
- New procedures in library `(lispkit draw turtle)`: `arc`, `turtle-x`, `turtle-y`, `turtle-angle`, `turtle-pen-down?`
13+
- New procedure `load-program` in library `(lispkit core)` supports executing programs in an empty environment
14+
- Procedure `type-of` of library `(lispkit type)` now returns a list of type tags (from most specific to least specific type)
15+
- Renamed library `(lispkit system os)` to `(lispkit system call)`
16+
- Renamed `object` in library `(lispkit type)` to `obj` to prevent conflicts with other libraries
17+
- Extend library `(lispkit bytevector)` with procedures `bytevector=?`, `bytevector->hex`, and `hex->bytevector`
18+
- Reimplementation of procedure `open-file` in library `(lispkit system)` supporting custom application paths
19+
- Enforce that imported (immutable) definitions cannot be mutated, unless it's in the REPL; `export-mutable` in library definitions enable mutability
20+
- Allow configuration of REPL output via format config `repl-format-config` of library `(lispkit format)`
21+
- Improved display of OS-level exceptions and errors in REPL
22+
- New libraries: `(lispkit format)`, `(lispkit crypto)`, `(lispkit archive tar)`, `(lispkit list set)`, `(srfi 239)`, `(srfi 235)`.
23+
- New sample code: `Blockchain.scm`
24+
325
## 2.3.2 (2023-02-05)
426

527
- Handle assets correctly in the LispKit REPL

LispKit.xcodeproj/project.pbxproj

+8-4
Original file line numberDiff line numberDiff line change
@@ -5405,7 +5405,7 @@
54055405
"@executable_path/../Frameworks",
54065406
"@loader_path/Frameworks",
54075407
);
5408-
MARKETING_VERSION = 2.3.2;
5408+
MARKETING_VERSION = 2.4.0;
54095409
MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++";
54105410
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu99 gnu++11";
54115411
"OTHER_SWIFT_FLAGS[arch=*]" = "-D DEBUG";
@@ -5440,7 +5440,7 @@
54405440
"@executable_path/../Frameworks",
54415441
"@loader_path/Frameworks",
54425442
);
5443-
MARKETING_VERSION = 2.3.2;
5443+
MARKETING_VERSION = 2.4.0;
54445444
MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++";
54455445
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu99 gnu++11";
54465446
PRODUCT_BUNDLE_IDENTIFIER = net.objecthub.LispKit;
@@ -5519,7 +5519,7 @@
55195519
"@executable_path/Frameworks",
55205520
"@loader_path/Frameworks",
55215521
);
5522-
MARKETING_VERSION = 2.3.2;
5522+
MARKETING_VERSION = 2.4.0;
55235523
MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++";
55245524
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++14";
55255525
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
@@ -5530,7 +5530,9 @@
55305530
"PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = "";
55315531
SDKROOT = iphoneos;
55325532
SKIP_INSTALL = YES;
5533+
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
55335534
SUPPORTS_MACCATALYST = NO;
5535+
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
55345536
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
55355537
SWIFT_VERSION = 5.0;
55365538
TARGETED_DEVICE_FAMILY = "1,2";
@@ -5563,7 +5565,7 @@
55635565
"@executable_path/Frameworks",
55645566
"@loader_path/Frameworks",
55655567
);
5566-
MARKETING_VERSION = 2.3.2;
5568+
MARKETING_VERSION = 2.4.0;
55675569
MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++";
55685570
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++14";
55695571
MTL_FAST_MATH = YES;
@@ -5573,7 +5575,9 @@
55735575
"PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = "";
55745576
SDKROOT = iphoneos;
55755577
SKIP_INSTALL = YES;
5578+
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
55765579
SUPPORTS_MACCATALYST = NO;
5580+
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
55775581
SWIFT_VERSION = 5.0;
55785582
TARGETED_DEVICE_FAMILY = "1,2";
55795583
VALIDATE_PRODUCT = YES;

Sources/LispKit iOS/Info.plist

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,6 @@
2121
<key>CFBundleVersion</key>
2222
<string>$(CURRENT_PROJECT_VERSION)</string>
2323
<key>NSHumanReadableCopyright</key>
24-
<string>Copyright © 2016–2023 Matthias Zenger. All rights reserved.</string>
24+
<string>Copyright © 2016–2024 Matthias Zenger. All rights reserved.</string>
2525
</dict>
2626
</plist>

Sources/LispKit/Info.plist

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
<true/>
2929
</dict>
3030
<key>NSHumanReadableCopyright</key>
31-
<string>Copyright © 2016–2023 Matthias Zenger. All rights reserved.</string>
31+
<string>Copyright © 2016–2024 Matthias Zenger. All rights reserved.</string>
3232
<key>NSPrincipalClass</key>
3333
<string></string>
3434
</dict>

Sources/LispKit/Resources/Tests/LispKit-Channel.scm

+1-1
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@
123123
(go (let loop () (channel-select ((tick -> _) (channel-select ((reply <- 2) (loop)))))))
124124
(go (let loop () (channel-select ((tick -> _) (channel-select ((reply <- 3) (loop)))))))
125125
(go (let loop () (channel-select ((tick -> _) (channel-select ((reply <- 4) (loop)))))))
126-
(thread-sleep! .11) ; just a little past the last tick
126+
(thread-sleep! .107) ; just a little past the last tick
127127
(channel-close reply) ; allow goroutines to exit (this is an antipattern in golang,
128128
; hopefully ok here!)
129129
; So, we've ticked every 100ms in 1 second. That should give us exactly 10 results,

Sources/LispKitRepl/AppInfo.swift

+3-3
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@ public struct AppInfo {
3030
public static let name = "LispKit Shell"
3131

3232
// Version of the application
33-
public static let version = "2.4.1"
33+
public static let version = "2.4.2"
3434

3535
// Copyright message
36-
public static let copyright = "Copyright © 2016–2023 Matthias Zenger. All rights reserved."
36+
public static let copyright = "Copyright © 2016–2024 Matthias Zenger. All rights reserved."
3737

3838
#if SPM
3939
public static let prompt = "> "
@@ -45,7 +45,7 @@ public struct AppInfo {
4545
public static let buildDate = { () -> String in
4646
let dateFormatter = DateFormatter()
4747
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm"
48-
return dateFormatter.string(from: Date(timeIntervalSince1970: 1701041121))
48+
return dateFormatter.string(from: Date(timeIntervalSince1970: 1705349418))
4949
}()
5050
public static let buildAnnotation = " (\(AppInfo.buildDate))"
5151
}

Sources/LispKitRepl/AppInfo.tmpl

+2-2
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@ public struct AppInfo {
3030
public static let name = "LispKit Shell"
3131

3232
// Version of the application
33-
public static let version = "2.4.1"
33+
public static let version = "2.4.2"
3434

3535
// Copyright message
36-
public static let copyright = "Copyright © 2016–2023 Matthias Zenger. All rights reserved."
36+
public static let copyright = "Copyright © 2016–2024 Matthias Zenger. All rights reserved."
3737

3838
#if SPM
3939
public static let prompt = "> "

Sources/LispKitRepl/main.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
if repl.shouldRunRepl() {
3737
#if SPM
3838
guard repl.configurationSuccessfull(implementationName: "LispKit",
39-
implementationVersion: "2.3.2",
39+
implementationVersion: "2.4.0",
4040
includeInternalResources: false,
4141
defaultDocDirectory: "LispKit",
4242
features: features) else {

Sources/LispKitTools/Info.plist

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,6 @@
1919
<key>CFBundleVersion</key>
2020
<string>$(CURRENT_PROJECT_VERSION)</string>
2121
<key>NSHumanReadableCopyright</key>
22-
<string>Copyright © 2016-2023 Matthias Zenger. All rights reserved.</string>
22+
<string>Copyright © 2016-2024 Matthias Zenger. All rights reserved.</string>
2323
</dict>
2424
</plist>

Tests/LispKitTests/Info.plist

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<key>CFBundlePackageType</key>
1616
<string>BNDL</string>
1717
<key>CFBundleShortVersionString</key>
18-
<string>2.3.2</string>
18+
<string>2.4.0</string>
1919
<key>CFBundleSignature</key>
2020
<string>????</string>
2121
<key>CFBundleVersion</key>

0 commit comments

Comments
 (0)