PackageTrack
Sign in Get early access

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 2026
2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 60 of 76
  1. 4.7.1 28 Mar 2026
    Release notes
    • Allow Symfony 8 (#116)
    • Add Symfony major version matrix to CI (#117)
    Open source →
  2. 4.7.0 14 Nov 2025
    Release notes
    • setInput now returns $this (#113)
    • PHP 8.5 support
    Open source →
  3. 4.6.1 13 Dec 2024
    Release notes

    Add tests for PHP 8.4 (#114)

    Open source →
  4. 4.6.0 18 Oct 2024
    Release notes
    • Add setTableDefaultFields method to FormatterOptions
    Open source →
  5. 4.5.0 02 Apr 2024
    Release notes
    • Support Symfony 7 (#111)
    Open source →
  6. 4.4.0 30 Mar 2024
    Release notes
    • Make table headers optional when table is empty (#108)
    Open source →
  7. 4.3.2 06 Jul 2023
    Release notes
    • Make var-dump and var-export usable for non-arrays (#109)
    • Wordwrap fix for tables (#107)
    Open source →
  8. 4.3.1 20 May 2023
    Release notes
    • Add an accessor to get selected fields from the formatter object. (#104)
    • Add convenience function FormatterOptions::fieldsContain() (#105)
    Open source →
  9. 4.3.0 20 May 2023

    Nothing published for this version

  10. 4.2.4 24 Feb 2023
    Release notes
    • Minor dynamic property fix for PHP 8.2.
    Open source →
  11. 4.2.3 17 Oct 2022
    Release notes
    • Various PHP 8.1 compatibility fixes (warnings)
    Open source →
  12. 4.2.2 13 Feb 2022
    Release notes
    • Allow dflydev/dot-access-data ^2 and ^3 (#98)
    Open source →
  13. 4.2.1 30 Dec 2021
    Release notes
    • PHP 8.1
    Open source →
  14. 4.2.0 27 Dec 2021
    Release notes
    • Symfony 6 support
    Open source →
  15. 4.1.3 24 Dec 2021
    Release notes
    • No significant code changes, but removal of a method with a typo caused a b/c check failure.
    Open source →
  16. 4.1.2 12 Dec 2020
    Release notes
    • PHP 8
    Open source →
  17. 4.1.1 27 May 2020
    Release notes
    • Fix Symfony 5 bugs. (#85)
    Open source →
  18. 4.1.0 07 Feb 2020
    Release notes
    • Test with PHP 7.4.
    Open source →
  19. 4.0.0 29 Oct 2019
    Release notes
    • Compatible with the 3.x branch, but removes support for old PHP versions and requires Symfony 4.
    Open source →
  20. 3.5.1 11 Oct 2020

    Nothing published for this version

  21. 3.5.0 30 May 2019
    Release notes
    • Add @default-table-fields to specify the fields to use with the table formatter and other "human readable" output formats.
    Open source →
  22. 3.4.1 14 Mar 2019
    Release notes
    • Add enclosure and escape character options for CsvFormatter. (#79)
    Open source →
  23. 3.4.0 19 Oct 2018
    Release notes
    • Add an UnstucturedInterface marker interface, and update the 'string' format to not accept data types that implement this interface unless they also implement StringTransformationInterface.
    Open source →
  24. 3.3.2 18 Oct 2018
    Release notes
    • Add a 'null' output formatter that accepts all data types and never produces output
    Open source →
  25. 3.3.1 16 Oct 2018

    Nothing published for this version

  26. 3.3.0 16 Oct 2018
    Release notes
    • 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.
    Open source →
  27. 3.2.1 25 May 2018
    Release notes
    • Rename g1a/composer-test-scenarios
    Open source →
  28. 3.2.0 20 Mar 2018
    Release notes
    • 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.
    Open source →
  29. 3.1.13 29 Nov 2017
    Release notes
    • Allow XML output for RowsOfFields (#60).
    • Allow Symfony 4 components and add make tests run on three versions of Symfony.
    Open source →
  30. 3.1.12 12 Oct 2017
    Release notes
    • 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.
    Open source →
  31. 3.1.11 17 Aug 2017
    Release notes
    • Add ListDataFromKeys marker data type.
    Open source →
  32. 3.1.10 06 Jun 2017
    Release notes
    • Typo in CalculateWidths::distributeLongColumns causes failure for some column width distributions
    Open source →
  33. 3.1.9 08 May 2017
    Release notes
    • Improve wrapping algorithm
    Open source →
  34. 3.1.8 01 Mar 2017

    Nothing published for this version

  35. 3.1.7 21 Jan 2017
    Release notes
    • Add Windows testing
    Open source →
  36. 3.1.6 08 Jan 2017
    Release notes
    • Move victorjonsson/markdowndocs to require-dev
    Open source →
  37. 3.1.5 23 Nov 2016
    Release notes
    • When converting from XML to an array, use the 'id' or 'name' element as the array key value.
    Open source →
  38. 3.1.4 21 Nov 2016
    Release notes
    • Add a 'list delimiter' formatter option, so that we can create a Drush-style table for property lists.
    Open source →
  39. 3.1.3 18 Nov 2016

    Nothing published for this version

  40. 3.1.2 18 Nov 2016

    Nothing published for this version

  41. 3.1.1 18 Nov 2016
    Release notes
    • Fine-tune wordwrapping.
    Open source →
  42. 3.1.0 18 Nov 2016
    Release notes
    • Add wordwrapping to table formatter.
    Open source →
  43. 3.0.1 14 Nov 2016

    Nothing published for this version

  44. 3.0.0 14 Nov 2016
    Release notes
    • 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.
    Open source →
  45. 2.1.3 10 Nov 2016

    Nothing published for this version

  46. 2.1.2 08 Nov 2016

    Nothing published for this version

  47. 2.1.1 08 Nov 2016

    Nothing published for this version

  48. 2.1.0 07 Nov 2016
    Release notes
    • 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.).
    Open source →
  49. 2.0.1 05 Oct 2016

    Nothing published for this version

  50. 2.0.0 01 Oct 2016
    Release notes
    • Breaking The default string format 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.
    Open source →
  51. 2.0.0-rc3 30 Sep 2016 pre-release

    Nothing published for this version

  52. 2.0.0-rc2 28 Sep 2016 pre-release

    Nothing published for this version

  53. 2.0.0-rc1 27 Sep 2016 pre-release

    Nothing published for this version

  54. 2.0.0-beta7 23 Sep 2016 pre-release

    Nothing published for this version

  55. 2.0.0-beta6 23 Sep 2016 pre-release

    Nothing published for this version

  56. 2.0.0-beta5 19 Sep 2016 pre-release

    Nothing published for this version

  57. 2.0.0-beta4 19 Sep 2016 pre-release

    Nothing published for this version

  58. 2.0.0-beta3 19 Sep 2016 pre-release

    Nothing published for this version

  59. 2.0.0-beta2 15 Sep 2016 pre-release

    Nothing published for this version

  60. 2.0.0-beta1 15 Sep 2016 pre-release

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive