Use configurable output grammar, compatible with YAML 1.1
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.
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)
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.
Support binary and set tags. Fixes #140
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
Handle -n correctly
Do not close fds on child process
Add TOML support and the tomlq CLI utility to access it
Drop Python 2.7 support
Parse correctly when empty string is passed as jq_filter
Better handling of jq_filter and files arguments (#102)
Create main.py (#82)
Add support for xmltodict force_list definition for xq CLI (#95)
Support explicit doc markers (#93)
Ensure proper ordering of help messages (#90)
Add support for in-place editing (yq -yi)
Add argcomplete integration
Docs: Migrate from RTD to gh-pages
Fix interrupted release
Fix documentation build
Add -Y/–yaml-roundtrip for preserving YAML styles and tags
Filter out -C and separate commingled yq and jq short options
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
Support options introduced in jq 1.6. Fixes #46
xq: Re-raise if exception is unrecognized
xq: Introduce –xml-dtd and –xml-root. Fixes #37.
TOML support is optional and experimental
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.
Packaging: Replace scripts with entry-points
Packaging: Package the license file
Parse unrecognized tags instead of dropping them. Fixes #23
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
Support XML parsing with xmltodict
Fix for the –from-file/-f argument: Re-route jq_filter to files when using –from-file. Fixes #19.
Parse and pass multiple positional-consuming jq args
Support jq arguments that consume subsequent positionals (such as –arg k v) (#16).
Support bare YAML dates and times. Fixes #10
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.
Fix test suite on Python 3
Add support for multiple yaml files in arguments. Thanks to @bubbleattic (PR #7)
Handle multi-document streams. Fixes #6
Report version via yq –version
Stringify datetimes loaded from YAML. Fixes #5
Fix ResourceWarning: unclosed file
Internal: Make usage of loader argument consistent
Documentation improvements
Fix release script. Release is identical to v2.1.0.
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).
Test and documentation improvements
Fix description in setup.py
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 the
Semantic 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.