Repository navigation
docs(go): an rc.3 changelog section and clearer JSON query docs - #1500
Conversation
The Go changelog has had only an Unreleased section since before rc.1, so nothing told an rc.2 user what rc.3 changes. It now has a dated rc.3 section holding only what landed after the rc.2 tag, and the rest under a dated rc.2 heading. The rc.3 section adds an upgrade note: the new JSON queries need SQL types and functions the rc.2 EQL bundle does not have, and re-running the installer drops indexes built on eql_v4 functions, which must be re-created. It also lists three fixes since rc.2 that had no entry: Cipher.Seal refusing an unknown key beside an omitted null=sql field, Limit.FetchOr capping its page at the largest SQL LIMIT, and a refused guest request wiping its bearer token. The SDK guide told readers to pass nil vars to Match when a predicate has no variables. A nil vars binds as SQL NULL and matches no row, so following the guide returned nothing, with no error. It now says to pass an empty map, as the generated doc comments and the stashgen reference already did; the package doc says so too. The guide's JSON section gains subheadings for the element match and the jsonpath predicate, so a search for jsonb_path_match lands on it, and a table saying which JSON query to use and which engage an index.
|
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the
|
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f827c337d8
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
cipherstash-agent
left a comment
There was a problem hiding this comment.
Review attestation
Reviewed f827c33 · posted from Claude Code · model claude-sonnet-5-5 · effort medium
Sources: code-review · unknown model
Skills: code-review, review-cross-check, review-post
Findings (1): 1 minor — 1 inline, 0 below.
Four further observations (CASCADE drop scope in the upgrade note, Fixed vs Breaking classification, release date before tag, nil-vars wording repeated in four places) could not be confirmed as defects and are not posted.
Generated by Claude Code
The rc.3 upgrade note told readers to re-create indexes after re-installing EQL v4, but not that the installer drops eql_v4 and eql_v4_internal with CASCADE and issues no GRANT. A deployment whose application connects as a non-owner role would rebuild its indexes and still fail every query with "permission denied for schema eql_v4". The note now lists re-granting first, pointing at EQL's permissions reference, then the indexes. Also drops a doubled blank line under the rc.3 Added heading.
Summary
Gets the Go module's docs ready for the
v0.1.0-rc.3release, whose headline is the new encrypted JSON queries: testing several members of one array element, and filtering with a jsonpath predicate the way PostgreSQL'sjsonb_path_matchdoes.The main fix is a wrong instruction. The SDK guide told readers to pass
nilas the variables when a predicate has none. A nil value binds as SQLNULL, so the query silently matches no rows. The guide now says to pass an empty map, which the generated doc comments and the stashgen reference already said.The changelog also gets a dated rc.3 section, so someone upgrading from rc.2 can see what changed and what they need to do.
Changes
languages/golang/CHANGELOG.md## [0.1.0-rc.3] - 2026-11-02section holding only what landed after the rc.2 tag. Everything earlier moves under a dated## [0.1.0-rc.2] - 2026-10-26heading, with a note that rc.1 and rc.2 never had sections of their own.eql_v4.query_json_predicate,eql_v4.json_tree_match, …) that the rc.2 EQL bundle does not have. Re-running the installer keeps columns and data, but it starts withDROP SCHEMA eql_v4 CASCADE, which drops indexes built oneql_v4functions, so those must be re-created.336a9e80e,346614f08,fcd1cbb49).Cipher.Sealnow refuses an unknown key it used to drop silently; that one can surface as a new error for callers.languages/golang/encrypt/README.md(the SDK guide)varsinstruction.jsonb_path_match)".ErrTerm, notErrEncoding.jsonb_path_matchas bullets rather than one sentence.languages/golang/cmd/stashgen/README.md: rewrites the hardest sentence about nilvarsso it reads plainly.languages/golang/encrypt/doc.go: adds the empty-map rule to the package doc that pkg.go.dev shows.Verification
varsbehaviour against the code:JSONMatchinencrypt/gensupport/json.goreturns an empty operand for a nil value.git grepatlanguages/golang/v0.1.0-rc.2), so the upgrade note is needed.CASCADE(packages/eql/src/v3/schema.sql), and that the EQL README describes the same index re-creation.git diff languages/golang/v0.1.0-rc.2 -- languages/golang/CHANGELOG.md.gofmt -lis clean ondoc.go. Docs-only change: no Go tests were run.release-golang.yml, not Changesets, andskills/is not touched.Related
Refs #1442, #1443
Review notes
### Addedheadings. That predates this PR, and I left the old text as it was.gh workflow run release-golang.yml -f version=0.1.0-rc.3 --ref next.