- Added support for Python 3.12 #379
- Added
CONTRIBUTING.md
document #331 - Added
tests/
directory to sdist artifact #327
- Fixed subcommand completions for Fish #359
- Removed deprecated
-A
option from Fish completions #366 - Fixed program name discovery in completions script when running as module #231
- Fixed ANSI coloring detection in virtual terminal environments (Windows, PyCharm) #104
- Fixed terminal size detection #299
2.0.1 - 2022-11-23
- Relax
poetry-core
requirement for PEP 517 builds (#291).
2.0.0 - 2022-11-21
No source code changes.
This is a version-only release to replace 1.0.0
, which was yanked on the
grounds that it was incompatible with real dependents (i.e. Poetry) based on
their version specifiers, which explicitly included 1.0.0
pre-releases.
1.0.0 - 2022-11-21
- Supported Python versions are now 3.7 up to 3.11.
cleo
is now fully type-checked.cleo
no longer depends onclikit
.
- Replaced
Terminal
class withshutil.get_terminal_size()
from standard library (#175). - Exceptions are now Errors (#179).
pylev
was dropped in favor of much fasterrapidfuzz
(#173).- Default error verbosity was reduced (#132 & #166).
- Removed doc comment-based command configuration notation (#239).
--no-interaction
is now automatically set when running in non-TTY terminals (#245).- Generated completions will no longer cause shell errors for namespaced commands (#247).
- Using
^C
while autocompletingQuestion
answer will no longer break terminal (#240). - Namespaced commands no longer reset interactive state (#234).
- Fixed underlying regex that caused CVE-2022-42966 (#285).
0.8.1 - 2020-04-17
- Upgraded
clikit
to version^0.6.0
.
0.8.0 - 2020-03-26
- Errors are now rendered in a nicer way for Python 3.6+.
0.7.6 - 2019-10-25
- Upgraded
clikit
to fix issues in option parsing.
0.7.5 - 2019-06-28
- Upgraded dependency requirements for bug fixes.
0.7.4 - 2019-05-15
- Fixed command construction with the
argument
andoption
helpers.
0.7.3 - 2019-05-12
- Added the
argument
andoption
helpers.
- Fixed the
decorated
option for the command tester. - Fixed tested applications being terminated after execution.
0.7.2 - 2018-12-08
- Fixed invalid combination of OPTIONAL_VALUE and MULTI_VALUED flags for options.
0.7.1 - 2018-12-07
- Fixed parser not setting proper flags.
0.7.0 - 2018-12-07
This version breaks backwards compatibility and caution is advised when updating.
While the public API of the Command
class is mostly the same, a lot of the internals has changed
or has been removed.
Cleo is now mostly a higher level wrapper for CliKit which is more flexible.
- Added a sub command system via CliKit.
- Added an event system via CliKit.
- All helper classes have been removed. If you use the
Command
methods this should not affect you. - The testers
get_display()
method has been removed. Usetester.io.fetch_output()
. - The testers
execute()
method no longer requires the command name and requires a string as arguments instead of a list. - The testers
execute()
method now accepts ainputs
keyword argument to pass user inputs. - The
call()
method no longer requires the command name and requires a string as arguments instead of a list. - The tables now automatically wraps the cells based on the available width.
- The table separators and table cells elements have been removed.
- The look and feel of the
help
command has changed. - Namespace commands are no longer supported and will be treated as standard commands.
- The
list
command has been removed and merged withhelp
.
0.6.8 - 2018-06-25
- Testers (application and command) now automatically sets
decorated
toFalse
.
- Fixed numeric values appearing when getting terminal size on Windows.
0.6.7 - 2018-06-25
- Fixed verbosity option behavior.
0.6.6 - 2018-05-21
- Fixed an error for choice questions with only one choice.
0.6.5 - 2018-04-04
- Fixed handling of KeyboardInterrupt.
0.6.4 - 2018-03-15
- Fixed bad python version requirements.
0.6.3 - 2018-03-15
- Fixed bad python version requirements.
0.6.2 - 2018-03-15
- Removed the memory formatter in progress bars and indicators
- Fixed an error in the
call()
method.
0.6.1 - 2017-08-07
psutil
is now opt-in to avoid failed compilations.
0.6.0 - 2017-04-21
- Added a new
completions
command to generate autocompletion scripts. - Added support for command signature inheritance.
- Added a new
spin()
helper to display a spinner.
- Removed the
_completion
command. - Removes ability to choose when a command name is ambiguous.
0.5.0 - 2016-09-21
- Improves terminal handling by adding the
Terminal
class. - Adds methods to write to stderr.
- Adds
write()
andoverwrite()
method to commands. - Adds ability to regress progress bar.
- Adds ability to choose when a command name is ambiguous.
- Removes support for decorators and dictionaries declarations.
- Simplifies public API for creating arguments and options.
- Improves string formatting.
- Hides
_completion
command from list. - Improves aliases display.
- Displays errors even in quiet mode
- Changes console header format
- Simplifies the way to create single command application.
- Simplifies command testing with user inputs.
0.4.1 - 2016-02-09
- Adding support for Windows
0.4 - 2016-01-11
This is a major release with some API changes.
- Commands definition can now be specified with the class docstring (support for string signature)
- Two other levels of verbosity (
-vv
and-vvv
) have been added - Commands description can now be output as json and markdown
- The
Command
class is now more high-level with a singlehandle()
method to override and useful helper methods - The
ProgressHelper
has been removed and theProgressBar
class must be used - The
TableHelper
has largely been improved DialogHelper
has been replaced by a more robustQuestionHelper
Command.set_code()
logic has changed to accept aCommand
instance to be able to use the new helper methods- Autocompletion has been improved