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.2.3 to 1.3.0.
Release notes
Sourced from github.com/apple/swift-argument-parser's releases.
Commits
c8ed701
Update changelog with latest changes (#600)66e0d7d
Tests: repair the build on Windows (#604)d9182a9
Suppress retroactive conformance errors (#603)c769981
Update documentation (#602)9eded54
Bash does not like '-' in function names (#573)ac615d4
Workarounds for remaining concurrency warnings (#601)511a72a
Add Sendable conformance (#582)51ec3ed
Add AsyncParsableCommand to README (#565)c10af98
Respect the COLUMNS and LINES environment variables when present (#596)75dae3d
Display possible option values in help (#594)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