4.23.1:
  - Can now supply the envsubst operator with parameters (nounset, noempty, failfast). See [envsubst](https://mikefarah.gitbook.io/yq/operators/env-variable-operators) for details (#1137)
  - Bumped dependencies
  - Fixed '+=' problem with multiple matches #1145
  - Fixed bug with "and", "or" evaluating the RHS when not needed
  - Fixed potential panic (thanks @mkatychev)
  - Tweaked CLI help (thanks @justin-f-perez)

4.22.1:
  - Added [pick] (https://mikefarah.gitbook.io/yq/operators/pick) operator
  - Can load expression from a file '--from-file' (#1120)
  - Fixed property auto expansion (#1127)

4.21.1:
  - Added [reverse](https://mikefarah.gitbook.io/yq/operators/reverse) operator
  - Added [string case](https://mikefarah.gitbook.io/yq/operators/string-operators) operators
  - Added [base64 support](https://mikefarah.gitbook.io/yq/operators/encode-decode)
  - Added [line](https://mikefarah.gitbook.io/yq/operators/line)  and [column](https://mikefarah.gitbook.io/yq/operators/column) operators
  - Bumped dependency versions

4.20.2:
  - Fixed self assignment issue (#1107)
  - Fixed bad capture groups with multiple matches (#1114)
  - No longer auto-read from STDIN if there are files given (#1115)
  - Added missing load_props operator

4.20.1:
  - New [Date Operators](https://mikefarah.gitbook.io/yq/operators/datetime) (now, tz, add and subtract durations from dates) 
  - Can now decode property files!
  - New flag to manually set expression if required
  - ZSH completion bug fix (#1108) thanks @whi-tw
  - Fixed SEGV error (#1096)
  - Fixed Github actions issues (it pipes in /dev/null) for XML
  - Fixed bug - handle expressions that match a directory (e.g. ".")

4.19.1:
  - New [eval](https://mikefarah.gitbook.io/yq/operators/eval) _operator_ that allows dynamic expression evaluation (e.g. from a env variable) (#1087)
  - Adding new elements to array now automatically applies styling of existing elements (#722)

4.18.1:
  - `eval` is now the _default_ command, you can leave it out #113
  - `-` no longer needs to be specified as STDIN, unless you are also working with multiple files. #113
  - Adding to empty maps / arrays now uses idiomatic yaml styling by default
  - Fixed seg fault on bad input #1086
  - New `envsubst` operator! (thanks @sciyoshi)
  - Added support for `*=`, relative multiply/merge
  - Custom tag types now autocast to there actual types #933

4.17.2:
  - Fixed manpath issue (thanks @mr-pmillz)
  
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)