consolidation/output-formatters
Format text by applying transformations provided by plug-in formatters.
4.7.1
75M downloads/mo
#582 most downloaded on Packagist
consolidation/output-formatters
What this package is like to depend on
Last release 4 months ago
28 Mar 2026
Ships fairly regularly
a new release about every 4 months
Most releases are documented
notes for 41 of 59 stable releases
Nothing withdrawn
no release was ever pulled
10 years old
76 releases · first in 2016
2 releases in the last 12 months
see the full history below
Release timeline
76 releases · Apr 2016 to Mar 2026Releases
latest 60 of 76-
4.7.128 Mar 2026 -
4.7.014 Nov 2025 -
4.6.113 Dec 2024 -
4.6.018 Oct 2024 -
4.5.002 Apr 2024 -
4.4.030 Mar 2024 -
4.3.206 Jul 2023Release notes
Open source →- Make var-dump and var-export usable for non-arrays (#109)
- Wordwrap fix for tables (#107)
-
4.3.120 May 2023Release notes
Open source →- Add an accessor to get selected fields from the formatter object. (#104)
- Add convenience function FormatterOptions::fieldsContain() (#105)
-
4.3.020 May 2023Nothing published for this version
-
4.2.424 Feb 2023 -
4.2.317 Oct 2022 -
4.2.213 Feb 2022 -
4.2.130 Dec 2021 -
4.2.027 Dec 2021 -
4.1.324 Dec 2021Release notes
Open source →- No significant code changes, but removal of a method with a typo caused a b/c check failure.
-
4.1.212 Dec 2020 -
4.1.127 May 2020 -
4.1.007 Feb 2020 -
4.0.029 Oct 2019Release notes
Open source →- Compatible with the 3.x branch, but removes support for old PHP versions and requires Symfony 4.
-
3.5.111 Oct 2020Nothing published for this version
-
3.5.030 May 2019Release notes
Open source →- Add
@default-table-fieldsto specify the fields to use with the table formatter and other "human readable" output formats.
- Add
-
3.4.114 Mar 2019 -
3.4.019 Oct 2018Release notes
Open source →- Add an UnstucturedInterface marker interface, and update the 'string' format to not accept data types that implement this interface unless they also implement StringTransformationInterface.
-
3.3.218 Oct 2018Release notes
Open source →- Add a 'null' output formatter that accepts all data types and never produces output
-
3.3.116 Oct 2018Nothing published for this version
-
3.3.016 Oct 2018Release notes
Open source →- Add UnstructuredListData and UnstructuredData to replace deprecated ListDataFromKeys
- Support --field and --fields in commands that return UnstructuredData / UnstructuredListData
- Support field remapping, e.g.
--fields=original as remapped - Support field addressing, e.g.
--fields=a.b.c - Automatically convert from RowsOfFields to UnstruturedListData and from PropertyList to UnstructuredData when user utilizes field remapping or field addressing features.
-
3.2.125 May 2018 -
3.2.020 Mar 2018Release notes
Open source →- Add RowsOfFieldsWithMetadata: allows commands to return an object with metadata that shows up in yaml/json (& etc.) formats, but is not shown in table/csv (& etc.).
- Add NumericCellRenderer: allows commands to attach a renderer that will right-justify and add commas to numbers in a column.
- Add optional var_dump output format.
-
3.1.1329 Nov 2017Release notes
Open source →- Allow XML output for RowsOfFields (#60).
- Allow Symfony 4 components and add make tests run on three versions of Symfony.
-
3.1.1212 Oct 2017Release notes
Open source →- Bugfix: Use InputOption::VALUE_REQUIRED instead of InputOption::VALUE_OPTIONAL for injected options such as --format and --fields.
- Bugfix: Ignore empty properties in the property parser.
-
3.1.1117 Aug 2017 -
3.1.1006 Jun 2017Release notes
Open source →- Typo in CalculateWidths::distributeLongColumns causes failure for some column width distributions
-
3.1.908 May 2017 -
3.1.801 Mar 2017Nothing published for this version
-
3.1.721 Jan 2017 -
3.1.608 Jan 2017 -
3.1.523 Nov 2016Release notes
Open source →- When converting from XML to an array, use the 'id' or 'name' element as the array key value.
-
3.1.421 Nov 2016Release notes
Open source →- Add a 'list delimiter' formatter option, so that we can create a Drush-style table for property lists.
-
3.1.318 Nov 2016Nothing published for this version
-
3.1.218 Nov 2016Nothing published for this version
-
3.1.118 Nov 2016 -
3.1.018 Nov 2016 -
3.0.114 Nov 2016Nothing published for this version
-
3.0.014 Nov 2016Release notes
Open source →- Breaking The RenderCellInterface is now provided a reference to the entire row data. Existing clients need only add the new parameter to their method defnition to update.
- Rename AssociativeList to PropertyList, as many people seemed to find the former name confusing. AssociativeList is still available for use to preserve backwards compatibility, but it is deprecated.
-
2.1.310 Nov 2016Nothing published for this version
-
2.1.208 Nov 2016Nothing published for this version
-
2.1.108 Nov 2016Nothing published for this version
-
2.1.007 Nov 2016Release notes
Open source →- Add RenderCellCollections to structured lists, so that commands may add renderers to structured data without defining a new structured data subclass.
- Throw an exception if the client requests a field that does not exist.
- Remove unwanted extra layer of nesting when formatting an PropertyList with an array formatter (json, yaml, etc.).
-
2.0.105 Oct 2016Nothing published for this version
-
2.0.001 Oct 2016Release notes
Open source →- Breaking The default
stringformat now converts non-string results into a tab-separated-value table if possible. Commands may select a single field to emit in this instance with an annotation:@default-string-field email. By this means, a given command may by default emit a single value, but also provide more rich output that may be shown by selecting --format=table, --format=yaml or the like. This change might cause some commands to produce output in situations that previously were not documented as producing output. - Breaking FormatterManager::addFormatter() now takes the format identifier and a FormatterInterface, rather than an identifier and a Formatter classname (string).
- --field is a synonym for --fields with a single field.
- Wildcards and regular expressions can now be used in --fields expressions.
- Breaking The default
-
2.0.0-rc330 Sep 2016 pre-releaseNothing published for this version
-
2.0.0-rc228 Sep 2016 pre-releaseNothing published for this version
-
2.0.0-rc127 Sep 2016 pre-releaseNothing published for this version
-
2.0.0-beta723 Sep 2016 pre-releaseNothing published for this version
-
2.0.0-beta623 Sep 2016 pre-releaseNothing published for this version
-
2.0.0-beta519 Sep 2016 pre-releaseNothing published for this version
-
2.0.0-beta419 Sep 2016 pre-releaseNothing published for this version
-
2.0.0-beta319 Sep 2016 pre-releaseNothing published for this version
-
2.0.0-beta215 Sep 2016 pre-releaseNothing published for this version
-
2.0.0-beta115 Sep 2016 pre-releaseNothing published for this version