- Help and usage screens
Help screens now have a man-page appearance and are shown with less-style pagination. Usage screens are shown when a user-error is encountered. The help and usage screens are considerably cleaner than the default output in previous versions of Fire.
- Custom serialization
If you define a custom `__str__` method on an object, that will be used to serialize the object when it is the final result of a Fire command. This means better support for numpy arrays, and better support for custom types.
- Docstring parsing
Notably, docstrings are parsed in order to determine the descriptions to use for arguments in the help screens. We largely support (but not fully) Google, numpy, and RST style docstrings. These are the three most common styles of docstring used in Python code.
- Access --help naturally
You no longer need to separate --help from your command with an extra --. Simply running `command -h` or `command --help` will give help, provided there isn't an argument named `help` in your component.
- NamedTuples can be indexed both by their field names and by their indexes.
- Callable objects can both be called, and their members can be accessed.
You must use flag syntax to call a callable object; you cannot pass their arguments positionally.
- Single-hyphen flags are supported
You can now specify `-flag` instead of `--flag` if preferred. Both work.
- Short-flags are permitted when their use is unambiguous
E.g. if your function has argument `alpha`, then you can specify its value with `-a`.
- Fish completion support