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.

210 lines
8.0 KiB

3 years ago
  1. CHANGELOG
  2. =========
  3. 5.3
  4. ---
  5. * Add `GithubActionReporter` to render annotations in a Github Action
  6. * Add `InputOption::VALUE_NEGATABLE` flag to handle `--foo`/`--no-foo` options
  7. * Add the `Command::$defaultDescription` static property and the `description` attribute
  8. on the `console.command` tag to allow the `list` command to instantiate commands lazily
  9. * Add option `--short` to the `list` command
  10. * Add support for bright colors
  11. * Add `#[AsCommand]` attribute for declaring commands on PHP 8
  12. * Add `Helper::width()` and `Helper::length()`
  13. 5.2.0
  14. -----
  15. * Added `SingleCommandApplication::setAutoExit()` to allow testing via `CommandTester`
  16. * added support for multiline responses to questions through `Question::setMultiline()`
  17. and `Question::isMultiline()`
  18. * Added `SignalRegistry` class to stack signals handlers
  19. * Added support for signals:
  20. * Added `Application::getSignalRegistry()` and `Application::setSignalsToDispatchEvent()` methods
  21. * Added `SignalableCommandInterface` interface
  22. * Added `TableCellStyle` class to customize table cell
  23. * Removed `php ` prefix invocation from help messages.
  24. 5.1.0
  25. -----
  26. * `Command::setHidden()` is final since Symfony 5.1
  27. * Add `SingleCommandApplication`
  28. * Add `Cursor` class
  29. 5.0.0
  30. -----
  31. * removed support for finding hidden commands using an abbreviation, use the full name instead
  32. * removed `TableStyle::setCrossingChar()` method in favor of `TableStyle::setDefaultCrossingChar()`
  33. * removed `TableStyle::setHorizontalBorderChar()` method in favor of `TableStyle::setDefaultCrossingChars()`
  34. * removed `TableStyle::getHorizontalBorderChar()` method in favor of `TableStyle::getBorderChars()`
  35. * removed `TableStyle::setVerticalBorderChar()` method in favor of `TableStyle::setVerticalBorderChars()`
  36. * removed `TableStyle::getVerticalBorderChar()` method in favor of `TableStyle::getBorderChars()`
  37. * removed support for returning `null` from `Command::execute()`, return `0` instead
  38. * `ProcessHelper::run()` accepts only `array|Symfony\Component\Process\Process` for its `command` argument
  39. * `Application::setDispatcher` accepts only `Symfony\Contracts\EventDispatcher\EventDispatcherInterface`
  40. for its `dispatcher` argument
  41. * renamed `Application::renderException()` and `Application::doRenderException()`
  42. to `renderThrowable()` and `doRenderThrowable()` respectively.
  43. 4.4.0
  44. -----
  45. * deprecated finding hidden commands using an abbreviation, use the full name instead
  46. * added `Question::setTrimmable` default to true to allow the answer to be trimmed
  47. * added method `minSecondsBetweenRedraws()` and `maxSecondsBetweenRedraws()` on `ProgressBar`
  48. * `Application` implements `ResetInterface`
  49. * marked all dispatched event classes as `@final`
  50. * added support for displaying table horizontally
  51. * deprecated returning `null` from `Command::execute()`, return `0` instead
  52. * Deprecated the `Application::renderException()` and `Application::doRenderException()` methods,
  53. use `renderThrowable()` and `doRenderThrowable()` instead.
  54. * added support for the `NO_COLOR` env var (https://no-color.org/)
  55. 4.3.0
  56. -----
  57. * added support for hyperlinks
  58. * added `ProgressBar::iterate()` method that simplify updating the progress bar when iterating
  59. * added `Question::setAutocompleterCallback()` to provide a callback function
  60. that dynamically generates suggestions as the user types
  61. 4.2.0
  62. -----
  63. * allowed passing commands as `[$process, 'ENV_VAR' => 'value']` to
  64. `ProcessHelper::run()` to pass environment variables
  65. * deprecated passing a command as a string to `ProcessHelper::run()`,
  66. pass it the command as an array of its arguments instead
  67. * made the `ProcessHelper` class final
  68. * added `WrappableOutputFormatterInterface::formatAndWrap()` (implemented in `OutputFormatter`)
  69. * added `capture_stderr_separately` option to `CommandTester::execute()`
  70. 4.1.0
  71. -----
  72. * added option to run suggested command if command is not found and only 1 alternative is available
  73. * added option to modify console output and print multiple modifiable sections
  74. * added support for iterable messages in output `write` and `writeln` methods
  75. 4.0.0
  76. -----
  77. * `OutputFormatter` throws an exception when unknown options are used
  78. * removed `QuestionHelper::setInputStream()/getInputStream()`
  79. * removed `Application::getTerminalWidth()/getTerminalHeight()` and
  80. `Application::setTerminalDimensions()/getTerminalDimensions()`
  81. * removed `ConsoleExceptionEvent`
  82. * removed `ConsoleEvents::EXCEPTION`
  83. 3.4.0
  84. -----
  85. * added `SHELL_VERBOSITY` env var to control verbosity
  86. * added `CommandLoaderInterface`, `FactoryCommandLoader` and PSR-11
  87. `ContainerCommandLoader` for commands lazy-loading
  88. * added a case-insensitive command name matching fallback
  89. * added static `Command::$defaultName/getDefaultName()`, allowing for
  90. commands to be registered at compile time in the application command loader.
  91. Setting the `$defaultName` property avoids the need for filling the `command`
  92. attribute on the `console.command` tag when using `AddConsoleCommandPass`.
  93. 3.3.0
  94. -----
  95. * added `ExceptionListener`
  96. * added `AddConsoleCommandPass` (originally in FrameworkBundle)
  97. * [BC BREAK] `Input::getOption()` no longer returns the default value for options
  98. with value optional explicitly passed empty
  99. * added console.error event to catch exceptions thrown by other listeners
  100. * deprecated console.exception event in favor of console.error
  101. * added ability to handle `CommandNotFoundException` through the
  102. `console.error` event
  103. * deprecated default validation in `SymfonyQuestionHelper::ask`
  104. 3.2.0
  105. ------
  106. * added `setInputs()` method to CommandTester for ease testing of commands expecting inputs
  107. * added `setStream()` and `getStream()` methods to Input (implement StreamableInputInterface)
  108. * added StreamableInputInterface
  109. * added LockableTrait
  110. 3.1.0
  111. -----
  112. * added truncate method to FormatterHelper
  113. * added setColumnWidth(s) method to Table
  114. 2.8.3
  115. -----
  116. * remove readline support from the question helper as it caused issues
  117. 2.8.0
  118. -----
  119. * use readline for user input in the question helper when available to allow
  120. the use of arrow keys
  121. 2.6.0
  122. -----
  123. * added a Process helper
  124. * added a DebugFormatter helper
  125. 2.5.0
  126. -----
  127. * deprecated the dialog helper (use the question helper instead)
  128. * deprecated TableHelper in favor of Table
  129. * deprecated ProgressHelper in favor of ProgressBar
  130. * added ConsoleLogger
  131. * added a question helper
  132. * added a way to set the process name of a command
  133. * added a way to set a default command instead of `ListCommand`
  134. 2.4.0
  135. -----
  136. * added a way to force terminal dimensions
  137. * added a convenient method to detect verbosity level
  138. * [BC BREAK] made descriptors use output instead of returning a string
  139. 2.3.0
  140. -----
  141. * added multiselect support to the select dialog helper
  142. * added Table Helper for tabular data rendering
  143. * added support for events in `Application`
  144. * added a way to normalize EOLs in `ApplicationTester::getDisplay()` and `CommandTester::getDisplay()`
  145. * added a way to set the progress bar progress via the `setCurrent` method
  146. * added support for multiple InputOption shortcuts, written as `'-a|-b|-c'`
  147. * added two additional verbosity levels, VERBOSITY_VERY_VERBOSE and VERBOSITY_DEBUG
  148. 2.2.0
  149. -----
  150. * added support for colorization on Windows via ConEmu
  151. * add a method to Dialog Helper to ask for a question and hide the response
  152. * added support for interactive selections in console (DialogHelper::select())
  153. * added support for autocompletion as you type in Dialog Helper
  154. 2.1.0
  155. -----
  156. * added ConsoleOutputInterface
  157. * added the possibility to disable a command (Command::isEnabled())
  158. * added suggestions when a command does not exist
  159. * added a --raw option to the list command
  160. * added support for STDERR in the console output class (errors are now sent
  161. to STDERR)
  162. * made the defaults (helper set, commands, input definition) in Application
  163. more easily customizable
  164. * added support for the shell even if readline is not available
  165. * added support for process isolation in Symfony shell via
  166. `--process-isolation` switch
  167. * added support for `--`, which disables options parsing after that point
  168. (tokens will be parsed as arguments)