Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.4.0→3.0.01.4.0→3.0.0Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
01mf02/jaq (jaq-core)
v3.0.0: 3.0jaq is a jq clone with focus on correctness, speed, and simplicity.
The most outstanding change in jaq 3.0 is its multi-format support, allowing you to read and write several data formats such as YAML, CBOR, TOML, XML, CSV, TSV, and of course JSON. That means that among others, jaq can convert data from one format into another, while transforming data with a jq filter. This effectively makes it into a "Pandoc for structured data".
Achieving this has been the main focus of the NLnet-founded "Polyglot jaq" project, which has been successfully finished. A huge thanks to NLnet for supporting jaq and, more generally, free software!
Other large user-facing changes include:
docs/README.md.)tobytes, allowing you to index/slice them in constant time. This allows you to process arbitrary binary data efficiently with jaq --- as proof of concept, I implemented a little TAR decoder.path/1and many other path-related filters.API:
jaq-allcrate for easier "batteries-included" jaq usagejaq_json::Valwhen enabling thesyncfeature, allowing for multithreaded usage of values, e.g. running multiple filters in parallel on the same valueChanges since 3.0-gamma:
lengthof text strings #417TermIdas reference inExn#411See the release notes for alpha, beta, and gamma for more details on all changes since jaq 2.3.
v2.2.0: 2.2Compare Source
This release brings a few path-related changes:
paths/1,getpath/1#280reduce/foreachon left-hand side #281:This allows writing things like
reduce xs as $x (.; .[$x]) |= f, which is currently not possible in jq. The meaning of this is described in my formal jq language specification.Since last release, jaq's core has been audited by Radically Open Security as part of an NLnet grant --- thanks to both organisations for their support! As part of this audit, jaq's jq parser was fuzzed #262, which required exposing the
Toktype injaq_core, hence a minor version bump. The audit found one bug (panic on invalid UTF-8 characters), which was fixed. Thanks in particular to @pcwizz for having contributed the fuzzer and for having performed the audit!Finally, this release increases output performance when not writing to stdout #278.
Full Changelog: 01mf02/jaq@v2.1.1...v2.2.0
v2.1.1: 2.1.1Compare Source
This release corrects a few bugs, in particular in the execution of
label ... break#260 as well as in printing of special Unicode characters in objects keys #259.Full Changelog: 01mf02/jaq@v2.1.0...v2.1.1
v2.1.0: 2.1Compare Source
What's Changed
--argjsoncommand-line option by @wader #250jaq_core::load::Loaderby @bluescreen303 #252New Contributors
Full Changelog: 01mf02/jaq@v2.0.1...v2.1.0
v2.0.0: 2.0Compare Source
jaq is a jq clone focussed on correctness, speed, and simplicity.
Compared to jaq 1.x, jaq 2.0 adds support for many features of the jq programming language.
As a result, jaq can now run jqjq, a jq interpreter written in jq itself, which has a code base of more than 3000 lines of jq code!
The largest single change in jaq 2.0 is support for jq's module system, allowing jaq to import module and data files (alpha).
Furthermore, the libraries underlying jaq are now agnostic towards their data format. This makes jaq a candidate for embedding it as language interpreter into other applications for processing non-JSON data.
Under the hood, jaq's compiler component has been completely rewritten to allow for the changes in jaq 2.0.
New syntax:
label...break,//=, nested definitions alphaforeach/3betaNew command-line parameters:
--library-path/-Lalpha--argsdelta--sort-keys/-SI would like to thank all people that have contributed to this release, in particular @wader for extensively testing jaq, contributing features and adapting jqjq to make it work with jaq. It has been a joy working with you!
My work on jaq since version 1.4 has been sponsored by the NLnet foundation, to whom I would like to express my deep gratitude for letting me live my dream.
Configuration
📅 Schedule: Branch creation - "on the first day of the month" in timezone Europe/Berlin, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.