Releases: apple/swift-system
System 1.4.0
This release adds Sendable
conformances to FilePath
and its family of types.
What's New
- Sendable conformances for
FilePath
- Implement FilePath's
pipe()
function for Windows - Support for WASI
- Support for OpenBSD
What's Changed
- Support OpenBSD. by @3405691582 in #113
- Add Sendable conformances (except FileDescriptor) by @ffried in #115
- Enable Swift Package Index documentation and add API doc link by @Kyle-Ye in #149
- Support Windows ARM64 by @hjyamauchi in #151
- Require Swift 5.9
- And many minor bug fixes and updates
New Contributors
- @krzyzanowskim made their first contribution in #109
- @3405691582 made their first contribution in #113
- @ffried made their first contribution in #115
Full Changelog: 1.3.2...1.4.0
System 1.3.2
This release fixes a security issue in the Decodable
implementation of FilePath
.
What's Fixed
- This release fixes
FilePath
decoding. Internal invariants ofFilePath
are now enforced in the initializer used by theDecodable
protocol,FilePath.init(from:)
.
New Contributors
- @stephentyrone made their first contribution in #189, cherry-picked here.
Full Changelog: 1.3.1...1.3.2
System 1.3.1
This release addresses build issues
What's Fixed
String.init(platformString:)
is now a disfavored overload, in order to work around a Swift language issue.- Exclude
CMakeLists.txt
files from consideration by the Swift Package Manager.
New Contributors
- @jmschonfeld made their first contribution in #161, cherry-picked here.
- @kateinoigakukun made their first contribution in #182, cherry-picked here.
Full Changelog: 1.3.0...1.3.1
System 1.3.0
1.3.0 release
This release primarily addresses a number of platform support issues.
What's New
- Support for visionOS
- Support for musl libc
What's Changed
- swift-system now requires Swift 5.8
- The
Collection
conformance of theSystemString
has been improved. This makes it compatible with the Swift 6.0 standard library, in whichArray
'sreplaceSubrange()
has become stricter about the correctness of theCollection
types it handles. - The cmake configuration now understands more spellings for Arm64, improving compatibility with Windows compilers.
- Adapted two syscall wrappers to support unusual nullability annotations in Android's NDK 26. The package needs this to build against recent NDKs.
New Contributors
- @MaxDesiatov made their first contribution in #133, cherry-picked here.
- @finagolfin made their first contribution in #148, cherry-picked here.
- @hjyamauchi made their first contribution in #151, cherry-picked here.
- @noahpistilli made their first contribution in #152, adapted here.
Full Changelog: 1.2.1...1.3.0
System 1.2.1
This is a bug fix release restoring the ability to build this package on Windows.
What's Changed
- Revert "FileOperations: Add Windows implementation for FileDescriptor.resize(to:)" in #93
Full Changelog: 1.2.0...1.2.1
System 1.2.0
What's New
- FileDescriptor: Add resize(to newSize:) by @simonjbeaumont in #82
What's Changed
- Unify availability annotations & introduce a script to manage them by @lorentey in #75
- Update Linux tests manifest by @dduan in #81
- docs: Removed duplicate paragraph from FileDescriptor.writeAll(_:) docs by @simonjbeaumont in #85
- Unbreak the Windows port by @lorentey in #88
- Rebind byte types safely by @glessard in #79
- Fix broken links. by @amartini51 in #77
- Mitigate misuse of Swift's pointer conversion feature by @glessard in #80
- Import C module as
@_implementationOnly
by @colemancda in #83 - FileOperations: Add Windows implementation for FileDescriptor.resize(to:) by @simonjbeaumont in #89
New Contributors
- @dduan made their first contribution in #81
- @simonjbeaumont made their first contribution in #85
- @glessard made their first contribution in #79
- @colemancda made their first contribution in #83
Full Changelog: 1.1.1...1.2.0
System 1.1.1
What's Changed
Full Changelog: 1.1.0...1.1.1
System 1.1.0
Picks up pipe API and cmake changes.
What's Changed
- Implement
FileDescriptor.Pipe()
by @GeorgeLyon in #58 - Minor fixes in documentation comments by @amartini51 in #69
- update cmake setup so that the library can be used by SwiftPM cmake build by @tomerd in #73
New Contributors
- @GeorgeLyon made their first contribution in #58
- @tomerd made their first contribution in #73
Full Changelog: 1.0.0...1.0.1
System 1.0
Official 1.0 release!
System is already source and binary stable (at least on Darwin), so in practice this doesn't change much about System's development or guarantees (1.0.0
is effectively the same as 0.0.3
). But, it does formalize the source stability guarantee for clients of the package.
0.0.3 Bug fixes for Windows
Contains bug fixes for Windows, and minor fixes for SystemChar.