|
1 |
| -## Version 1.3 |
| 1 | +## Version 1.3: Refactor |
| 2 | + |
| 3 | +This version focused on refactoring several key systems to ensure correct behavior in the interaction of different settings. Most caveats about |
| 4 | +features only working on the main App have been addressed, and extra arguments have been reworked. Inheritance |
| 5 | +of defaults makes configuring CLI11 much easier without having to subclass. Policies add new ways to handle multiple arguments to match your |
| 6 | +favorite CLI programs. Error messages and help messages are better and more flexible. Several bugs and odd behaviors in the parser have been fixed. |
2 | 7 |
|
3 | 8 | * Added a version macro, `CLI11_VERSION`, along with `*_MAJOR`, `*_MINOR`, and `*_PATCH`, for programmatic access to the version.
|
4 | 9 | * Reworked the way defaults are set and inherited; explicit control given to user with `->option_defaults()` [#48](https://github.com/CLIUtils/CLI11/pull/48)
|
|
28 | 33 | * Single internal arg parse function [#56](https://github.com/CLIUtils/CLI11/pull/56)
|
29 | 34 | * Allow options to be disabled from INI file, rename `add_config` to `set_config` [#60](https://github.com/CLIUtils/CLI11/pull/60)
|
30 | 35 |
|
31 |
| -## Version 1.2 |
| 36 | +> ### Converting from CLI11 1.2: |
| 37 | +> |
| 38 | +> * `app.parse` no longer returns a vector. Instead, use `app.remaining(true)`. |
| 39 | +> * `"hidden"` is no longer a special group name, instead use `""` |
| 40 | +> * Validators API has changed to return an error string; use `.empty()` to get the old bool back |
| 41 | +> * Use `.set_help_flag` instead of accessing the help pointer directly (discouraged, but not removed yet) |
| 42 | +> * `add_config` has been renamed to `set_config` |
| 43 | +> * Errors thrown in some cases are slightly more specific |
| 44 | +
|
| 45 | +## Version 1.2: Stability |
| 46 | + |
| 47 | +This release focuses on making CLI11 behave properly in corner cases, and with config files on the command line. This includes fixes for a variety of reported issues. A few features were added to make life easier, as well; such as a new flag callback and a macro for the parse command. |
32 | 48 |
|
33 | 49 | * Added functional form of flag [#33](https://github.com/CLIUtils/CLI11/pull/33), automatic on C++14
|
34 | 50 | * Fixed Config file search if passed on command line [#30](https://github.com/CLIUtils/CLI11/issues/30)
|
|
38 | 54 | * Required positionals now take priority over subcommands [#23](https://github.com/CLIUtils/CLI11/issues/23)
|
39 | 55 | * Extra requirements enforced by Travis
|
40 | 56 |
|
41 |
| -## Version 1.1 |
| 57 | +## Version 1.1: Feedback |
| 58 | + |
| 59 | +This release incorporates feedback from the release announcement. The examples are slowly being expanded, some corner cases improved, and some new functionality for tricky parsing situations. |
42 | 60 |
|
43 | 61 | * Added simple support for enumerations, allow non-printable objects [#12](https://github.com/CLIUtils/CLI11/issues/12)
|
44 | 62 | * Added `app.parse_order()` with original parse order ([#13](https://github.com/CLIUtils/CLI11/issues/13), [#16](https://github.com/CLIUtils/CLI11/pull/16))
|
45 | 63 | * Added `prefix_command()`, which is like `allow_extras` but instantly stops and returns. ([#8](https://github.com/CLIUtils/CLI11/issues/8), [#17](https://github.com/CLIUtils/CLI11/pull/17))
|
46 | 64 | * Removed Windows warning ([#10](https://github.com/CLIUtils/CLI11/issues/10), [#20](https://github.com/CLIUtils/CLI11/pull/20))
|
47 | 65 | * Some improvements to CMake, detect Python and no dependencies on Python 2 (like Python 3) ([#18](https://github.com/CLIUtils/CLI11/issues/18), [#21](https://github.com/CLIUtils/CLI11/pull/21))
|
48 | 66 |
|
49 |
| -## Version 1.0 |
| 67 | +## Version 1.0: Official release |
| 68 | + |
| 69 | +This is the first stable release for CLI11. Future releases will try to remain backward compatible and will follow semantic versioning if possible. There were a few small changes since version 0.9: |
| 70 | + |
50 | 71 | * Cleanup using `clang-tidy` and `clang-format`
|
51 | 72 | * Small improvements to Timers, easier to subclass Error
|
52 | 73 | * Move to 3-Clause BSD license
|
53 | 74 |
|
54 |
| -## Version 0.9 |
| 75 | +## Version 0.9: Polish |
| 76 | + |
| 77 | +This release focused on cleaning up the most exotic compiler warnings, fixing a few oddities of the config parser, and added a more natural method to check subcommands. |
55 | 78 |
|
56 | 79 | * Better CMake named target (CLI11)
|
57 | 80 | * More warnings added, fixed
|
|
61 | 84 | * Support for complex numbers
|
62 | 85 | * Subcommands now test true/false directly or with `->parsed()`, cleaner parse
|
63 | 86 |
|
64 |
| -## Version 0.8 |
| 87 | +## Version 0.8: CLIUtils |
| 88 | + |
| 89 | +This release moved the repository to the CLIUtils master organization. |
65 | 90 |
|
66 | 91 | * Moved to CLIUtils on GitHub
|
67 | 92 | * Fixed docs build and a few links
|
68 | 93 |
|
69 |
| -## Version 0.7 |
| 94 | +## Version 0.7: Code coverage 100% |
| 95 | + |
| 96 | +Lots of small bugs fixed when adding code coverage, better in edge cases. Much more powerful ini support. |
70 | 97 |
|
71 | 98 | * Allow comments in ini files (lines starting with `;`)
|
72 | 99 | * Ini files support flags, vectors, subcommands
|
|
77 | 104 | * Adding extra utilities in full version only, `Timer` (not needed for parsing, but useful for general CLI applications).
|
78 | 105 | * Better support for custom `add_options` like functions.
|
79 | 106 |
|
80 |
| -## Version 0.6 |
| 107 | +## Version 0.6: Cleanup |
| 108 | + |
| 109 | +Lots of cleanup and docs additions made it into this release. Parsing is simpler and more robust; fall through option added and works as expected; much more consistent variable names internally. |
81 | 110 |
|
82 | 111 | * Simplified parsing to use `vector<string>` only
|
83 | 112 | * Fixed fallthrough, made it optional as well (default: off): `.fallthrough()`.
|
84 | 113 | * Added string versions of `->requires()` and `->excludes()` for consistency.
|
85 | 114 | * Renamed protected members for internal consistency, grouped docs.
|
86 | 115 | * Added the ability to add a number to `.require_subcommand()`.
|
87 | 116 |
|
88 |
| -## Version 0.5 |
| 117 | +## Version 0.5: Windows support |
89 | 118 |
|
90 | 119 | * Allow `Hidden` options.
|
91 | 120 | * Throw `OptionAlreadyAdded` errors for matching subcommands or options, with ignore-case included, tests
|
|
97 | 126 | * Support for quotes and spaces in ini files
|
98 | 127 | * Fixes to allow support for Windows (added Appveyor) (Uses `-`, not `/` syntax)
|
99 | 128 |
|
100 |
| -## Version 0.4 |
| 129 | +## Version 0.4: Ini support |
101 | 130 |
|
102 | 131 | * Updates to help print
|
103 | 132 | * Removed `run`, please use `parse` unless you subclass and add it
|
104 | 133 | * Supports ini files mixed with command line, tested
|
105 | 134 | * Added Range for further Plumbum compatibility
|
106 | 135 | * Added function to print out ini file
|
107 | 136 |
|
108 |
| -## Version 0.3 |
| 137 | +## Version 0.3: Plumbum compatibility |
109 | 138 |
|
110 | 139 | * Added `->requires`, `->excludes`, and `->envname` from [Plumbum](http://plumbum.readthedocs.io/en/latest/)
|
111 | 140 | * Supports `->mandatory` from Plubmum
|
|
117 | 146 | * Clang 3.5 now required for tests due to googlemock usage, 3.4 should still work otherwise
|
118 | 147 | * Changes `setup` for an explicit help bool in constructor/`add_subcommand`
|
119 | 148 |
|
120 |
| -## Version 0.2 |
| 149 | +## Version 0.2: Leaner and meaner |
121 | 150 |
|
122 | 151 | * Moved to simpler syntax, where `Option` pointers are returned and operated on
|
123 | 152 | * Removed `make_` style options
|
|
127 | 156 | * Added `Option_p` and `App_p`, mostly for internal use
|
128 | 157 | * Startup sequence, including help flag, can be modified by subclasses
|
129 | 158 |
|
130 |
| -## Version 0.1 |
131 |
| - |
132 |
| -Initial version |
| 159 | +## Version 0.1: First release |
133 | 160 |
|
| 161 | +First release before major cleanup. Still has make syntax and combiners; very clever syntax but not the best or most commonly expected way to work. |
134 | 162 |
|
0 commit comments