Skip to content

ci(rust): bump jaq-core from 2.2.1 to 3.1.0#15

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/jaq-core-3.1.0
Open

ci(rust): bump jaq-core from 2.2.1 to 3.1.0#15
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/jaq-core-3.1.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 15, 2026

Copy link
Copy Markdown

Bumps jaq-core from 2.2.1 to 3.1.0.

Release notes

Sourced from jaq-core's releases.

3.1

This release adds support for jq's input_filename filter --- thanks to @​a-n-d-r-e-w-l 01mf02/jaq#432! Furthermore, at places where jaq accepted filters like .a["b"], it now also accepts (equivalent) filters such as .a.["b"] (note the added dot after .a). 01mf02/jaq#423 Finally, this release corrects the indexing of arrays with an empty array, which previously panicked 01mf02/jaq#439. Thanks to @​leeewee for spotting this!

API

The biggest change in this release is that calls to halt in jq filters can now be handled by users of the jaq API, instead of forcing a termination of the process. Thanks to @​a-n-d-r-e-w-l 01mf02/jaq#433! This has a few implications:

  • The signature of jaq_all::data::run had to be changed, resulting in a new major version of jaq-all.
  • To preserve semantic versioning stability guarantees, the jaq_core::unwrap_valr function still terminates the current process if halt is called, but only if the std feature is enabled --- otherwise, unwrap_valr panics! You need to take action to prevent panics if all of the following conditions hold:
    1. you use jaq_core::unwrap_valr,
    2. you have disabled the std feature in jaq_core, and
    3. you run filters that may call halt.

Furthermore, this version makes it possible to clone definitions, which can speed up compiling many different jq filters. 01mf02/jaq#430

Full Changelog: 01mf02/jaq@v3.0.0...v3.1.0

3.0

jaq 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:

  • Manual: jaq now has a full jq and jaq reference manual. This was a monumental effort into which I poured a lot of love, and I hope that you enjoy reading it as much as I enjoyed putting easter eggs into it. Bonus: You also get a man page. (For package maintainers: Man page build instructions can be found in docs/README.md.)
  • Byte strings: You can now read strings that contain arbitrary contents, including invalid UTF-8 sequences. (When a string is read from a file, this takes only constant time, thanks to memory mapping.) You can then mark these strings as byte strings via 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.
  • Arbitrary values as object keys: Where jq supports only strings as object keys, jaq supports arbitrary values as object keys.
  • Compatibility improvements: Although this release adds many new features to jaq that do not exist in jq, this release still increases compatibility with jq. For example, jaq now supports path/1 and many other path-related filters.

API:

  • New jaq-all crate for easier "batteries-included" jaq usage
  • Passing arbitrary data to native filters
  • Optional thread-safe jaq_json::Val when enabling the sync feature, allowing for multithreaded usage of values, e.g. running multiple filters in parallel on the same value

Changes since 3.0-gamma:

See the release notes for alpha, beta, and gamma for more details on all changes since jaq 2.3.

3.0 gamma

... (truncated)

Commits

@dependabot @github

dependabot Bot commented on behalf of github Jun 15, 2026

Copy link
Copy Markdown
Author

Labels

The following labels could not be found: rust. Please create it before Dependabot can add it to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@dependabot dependabot Bot added the dependencies Pull requests that update a dependency file label Jun 15, 2026
Bumps [jaq-core](https://github.com/01mf02/jaq) from 2.2.1 to 3.1.0.
- [Release notes](https://github.com/01mf02/jaq/releases)
- [Commits](https://github.com/01mf02/jaq/commits/v3.1.0)

---
updated-dependencies:
- dependency-name: jaq-core
  dependency-version: 3.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot force-pushed the dependabot/cargo/jaq-core-3.1.0 branch from 03ff703 to 7e32d70 Compare June 16, 2026 16:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants