[Announcement] Preparing for ArgumentParser 1.0

Hello, everyone —

We’re getting close to tagging the 1.0 release of the Swift Argument Parser! We’ve seen quite a bit of adoption over the 18 months since the package was initially released, and look forward to being able to provide the stability that a 1.0 designation will provide. A tremendous thanks to all of ArgumentParsers’s users, and everyone who has contributed through code, comments, and issues throughout this time!

ArgumentParser has followed semantic versioning throughout its release process, with source-breaking changes only introduced at 0.x.0 minor revisions. With the move to 1.0, changes to public API that cause a build failure or significant change in behavior will only be permitted in future major version releases. Additions of public API will be marked by minor version releases, with patch releases only containing bug fixes and other refinements.

The semantic versioning commitment doesn’t include every aspect of the package. Any release may include changes to non-public API in the ArgumentParser module, the exact wording and formatting of the autogenerated help and error messages, as well as the package’s examples, tests, utilities, and documentation. Public API that includes an underscore anywhere in the fully qualified name (such as CommandConfiguration._superCommandName) is considered internal for the purpose of source stability — if you need to depend on any of these public APIs, please open an issue in the GitHub repository.

There will be an 0.5.0 release very soon with some top-of-tree changes. I’m also planning to land a few additional changes before the 1.0 release, which I’m tracking in the ArgumentParser 1.0 milestone. If there’s anything else you’d like me to consider tweaking before that time, please comment below.

Thank you!

24 Likes