-
Notifications
You must be signed in to change notification settings - Fork 384
Comparing changes
Open a pull request
base repository: apple/swift-argument-parser
base: 1.7.1
head repository: apple/swift-argument-parser
compare: 1.8.0
- 15 commits
- 64 files changed
- 7 contributors
Commits on Mar 22, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 4babd31 - Browse repository at this point
Copy the full SHA 4babd31View commit details -
Update package to use a minimum of Swift 6 (#882)
* Make Swift 6 the minimum version * Remove CI runs for older Swift versions * Move from Result to typed throws in parser * Refactor plugin code into shared files * Readme/docs updates
Configuration menu - View commit details
-
Copy full SHA for 747565c - Browse repository at this point
Copy the full SHA 747565cView commit details
Commits on Mar 23, 2026
-
Augment Option to support default as flag option (#830)
In some use cases, there is a need to have an option argument behave like a flag. This change introduced 4 new intialiazers to `Option` that accept a `defaultAsFlag` value. With the following usage: ```swift struct Example: ParsableCommand { @option(defaultAsFlag: "default", help: "Set output format.") var format: String? func run() { print("Format: \(format ?? "none")") } } ``` The `defaultAsFlag` parameter creates a hybrid that supports both patterns: - **Flag behavior**: `--format` (sets format to "default") - **Option behavior**: `--format json` (sets format to "json") - **No usage**: format remains `nil` As a user of the command line tool, the `--help` output clearly distinguishes between the the hybrid and regular usages. ``` OPTIONS: --format [<format>] Set output format. (default as flag: default) ```` Note the `(default as flag: ...)` text instead of regular `(default: ...)`, and the optional value syntax `[<value>]` instead of required `<value>`. Fixes: #829Configuration menu - View commit details
-
Copy full SHA for a78d98b - Browse repository at this point
Copy the full SHA a78d98bView commit details
Commits on Apr 4, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 11c1ea9 - Browse repository at this point
Copy the full SHA 11c1ea9View commit details -
Configuration menu - View commit details
-
Copy full SHA for aeb51bc - Browse repository at this point
Copy the full SHA aeb51bcView commit details
Commits on Apr 6, 2026
-
Support async custom completion functions for
AsyncParsableCommand……via async/await (#855) * Support async custom completion functions for AsyncParsableCommand via async/await. * Improve ParsableArguments#_errorLabel DocC. * Fix preexisting typo. Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for d6f4e7a - Browse repository at this point
Copy the full SHA d6f4e7aView commit details
Commits on Apr 10, 2026
-
Configuration menu - View commit details
-
Copy full SHA for e552972 - Browse repository at this point
Copy the full SHA e552972View commit details
Commits on Apr 17, 2026
-
Bump the swiftlang-actions group with 2 updates (#889)
Bumps the swiftlang-actions group with 2 updates: [swiftlang/github-workflows/.github/workflows/swift_package_test.yml](https://github.com/swiftlang/github-workflows) and [swiftlang/github-workflows/.github/workflows/soundness.yml](https://github.com/swiftlang/github-workflows). Updates `swiftlang/github-workflows/.github/workflows/swift_package_test.yml` from 0.0.9 to 0.0.10 - [Release notes](https://github.com/swiftlang/github-workflows/releases) - [Commits](swiftlang/github-workflows@0.0.9...0.0.10) Updates `swiftlang/github-workflows/.github/workflows/soundness.yml` from 0.0.9 to 0.0.10 - [Release notes](https://github.com/swiftlang/github-workflows/releases) - [Commits](swiftlang/github-workflows@0.0.9...0.0.10) --- updated-dependencies: - dependency-name: swiftlang/github-workflows/.github/workflows/swift_package_test.yml dependency-version: 0.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: swiftlang-actions - dependency-name: swiftlang/github-workflows/.github/workflows/soundness.yml dependency-version: 0.0.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: swiftlang-actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 3a282f0 - Browse repository at this point
Copy the full SHA 3a282f0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 16cae93 - Browse repository at this point
Copy the full SHA 16cae93View commit details
Commits on Apr 22, 2026
-
Display command aliases in generated man-pages (#891)
Subcommand aliases already surface in --help and dump-help, but the generate-manual tool ignored CommandInfoV0.aliases. Single-page output now lists aliases inline with the subcommand name (e.g. "multiply, mul"), matching the --help format. Multi-page output lists aliases as comma-separated .Nm entries in the NAME section, following the BSD mdoc convention (see ls(1)). Resolves #851.
Configuration menu - View commit details
-
Copy full SHA for 63958cf - Browse repository at this point
Copy the full SHA 63958cfView commit details
Commits on Apr 23, 2026
-
Improve diagnostic for @Flag Bool? without inversion: (#892)
When a user declares `@Flag(...) var x: Bool?` without the required `inversion:` parameter, overload resolution falls through to the `Flag where Value == Int` initializer and the compiler reports "requires the types 'Bool?' and 'Int' be equivalent", which does not point the user at the real cause. Add an `@available(*, unavailable)` init overload on `Flag where Value == Bool?` with a message that names the missing parameter. Follows the same pattern used for the unavailable no-arg `Flag.init()` at the top of the file. Resolves #835.
Configuration menu - View commit details
-
Copy full SHA for a544331 - Browse repository at this point
Copy the full SHA a544331View commit details
Commits on May 8, 2026
-
Disable the nightly-main Windows test job (#897)
Failing for reasons unknown; tracked in #896.
Configuration menu - View commit details
-
Copy full SHA for 6ea3782 - Browse repository at this point
Copy the full SHA 6ea3782View commit details
Commits on May 23, 2026
-
Make NameSpecification and its element ExpressibleByStringLiteral (#745)
This simplifies declaring alternate names by allowing just a string representation of an option or flag name. The string is parsed to split on spaces, and then validates that each name has either a one or two dash prefix and is ASCII only. Existing style: @Flag(name: [.customLong("hex-output"), .customShort("x")]) var hexadecimalOutput = false New style: @Flag(name: "--hex-output -x") var hexadecimalOutput = falseConfiguration menu - View commit details
-
Copy full SHA for af51a49 - Browse repository at this point
Copy the full SHA af51a49View commit details
Commits on May 25, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 2ba6fc9 - Browse repository at this point
Copy the full SHA 2ba6fc9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5e0406d - Browse repository at this point
Copy the full SHA 5e0406dView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 1.7.1...1.8.0