You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
8.2 KiB
8.2 KiB
CHANGELOG
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)