ArgumentParser 1.2.0
Additions
- 
You can now provide a title in an @OptionGroupdeclaration. Titled option groups are listed separately in the help screen under that title as a heading. (#492)
- 
Two new parsing strategies have been added for @Argumentarray properties:- .allUnrecognizedcaptures all unrecognized inputs after parsing known flags, options, and arguments.
- .postTerminatorcollects any inputs that follow the- --terminator.
 See the ArgumentArrayParsingStrategydocumentation for more. (#496)
- 
Default values are now supported for @Argumentor@Optionproperties with optional type, allowing you to initialize those properties withnil. Providing a non-nildefault value results in a warning, since optional properties with non-nildefaults don't need to be declared as optionals. (#477, #480)
Changes
- The .unconditionalRemainingarray parsing strategy has been deprecated and renamed to.captureForPassthrough, to better fit its semantic behavior and intended usage. See theArgumentArrayParsingStrategydocumentation for more. (#496)
Fixes
- Invalid init(from:)decoding initializers are now correctly diagnosed by ArgumentParser's validators. (#487)
- Default values are now correctly displayed as flags for @Flagproperties with inversions orEnumerableFlagtypes. (#486)
- The help display for non-string-backed raw representable types has been corrected to not show raw Swift values. Instead, the help display uses the type's customized defaultValueDescriptionandallValuesimplementations. (#494)
- Properties at different levels of a command hierarchy with the same Swift name but different argument names no longer collide. (#495)
- The generate-manualplugin name is improved when used from within Xcode. (#505)
- Documentation fixes and improvements.
The 1.2.0 release includes contributions from @allevato, @clayellis, @compnerd, @d-ronnqvist, @natecook1000, @randomeizer, and @rauhul. Thank you!