9.8 KiB
9.8 KiB
CHANGELOG
6.2
- Improve truecolor terminal detection in some cases
- Add support for 256 color terminals (conversion from Ansi24 to Ansi8 if terminal is capable of it)
- Deprecate calling
*Command::setApplication(),*FormatterStyle::setForeground/setBackground(),Helper::setHelpSet(),Input*::setDefault(),Question::setAutocompleterCallback/setValidator()without any arguments - Change the signature of
OutputFormatterStyleInterface::setForeground/setBackground()tosetForeground/setBackground(?string) - Change the signature of
HelperInterface::setHelperSet()tosetHelperSet(?HelperSet)
6.1
- Add support to display table vertically when calling setVertical()
- Add method
__toString()toInputInterface - Added
OutputWrapperto prevent truncated URL inSymfonyStyle::createBlock. - Deprecate
Command::$defaultNameandCommand::$defaultDescription, use theAsCommandattribute instead - Add suggested values for arguments and options in input definition, for input completion
- Add
$resumeAtparameter toProgressBar#start(), so that one can easily 'resume' progress on longer tasks, and still get accurategetEstimate()andgetRemaining()results.
6.0
Command::setHidden()has a default value (true) for$hiddenparameter and is final- Remove
Helper::strlen(), useHelper::width()instead - Remove
Helper::strlenWithoutDecoration(), useHelper::removeDecoration()instead AddConsoleCommandPasscan not be configured anymore- Remove
HelperSet::setCommand()andgetCommand()without replacement
5.4
- Add
TesterTrait::assertCommandIsSuccessful()to test command - Deprecate
HelperSet::setCommand()andgetCommand()without replacement
5.3
- Add
GithubActionReporterto render annotations in a Github Action - Add
InputOption::VALUE_NEGATABLEflag to handle--foo/--no-foooptions - Add the
Command::$defaultDescriptionstatic property and thedescriptionattribute on theconsole.commandtag to allow thelistcommand to instantiate commands lazily - Add option
--shortto thelistcommand - Add support for bright colors
- Add
#[AsCommand]attribute for declaring commands on PHP 8 - Add
Helper::width()andHelper::length() - The
--ansiand--no-ansioptions now default tonull.
5.2.0
- Added
SingleCommandApplication::setAutoExit()to allow testing viaCommandTester - added support for multiline responses to questions through
Question::setMultiline()andQuestion::isMultiline() - Added
SignalRegistryclass to stack signals handlers - Added support for signals:
- Added
Application::getSignalRegistry()andApplication::setSignalsToDispatchEvent()methods - Added
SignalableCommandInterfaceinterface
- Added
- Added
TableCellStyleclass to customize table cell - Removed
phpprefix invocation from help messages.
5.1.0
Command::setHidden()is final since Symfony 5.1- Add
SingleCommandApplication - Add
Cursorclass
5.0.0
- removed support for finding hidden commands using an abbreviation, use the full name instead
- removed
TableStyle::setCrossingChar()method in favor ofTableStyle::setDefaultCrossingChar() - removed
TableStyle::setHorizontalBorderChar()method in favor ofTableStyle::setDefaultCrossingChars() - removed
TableStyle::getHorizontalBorderChar()method in favor ofTableStyle::getBorderChars() - removed
TableStyle::setVerticalBorderChar()method in favor ofTableStyle::setVerticalBorderChars() - removed
TableStyle::getVerticalBorderChar()method in favor ofTableStyle::getBorderChars() - removed support for returning
nullfromCommand::execute(), return0instead ProcessHelper::run()accepts onlyarray|Symfony\Component\Process\Processfor itscommandargumentApplication::setDispatcheraccepts onlySymfony\Contracts\EventDispatcher\EventDispatcherInterfacefor itsdispatcherargument- renamed
Application::renderException()andApplication::doRenderException()torenderThrowable()anddoRenderThrowable()respectively.
4.4.0
- deprecated finding hidden commands using an abbreviation, use the full name instead
- added
Question::setTrimmabledefault to true to allow the answer to be trimmed - added method
minSecondsBetweenRedraws()andmaxSecondsBetweenRedraws()onProgressBar ApplicationimplementsResetInterface- marked all dispatched event classes as
@final - added support for displaying table horizontally
- deprecated returning
nullfromCommand::execute(), return0instead - Deprecated the
Application::renderException()andApplication::doRenderException()methods, userenderThrowable()anddoRenderThrowable()instead. - added support for the
NO_COLORenv var (https://no-color.org/)
4.3.0
- added support for hyperlinks
- added
ProgressBar::iterate()method that simplify updating the progress bar when iterating - added
Question::setAutocompleterCallback()to provide a callback function that dynamically generates suggestions as the user types
4.2.0
- allowed passing commands as
[$process, 'ENV_VAR' => 'value']toProcessHelper::run()to pass environment variables - deprecated passing a command as a string to
ProcessHelper::run(), pass it the command as an array of its arguments instead - made the
ProcessHelperclass final - added
WrappableOutputFormatterInterface::formatAndWrap()(implemented inOutputFormatter) - added
capture_stderr_separatelyoption toCommandTester::execute()
4.1.0
- added option to run suggested command if command is not found and only 1 alternative is available
- added option to modify console output and print multiple modifiable sections
- added support for iterable messages in output
writeandwritelnmethods
4.0.0
OutputFormatterthrows an exception when unknown options are used- removed
QuestionHelper::setInputStream()/getInputStream() - removed
Application::getTerminalWidth()/getTerminalHeight()andApplication::setTerminalDimensions()/getTerminalDimensions() - removed
ConsoleExceptionEvent - removed
ConsoleEvents::EXCEPTION
3.4.0
- added
SHELL_VERBOSITYenv var to control verbosity - added
CommandLoaderInterface,FactoryCommandLoaderand PSR-11ContainerCommandLoaderfor commands lazy-loading - added a case-insensitive command name matching fallback
- added static
Command::$defaultName/getDefaultName(), allowing for commands to be registered at compile time in the application command loader. Setting the$defaultNameproperty avoids the need for filling thecommandattribute on theconsole.commandtag when usingAddConsoleCommandPass.
3.3.0
- added
ExceptionListener - added
AddConsoleCommandPass(originally in FrameworkBundle) - [BC BREAK]
Input::getOption()no longer returns the default value for options with value optional explicitly passed empty - added console.error event to catch exceptions thrown by other listeners
- deprecated console.exception event in favor of console.error
- added ability to handle
CommandNotFoundExceptionthrough theconsole.errorevent - deprecated default validation in
SymfonyQuestionHelper::ask
3.2.0
- added
setInputs()method to CommandTester for ease testing of commands expecting inputs - added
setStream()andgetStream()methods to Input (implement StreamableInputInterface) - added StreamableInputInterface
- added LockableTrait
3.1.0
- added truncate method to FormatterHelper
- added setColumnWidth(s) method to Table
2.8.3
- remove readline support from the question helper as it caused issues
2.8.0
- use readline for user input in the question helper when available to allow the use of arrow keys
2.6.0
- added a Process helper
- added a DebugFormatter helper
2.5.0
- deprecated the dialog helper (use the question helper instead)
- deprecated TableHelper in favor of Table
- deprecated ProgressHelper in favor of ProgressBar
- added ConsoleLogger
- added a question helper
- added a way to set the process name of a command
- added a way to set a default command instead of
ListCommand
2.4.0
- added a way to force terminal dimensions
- added a convenient method to detect verbosity level
- [BC BREAK] made descriptors use output instead of returning a string
2.3.0
- added multiselect support to the select dialog helper
- added Table Helper for tabular data rendering
- added support for events in
Application - added a way to normalize EOLs in
ApplicationTester::getDisplay()andCommandTester::getDisplay() - added a way to set the progress bar progress via the
setCurrentmethod - added support for multiple InputOption shortcuts, written as
'-a|-b|-c' - added two additional verbosity levels, VERBOSITY_VERY_VERBOSE and VERBOSITY_DEBUG
2.2.0
- added support for colorization on Windows via ConEmu
- add a method to Dialog Helper to ask for a question and hide the response
- added support for interactive selections in console (DialogHelper::select())
- added support for autocompletion as you type in Dialog Helper
2.1.0
- added ConsoleOutputInterface
- added the possibility to disable a command (Command::isEnabled())
- added suggestions when a command does not exist
- added a --raw option to the list command
- added support for STDERR in the console output class (errors are now sent to STDERR)
- made the defaults (helper set, commands, input definition) in Application more easily customizable
- added support for the shell even if readline is not available
- added support for process isolation in Symfony shell via
--process-isolationswitch - added support for
--, which disables options parsing after that point (tokens will be parsed as arguments)