BlueSpice MediaWiki master
 All Classes Namespaces Files Functions Variables Groups Pages


  • added SHELL_VERBOSITY env var to control verbosity
  • added CommandLoaderInterface, FactoryCommandLoader and PSR-11 ContainerCommandLoader for 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 $defaultName property avoids the need for filling the command attribute on the console.command tag when using AddConsoleCommandPass.


  • 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 CommandNotFoundException through the console.error event
  • deprecated default validation in SymfonyQuestionHelper::ask


  • added setInputs() method to CommandTester for ease testing of commands expecting inputs
  • added setStream() and getStream() methods to Input (implement StreamableInputInterface)
  • added StreamableInputInterface
  • added LockableTrait


  • added truncate method to FormatterHelper
  • added setColumnWidth(s) method to Table


  • remove readline support from the question helper as it caused issues


  • use readline for user input in the question helper when available to allow the use of arrow keys


  • added a Process helper
  • added a DebugFormatter helper


  • 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


  • 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


  • 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() and CommandTester::getDisplay()
  • added a way to set the progress bar progress via the setCurrent method
  • added support for multiple InputOption shortcuts, written as `'-a|-b|-c'`
  • added two additional verbosity levels, VERBOSITY_VERY_VERBOSE and VERBOSITY_DEBUG


  • 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


  • 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-isolation switch
  • added support for --, which disables options parsing after that point (tokens will be parsed as arguments)