Changelog History
Page 1
-
v1.1.4 Changes
August 26, 2022๐ Changes
- 0๏ธโฃ The generate-manual plugin now defaults to creating single page manuals. The
--single-page
flag has been replaced with--multi-page
to restore the previous default functionality. ([#472])
Migration: Update scripts that invoked generate-manual without
--single-page
to include--multi-page
and update scripts that invoked generate-manual with--single-page
to omit the flag.- ๐ The "experimental" prefix from the generate-manual plugin has been removed. ([#475])
Migration: Update scripts to invoke the generate manual plugin via
swift package generate-manual
instead ofswift package plugin experimental-generate-manual
.๐ Fixes
- ๐ The generate-manual plugin is correctly declared as a product, making the plugin visible to clients. ([#456])
- ๐ The generate-manual plugin's
--authors
arguments are now correctly passed to the underlying generation tool. ([#471]) - ๐ Manuals generated by the generate-manual plugin now include the option's value names and do not include value names for flags. ([#473])
- Built-in flags such as
--help
and--version
are now correctly marked as optional fixing some generated content which indicated the flags are always required. ([#474]) - Value descriptions are now correctly derived for types which are
ExpressibleByArgument
andRawRepresentable
byString
. Help menus will now display valid default values for such types. ([#476])
๐ The 1.1.4 release includes contributions from [ian-twilightcoder], [MarcoEidinger], and [rauhul]. Thank you!
- 0๏ธโฃ The generate-manual plugin now defaults to creating single page manuals. The
-
v1.1.3 Changes
June 23, 2022โ Additions
- ๐
ArgumentParser
now includes a SwiftPM plugin for generatingman
pages. Explore the functionality and configuration by runningswift package plugin experimental-generate-manual --help
from your package root. ([#332])
๐ Fixes
- Hidden subcommands are now excluded from completion scripts. ([#443])
- When an invalid value is provided for a
CaseIterable
type, the error message now includes a list of valid inputs. ([#445]) - There's now a diagnostic when an
AsyncParsableCommand
is incorrectly placed under a non-async
root command. ([#436])
๐ The 1.1.3 release includes contributions from [keith], [KeithBird], [konomae], [LucianoPAlmeida], and [rauhul]. Thank you!
- ๐
-
v1.1.2 Changes
April 11, 2022๐ Changes
- ๐ CMake builds now always statically links
ArgumentParserToolInfo
. ([#424])
๐ Fixes
- When a user provides an array-based option's key (e.g.
--key
) without any values, the error message now correctly describes the problem. ([#435])
๐ The 1.1.2 release includes contributions from [compnerd] and [KeithBird]. Thank you!
- ๐ CMake builds now always statically links
-
v1.1.1 Changes
March 16, 2022๐ Fixes
- ๐ฆ Moves the platform requirement from the package level down to the new
types and protocols with
async
members. This was a source-breaking change in 1.1.0. ([#427]) - ๐ Fixed issues in the CMake build configuration.
- ๐ฆ Moves the platform requirement from the package level down to the new
types and protocols with
-
v1.1.0 Changes
March 14, 2022โ Additions
- ๐ A command's
run()
method now supportsasync
/await
when the command conforms toAsyncParsableCommand
. ([#404]) - ๐ New API for distinguishing between public, hidden, and private arguments
and option groups, and a new extended help screen accessible via
--help-hidden
. ([#366], [#390], and [#405 through #413][1.1.0]) - ๐ง You can now override the autogenerated usage string when configuring a command. ([#400])
๐ Changes
- ๐
ArgumentParser
now requires Swift 5.5.
๐ Fixes
- The auto-generated usage string now correctly hides all optional parameters when over the length limit. ([#416])
- One
@Option
initializer now has its parameters in the correct order; the incorrect initializer is deprecated. ([#391]) - Help flags are now correctly captured in
.unconditionalRemaining
argument arrays. - ๐ Documentation fixes and improvements.
๐ The 1.1.0 release includes contributions from [keith], [MartinP7r], [McNight], [natecook1000], [rauhul], and [zkiraly]. Thank you!
- ๐ A command's
-
v1.0.3 Changes
January 31, 2022๐ Changes
When a user provides an incorrect value for an option, an
ArgumentParser
-based program now includes the valid values when possible.$ example --format png Error: The value 'png' is invalid for '--format <format>'. Please provide one of 'text', 'json' or 'csv'.
๐ Fixes
- Resolves an issue with
zsh
custom completions for command names that include a dash. - ๐ Improves the generated completions scripts for
fish
. - ๐ Resolves issues that prevented building
ArgumentParser
for WebAssembly using SwiftWasm toolchains. - ๐ Improved window size handling on Windows.
- ๐ Fixed a crash when using
--experimental-dump-help
with commands that provide non-parsed values. - ๐ Fixes an issue where subcommands that declare array arguments with the
.unconditionalRemaining
parsing strategy unexpectedly miss arguments, extending the change in [#333] to subcommands. ([#397]) - ๐ Corrects the order of an
@Option
initializer's parameters, deprecating the old version. ([#391]) - ๐ Expanded and corrected documentation.
๐ The 1.0.3 release includes contributions from [atierian], [CraigSiemens], [dduan], [floam], [KS1019], [McNight], [mdznr], [natecook1000], [rauhul], and [yonihemi]. Thank you!
-
v1.0.2 Changes
November 09, 2021๐ Fixes
- โ Addresses an issue when building tests under Mac Catalyst.
๐ The 1.0.2 release includes a contribution from [jakepetroules]. Thank you!
-
v1.0.1 Changes
September 14, 2021๐ Fixes
- โ Addresses an issue when compiling under Mac Catalyst.
๐ The 1.0.1 release includes a contribution from [imxieyi]. Thank you!
-
v1.0.0 Changes
September 10, 2021๐ The 1.0 release marks an important milestone โ ๐
ArgumentParser
is now source stable!๐ Changes
- ๐
ArgumentParser
now provides a DocC documentation catalog, so you can view rendered articles and symbol documentation directly within Xcode.
๐ Fixes
- ๐ Parsing works as expected for options with single-dash names that
are declared using the
.upToNextOption
parsing strategy.
- ๐
-
v0.5.0 Changes
September 02, 2021โ Additions
- When a user doesn't provide a required argument, the error message now includes that argument's help text. ([#324])
- ๐ Command-line tools built with
ArgumentParser
now include an experimental flag to dump command/argument/help information as JSON:--experimental-dump-help
. ([#310])
๐ Changes
- All public enumerations are now structs with static properties, to make compatibility with future additions simpler.
๐ Fixes
๐ Array properties defined as
@Option
with the.upToNextOption
parsing strategy now include all provided values. ([#304]) In the example below, all four values are now included in the resulting array, where only the last two were included in previous releases:struct Example: ParsableCommand { @Option(parsing: .upToNextOption) var option: [String] }
$ example --option one two --option three four
When a command defines an array property as an
@Argument
with the.unconditionalRemaining
parsing strategy, option and flag parsing now stops at the first positional argument or unrecognized flag. ([#333])Completion scripts correctly use customized help flags. ([#308])
๐ Fixes errors with bash custom completion arguments and the executable path. ([#320], [#323])
๐ Fixes the behavior when a user specifies both the
help
subcommand and a help flag. ([#309])A variety of internal improvements. ([#315], [#316], [#321], [#341])
๐ The 0.5.0 release includes contributions from [atierian], [compnerd], [dirtyhabits97], [Frizlab], [KS1019], [natecook1000], and [rauhul]. Thank you!