diff --git a/CHANGELOG.md b/CHANGELOG.md index 0c8ff1d2..5e3ceadc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,26 @@ Add new items at the end of the relevant section under **Unreleased**. ## [Unreleased] +*No new changes.* + +--- + +## [1.3.0] - 2023-12-06 + +### Changes + +- The `@Option`, `@Argument`, `@Flag`, and `@OptionGroup` property wrappers now + conditionally conform to `Sendable` when the wrapper's `Value` type conforms. With this + change, you can mark `ParsableCommand` types as `Sendable` when you want to be able to + pass a parsed command across concurrent contexts. ([#582]) + + *Migration:* Users that aren't ready to resolve sendability warnings can add the + `@preconcurrency` attribute to `import ArgumentParser` statements. + +- To support migration to `Sendable` annotation, the minimum Swift version for + `swift-argument-parser` has been increased to Swift 5.7. Users of older Swift versions + will be able to continue using version 1.2.3 of the library. ([#582]) + ### Additions - Help screens now include possible options for `ExpressibleByArgument` types @@ -13,8 +33,19 @@ Add new items at the end of the relevant section under **Unreleased**. not need to manually implement `allValueStrings`, instead it is derived from `allCases`. ([#594]) - - +### Fixes + +- The titles for nested option groups are preserved when embedded into commands without + specifying a new title. ([#592]) +- When wrapping help and error messages, the library now uses the `COLUMNS` environment + variable when set, instead of immediately falling back to 80 columns. ([#596]) +- Bash completion scripts now respect the extensions given in a `.file(...)` completion + kind. ([#590]) +- Bash completion scripts now properly escape command names that include hyphens. ([#573]) +- Documentation improvements. ([#572], [#565], [#602]) + +The 1.2.3 release includes contributions from [Alkenso], [compnerd], [gwynne], +[kennyyork], [natecook1000], [rauhul], [robertmryan], and [vlm]. Thank you! --- @@ -803,7 +834,8 @@ This changelog's format is based on [Keep a Changelog](https://keepachangelog.co -[Unreleased]: https://github.com/apple/swift-argument-parser/compare/1.2.3...HEAD +[Unreleased]: https://github.com/apple/swift-argument-parser/compare/1.3.0...HEAD +[1.3.0]: https://github.com/apple/swift-argument-parser/compare/1.2.3...1.3.0 [1.2.3]: https://github.com/apple/swift-argument-parser/compare/1.2.2...1.2.3 [1.2.2]: https://github.com/apple/swift-argument-parser/compare/1.2.1...1.2.2 [1.2.1]: https://github.com/apple/swift-argument-parser/compare/1.2.0...1.2.1 @@ -897,9 +929,17 @@ This changelog's format is based on [Keep a Changelog](https://keepachangelog.co [#550]: https://github.com/apple/swift-argument-parser/pull/550 [#552]: https://github.com/apple/swift-argument-parser/pull/552 [#554]: https://github.com/apple/swift-argument-parser/pull/554 +[#565]: https://github.com/apple/swift-argument-parser/pull/565 +[#572]: https://github.com/apple/swift-argument-parser/pull/572 +[#573]: https://github.com/apple/swift-argument-parser/pull/573 [#574]: https://github.com/apple/swift-argument-parser/pull/574 [#579]: https://github.com/apple/swift-argument-parser/pull/579 -[#579]: https://github.com/apple/swift-argument-parser/pull/594 +[#582]: https://github.com/apple/swift-argument-parser/pull/582 +[#590]: https://github.com/apple/swift-argument-parser/pull/590 +[#592]: https://github.com/apple/swift-argument-parser/pull/592 +[#594]: https://github.com/apple/swift-argument-parser/pull/594 +[#596]: https://github.com/apple/swift-argument-parser/pull/596 +[#602]: https://github.com/apple/swift-argument-parser/pull/602 @@ -907,6 +947,7 @@ This changelog's format is based on [Keep a Changelog](https://keepachangelog.co [adellibovi]: https://github.com/apple/swift-argument-parser/commits?author=adellibovi [aleksey-mashanov]: https://github.com/apple/swift-argument-parser/commits?author=aleksey-mashanov [AliSoftware]: https://github.com/apple/swift-argument-parser/commits?author=AliSoftware +[Alkenso]: https://github.com/apple/swift-argument-parser/commits?author=Alkenso [allevato]: https://github.com/apple/swift-argument-parser/commits?author=allevato [artemnovichkov]: https://github.com/apple/swift-argument-parser/commits?author=artemnovichkov [atierian]: https://github.com/apple/swift-argument-parser/commits?author=atierian @@ -968,6 +1009,7 @@ This changelog's format is based on [Keep a Changelog](https://keepachangelog.co [rauhul]: https://github.com/apple/swift-argument-parser/commits?author=rauhul [rickrizzo]: https://github.com/apple/swift-argument-parser/commits?author=rickrizzo [rjstelling]: https://github.com/apple/swift-argument-parser/commits?author=rjstelling +[robertmryan]: https://github.com/apple/swift-argument-parser/commits?author=robertmryan [Sajjon]: https://github.com/apple/swift-argument-parser/commits?author=Sajjon [schlagelk]: https://github.com/apple/swift-argument-parser/commits?author=schlagelk [SergeyPetrachkov]: https://github.com/apple/swift-argument-parser/commits?author=SergeyPetrachkov @@ -978,6 +1020,7 @@ This changelog's format is based on [Keep a Changelog](https://keepachangelog.co [thomasvl]: https://github.com/apple/swift-argument-parser/commits?author=thomasvl [TiagoMaiaL]: https://github.com/apple/swift-argument-parser/commits?author=TiagoMaiaL [toddthomas]: https://github.com/apple/swift-argument-parser/commits?author=toddthomas +[vlm]: https://github.com/apple/swift-argument-parser/commits?author=vlm [werm098]: https://github.com/apple/swift-argument-parser/commits?author=werm098 [Wevah]: https://github.com/apple/swift-argument-parser/commits?author=Wevah [Wildchild9]: https://github.com/apple/swift-argument-parser/commits?author=Wildchild9 diff --git a/README.md b/README.md index 89b2cf88..91360ed1 100644 --- a/README.md +++ b/README.md @@ -123,7 +123,7 @@ let package = Package( // name, platforms, products, etc. dependencies: [ // other dependencies - .package(url: "https://github.com/apple/swift-argument-parser", from: "1.2.0"), + .package(url: "https://github.com/apple/swift-argument-parser", from: "1.3.0"), ], targets: [ .executableTarget(name: "", dependencies: [ @@ -144,4 +144,4 @@ swift-argument-parser | Minimum Swift Version `0.0.1 ..< 0.2.0` | 5.1 `0.2.0 ..< 1.1.0` | 5.2 `1.1.0 ..< 1.3.0` | 5.5 -`1.3.0 ...` (future) | 5.7 +`1.3.0 ...` | 5.7 diff --git a/Sources/ArgumentParser/Documentation.docc/Articles/GettingStarted.md b/Sources/ArgumentParser/Documentation.docc/Articles/GettingStarted.md index ea90bfda..a9be9ccf 100644 --- a/Sources/ArgumentParser/Documentation.docc/Articles/GettingStarted.md +++ b/Sources/ArgumentParser/Documentation.docc/Articles/GettingStarted.md @@ -21,7 +21,7 @@ import PackageDescription let package = Package( name: "Count", dependencies: [ - .package(url: "https://github.com/apple/swift-argument-parser.git", from: "1.2.0"), + .package(url: "https://github.com/apple/swift-argument-parser.git", from: "1.3.0"), ], targets: [ .executableTarget(