- Add setTableDefaultFields method to FormatterOptions
- Support Symfony 7 (#111)
- Make table headers optional when table is empty (#108)
- Make var-dump and var-export usable for non-arrays (#109)
- Wordwrap fix for tables (#107)
- Add an accessor to get selected fields from the formatter object. (#104)
- Add convenience function FormatterOptions::fieldsContain() (#105)
- Minor dynamic property fix for PHP 8.2.
- Various PHP 8.1 compatibility fixes (warnings)
- Allow dflydev/dot-access-data ^2 and ^3 (#98)
- PHP 8.1
- Symfony 6 support
- No significant code changes, but removal of a method with a typo caused a b/c check failure.
- PHP 8
- Fix Symfony 5 bugs. (#85)
- Test with PHP 7.4.
- Compatible with the 3.x branch, but removes support for old PHP versions and requires Symfony 4.
- Add
@default-table-fields
to specify the fields to use with the table formatter and other "human readable" output formats.
- Add enclosure and escape character options for CsvFormatter. (#79)
- Add an UnstucturedInterface marker interface, and update the 'string' format to not accept data types that implement this interface unless they also implement StringTransformationInterface.
- Add a 'null' output formatter that accepts all data types and never produces output
- 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.
- Rename g1a/composer-test-scenarios
- 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.
- Allow XML output for RowsOfFields (#60).
- Allow Symfony 4 components and add make tests run on three versions of Symfony.
- 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.
- Add ListDataFromKeys marker data type.
- Typo in CalculateWidths::distributeLongColumns causes failure for some column width distributions
- Improve wrapping algorithm
- Add Windows testing
- Move victorjonsson/markdowndocs to require-dev
- When converting from XML to an array, use the 'id' or 'name' element as the array key value.
- Add a 'list delimiter' formatter option, so that we can create a Drush-style table for property lists.
- Fine-tune wordwrapping.
- Add wordwrapping to table formatter.
- 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.
- 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.).
- 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.
Add tab-separated-value (tsv) formatter.
First stable release.