- [Arguments] Adds argument suggestion support for unknown arguments. #204
- [Progress] Allow the precision to be specified. #198
- [Password] Allow accept() and other additional features. #171
- Ensure usleep() always received an integer. #197
- Prevent deprecation errors from type juggling. #190
- [Support] Added support for PHP 8.2 & 8.3.
- [Linux] Avoid type issue when checking if \STDOUT is defined. #185
- [Support] Added support for PHP 8.1.
- [Linux] Added a workaround for executed some parts of the code in a non-cli context. #175
- [Support] Added support for PHP 8.0.
- [Support] Dropped support for PHP 7.2.
- [Arguments] Add a method to access trailing args as array. #158
- [Table] Add support for newlines in table data. #160
- [Checkbox] Don't try to add padding if the there's no spare space. #161
- [Support] Dropped support for PHP 7.1.
- [Checkbox] Ensure we can output when the terminal width is unknown. #156
- [Art] Be stricter about matching filenames when looking for art. #155
- [Support] Provide better support for Windows using GitHub actions.
- [Arguments] Multiple arguments (eg
cli -d foo=bar -d baz=qux
) available via$climate->arguments->getArray("d")
. #111 - [Arguments] A new method (
Argument::values()
) replaces the deprecatedvalueArray()
method. - [Spinner] Add an indeterminate progress spinner.
- [Exceptions] All exception now implement
League\CLImate\Exceptions\Exception
. - [Basic] Allow single lines to be cleared using
$climate->clearLine()
. #145.
- [Arguments] Mixing arguments with/without option values. #122.
- [Output] Prevent
tput
output from being sent to the terminal. - [Confirm] Accept more reasonable options for yes/no. #126.
- [Radio] Allow ENTER to be used to choose an option. #140.
- [Output] Improve the checks for ANSI color checks. #128 / #129.
- [Art] Only match filenames when looking for art. #130
- [Support] Dropped support for PHP 5.6 and PHP 7.0
- [Json] Don't escape slashes when outputting JSON. #121
- [Logger] Added a Logger class to use CLImate as a PSR-3 logger.
- Ensure multibyte strings are supported everywhere.
- Improved support for IDE assistance when using method chaining. #102
- [Art] Improve handling of missing files. #114
- [Input] Correct the usage of
defaultTo()
withaccept()
. #104 - [Windows] Fixed the terminal width detection. #64
- [Support] Add support for PHP 7.2
- [Support] Drop support for PHP 5.4
- [Support] Drop support for PHP 5.5
- [Support] Drop support for HHVM.
- Suggest the symfony polyfill library is
ext-mbstring
is not available. #110
- [Progres] Allow labels to be shown/hidden on each iteration. #98
- [Support] Added support for PHP 7.1
- [Art] Allow code to be used in a phar. #86
- [Arguments] Add a
trailing()
method to get any trailing arguments. - [Progress] Added a
forceRedraw()
method. #72
- [Checkbox] Don't cancel out the formatting for the first checkbox. #77
- [Padding] Ensure formatting is handled. #78
- [Columns] Prevent error when less items than columns are passed. #75
- Multi-line support for
input
method #67 extend
method for much easier extending of CLImate
- Unnecessary progress bar re-drawing when the output hadn't changed #69
- Progress label no longer removed once progress reaches 100%
- Non-prefixed paramaters for
arguments
method now show in usage description #65
- Windows support added for
password
thanks to @Seldaek and seld/cli-prompt
password
promptcheckboxes
promptradio
prompt- 'file' as output option
- Custom output writers are added simply via the
output
property on CLImate now, as opposed to the immense amount of scaffolding required before
- Argument parsing
- StdErr output
- Buffer output
animate
method for running ASCII animations in the terminal. Because it's fun.- Input now bolds the default response if it exists
- Added
forceAnsiOn
andforceAnsiOff
methods to address systems that were not identified correctly
- Allow for passing an array of arrays into
columns
method tab
method, for indenting textpadding
method, for padding strings to an equal width with a characterLeague\CLImate\TerminalObject\Repeatable
for repeatable objects such astab
andbr
League\CLImate\Decorator\Parser\Ansi
andLeague\CLImate\Decorator\Parser\NonAnsi
- Factories:
League\CLImate\Decorator\Parser\ParserFactory
League\CLImate\Util\System\SystemFactory
- Terminal Objects now are appropriately namespaced as
Basic
orDynamic
- Readers and Writers are appropriately namespaced as such under
League\CLImate\Util
- Labels for
advance
method - Non-ansi terminals will now have plaintext output instead of jumbled characters
border
method now default to full terminal width