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 with non empty allValueStrings. Types also conforming to CaseIterable do 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)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps github.com/apple/swift-argument-parser from 1.1.4 to 1.3.1.
Release notes
Sourced from github.com/apple/swift-argument-parser's releases.
... (truncated)
Commits
4698969
Update CHANGELOG date (#625)985dba1
Update CHANGELOG for release 1.3.1 (#624)3dcbdb0
ClarifypostTerminator
parsing strategy behavior (#621)7191549
Fix for@Option(transform:)
with optional type (#619)1c8215f
Preferlet
for private configurations (#617)76466cc
Improve zsh completion for repeatable options (#614)c413809
Remove@_implementationOnly
annotations (#616)a0f43bb
MarkCommandConfiguration
asSendable
(#615)6c7ec36
Fix unrecognized-help
flag with default command (#612)40d2342
Add note about CL.arguments to the changelog (#611)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show