Skip to content

build(deps): bump github.com/buger/jsonparser from 1.2.0 to 1.6.0 - #597

Closed
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/go_modules/github.com/buger/jsonparser-1.6.0
Closed

dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/go_modules/github.com/buger/jsonparser-1.6.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 1, 2026 •

Copy link
Copy Markdown
Contributor

Bumps github.com/buger/jsonparser from 1.2.0 to 1.6.0.

Release notes

Sourced from github.com/buger/jsonparser's releases.

v1.6.0 — Append function + zero open known issues

🔒 Covered by ReqProof — L3 Assurance (123 requirements, 0 errors, 0 warnings, 0 open known issues)

New API: Append

// Append to an array without knowing its length
data, _ = jsonparser.Append(data, []byte(`"new_item"`), "items")

Append(data, value, keys...) ([]byte, error) — clean array-append API. Works on top-level and nested arrays. Auto-creates missing paths as single-element arrays. No need for [N] path syntax.

Bug fixes — all known issues resolved

KI Fix
KI-2 ParseInt("-") now returns MalformedValueError (was returning 0, nil)
KI-3 Disposition corrected to fixed (auto-coerce was implemented in v1.3.0)
KI-4 Set([1,2,3], val, "[5]") now appends instead of returning KeyPathNotFoundError

Zero open known issues. All 4 KIs are now status: fixed.

Full changelog: CHANGELOG.md

v1.5.0 — Config (lenient parsing), streaming ReaderParser, name aliases

🔒 Covered by ReqProof — L3 Assurance (123 requirements, 0 errors, 0 warnings)

Config struct — opt-in lenient parsing (#160, #115)

var Lenient = jsonparser.Config{AllowSingleQuotes: true, AllowUnknownEscapes: true}
Lenient.Get(data, "key")  // parses {'key':'value'} and unknown escapes

Single-quote support and lenient escape handling via an opt-in Config. Default stays strict (RFC 8259).

Streaming ReaderParser (#132, #257)

rp := jsonparser.NewReaderParser(file)  // any io.Reader
rp.Get("users", "[0]", "name")          // path-based access from a stream

Path-based JSON access from an io.Reader — parse 10GB+ files without loading into memory. Buffers in 64KB chunks; memory bounded by the largest value.

Name aliases (#66)

EachArray, EachObject, EachArrayErr, EachArrayWildcard — canonical EachXxx pattern. Old XxxEach names kept for backward compatibility.

Proof coverage

... (truncated)

Changelog

Sourced from github.com/buger/jsonparser's changelog.

[v1.6.0] — 2026-07-29

Covered by ReqProof — L3 Assurance (123 requirements, 0 errors, 0 warnings)

New API — Append

// Append to an array without knowing its length
data, _ = jsonparser.Append(data, []byte(`"new_item"`), "items")
  • Append(data, value, keys...) — appends value to the end of the JSON array addressed by keys. Addresses the top-level value when keys is empty; auto-vivifies a missing keyed path as a single-element array. Returns MalformedArrayError when the addressed value is not an array. Traced to SYS-REQ-009, SYS-REQ-110.

Known issues — all resolved (zero open)

  • KI-2 fixed — ParseInt("-") now returns an error instead of (0, nil). One-line sign-only guard in bytes.go:parseInt (after stripping the sign byte, an empty remainder returns (0, false, false)).
  • KI-3 fixed — Set with an array-index path component under an object parent (and vice-versa) now auto-coerces the container type instead of emitting malformed JSON. (Disposition already set to fixed in v1.5.x.)
  • KI-4 fixed — Set on a top-level array-index beyond length now appends at the array's end (matching nested-array behavior under SYS-REQ-110) instead of returning KeyPathNotFoundError. Also cleans up trailing commas in malformed arrays.

Zero open known issues. Every previously shipped known issue is now resolved and covered by ReqProof L3 Assurance.


[v1.5.1] — 2026-07-28

Covered by ReqProof — L3 Assurance (123 requirements, 0 errors, 0 warnings)

Performance — 6.1x large-payload speedup

  • Fix stringEnd unbounded backslash scan — stringEndConfig was scanning the ENTIRE remaining parent document for backslashes (bytes.IndexByte(data, '\\')) instead of just the string body. On a 24kb large payload this walked tens of KB per string. Now bounded to data[:firstQuote] (the string body only). 128µs → 22µs (5.8x).
  • SWAR string scan — replaced two separate bytes.IndexByte calls (quote + backslash) with a single inline 8-byte SWAR (SIMD-Within-A-Register) loop that checks for both characters simultaneously. 22µs → 21µs (additional 8%).
  • Benchmark suite updated — all comparison libraries (gabs, easyjson, ffjson, etc.) updated to latest versions. Benchmark methodology documented (Apple M4 Max, Go 1.26.3, median of 5 runs). The encoding/json benchmark no longer uses ffjson-generated methods (the #126 ffjson measurement bug was fixed in v1.3.1).
  • README benchmarks refreshed — all numbers now reflect real measurements on modern hardware with current library versions.

Updated benchmark results (Apple M4 Max, Go 1.26.3, median of 5 runs)

Payload jsonparser encoding/json easyjson Speedup vs encoding/json
Small (190B, Get) 382 ns 1,335 ns 312 ns 3.5x
Small (190B, EachKey) 241 ns — — 5.5x
Medium (2.4kB, Get) 3,894 ns 10,564 ns 2,444 ns 2.7x
Medium (2.4kB, EachKey) 1,923 ns — — 5.5x
Large (24kB) 20,788 ns 134,123 ns 32,765 ns 6.4x

All jsonparser results: 0 bytes allocated, 0 allocations.


[v1.5.0] — 2026-07-28

... (truncated)

Commits
  • 3005d5b v1.6.0: Append function + all KI fixes (zero open known issues)
  • a55c29b v1.5.1: 6.1x large-payload speedup + fresh benchmarks
  • 09dbcf6 perf: SWAR string scan in stringEndConfig (8% large-payload speedup)
  • df5ae5b perf: bound stringEnd backslash scan to string body (5.8x large-payload speedup)
  • ae21251 Add MC/DC witnesses for SYS-REQ-115 (Config) and SYS-REQ-116 (ReaderParser)
  • dfb33c1 docs: complete CHANGELOG with v1.3.0–v1.5.0 entries, all mentioning ReqProof ...
  • 6955fbe v1.5.0: Config (single quotes + lenient escapes), streaming ReaderParser, nam...
  • ebb4a3a fix: remove duplicate fmt import (#263), update Dockerfile to Go 1.25 (#268)
  • f6ddf26 v1.4.0: ArrayEachErr, Escape/SetString, wildcards, JSONPath, GetArrayLen, Get...
  • eb9c252 v1.3.1: fix Set aliasing (#209/#141), EachKey array-index (#232), benchmark f...
  • 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)

Summary by CodeRabbit

  • Chores
    • Updated an internal dependency to a newer version for improved compatibility and maintenance.

Bumps [github.com/buger/jsonparser](https://github.com/buger/jsonparser) from 1.2.0 to 1.6.0.
- [Release notes](https://github.com/buger/jsonparser/releases)
- [Changelog](https://github.com/buger/jsonparser/blob/master/CHANGELOG.md)
- [Commits](buger/jsonparser@v1.2.0...v1.6.0)

---
updated-dependencies:
- dependency-name: github.com/buger/jsonparser
  dependency-version: 1.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added kind/chore Necessary task pr/dependencies Dependabot or manual dependencies addressed in this PR labels Aug 1, 2026
@coderabbitai

coderabbitai Bot commented Aug 1, 2026 •

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 8e03c93d-1e8e-4f88-8957-37a4c5c2f9c4

📥 Commits

Reviewing files that changed from the base of the PR and between 91420b0 and b15f3b1.

⛔ Files ignored due to path filters (1)
  • go.sum is excluded by !**/*.sum
📒 Files selected for processing (1)
  • go.mod

📝 Walkthrough

Walkthrough

The pull request upgrades the direct github.com/buger/jsonparser dependency from v1.2.0 to v1.6.0 in go.mod.

Changes

Dependency update

Layer / File(s) Summary
Module dependency version update
go.mod
The direct github.com/buger/jsonparser requirement changes from v1.2.0 to v1.6.0.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Suggested reviewers: leecalcote

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely identifies the dependency and version upgrade described in the pull request.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dependabot/go_modules/github.com/buger/jsonparser-1.6.0

Comment @coderabbitai help to get the list of available commands.

@dependabot @github

dependabot Bot commented on behalf of github Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #604.

@dependabot dependabot Bot closed this Sep 1, 2026
@dependabot
dependabot Bot deleted the dependabot/go_modules/github.com/buger/jsonparser-1.6.0 branch September 1, 2026 09:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind/chore Necessary task pr/dependencies Dependabot or manual dependencies addressed in this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants