Skip to content

chore(deps): bump jaq-core from 1.5.1 to 3.0.0#142

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

chore(deps): bump jaq-core from 1.5.1 to 3.0.0#142
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/jaq-core-3.0.0

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github May 21, 2026

Bumps jaq-core from 1.5.1 to 3.0.0.

Release notes

Sourced from jaq-core's releases.

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

This release increases jq compatibility, introduces a new format (raw0), and decreases memory consumption.

A preliminary version of this release has received a security audit by @​dnet from Radically Open Security (ROS). This release addresses the raised concerns. Thanks a lot to NLnet for having funded the security audit!

With the security audit being done, this concludes the NLnet-funded project Polyglot jaq, meaning that all goals set out in the beginning were achieved. Again, thanks so much to NLnet for having supported jaq development for about two years!

jq features

Formats

Corrections

... (truncated)

Commits
  • 6cdaff0 Add .yml to list of recognised file extensions.
  • ce0c7b2 Small correction in manual.
  • 744922f Small corrections.
  • 5eedcc4 Bump versions to 3.0!
  • 136482b Replace serde by serde_core in jaq-json
  • f7ef06a Update benchmark results.
  • c4c4733 Merge pull request #415 from 01mf02/table-support
  • c7b1850 Link issue for feedback.
  • c0da08b Merge pull request #417 from 01mf02/length-str2
  • f1ed503 Speed up length of valid UTF-8 text strings.
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [jaq-core](https://github.com/01mf02/jaq) from 1.5.1 to 3.0.0.
- [Release notes](https://github.com/01mf02/jaq/releases)
- [Commits](01mf02/jaq@v1.5.1...v3.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels May 21, 2026
@dependabot dependabot Bot requested a review from mostafa as a code owner May 21, 2026 21:49
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels May 21, 2026
@mostafa
Copy link
Copy Markdown
Member

mostafa commented May 22, 2026

Superseded by #145, which rolls this update into a single branch alongside the four other open dep PRs and the two open Dependabot security alerts.

@mostafa mostafa closed this May 22, 2026
@dependabot @github
Copy link
Copy Markdown
Contributor Author

dependabot Bot commented on behalf of github May 22, 2026

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

SecurityEnthusiast pushed a commit to SecurityEnthusiast/rsigma that referenced this pull request May 22, 2026
Bump jaq-core 1.5 -> 3.0 and jaq-std 1.6 -> 3.0, drop the now obsolete
jaq-interpret 1.x and jaq-parse 1.x crates, and add jaq-json 2.0 for the
new Val type. The 3.0 release ships fixes from the Radically Open
Security audit that was funded by NLnet as part of the Polyglot jaq
project.

The 3.0 API replaces the old ParseCtx / FilterT / RcIter design with a
Loader + Arena + Compiler + Ctx pipeline and moves the JSON value type
out of jaq-core into a dedicated jaq-json crate. Port both sites that
use jaq:

- rsigma-runtime::sources::extract::apply_jq builds a fresh loader,
  compiler, and context per call (one-shot extraction path used by
  dynamic sources and enrichment lookups).
- rsigma-cli::main::EventFilter::Jq stores a CompiledJqFilter
  (jaq_core::Filter<JustLut<jaq_json::Val>>) so the filter is
  pre-compiled once at startup and reused across every event.

Add explicit json_to_val / val_to_json helpers in both crates that
preserve order, handle BStr / TStr text vs byte strings, and fall back
to the Display representation for non-finite floats and non-string
object keys.

Replaces timescale#142 and timescale#143.
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 rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant