Release Notes#
Changes for v3.4.3 (2024-04-27)#
Finish migration to setuptools_scm
Changes for v3.4.2 (2024-04-26)#
Constrain setuptools_scm version
Changes for v3.4.1 (2024-04-17)#
Add module entry points for xq and tomlq
Changes for v3.4.0 (2024-04-17)#
yq -y: Induce quoting of string scalars that start with 08 and 09
Changes for v3.3.1 (2024-04-15)#
Revert “Do not interpret characters that cannot be parsed in octal as int (#176)”
Changes for v3.3.0 (2024-04-13)#
tomlq: Use tomllib on Python 3.11 when not round-tripping
xq: Support in-place XML editing
Do not interpret characters that cannot be parsed in octal as int (#176)
Changes for v3.2.3 (2023-09-09)#
test.py: use valid values for jsonargs. Fixes #172
Allow editing toml in place (#171)
Documentation improvements
Changes for v3.2.2 (2023-04-22)#
Allow XML documents to be streamed with –xml-item-depth
Changes for v3.2.1 (2023-04-04)#
Relax tomlkit dependency version range to preserve Python 3.6 compatibility (#165)
Changes for v3.2.0 (2023-04-03)#
Use tomlkit instead of toml
Add security policy
Documentation and release infrastructure improvements
Changes for v3.1.1 (2023-02-21)#
Handle TOML datetimes. Fixes #160
Test and documentation improvements
Changes for v3.1.0 (2022-07-24)#
Use configurable output grammar, compatible with YAML 1.1
Changes for v3.0.2 (2022-07-05)#
Expand merge keys (https://yaml.org/type/merge.html). This is a YAML 1.1 specific behavior, but will be accommodated in yq due to its widespread use and low likelihood of accidental invocation.
Changes for v3.0.1 (2022-07-04)#
yq now uses the YAML 1.2 grammar when parsing and rendering YAML documents. This means bare literals like “on”, “no”, and “12:34:56” are interpreted as strings. (Fix interrupted release)
Changes for v3.0.0 (2022-07-04)#
yq now uses the YAML 1.2 grammar when parsing and rendering YAML documents. This means bare literals like “on”, “no”, and “12:34:56” are interpreted as strings.
Changes for v2.14.0 (2022-02-20)#
Support binary and set tags. Fixes #140
Changes for v2.13.0 (2021-12-02)#
Armor against entity expansion attacks
Improve YAML loading performance by using CSafeLoader where available
Require PyYAML 5.3.1 or newer
Test and release infrastructure improvements
Changes for v2.12.2 (2021-06-13)#
Handle -n correctly
Changes for v2.12.1 (2021-06-13)#
Do not close fds on child process
Changes for v2.12.0 (2021-02-05)#
Add TOML support and the tomlq CLI utility to access it
Drop Python 2.7 support
Changes for v2.11.1 (2020-09-26)#
Parse correctly when empty string is passed as jq_filter
Changes for v2.11.0 (2020-09-03)#
Better handling of jq_filter and files arguments (#102)
Create main.py (#82)
Changes for v2.10.1 (2020-05-11)#
Add support for xmltodict force_list definition for xq CLI (#95)
Support explicit doc markers (#93)
Ensure proper ordering of help messages (#90)
Changes for v2.10.0 (2019-12-23)#
Add support for in-place editing (yq -yi)
Add argcomplete integration
Docs: Migrate from RTD to gh-pages
Changes for v2.9.2 (2019-11-04)#
Fix interrupted release
Changes for v2.9.1 (2019-11-04)#
Fix documentation build
Changes for v2.9.0 (2019-11-04)#
Add -Y/–yaml-roundtrip for preserving YAML styles and tags
Changes for v2.8.1 (2019-10-28)#
Filter out -C and separate commingled yq and jq short options
Changes for v2.8.0 (2019-10-25)#
Set default block sequence indentation to 2 spaces, –indentless for 0
Make main body of yq callable as a library function
Test and release infrastructure updates
Changes for v2.7.2 (2019-01-09)#
Support options introduced in jq 1.6. Fixes #46
xq: Re-raise if exception is unrecognized
Changes for v2.7.1 (2018-11-05)#
xq: Introduce –xml-dtd and –xml-root. Fixes #37.
TOML support is optional and experimental
Changes for v2.7.0 (2018-08-04)#
TOML support with the tq executable entry point.
Disallow argparse abbreviated options. Fixes #38 on Python 3.5+.
Now available in Homebrew as python-yq.
Changes for v2.6.0 (2018-04-28)#
Packaging: Replace scripts with entry-points
Packaging: Package the license file
Changes for v2.5.0 (2018-04-02)#
Parse unrecognized tags instead of dropping them. Fixes #23
Changes for v2.4.1 (2018-02-13)#
Ignore unrecognized YAML tags instead of crashing
Explicitly disable XML entity expansion and mention in docs
xq -x: Raise understandable error on non-dict conversion failure
Changes for v2.4.0 (2018-02-08)#
Support XML parsing with xmltodict
Changes for v2.3.7 (2018-02-07)#
Fix for the –from-file/-f argument: Re-route jq_filter to files when using –from-file. Fixes #19.
Changes for v2.3.6 (2018-01-29)#
Parse and pass multiple positional-consuming jq args
Changes for v2.3.5 (2018-01-29)#
Support jq arguments that consume subsequent positionals (such as –arg k v) (#16).
Changes for v2.3.4 (2017-12-26)#
Support bare YAML dates and times. Fixes #10
Changes for v2.3.3 (2017-09-30)#
Avoid buffering all input docs in memory with no -y
End all json.dump output with newlines. Close all input streams. Fixes #8. Thanks to @bubbleattic for reporting.
Changes for v2.3.2 (2017-09-25)#
Fix test suite on Python 3
Changes for v2.3.1 (2017-09-25)#
Add support for multiple yaml files in arguments. Thanks to @bubbleattic (PR #7)
Changes for v2.3.0 (2017-08-27)#
Handle multi-document streams. Fixes #6
Report version via yq –version
Changes for v2.2.0 (2017-07-07)#
Stringify datetimes loaded from YAML. Fixes #5
Changes for v2.1.2 (2017-06-27)#
Fix ResourceWarning: unclosed file
Internal: Make usage of loader argument consistent
Documentation improvements
Changes for v2.1.1 (2017-05-02)#
Fix release script. Release is identical to v2.1.0.
Changes for v2.1.0 (2017-05-02)#
yq now supports emitting YAML (round-trip YAML support) using “yq -y”. Fixes #2.
Key order is now preserved in mappings/objects/dictionaries.
Passing input files by filename as an argument is now supported (in addition to providing data on standard input).
Changes for v2.0.2 (2017-01-16)#
Test and documentation improvements
Changes for v2.0.1 (2017-01-14)#
Fix description in setup.py
Changes for v2.0.0 (2017-01-14)#
Begin 2.0.0 release series. This package’s release series available on PyPI begins with version 2.0.0. Versions of
yq
prior to 2.0.0 are distributed by https://github.com/abesto/yq and are not related to this package. No guarantees of compatibility are made between abesto/yq and kislyuk/yq. This package follows theSemantic Versioning 2.0.0 <http://semver.org/>
_ standard. To ensure proper operation, declare dependency version ranges according to SemVer. See the Readme for more information.