API
This release makes it easier to use jaq's API by providing the new crate jaq-all (and jaq-fmts). This is designed to be the new go-to solution if you quickly want to embed jaq into an application #375.
jaq-json::Val now implements serde::Deserialize, thanks to @jakobhellermann #349. This should allow you to deserialise many data types --- including serde_json::Value --- into a jaq_json::Val. For that reason, I also removed the direct conversion traits between serde_json::Value and jaq_json::Val #381.
Last, but not least, Arena is now a type definition #372. This may help you to "avoid lifetime hell" (#311). Thanks to @slonkazoid for prompting this change!
Features
- String slices can now be updated #362.
- Strings/arrays can now be indexed with objects, such as
{start: 1, end: -1}#368. - Pretty-printing YAML values now yields more conventional output #375.
JQ_COLORSis now supported #375.
Corrections
- The precedence of
as $x |now matches jq #370. - Do not panic when writing to stdout/stderr fails #382.
Documentation
The documentation has seen continuous improvement #366, especially by running CLI tests inside it #378.
Full Changelog: v3.0.0-alpha...v3.0.0-beta