league/climate
PHP's best friend for the terminal. CLImate allows you to easily output colored text, special formats, and more.
3.11.1
15M downloads/mo
#1643 most downloaded on Packagist
thephpleague/climate
What this package is like to depend on
Last release 29 days ago
25 Jul 2026
Release timing varies
gaps range from 3 weeks to 2.4 years
Some releases are documented
notes for 26 of 44 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
44 releases · first in 2014
3 releases in the last 12 months
see the full history below
Release timeline
44 releases · Aug 2014 to Jul 2026Releases
latest 44-
3.11.125 Jul 2026 -
3.11.009 Jun 2026 -
3.10.119 Mar 2026 -
3.10.018 Nov 2024Release notes
Open source →Added
- [Progress] Added methods to get the current and total values. #206
Changed
- [Support] Added support for PHP 8.4.
-
3.9.030 Oct 2024Release notes
Open source →Added
- [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
Fixed
- Ensure usleep() always received an integer. #197
- Prevent deprecation errors from type juggling. #190
Changed
- [Support] Added support for PHP 8.2 & 8.3.
-
3.8.218 Jun 2022Release notes
Open source → -
3.8.123 Jan 2022Release notes
Open source → -
3.8.022 Jan 2022Release notes
Open source →Changed
- [Support] Added support for PHP 8.1.
Fixed
- [Linux] Added a workaround for executed some parts of the code in a non-cli context. #175
-
3.7.010 Jan 2021Release notes
Open source →Changed
- [Support] Added support for PHP 8.0.
- [Support] Dropped support for PHP 7.2.
-
3.6.004 Oct 2020Release notes
Open source →Added
- [Arguments] Add a method to access trailing args as array. #158
Fixed
- [Table] Add support for newlines in table data. #160
- [Checkbox] Don't try to add padding if the there's no spare space. #161
Changed
- [Support] Dropped support for PHP 7.1.
-
3.5.201 Dec 2019Release notes
Open source → -
3.5.124 Nov 2019Release notes
Open source →Fixed
- [Art] Be stricter about matching filenames when looking for art. #155
- [Support] Provide better support for Windows using GitHub actions.
-
3.5.010 Feb 2019Release notes
Open source →Added
- [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.
Fixed
- [Arguments] Mixing arguments with/without option values. #122.
- [Output] Prevent
tputoutput 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
Changed
- [Support] Dropped support for PHP 5.6 and PHP 7.0
- [Arguments] Multiple arguments (eg
-
3.4.129 Apr 2018 -
3.4.028 Apr 2018 -
3.3.020 Apr 2018Release notes
Open source →Fixed
- 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
Added
Changed
- [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-mbstringis not available. #110
-
3.2.430 Oct 2016 -
3.2.317 Oct 2016 -
3.2.218 Jul 2016 -
3.2.104 Apr 2016Release notes
Open source →Added
- [Arguments] Add a
trailing()method to get any trailing arguments. - [Progress] Added a
forceRedraw()method. #72
Fixed
- [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
- [Arguments] Add a
-
3.2.013 Aug 2015Release notes
Open source →Added
- Multi-line support for
inputmethod https://github.com/thephpleague/climate/pull/67 extendmethod for much easier extending of CLImate
Fixed
- Unnecessary progress bar re-drawing when the output hadn't changed https://github.com/thephpleague/climate/pull/69
- Progress label no longer removed once progress reaches 100%
- Non-prefixed paramaters for
argumentsmethod now show in usage description https://github.com/thephpleague/climate/issues/65
- Multi-line support for
-
3.1.101 May 2015Release notes
Open source →Fixed
- Windows support added for
passwordthanks to @Seldaek and seld/cli-prompt
- Windows support added for
-
3.1.030 Apr 2015Release notes
Open source →Added
passwordpromptcheckboxespromptradioprompt- 'file' as output option
-
3.0.002 Mar 2015Release notes
Open source →Changed
- Custom output writers are added simply via the
outputproperty on CLImate now, as opposed to the immense amount of scaffolding required before
Added
- Argument parsing
- StdErr output
- Buffer output
animatemethod for running ASCII animations in the terminal. Because it's fun.- Input now bolds the default response if it exists
- Custom output writers are added simply via the
-
2.6.118 Jan 2015Release notes
Open source →Fixed
- Added
forceAnsiOnandforceAnsiOffmethods to address systems that were not identified correctly
- Added
-
2.6.008 Jan 2015Release notes
Open source →Added
- Allow for passing an array of arrays into
columnsmethod tabmethod, for indenting textpaddingmethod, for padding strings to an equal width with a characterLeague\CLImate\TerminalObject\Repeatablefor repeatable objects such astabandbrLeague\CLImate\Decorator\Parser\AnsiandLeague\CLImate\Decorator\Parser\NonAnsi- Factories:
League\CLImate\Decorator\Parser\ParserFactoryLeague\CLImate\Util\System\SystemFactory
- Terminal Objects now are appropriately namespaced as
BasicorDynamic - Readers and Writers are appropriately namespaced as such under
League\CLImate\Util
Fixed
- Labels for
advancemethod - Non-ansi terminals will now have plaintext output instead of jumbled characters
bordermethod now default to full terminal width
- Allow for passing an array of arrays into
-
2.5.008 Nov 2014Nothing published for this version
-
2.4.122 Oct 2014Nothing published for this version
-
2.4.007 Oct 2014Nothing published for this version
-
2.3.105 Oct 2014Nothing published for this version
-
2.3.002 Oct 2014Nothing published for this version
-
2.1.102 Oct 2014Nothing published for this version
-
2.1.022 Sep 2014Nothing published for this version
-
2.0.016 Sep 2014Nothing published for this version
-
1.0.210 Sep 2014Nothing published for this version
-
1.0.109 Sep 2014Nothing published for this version
-
1.0.007 Sep 2014Nothing published for this version
-
0.2.005 Sep 2014Nothing published for this version
-
0.1.529 Aug 2014Nothing published for this version
-
0.1.426 Aug 2014Nothing published for this version
-
0.1.324 Aug 2014Nothing published for this version
-
0.1.223 Aug 2014Nothing published for this version
-
0.1.122 Aug 2014Nothing published for this version
-
0.1.019 Aug 2014Nothing published for this version