4.17.1: - Added XML support (#491) - New merge flag (n) to only merge new fields (#1038) - Fixed exit status bug for permission denied error (#1062) - Fixed using multiple variables with union (,) operator (#1048) - Bumped some versions of dependencies 4.16.2: - Bumped go-lang compiler to fix CVE-2021-44717 (#1037) - Dependency version bumps via dependabot - Added extract-checksum.sh to make it easier to validate checksums (#1011) - Report filename on parsing error (#1030) 4.16.1: - Added csv, tsv output formats - Added map, map_values operators - Added sort, sort_by operators (#947, #1024) - Fixed bug in collect - Fixed permissions issue in Dockerfile (#1014) - Fixed assignment operator to no longer overwrite anchor (#1029) 4.15.1: - Added 'load/strload' operators for dynamically loading content from files - Added 'key' operator - Added 'parent' operator - Smarter MAN page installation script (thanks @coolaj86) - Dockerfile improvements (thanks @actualben) - Error handling improvements (thanks @mmorel-35) 4.14.2: - Fixed header preprocessing issue (#1000) - Bumped version dependencies 4.14.1: - Added group_by operator - Added encode/decode operators (toyaml, fromjson etc) (#974) - Added flatten operator - Added --split-exp, for splitting results into multiple files (#966) - Fixed json null array bug (#985) 4.13.5: - Performance improvement for deepMatch (thanks @pmatseykanets) - Added manpage, included in tar.gz downloads as well as a separate tar.gz (#961) - Fixed expression parsing bug #970 - Rebuild fixes CVE (#964) - Bumped docker alpine version 4.13.4: - Fixed select bug (#958) - Improved performance of `explode` (this will also speed up json conversion) - Improved performance of `merge` (significantly if your merging a small file into a big one) 4.13.3: - Updated go compiler to 1.17 to fix CVE (#944) 4.13.2: - Fixing Docker build timeout issues when attempting to release 4.13.1: - Update to `with` operator, allow for no leading space on the `;`. 4.13.0: BREAKING CHANGE - the `as` variable operator (e.g. `.a as $x`) now makes a _copy_ of the node(s) at the path rather than a reference. This is in order to make it work more like the `jq` equivalent. This means any updates made to that variable do not update the original. There's a new operator `ref` that will make a reference (and allow multiple updates to the original path by referencing the variable). Sorry for any inconvenience caused!. - New `with` operator for making multiple changes to a given path - New `contains` operator, works like the `jq` equivalent - Subtract operator now supports subtracting elements from arrays! - Fixed Swapping values using variables #934 - Github Action now properly supports multiline output #936, thanks @pjxiao - Fixed missing closing bracket validation #932 4.12.2: - Fix processing of hex numbers #929 - Fixed alternative and union operator issues #930 4.12.1: - Merge comment fix #919 4.12.0: - Can now convert yaml to properties properties format (`-o=props`), See [docs](https://mikefarah.gitbook.io/yq/v/v4.x/usage/properties) for more info. - Fixed document header/footer comment handling when merging (https://github.com/mikefarah/yq/issues/919) - pretty print yaml 1.1 compatibility (https://github.com/mikefarah/yq/issues/914)