NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Go modules · #211 by repository stars
Last release 3 days ago
05 Oct 2026
Ships unpredictably
gaps range from 8 days to 1.6 years
Rarely documented
notes for 10 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
10 years old
377 releases · first in 2016
People have been reporting problems with global variable causing data races and downstream import bugs. This commit addresses those issues.
People have been reporting problems with global variable causing data races
and downstream import bugs. This commit addresses those issues.
DisableModifiers is no more. It's still available but does nothing. The ability
to disable modifiers is no longer allowed at runtime. If you really want
modifiers to be gone the you can now use a build flag.
-ldflags="-X 'github.com/tidwall/gjson.disableModifiers=true'"
The AddModifier function is now thread safe.
You can no longer overwrite stock modifers like "@pretty", "@Valid", or "@this".
The DisableEscapeHTML global is a noop too. Use SetEscapeHTML() instead.
Fixes #400
One column per quarter.
Fixes #400
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
This commits adds the new All function, which is functionally identical to ForEach, but makes it possible to iterate over json objects using a range l
This commits adds the new All function, which is functionally
identical to ForEach, but makes it possible to iterate over
json objects using a range loop.
for key, value := range res.All() {
fmt.Printf("%s %s\n", key, value)
}
In addition to All, the new Keys and Values functions may be
used to iterate over only the keys or the values.
for value := range res.Values() {
fmt.Printf("%s\n", value)
}
Requires Go 1.23
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
This commit includes an optimization that increases overall performance.
This commit includes an optimization that increases overall
performance.
The gains are roughly between 20% to 300% depending on the size
of the JSON document. Larger documents will see the greates gains,
particularly when searching for keys that are deeply embedded, or
near the end of the document.
Nothing published for this version
Nothing published for this version
The previous commit introduced a potentially breaking change by removing HTML escaping altogether. This commit fixes that issue by allowing the user t…
Adds the DisableEscapeHTML flag for disable the automatic
escaping of the HTML characters '>', '<' and '&'.
The previous commit introduced a potentially breaking change by
removing HTML escaping altogether. This commit fixes that issue
by allowing the user to choose at runtime.
Nothing published for this version
This commit removes the automatic escaping of html characters, effectively rendering JSON strings in the same way as is the builtin Go encoder with Se
This commit removes the automatic escaping of html characters,
effectively rendering JSON strings in the same way as is the
builtin Go encoder with SetEscapeHTML(false).
This should not affect the quality of the resulting JSON and
hopefully will not cause any downstream issues.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Fix backspace and form-feed for Go 1.22
Fix backspace and form-feed for Go 1.22
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
This commit adds the Escape function for escaping a path component, making it possible to directly querying keys that have special characters like dot
This commit adds the Escape function for escaping a path
component, making it possible to directly querying keys that have
special characters like dots.
json := `{
"user":{
"first.name": "Janet",
"last.name": "Prichard"
}
}`
user := gjson.Get(json, "user")
println(user.Get(gjson.Escape("first.name")).String())
println(user.Get(gjson.Escape("last.name")).String())
// Output:
// Janet
// Prichard
See #333
Nothing published for this version
Nothing published for this version
Mention the dig modifier
Mention the dig modifier
Nothing published for this version
Nothing published for this version
This commit fixes an issue with ~false where the it's value was simply the opposite of ~true. Now ~false explicitly checks for false-ish values.
This commit fixes an issue with ~false where the it's value was
simply the opposite of ~true. Now ~false explicitly checks for
false-ish values.
Also added ~null and ~* for testing null-ish and non-existent
values.
see #327
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →