@@ -12,7 +12,47 @@ package updates, you can specify your package dependency using
1212
1313## [ Unreleased]
1414
15- * No changes yet.*
15+ ### Additions
16+
17+ - Error messages and help screens now include information about how to request
18+ more help.
19+ - CMake builds now support installation.
20+
21+ ### Changes
22+
23+ - The ` static func main() ` method on ` ParsableCommand ` no longer returns
24+ ` Never ` . This allows ` ParsableCommand ` types to be designated as the entry
25+ point for a Swift executable by using the ` @main ` attribute.
26+
27+ * Migration:* For most uses, this change is source compatible. If you have
28+ used ` main() ` where a ` () -> Never ` function is explicitly required, you'll
29+ need to change your usage or capture the method in another function.
30+
31+ - ` Optional ` no longer conforms to ` ExpressibleByArgument ` , to avoid some
32+ property declarations that don't make sense.
33+
34+ * Migration:* This is source-compatible for all property declarations, with
35+ deprecations for optional properties that define an explicit default. If
36+ you're using optional values where an ` ExpressibleByArgument ` type is
37+ expected, such as a generic function, you will need to change your usage
38+ or provide an explicit override.
39+
40+ - ` ParsableCommand ` 's ` run() ` method requirement is now a ` mutating ` method,
41+ allowing mutations to a command's properties, such as sorting an array of
42+ arguments, without additional copying.
43+
44+ ### Fixes
45+
46+ - ` @Option ` properties of an optional type that use a ` transform ` closure now
47+ correctly indicate their optionality in the usage string.
48+ - Correct wrapping and indentation are maintained for abstracts and discussions
49+ with short lines.
50+ - Empty abstracts no longer add extra blank lines to the help screen.
51+ - Help requests are still honored even when a parsed command fails validation.
52+ - The ` -- ` terminator isn't consumed when parsing a command, so that it can be
53+ parsed as a value when a subcommand includes an ` .unconditionalRemaining `
54+ argument array.
55+ - CMake builds work correctly again.
1656
1757## [ 0.0.6] - 2020-05-14
1858
0 commit comments