|
1 | 1 | ## 0.8.0 (TBD, 2018)
|
2 | 2 | * Bug Fixes
|
3 | 3 | * Fixed unit tests on Python 3.7 due to changes in how re.escape() behaves in Python 3.7
|
| 4 | + * Fixed a bug where unknown commands were getting saved in the history |
4 | 5 | * Enhancements
|
5 | 6 | * Three new decorators for **do_*** commands to make argument parsing easier
|
6 | 7 | * **with_argument_list** decorator to change argument type from str to List[str]
|
7 | 8 | * **do_*** commands get a single argument which is a list of strings, as pre-parsed by shlex.split()
|
8 | 9 | * **with_argument_parser** decorator for strict argparse-based argument parsing of command arguments
|
9 | 10 | * **do_*** commands get a single argument which is the output of argparse.parse_args()
|
10 |
| - * **with_argparser_and_unknown_args** decorator for argparse-based argument parsing, but allowing unknown args |
| 11 | + * **with_argparser_and_unknown_args** decorator for argparse-based argument parsing, but allows unknown args |
11 | 12 | * **do_*** commands get two arguments, the output of argparse.parse_known_args()
|
12 |
| - * See the **Argument Processing** section of the documentation for more information on these decorators |
13 |
| - * Alternatively, see the **argparse_example.py** and **arg_print.py** examples |
| 13 | + * See the [Argument Processing](http://cmd2.readthedocs.io/en/latest/argument_processing.html) section of the documentation for more information on these decorators |
| 14 | + * Alternatively, see the [argparse_example.py](https://github.com/python-cmd2/cmd2/blob/master/examples/argpasre_example.py) |
| 15 | + and [arg_print.py](https://github.com/python-cmd2/cmd2/blob/master/examples/arg_print.py) examples |
| 16 | + * Added support for Argpasre sub-commands when using the **with_argument_parser** or **with_argparser_and_unknown_args** decorators |
| 17 | + * See [subcommands.py](https://github.com/python-cmd2/cmd2/blob/master/examples/subcommands.py) for an example of how to use subcommands |
| 18 | + * Tab-completion of sub-command names is automatically supported |
14 | 19 | * The **__relative_load** command is now hidden from the help menu by default
|
15 | 20 | * This command is not intended to be called from the command line, only from within scripts
|
16 | 21 | * The **set** command now has an additional **-a/--all** option to also display read-only settings
|
17 |
| - * The **history** command can now run, edit, and save prior commands, in addition to the prior behavior of displaying prior commands. |
| 22 | + * The **history** command can now run, edit, and save prior commands, in addition to displaying prior commands. |
| 23 | + * The **history** command can now automatically generate a transcript file for regression testing |
| 24 | + * This feature works imperfectly at the moment, but it is still quite useful |
18 | 25 | * Commands Removed
|
19 | 26 | * The **cmdenvironment** has been removed and its functionality incorporated into the **-a/--all** argument to **set**
|
20 | 27 | * The **show** command has been removed. Its functionality has always existing within **set** and continues to do so
|
21 |
| - * The **save** command has been removed. The capability to save prior commands is now part of the **history** command. |
| 28 | + * The **save** command has been removed. The capability to save commands is now part of the **history** command. |
22 | 29 | * The **run** command has been removed. The capability to run prior commands is now part of the **history** command.
|
23 | 30 | * Other changes
|
24 | 31 | * The **edit** command no longer allows you to edit prior commands. The capability to edit prior commands is now part of the **history** command. The **edit** command still allows you to edit arbitrary files.
|
25 | 32 | * the **autorun_on_edit** setting has been removed.
|
| 33 | + * For Python 3.4 and earlier, ``cmd2`` now has an additional dependency on the ``contextlib2`` module |
26 | 34 | * Deprecations
|
27 | 35 | * The old **options** decorator for optparse-based argument parsing is now *deprecated*
|
28 |
| - * The old decorator is still present for now, but will eventually be removed in a future release |
29 |
| - * ``cmd2`` no longer includes **optparse.make_option** so if your app needs it you need to import it directly from optparse |
30 |
| - |
| 36 | + * The old decorator is still present for now, but will be removed in a future release |
| 37 | + * ``cmd2`` no longer includes **optparse.make_option**, so if your app needs it import directly from optparse |
31 | 38 |
|
32 | 39 | ## 0.7.9 (January 4, 2018)
|
33 | 40 |
|
|
0 commit comments