mirror of
https://github.com/open-policy-agent/opa.git
synced 2026-08-12 19:32:48 -06:00
8e2f1807ac4764f2e0ea3ed36e98e04d6cf09e51
6588 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
8e2f1807ac |
config: validate configuration with Rego and warn on unknown options (#8891)
Part of #2745 Like most of his ideas, @anderseknert's suggestion to use Rego to replace the `validateAndInjectDefaults` functions throughout the codebase is another winner. This PR starts the migration by replacing the top-level `validateAndInjectDefaults` in `v1/config/config.go` with an embedded policy, `validate.rego`. The policy injects the top-level defaults (`default_decision`, `default_authorization_decision`, `labels`) and reports unrecognized configuration options, so a typo such as `decision_log` instead of `decision_logs` is logged as a warning at startup rather than silently ignored. It's evaluated in `ParseConfig` using the low-level `ast`/`topdown` packages rather than the top-level `rego` package. This keeps `config` off the heavy `rego → bundle → …` dependency web (which would otherwise create import cycles as more packages' tests reach `config`), and we don't need any of the `rego` package's conveniences here — it's one module compiled once and a single query. The Rego unit tests run in CI via `build/run-rego-tests.sh` (and locally with `make rego-test`). This sets the foundation for the other plugin `validateAndInjectDefaults` functions to migrate to Rego as well; where the logic isn't too complicated it should be a fairly easy replacement. At the moment all known keys live in `validate.rego` under `_specs` to support the "warn on unrecognized options" check, but the plugin-specific entries can move closer to each plugin as it migrates. It would also be nice for `_specs` to be auto-generated somehow in the future. Supporting extension of config validation with custom policies is something I'd like to follow up with, so keeping #2745 open for now. I also think these policies could be reusable with [java-opa-sdk](https://github.com/open-policy-agent/java-opa-sdk) 👀 Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com> |
||
|
|
9e7dc5c430 |
ast: make CogeneratedExprs return deterministic order
CogeneratedExprs built its result slice by iterating the 'visited' map, so the order of the returned expressions was randomized by Go's map iteration. PrettyEvent walks these co-generated expressions in order to populate the --var-values output; when a base variable is reachable from refs in more than one co-generated expression (e.g. 'tc' in 'tc.data == tc.expected.data'), the walk order decides which column that variable is reported at. The randomized order made the pretty output flip between runs, causing TestFailVarValues to fail intermittently. Append to the result slice during visitation instead, using the map only for dedup, so the returned order follows the deterministic generates/generatedFrom structure. Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com> |
||
|
|
55e859d73f |
ast: make := RHS directional in safety checks (#8874)
Fixes: #3546 `:=` is currently sugar for `=`, so the safety checker can satisfy an assignment's RHS by unifying backwards through the LHS. As a result `x := y; x = 7` compiles (binding `y` to `7`) even though `y` is never assigned, and `x := y; obj[x]` can silently turn a constant-time lookup into full iteration. Mark equality expressions rewritten from `:=` and exclude the LHS from the safe basis when computing their output variables, so a value cannot flow LHS->RHS. RHS reference iteration (e.g. `some k; v := obj[k]`) is unaffected. This is a deliberate semantic change, and is backwards-incompatible: affected policies now fail with a rego_unsafe_var_error. --------- Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com> |
||
|
|
632d60e11e |
topdown: resolve ground refs in --var-values output (#8888)
Fixes #7830 When a failing test expression selected a value out of a local variable via a ground ref (e.g. tc.data), the pretty --var-values output only showed the base variable's full value rather than the selected value being compared. Resolution previously only worked for refs the compiler rewrites into locals (calls, arithmetic, variable-keyed refs); plain ground object selections stay inline and were never resolved. Handle ast.Ref terms in PrettyEvent's var walker: resolve a ground ref whose base is a bound local against the local bindings and report the selected value at the ref's location, while still descending to report the base variable too. Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com> |
||
|
|
eaf6a345fc |
planner: avoid redundant ruletrie.Children() call in Depth()
Children() rebuilds and sorts a slice from the children map on every call; Depth() was calling it twice (once for the length check, once for the cap hint) for no benefit since only the count is used. Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com> |
||
|
|
54b584c89a |
planner: unify functionMocksStack on generic GroupStack[T]
Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com> |
||
|
|
d0970c5ed3 |
topdown+util: add generic SliceStack/GroupStack, unify refStack/functionMocksStack/saveStack
SliceStack is a plain generic LIFO stack. GroupStack builds on it for the two-level 'stack of slices' pattern shared by functionMocksStack and saveStack: whole groups are pushed/popped, while elements are pushed/popped onto the top group only. Both stacks zero vacated slots on pop, at both levels, so popped values (ast terms, bindings) aren't kept alive by the backing arrays. Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com> |
||
|
|
af21718f79 |
topdown+util: replace hand-rolled evalFunc/evalBuiltin pools with generic ResettablePool
eval.go had two nearly-identical sync.Pool wrappers (evfp, evbp) whose only job was to zero out evalFunc/evalBuiltin fields before returning them to the pool, so pooled values don't keep terms/bindings from a prior call alive. Add util.ResettablePool[T, PT], a generic pool for types whose pointer implements Reset(). The reset method is resolved via a compile-time pointer constraint (PT resettable[T]) rather than a runtime interface assertion, so there's no extra dispatch cost on the Put hot path compared to the hand-written version. Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com> |
||
|
|
3f0256edb2 |
Bump oras-go@v2.6.2 to address GHSA-fxhp-mv3v-67qp found it in deps
Signed-off-by: adrian2monk <adrian2monk@gmail.com> |
||
|
|
a7265038f2 |
ast+topdown: parametrized (prefix) external rule sources (#8881)
Let a single registered external source serve an unbounded family of sub-references by adding an optional ParametrizedExternalRuleIndex interface whose ParamArity(tail Ref) int the evaluator queries at lookup time. Fixed arity is the degenerate implementation (return N); the exact-ref path is unchanged (a source that doesn't implement the interface has arity 0, with no forced no-op method — same optional- interface idiom as ExternalRuleIndexCloser). - A single registered prefix can now back an uneven-depth tree — e.g. data.reg.user[k] consuming one key while data.reg.pair[a][b] consumes two — by keying off a leading discriminator segment. - Caching is preserved. The contract constrains the count to depend on the tail's *shape*, not on parameter *values*, so it's known before Lookup and the cache key (prefix + ground params) is still computable up front — no need to call Lookup before knowing the boundary. For example, registering prefix data.foo with ParamArity(data.foo) 1 makes data.foo[<key>].<rule> resolve <key> as a parameter, handed to Lookup via LookupOptions.Params. One source can then serve a distinct set of rules per key without registering each key concretely, so references whose key only comes into existence at runtime resolve without a recompile. Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com> |
||
|
|
b4d15e0c25 |
ast: Fix non-deterministic type errors when shadowing a built-in (#8880)
Fixes: #3729 A variable that shadows a built-in name (e.g. `count`) via `=` unification was left un-rewritten, so later stages could mistake it for the built-in and raise spurious type errors -- non-deterministically, due to map iteration order in Graph.Sort. Rewrite such body-bound variables to fresh locals, and make Graph.Sort deterministic by ordering nodes before the topological sort. --------- Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com> |
||
|
|
4f4608576d |
ast: restore location on unsafe var errors for rewritten head vars (#8885)
`opa check` reports `rego_unsafe_var_error` with no file/line when the unsafe variable in a rule head was rewritten, so you get: ``` 1 error occurred: rego_unsafe_var_error: var x is unsafe ``` instead of `p.rego:3: rego_unsafe_var_error: var x is unsafe`. As noted in the issue, this is a regression against v1.13. Note: #8776 proposed the same one-line change before being closed in a stale-PR sweep; I've added the regression test here so it can't silently come back. Fixes #8719. Signed-off-by: Atishyy27 <atishayjain2704@gmail.com> Co-authored-by: Atishyy27 <atishayjain2704@gmail.com> |
||
|
|
8b147a63bb |
The Zed Rego extension link points at github.com/StyraInc/zed-rego (404). The repo now lives at github.com/StyraOSS/zed-rego.
Signed-off-by: Nikhil Jathar <22786232+mailnike@users.noreply.github.com> |
||
|
|
d517d1b914 |
ast+topdown: let external sources distinguish absent from unknown
External rule sources received a resolver (via ExternalIndex.Tree) that reported both an input reference absent from a concrete input and one that is symbolic under partial evaluation as the same UnknownValueErr. A source therefore could not tell 'concretely missing' apart from 'deliberately unknown' on a per-reference basis (e.g. input.foo unknown while input.bar is known), which matters when a source translates input into an external lookup during partial evaluation. Pass the save-set-aware evaluator to ExternalIndex.Tree instead of the raw input document, mirroring the resolver the built-in rule indexer already uses. Sources opt into the new behavior via ExternalSourceOptions.DistinguishAbsentFromUnknown: when set, an unknown reference returns UnknownValueErr while an absent one resolves to (nil, nil). The default is unchanged, preserving the previous collapse for existing sources. The ExternalRuleSource/ExternalRuleIndex interfaces are unchanged. Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com> |
||
|
|
78f31260f6 |
sdk: fix deadlock between OPA.Plugin and manager onCommit (#8879)
Fixes: #8873 An intermittent deadlock could occur between sdk.OPA.mtx and plugins.Manager.mtx when they were acquired in opposite orders by two concurrent goroutines: - OPA.Plugin held opa.mtx and then called into the manager, which acquires manager.mtx. - Manager.onCommit held manager.mtx and then invoked the registered compiler trigger, which acquires opa.mtx. Break the cycle from both sides. OPA.Plugin now snapshots the manager under opa.mtx and releases the lock before calling into it, matching the pattern already used by Stop and executeTransaction. Manager.onCommit now snapshots the registered triggers under manager.mtx and invokes them after releasing the lock, so no registered callback runs while the manager lock is held. Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com> |
||
|
|
afb57c7e13 |
topdown: don't leak internal vars in partial eval results (#8872)
Fixes: #6378 Calling a function with an unknown argument the function ignores produced a partial-eval result referencing an internal variable, e.g. __localcp0__ = input.project instead of the equivalent bare ref input.project To record that input.project must be defined, copy propagation keeps the ref but binds it to a generated variable that's used nowhere else — cluttering the result for no benefit. Track these generated variables as placeholders and emit the bare ref instead of the equality. --------- Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com> |
||
|
|
d051c7e41a |
server: set ReadHeaderTimeout to 32s on all HTTP servers
Signed-off-by: RinZ27 <222222878+RinZ27@users.noreply.github.com> |
||
|
|
e8c3e104fa |
docs: Add kubecon NA page (#8876)
This page will be linked to from the kiosk at KubeCon. https://deploy-preview-8876--openpolicyagent.netlify.app/events/2026-kubecon-na Signed-off-by: Charlie Egan <charlie_egan@apple.com> |
||
|
|
19855342fe |
build(go): bump to 1.26.5
https://groups.google.com/g/golang-announce/c/OrmQE_Yp5Sc govulncheck flagged us for: * crypto/tls: Encrypted Client Hello privacy leak The Encrypted Client Hello implementation would leak the pre-shared key identities during the handshake, allowing a passive network observer who can collect handshakes to de-anonymize the hostname of the server, even when ECH was being used. Thanks to Coia Prant (github.com/rbqvq) for reporting this issue. This is CVE-2026-42505 and Go issue https://go.dev/issue/79282. Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com> |
||
|
|
65c39790fc |
topdown: fix format_int precision loss for integers larger than 64 bits (#8857)
## Description
`format_int(x, base)` corrupts integers that need more than 64 bits of
precision, in every base. It routes the value through
`builtins.NumberToFloat` (a `big.Float` with a 64-bit mantissa) then
`f.Int()`, so any integer above ~2^64 is rounded before formatting:
```rego
format_int(18446744073709551617, 16) # "10000000000000000" (should be "10000000000000001")
format_int(18446744073709551617, 10) # "18446744073709551616" (should be "...617")
```
`sprintf("%x", [18446744073709551617])` returns the correct
`10000000000000001`, so two builtins disagree on the same exact-integer
value.
## Fix
Format integer inputs through an exact `big.Int` (mirroring
`builtinSprintf`). Fractional/exponent inputs still fall through to the
existing float-truncation path, so `format_int(15.9, 16) == "f"` and
`format_int(-15.9, 16) == "-f"` are unchanged.
## Test
Added a golden case covering a >2^64 integer in bases 2/8/10/16,
negatives, and the fractional-truncation cases. Full `go test
./v1/topdown/` passes (900+ existing string golden cases, no
regressions).
---------
Signed-off-by: Synvoya <16019863+Synvoya@users.noreply.github.com>
Co-authored-by: Synvoya <16019863+Synvoya@users.noreply.github.com>
|
||
|
|
39fcb030e5 |
docs: Add Ghostunnel and NATS Plugin to Ecosystem (#8871)
Signed-off-by: Charlie Egan <charlie_egan@apple.com> |
||
|
|
deb30b103d |
docs: fix decision_logs buffer_size_limit_events default in prose (#8866)
The `decision_logs.reporting.buffer_size_limit_events` row documents its default as `10000`, but the prose in the same cell says "By default, 100 events are held". The real default is `10000` (`defaultBufferSizeLimitEvents = int64(10000)` in `v1/plugins/logs/plugin.go`), so the row was internally contradictory. This corrects the prose to match both the code and the row's own default column. Docs only. Signed-off-by: s3onghyun <s3onghyun@users.noreply.github.com> |
||
|
|
7bdfe03927 |
runtime: Remove goautomaxprocs and automemlimit (#8869)
The memory pressure in low resource containers this PR aimed to fix was
actually caused by #8817, which was fixed in #8829. The
automaxprocs/automemlimit dependencies are no longer needed as was
intended in #8696.
This reverts commit
|
||
|
|
b0d896adec |
docs: Update cheatsheet files
follows https://github.com/open-policy-agent/rego-cheat-sheet/pull/13 Signed-off-by: Charlie Egan <charlie_egan@apple.com> |
||
|
|
618978384d |
docs: remove import rego.v1
This has not been needed in new releases for over a year. Leaving these in has a cost as it causes AI to generate rego with import rego.v1 when it's not needed. Signed-off-by: Charlie Egan <charlie_egan@apple.com> |
||
|
|
81589c1244 |
vendor a method-less text/template to restore whole-binary linker DCE (#8844)
### Why the changes in this PR are needed? `text/template`'s field evaluator (`text/template.(*state).evalField`, `exec.go`) calls`reflect.Value.MethodByName` with a non-constant name. The Go linker treats a reachable non-constant`MethodByName` as a signal to disable **method-level dead-code elimination for the whole binary** (see `cmd/link/internal/ld/deadcode.go` and golang/go#72895). Two OPA code paths pull stdlib `text/template` into the reachable graph of ordinary embedders: 1. **Compiler frontend** — `ast.Compiler.Compile → … → gojsonschema.formatErrorDescription → text/template`. Reached unconditionally by anything that compiles Rego. 2. **`strings.render_template` builtin** (`v1/topdown/template.go`) — registered in the topdown builtin table, reachable in anything that links Rego evaluation. So an embedder of OPA's compiler/eval retains its entire reachable method surface — a large binary-size regression, hundreds of MB in the reporter's case (#7903). Both edges must go before the linker re-enables method-level DCE for that embedder. ### What are the changes in this PR? Vendor a self-contained, method-less copy of `text/template` under `internal/methodlesstemplate` and point both call sites at it. **No external dependency** (`go.mod`/`go.sum` unchanged). - Copied verbatim from **Go 1.25.8**: `doc.go`, `exec.go`, `funcs.go`, `option.go`, `template.go`, plus `internal/fmtsort/sort.go`. Go's BSD `LICENSE` is preserved in the vendored directory and every file keeps its `The Go Authors` copyright header. - Stdlib `text/template/parse` is reused unchanged (the parser has no `MethodByName`/`evalField` edge, so it does not defeat DCE). - `helper.go` (`ParseFiles`/`ParseGlob`/`ParseFS`) is dropped — the OPA call sites only need `New`/`Parse`/`Execute`, and nothing in the kept files references it. - **The only edit to the copied code** is removing the `MethodByName` branch in `exec.go`'s `evalField` (method resolution on the data value). Everything else is byte-identical, so re-syncing to a newer Go release is a diff-and-reapply of that single branch removal. - `internal/gojsonschema` (commit 1) and `v1/topdown` (commit 2) import the vendored package. The gojsonschema engine is retained in full, so `ErrorTemplateFuncs` (its `FuncMap` extension point) keeps working — **no public symbol is removed**. Rego values and gojsonschema `ErrorDetails` decode to `map[string]any`/`[]any`/scalars, which have no methods, so removing method resolution is a provable no-op for these callers. ### Notes to assist PR review: - **Diff review tip**: `doc.go`/`funcs.go`/`option.go`/`template.go`/`internal/fmtsort/sort.go` are **byte-identical** to the Go 1.25.8 originals. Only `exec.go` differs, in exactly two hunks: the `internal/fmtsort` → vendored import path, and the removed `MethodByName` block (replaced by a comment explaining the DCE rationale). - **Fidelity — render_template**: the `rendertemplate` conformance cases (incl. `complex` range/if/vars, `simpleint` `%v`, `missingkey` → `<undefined>`) pass **unchanged**. - **Fidelity — gojsonschema**: same engine (method-less), validation-error output unchanged; existing `internal/gojsonschema` and `v1/ast` tests pass. - **Tests**: `TestNoStdlibTextTemplateImport` in both `internal/gojsonschema` and `v1/topdown` scans every non-test file and asserts none import stdlib `text/template`/`html/template`. `go build ./...`, `go vet ./...` OK; `go mod tidy` is a no-op. - **Lint**: the vendored directory is added to the golangci-lint path exclusions, mirroring the existing `internal/gojsonschema` precedent — the copy is verbatim stdlib, and linting it against OPA's house rules would force divergence from upstream Go (it trips ~31 stdlib-idiom issues) and break the diff-and-reapply re-sync. - **Attribution**: the vendored code is Go stdlib only (BSD, `The Go Authors`); it contains no third-party/DataDog code. ### Further comments: - **Scope**: this restores method-level DCE for embedders of OPA's **compiler/eval**. The standalone `opa` binary additionally links `v1/server`, which imports `html/template` (a wrapper over `text/template`) — a separate, independent edge left as a follow-up. Embedders that don't link the server (the common case) get the full win from this PR. - Root cause: golang/go#72895. Closes #7903 for compiler/eval embedders. --------- Signed-off-by: Dick Childress <dick.childress@icearp.net> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|
|
89afc26b87 |
github: remove cpp from CodeQL language matrix
The CodeQL cpp job fails with "no source code seen during build" on every run since the wazero migration (#8815). CodeQL builds a C/C++ database only from the compiler invocations it traces during the build. `make build` never compiled the C in wasm/src (that is a Docker-based wasm cross-build, invisible to `make build`); the only C it ever compiled was the CGo shim of the wasmtime-go wasm runtime, built with CGO_ENABLED=1. #8815 replaced wasmtime-go with wazero (pure Go) and switched the build to CGO_ENABLED=0, so no C is compiled during `make build` anymore and CodeQL sees nothing. The remaining C in wasm/src is only built via a Docker cross-build for the wasm32-unknown-unknown-wasm target, which CodeQL's build tracer cannot follow, so re-adding a build step for it is not practical. Drop cpp and keep the go, javascript, and python analyzers. Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com> |
||
|
|
a57aa7ee61 |
fix TermValueEqual performance regression (#8863)
### Why the changes in this PR are needed? When I was updating my app from v1.1.0 to v1.2.0 I noticed an almost 50% performance regression in the hot path. The line here is the deploy, and of course you can see latency increase right afterwards: <img width="2724" height="1050" alt="Screenshot 2026-07-06 at 8 52 11 PM" src="https://github.com/user-attachments/assets/66a8ecfc-ff67-4000-b926-228a0845c3b4" /> I did a git bisect and was able to identify that [this commit](https://github.com/open-policy-agent/opa/commit/3d7fc9f3ac98f4f4d756f5e36eced7dec82e116c) was the culprit. The commit immediately before it kept essentially the same baseline as before, and this one saw the increase in latency. This seemed unusual given the change essentially didn't seem to be that drastic of a change. So I did a CPU profile on my running app and found that with this change, there was increase in CPU cycles around `v1/ast.Compare` and `v1/ast.sortOrder` and `v1/ast.(*object).Compare`. Doing some digging, I see that the old implementation had used `(*Term).Equal()` (among others), which has a pointer equality check: https://github.com/open-policy-agent/opa/blob/main/v1/ast/term.go#L383 And the new (at the time) `TermValueEqual` does not: https://github.com/open-policy-agent/opa/commit/3d7fc9f3ac98f4f4d756f5e36eced7dec82e116c#diff-bd1f965e4bfe6f4374ccff2a119e129c0b11538253a2a99dc8694d79a7daf51cR405 So before, the two term pointers being exactly the same could short circuit, and after that commit they had to traverse both objects to compare, even if both pointers are equal. With this change you can see that latency returned to baseline from before: <img width="2732" height="1056" alt="Screenshot 2026-07-06 at 8 52 31 PM (1)" src="https://github.com/user-attachments/assets/c207454f-e9a5-423f-a942-a3fc293174f8" /> ### What are the changes in this PR? Basic pointer equality check to reduce CPU cycles. --------- Signed-off-by: Mike Chittenden <mchitten@gmail.com> |
||
|
|
980998a53c |
topdown: add regression test for partial eval local names
Issue #5226 reported that partial evaluation produced wrong/orphaned local variable names when a rule-head variable is bound to an unknown and also referenced inside a comprehension: the comprehension ended up referencing a disconnected local that never resolved back to the head variable. This was fixed as a side effect of #5913 ("General refs in rule heads", released in v0.56.0), but no test explicitly guarded this scenario. Add a focused TestTopDownPartialEval case so the behavior can't silently regress. Fixes #5226 Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com> |
||
|
|
d0bd3b7a19 |
topdown: fix partial-eval test rejected by new conflict check
The 'partial set, general ref head' shallow-inlining test paired a set rule (p.q contains x) with an object-of-sets rule (p.q[r].s contains t) sharing the name p.q. That is exactly the set-vs-object conflict this change now rejects at compile time, and it panics at eval time on main, so the fixture is itself an invalid policy. Replace it with a single general-ref partial-set rule that keeps the shallow-inlining full-extent path under test, and update the expected support module. Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com> |
||
|
|
f11a2c2279 |
ast: reject partial set and object rules sharing a name
`p contains x` (set) and `p[k] contains v` (object of sets) describe incompatible documents, but the compiler's conflict check let two multi-value rules of these differing shapes through. Evaluation then folded the set rule into the object accumulator and sliced its shorter ref out of range, panicking. Reachable from check, eval, and the REPL since general refs landed in v0.56.0. Fixes: #8860 Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com> |
||
|
|
e761d1711e |
docs/website: Improve partial evaluation / data filtering documentation (#8625)
### Why the changes in this PR are needed? The issue #8316 outlines that the Partial Evaluation / Data Filtering documentation could benefit from clearer examples and explanations to better enable users to get started adopting the feature. ### What are the changes in this PR? * added a simple data filtering example to the filtering overview page to better showcase its purpose * explained the metadata annotation for unknowns and how it links to the database table and field names * added a tutorial page to provide a quick walkthrough --------- Signed-off-by: Manuela Züger <manuela.zueger@ipt.ch> Signed-off-by: Manuela Züger <79690363+mmzzuu@users.noreply.github.com> Co-authored-by: Charlie Egan <git@charlieegan3.com> |
||
|
|
bdd4646352 |
ast: improve rule conflict error (#8802)
fixes #6391 <!-- Thanks for submitting a PR to OPA! Before pressing 'Create pull request' please read the checklist below. * All code changes should be accompanied with tests. If you are not modifying any tests, just provide a short explanation of why updates to tests are not necessary. In addition to helping catch bugs, tests are extremely helpful in providing _context_ that explains how your changes can be used. * All changes to public APIs **must** be accompanied with docs. Examples of public APIs include built-in functions, config fields, and of course, exported Go types/functions/constants/etc. * Commit messages should explain _why_ you made the changes, not what you changed. Use active voice. Keep the subject line under 50 characters or so. * All commits must be signed off by the author. If you are not familiar with signing off, see our contributor guide below. * You have read the project's [guidelines on AI tool use](https://www.openpolicyagent.org/docs/contrib-code#ai-guidelines). For more information on contributing to OPA see our [Contributing Guide](https://www.openpolicyagent.org/docs/contributing/) for high-level contributing guidelines and development setup. (See the [Developer Certificate of Origin](https://www.openpolicyagent.org/docs/contrib-code/#developer-certificate-of-origin) section for specifics on signing off a commit.) --> ### Why the changes in this PR are needed? 1. the rewritten var `__local0__` is output instead of s for rule p.r[s]. 2. no location is given for the conflicting refs data.play.p.q and data.play.p.r[`__local0__`]. ### What are the changes in this PR? Tracking rule location as well along with ref now. Also added formatting to keep the different conflicts multiline. Signed-off-by: unichronic <ishuvam.pal@gmail.com> |
||
|
|
16d8d5e151 |
build(deps): bump the gha-dependencies group with 6 updates (#8838)
Bumps the gha-dependencies group with 6 updates: | Package | From | To | | --- | --- | --- | | [actions/checkout](https://github.com/actions/checkout) | `6.0.3` | `7.0.0` | | [actions/setup-go](https://github.com/actions/setup-go) | `6.4.0` | `6.5.0` | | [actions/setup-java](https://github.com/actions/setup-java) | `5.2.0` | `5.4.0` | | [jdx/mise-action](https://github.com/jdx/mise-action) | `4.1.0` | `4.2.0` | | [actions/cache](https://github.com/actions/cache) | `5.0.5` | `6.1.0` | | [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action) | `0.5.6` | `0.5.7` | Updates `actions/checkout` from 6.0.3 to 7.0.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/checkout/releases">actions/checkout's releases</a>.</em></p> <blockquote> <h2>v7.0.0</h2> <h2>What's Changed</h2> <ul> <li>block checking out fork pr for pull_request_target and workflow_run by <a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2454">actions/checkout#2454</a></li> <li>Bump actions/publish-immutable-action from 0.0.3 to 0.0.4 in the minor-actions-dependencies group across 1 directory by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/checkout/pull/2458">actions/checkout#2458</a></li> <li>Bump flatted from 3.3.1 to 3.4.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/checkout/pull/2460">actions/checkout#2460</a></li> <li>Bump js-yaml from 4.1.0 to 4.2.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/checkout/pull/2461">actions/checkout#2461</a></li> <li>Bump <code>@actions/core</code> and <code>@actions/tool-cache</code> and Remove uuid by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/checkout/pull/2459">actions/checkout#2459</a></li> <li>upgrade module to esm and update dependencies by <a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2463">actions/checkout#2463</a></li> <li>Bump the minor-npm-dependencies group across 1 directory with 3 updates by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/checkout/pull/2462">actions/checkout#2462</a></li> <li>getting ready for checkout v7 release by <a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2464">actions/checkout#2464</a></li> <li>update error wording by <a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2467">actions/checkout#2467</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/2454">actions/checkout#2454</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v6.0.3...v7.0.0">https://github.com/actions/checkout/compare/v6.0.3...v7.0.0</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's changelog</a>.</em></p> <blockquote> <h1>Changelog</h1> <h2>v7.0.0</h2> <ul> <li>Block checking out fork PR for pull_request_target and workflow_run by <a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2454">actions/checkout#2454</a></li> <li>Bump actions/publish-immutable-action from 0.0.3 to 0.0.4 in the minor-actions-dependencies group across 1 directory by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/checkout/pull/2458">actions/checkout#2458</a></li> <li>Bump flatted from 3.3.1 to 3.4.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/checkout/pull/2460">actions/checkout#2460</a></li> <li>Bump js-yaml from 4.1.0 to 4.2.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/checkout/pull/2461">actions/checkout#2461</a></li> <li>Bump <code>@actions/core</code> and <code>@actions/tool-cache</code> and Remove uuid by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/checkout/pull/2459">actions/checkout#2459</a></li> <li>upgrade module to esm and update dependencies by <a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2463">actions/checkout#2463</a></li> <li>Bump the minor-npm-dependencies group across 1 directory with 3 updates by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/checkout/pull/2462">actions/checkout#2462</a></li> </ul> <h2>v6.0.3</h2> <ul> <li>Fix checkout init for SHA-256 repositories by <a href="https://github.com/yaananth"><code>@yaananth</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2439">actions/checkout#2439</a></li> <li>fix: expand merge commit SHA regex and add SHA-256 test cases by <a href="https://github.com/yaananth"><code>@yaananth</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2414">actions/checkout#2414</a></li> </ul> <h2>v6.0.2</h2> <ul> <li>Fix tag handling: preserve annotations and explicit fetch-tags by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2356">actions/checkout#2356</a></li> </ul> <h2>v6.0.1</h2> <ul> <li>Add worktree support for persist-credentials includeIf by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2327">actions/checkout#2327</a></li> </ul> <h2>v6.0.0</h2> <ul> <li>Persist creds to a separate file by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2286">actions/checkout#2286</a></li> <li>Update README to include Node.js 24 support details and requirements by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2248">actions/checkout#2248</a></li> </ul> <h2>v5.0.1</h2> <ul> <li>Port v6 cleanup to v5 by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2301">actions/checkout#2301</a></li> </ul> <h2>v5.0.0</h2> <ul> <li>Update actions checkout to use node 24 by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2226">actions/checkout#2226</a></li> </ul> <h2>v4.3.1</h2> <ul> <li>Port v6 cleanup to v4 by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2305">actions/checkout#2305</a></li> </ul> <h2>v4.3.0</h2> <ul> <li>docs: update README.md by <a href="https://github.com/motss"><code>@motss</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1971">actions/checkout#1971</a></li> <li>Add internal repos for checking out multiple repositories by <a href="https://github.com/mouismail"><code>@mouismail</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1977">actions/checkout#1977</a></li> <li>Documentation update - add recommended permissions to Readme by <a href="https://github.com/benwells"><code>@benwells</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2043">actions/checkout#2043</a></li> <li>Adjust positioning of user email note and permissions heading by <a href="https://github.com/joshmgross"><code>@joshmgross</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2044">actions/checkout#2044</a></li> <li>Update README.md by <a href="https://github.com/nebuk89"><code>@nebuk89</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2194">actions/checkout#2194</a></li> <li>Update CODEOWNERS for actions by <a href="https://github.com/TingluoHuang"><code>@TingluoHuang</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2224">actions/checkout#2224</a></li> <li>Update package dependencies by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2236">actions/checkout#2236</a></li> </ul> <h2>v4.2.2</h2> <ul> <li><code>url-helper.ts</code> now leverages well-known environment variables by <a href="https://github.com/jww3"><code>@jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1941">actions/checkout#1941</a></li> <li>Expand unit test coverage for <code>isGhes</code> by <a href="https://github.com/jww3"><code>@jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1946">actions/checkout#1946</a></li> </ul> <h2>v4.2.1</h2> <ul> <li>Check out other refs/* by commit if provided, fall back to ref by <a href="https://github.com/orhantoy"><code>@orhantoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1924">actions/checkout#1924</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/checkout/commit/9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0"><code>9c091bb</code></a> update error wording (<a href="https://redirect.github.com/actions/checkout/issues/2467">#2467</a>)</li> <li><a href="https://github.com/actions/checkout/commit/1044a6dea927916f2c38ba5aeffbc0a847b1221a"><code>1044a6d</code></a> getting ready for checkout v7 release (<a href="https://redirect.github.com/actions/checkout/issues/2464">#2464</a>)</li> <li><a href="https://github.com/actions/checkout/commit/f0282184c7ce73ab54c7e4ab5a617122602e575f"><code>f028218</code></a> Bump the minor-npm-dependencies group across 1 directory with 3 updates (<a href="https://redirect.github.com/actions/checkout/issues/2462">#2462</a>)</li> <li><a href="https://github.com/actions/checkout/commit/d914b262ffc244530a203ab40decab34c3abf34d"><code>d914b26</code></a> upgrade module to esm and update dependencies (<a href="https://redirect.github.com/actions/checkout/issues/2463">#2463</a>)</li> <li><a href="https://github.com/actions/checkout/commit/537c7ef99cef6e5ddb5e7ff5d16d14510503801d"><code>537c7ef</code></a> Bump <code>@actions/core</code> and <code>@actions/tool-cache</code> and Remove uuid (<a href="https://redirect.github.com/actions/checkout/issues/2459">#2459</a>)</li> <li><a href="https://github.com/actions/checkout/commit/130a169078a413d3a5246a393625e8e742f387f6"><code>130a169</code></a> Bump js-yaml from 4.1.0 to 4.2.0 (<a href="https://redirect.github.com/actions/checkout/issues/2461">#2461</a>)</li> <li><a href="https://github.com/actions/checkout/commit/7d09575332117a40b46e5e020664df234cd416f3"><code>7d09575</code></a> Bump flatted from 3.3.1 to 3.4.2 (<a href="https://redirect.github.com/actions/checkout/issues/2460">#2460</a>)</li> <li><a href="https://github.com/actions/checkout/commit/0f9f3aa320cb53abeb534aeb54048075d9697a0e"><code>0f9f3aa</code></a> Bump actions/publish-immutable-action (<a href="https://redirect.github.com/actions/checkout/issues/2458">#2458</a>)</li> <li><a href="https://github.com/actions/checkout/commit/f9e715a95fcd1f9253f77dd28f11e88d2d6460c7"><code>f9e715a</code></a> block checking out fork pr for pull_request_target and workflow_run (<a href="https://redirect.github.com/actions/checkout/issues/2454">#2454</a>)</li> <li>See full diff in <a href="https://github.com/actions/checkout/compare/df4cb1c069e1874edd31b4311f1884172cec0e10...9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0">compare view</a></li> </ul> </details> <br /> Updates `actions/setup-go` from 6.4.0 to 6.5.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/setup-go/releases">actions/setup-go's releases</a>.</em></p> <blockquote> <h2>v6.5.0</h2> <h2>What's Changed</h2> <h3>Dependency update</h3> <ul> <li>Upgrade actions dependencies by <a href="https://github.com/priyagupta108"><code>@priyagupta108</code></a> with <a href="https://github.com/Copilot"><code>@Copilot</code></a> in <a href="https://redirect.github.com/actions/setup-go/pull/744">actions/setup-go#744</a></li> <li>Upgrade <code>@types/node</code> and typescript-eslint dependencies to resolve npm audit findings by <a href="https://github.com/HarithaVattikuti"><code>@HarithaVattikuti</code></a> in <a href="https://redirect.github.com/actions/setup-go/pull/755">actions/setup-go#755</a></li> <li>Upgrade <code>@actions/cache</code> to 5.1.0, log cache write denied by <a href="https://github.com/jasongin"><code>@jasongin</code></a> in <a href="https://redirect.github.com/actions/setup-go/pull/758">actions/setup-go#758</a></li> <li>Upgrade version to 6.5.0 in package.json and package-lock.json by <a href="https://github.com/HarithaVattikuti"><code>@HarithaVattikuti</code></a> in <a href="https://redirect.github.com/actions/setup-go/pull/762">actions/setup-go#762</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/priyagupta108"><code>@priyagupta108</code></a> with <a href="https://github.com/Copilot"><code>@Copilot</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-go/pull/744">actions/setup-go#744</a></li> <li><a href="https://github.com/jasongin"><code>@jasongin</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-go/pull/758">actions/setup-go#758</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/setup-go/compare/v6...v6.5.0">https://github.com/actions/setup-go/compare/v6...v6.5.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/setup-go/commit/924ae3a1cded613372ab5595356fb5720e22ba16"><code>924ae3a</code></a> chore: bump version to 6.5.0 in package.json and package-lock.json (<a href="https://redirect.github.com/actions/setup-go/issues/762">#762</a>)</li> <li><a href="https://github.com/actions/setup-go/commit/e91cc3bfe0c3efd0b2d1dc3a51269c9038deb4f1"><code>e91cc3b</code></a> Bump <code>@actions/cache</code> to 5.1.0, log cache write denied (<a href="https://redirect.github.com/actions/setup-go/issues/758">#758</a>)</li> <li><a href="https://github.com/actions/setup-go/commit/4a2405e6aebff6aabd8e43618539aa35cf90ac92"><code>4a2405e</code></a> chore: update <code>@types/node</code> and <a href="https://github.com/typescript-eslint"><code>@typescript-eslint</code></a> dependencies to latest versi...</li> <li><a href="https://github.com/actions/setup-go/commit/78961f6f84d799cd858575bb931c3e51d3b13290"><code>78961f6</code></a> chore: update <a href="https://github.com/actions"><code>@actions</code></a> dependencies and refresh license cache (<a href="https://redirect.github.com/actions/setup-go/issues/744">#744</a>)</li> <li>See full diff in <a href="https://github.com/actions/setup-go/compare/4a3601121dd01d1626a1e23e37211e3254c1c06c...924ae3a1cded613372ab5595356fb5720e22ba16">compare view</a></li> </ul> </details> <br /> Updates `actions/setup-java` from 5.2.0 to 5.4.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/setup-java/releases">actions/setup-java's releases</a>.</em></p> <blockquote> <h2>v5.4.0</h2> <h2>What's Changed</h2> <ul> <li>Bump <code>@typescript-eslint/parser</code> from 8.48.0 to 8.61.1 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/setup-java/pull/1021">actions/setup-java#1021</a></li> <li>Fix codeql workflow permissions by <a href="https://github.com/jsoref"><code>@jsoref</code></a> in <a href="https://redirect.github.com/actions/setup-java/pull/993">actions/setup-java#993</a></li> <li>fix CodeQL permissions by <a href="https://github.com/gdams"><code>@gdams</code></a> in <a href="https://redirect.github.com/actions/setup-java/pull/1025">actions/setup-java#1025</a></li> <li>fix: reject non-semver candidate versions in isVersionSatisfies by <a href="https://github.com/sproctor"><code>@sproctor</code></a> in <a href="https://redirect.github.com/actions/setup-java/pull/1009">actions/setup-java#1009</a></li> <li>Bump <code>@actions/cache</code> to 5.1.0, handle cache write denied by <a href="https://github.com/jasongin"><code>@jasongin</code></a> in <a href="https://redirect.github.com/actions/setup-java/pull/1026">actions/setup-java#1026</a></li> <li>Add Maven Wrapper cache feature by <a href="https://github.com/mahabaleshwars"><code>@mahabaleshwars</code></a> in <a href="https://redirect.github.com/actions/setup-java/pull/1027">actions/setup-java#1027</a></li> <li>Spelling by <a href="https://github.com/jsoref"><code>@jsoref</code></a> in <a href="https://redirect.github.com/actions/setup-java/pull/713">actions/setup-java#713</a></li> <li>add link to advanced configuration for JetBrains by <a href="https://github.com/robstoll"><code>@robstoll</code></a> in <a href="https://redirect.github.com/actions/setup-java/pull/850">actions/setup-java#850</a></li> <li>docs(action): fix missing required or default fields by <a href="https://github.com/kranthipoturaju"><code>@kranthipoturaju</code></a> in <a href="https://redirect.github.com/actions/setup-java/pull/1007">actions/setup-java#1007</a></li> <li>feat: add microsoft openjdk 17.0.18 by <a href="https://github.com/al-kau"><code>@al-kau</code></a> in <a href="https://redirect.github.com/actions/setup-java/pull/1002">actions/setup-java#1002</a></li> <li>Update README.md - use "alert syntax for Markdown" for notes by <a href="https://github.com/mhoffrog"><code>@mhoffrog</code></a> in <a href="https://redirect.github.com/actions/setup-java/pull/924">actions/setup-java#924</a></li> <li>Bump undici from 6.24.1 to 6.27.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/setup-java/pull/1033">actions/setup-java#1033</a></li> <li>Update contributor guide with emoji for clarity by <a href="https://github.com/brunoborges"><code>@brunoborges</code></a> in <a href="https://redirect.github.com/actions/setup-java/pull/1028">actions/setup-java#1028</a></li> <li>add javac problem matcher by <a href="https://github.com/Trass3r"><code>@Trass3r</code></a> in <a href="https://redirect.github.com/actions/setup-java/pull/562">actions/setup-java#562</a></li> <li>Clarify README version syntax and migration guidance by <a href="https://github.com/brunoborges"><code>@brunoborges</code></a> with <a href="https://github.com/Copilot"><code>@Copilot</code></a> in <a href="https://redirect.github.com/actions/setup-java/pull/1038">actions/setup-java#1038</a></li> <li>Update undici artifacts to 6.27.0 (license cache + dist) by <a href="https://github.com/brunoborges"><code>@brunoborges</code></a> in <a href="https://redirect.github.com/actions/setup-java/pull/1040">actions/setup-java#1040</a></li> <li>docs: enhance custom jdk file installation by <a href="https://github.com/stephanabel"><code>@stephanabel</code></a> in <a href="https://redirect.github.com/actions/setup-java/pull/996">actions/setup-java#996</a></li> <li>Templates for new Java distributions by <a href="https://github.com/panticmilos"><code>@panticmilos</code></a> in <a href="https://redirect.github.com/actions/setup-java/pull/429">actions/setup-java#429</a></li> <li>Bump actions/checkout from 6 to 7 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/setup-java/pull/1032">actions/setup-java#1032</a></li> <li>Bump <code>@types/node</code> from 25.9.3 to 26.0.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/setup-java/pull/1031">actions/setup-java#1031</a></li> <li>docs: replace non-existent HelloWorldApp references with java --version by <a href="https://github.com/brunoborges"><code>@brunoborges</code></a> with <a href="https://github.com/Copilot"><code>@Copilot</code></a> in <a href="https://redirect.github.com/actions/setup-java/pull/1043">actions/setup-java#1043</a></li> <li>docs: add JavaFX Maven project configuration instructions by <a href="https://github.com/brunoborges"><code>@brunoborges</code></a> with <a href="https://github.com/Copilot"><code>@Copilot</code></a> in <a href="https://redirect.github.com/actions/setup-java/pull/1044">actions/setup-java#1044</a></li> <li>docs: self-signed certificate / internal CA handling for GitHub Enterprise by <a href="https://github.com/brunoborges"><code>@brunoborges</code></a> in <a href="https://redirect.github.com/actions/setup-java/pull/1050">actions/setup-java#1050</a></li> <li>docs: document importing an internal CA into the installed JDK (cacerts) by <a href="https://github.com/brunoborges"><code>@brunoborges</code></a> in <a href="https://redirect.github.com/actions/setup-java/pull/1051">actions/setup-java#1051</a></li> <li>chore: Harden workflows: least-privilege permissions + zizmor integration by <a href="https://github.com/brunoborges"><code>@brunoborges</code></a> in <a href="https://redirect.github.com/actions/setup-java/pull/1039">actions/setup-java#1039</a></li> <li>dist: Add GraalVM Community distribution support by <a href="https://github.com/brunoborges"><code>@brunoborges</code></a> with <a href="https://github.com/Copilot"><code>@Copilot</code></a> in <a href="https://redirect.github.com/actions/setup-java/pull/1042">actions/setup-java#1042</a></li> <li>docs: note jdkfile approach for Early Access / unreleased JDK builds by <a href="https://github.com/brunoborges"><code>@brunoborges</code></a> in <a href="https://redirect.github.com/actions/setup-java/pull/1058">actions/setup-java#1058</a></li> <li>dist: Apply Copilot review suggestions from PR <a href="https://redirect.github.com/actions/setup-java/issues/1042">#1042</a> (GraalVM Community) by <a href="https://github.com/brunoborges"><code>@brunoborges</code></a> in <a href="https://redirect.github.com/actions/setup-java/pull/1059">actions/setup-java#1059</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/jsoref"><code>@jsoref</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-java/pull/993">actions/setup-java#993</a></li> <li><a href="https://github.com/sproctor"><code>@sproctor</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-java/pull/1009">actions/setup-java#1009</a></li> <li><a href="https://github.com/jasongin"><code>@jasongin</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-java/pull/1026">actions/setup-java#1026</a></li> <li><a href="https://github.com/robstoll"><code>@robstoll</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-java/pull/850">actions/setup-java#850</a></li> <li><a href="https://github.com/kranthipoturaju"><code>@kranthipoturaju</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-java/pull/1007">actions/setup-java#1007</a></li> <li><a href="https://github.com/al-kau"><code>@al-kau</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-java/pull/1002">actions/setup-java#1002</a></li> <li><a href="https://github.com/mhoffrog"><code>@mhoffrog</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-java/pull/924">actions/setup-java#924</a></li> <li><a href="https://github.com/brunoborges"><code>@brunoborges</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-java/pull/1028">actions/setup-java#1028</a></li> <li><a href="https://github.com/Trass3r"><code>@Trass3r</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-java/pull/562">actions/setup-java#562</a></li> <li><a href="https://github.com/stephanabel"><code>@stephanabel</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-java/pull/996">actions/setup-java#996</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/setup-java/compare/v5...v5.4.0">https://github.com/actions/setup-java/compare/v5...v5.4.0</a></p> <h2>v5.3.0</h2> <h2>What's Changed</h2> <ul> <li>chore: update Java version to 25 in setup examples by <a href="https://github.com/alaahong"><code>@alaahong</code></a> in <a href="https://redirect.github.com/actions/setup-java/pull/969">actions/setup-java#969</a></li> <li>Bump minimatch from 3.1.2 to 3.1.5 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/setup-java/pull/984">actions/setup-java#984</a></li> <li>Refactor error handling and improve test logging for installers by <a href="https://github.com/chiranjib-swain"><code>@chiranjib-swain</code></a> in <a href="https://redirect.github.com/actions/setup-java/pull/989">actions/setup-java#989</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/setup-java/commit/1bcf9fb12cf4aa7d266a90ae39939e61372fe520"><code>1bcf9fb</code></a> dist: Address Copilot review suggestions from PR <a href="https://redirect.github.com/actions/setup-java/issues/1042">#1042</a> (GraalVM Community) (#...</li> <li><a href="https://github.com/actions/setup-java/commit/fa2c6508d1036292a5efdf642f98d1c695974c72"><code>fa2c650</code></a> docs: note jdkfile approach for Early Access / unreleased JDK builds (<a href="https://redirect.github.com/actions/setup-java/issues/1058">#1058</a>)</li> <li><a href="https://github.com/actions/setup-java/commit/1d56e31dbb83904d53629e4e0bd2d956e011c1c2"><code>1d56e31</code></a> dist: Add GraalVM Community distribution support (<a href="https://redirect.github.com/actions/setup-java/issues/1042">#1042</a>)</li> <li><a href="https://github.com/actions/setup-java/commit/1d252528046b5ceb47839b03a115e0ea04f026cc"><code>1d25252</code></a> chore: Harden workflows: least-privilege permissions + zizmor integration (<a href="https://redirect.github.com/actions/setup-java/issues/1">#1</a>...</li> <li><a href="https://github.com/actions/setup-java/commit/668c1ea991737ea087e51dbf0bcf7fd41cbc20ee"><code>668c1ea</code></a> docs: add post-install keytool import for the JDK cacerts trust store (<a href="https://redirect.github.com/actions/setup-java/issues/1051">#1051</a>)</li> <li><a href="https://github.com/actions/setup-java/commit/a9a46fbe0996878a5673db759d29dbc5f470320e"><code>a9a46fb</code></a> docs: document self-signed certificate / internal CA handling for GitHub Ente...</li> <li><a href="https://github.com/actions/setup-java/commit/5431e71f9a4e00431c1c904af57e62794b518b11"><code>5431e71</code></a> docs: add JavaFX Maven project configuration instructions (<a href="https://redirect.github.com/actions/setup-java/issues/1044">#1044</a>)</li> <li><a href="https://github.com/actions/setup-java/commit/4baa9b45d2bff6fcbef9619dabd0cb1ca822905b"><code>4baa9b4</code></a> docs: replace non-existent HelloWorldApp references with java --version (<a href="https://redirect.github.com/actions/setup-java/issues/1043">#1043</a>)</li> <li><a href="https://github.com/actions/setup-java/commit/eab4b0854d2abdb899d5cf9e1bbff1df86044a8e"><code>eab4b08</code></a> Bump <code>@types/node</code> from 25.9.3 to 26.0.0 (<a href="https://redirect.github.com/actions/setup-java/issues/1031">#1031</a>)</li> <li><a href="https://github.com/actions/setup-java/commit/bf0c0e6df33849b0cba166f7c5d05fb38a219383"><code>bf0c0e6</code></a> Bump actions/checkout from 6 to 7 (<a href="https://redirect.github.com/actions/setup-java/issues/1032">#1032</a>)</li> <li>Additional commits viewable in <a href="https://github.com/actions/setup-java/compare/be666c2fcd27ec809703dec50e508c2fdc7f6654...1bcf9fb12cf4aa7d266a90ae39939e61372fe520">compare view</a></li> </ul> </details> <br /> Updates `jdx/mise-action` from 4.1.0 to 4.2.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/jdx/mise-action/releases">jdx/mise-action's releases</a>.</em></p> <blockquote> <h2>v4.2.0: Bootstrap mode & wget fallback</h2> <p>This release adds an opt-in <strong>bootstrap mode</strong> for projects that use <code>mise bootstrap</code>, and makes the action work on runner images that ship <code>wget</code> but not <code>curl</code>.</p> <h2>Added</h2> <h3>Bootstrap mode (<a href="https://redirect.github.com/jdx/mise-action/pull/522">#522</a>) by <a href="https://github.com/jdx"><code>@jdx</code></a></h3> <p>Three new inputs let the action drive <code>mise bootstrap</code> instead of <code>mise install</code>:</p> <pre lang="yaml"><code>- uses: jdx/mise-action@v4 with: bootstrap: true bootstrap_skip: "tools,task" # comma-separated parts to skip bootstrap_args: "--yes" # extra args forwarded to mise bootstrap </code></pre> <ul> <li>When <code>bootstrap: true</code>, the action runs <code>mise bootstrap</code> under the existing <code>install</code> gate and sets <code>MISE_EXPERIMENTAL=1</code> automatically.</li> <li>If a repo mise lock file is present, it runs <code>mise --locked bootstrap</code>, matching the auto-lock behavior introduced for <code>mise install</code> in v4.1.0.</li> <li><code>install_args</code> cannot be combined with <code>bootstrap: true</code> — the action fails fast and tells you to use <code>bootstrap_skip</code> / <code>bootstrap_args</code> instead, because full bootstrap doesn't support partial tool install args.</li> <li>A new <code>{{bootstrap_hash}}</code> template variable is included in the default cache key (and available in custom <code>cache_key</code> templates) so bootstrap and non-bootstrap configurations don't share caches.</li> </ul> <p><code>bootstrap_skip</code> relies on <code>mise bootstrap --skip</code> from <a href="https://redirect.github.com/jdx/mise/pull/10497">jdx/mise#10497</a>, so make sure you're on a recent mise version if you use it.</p> <h2>Fixed</h2> <ul> <li><strong>Fall back to <code>wget</code> when <code>curl</code> is unavailable</strong> (<a href="https://redirect.github.com/jdx/mise-action/pull/521">#521</a>) by <a href="https://github.com/risu729"><code>@risu729</code></a> — The action used to hard-code <code>curl</code> for fetching the mise binary, tar/zip archives, and the latest <code>VERSION</code> lookup, which broke on minimal runner images that only ship <code>wget</code>. It now prefers <code>curl</code> and transparently falls back to <code>wget</code>, preserving the streaming <code>download | tar</code> fast path for <code>.tar.gz</code> and <code>.tar.zst</code> installs on Linux/macOS. Proxy support is unchanged — both tools honor <code>HTTP_PROXY</code>/<code>HTTPS_PROXY</code>. Addresses <a href="https://redirect.github.com/jdx/mise/issues/10488">jdx/mise#10488</a>.</li> </ul> <h2>Documentation</h2> <ul> <li>Link the known Rust cache interaction note from the README (<a href="https://redirect.github.com/jdx/mise-action/pull/496">#496</a>) by <a href="https://github.com/risu729"><code>@risu729</code></a>.</li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/jdx/mise-action/compare/v4.1.0...v4.2.0">https://github.com/jdx/mise-action/compare/v4.1.0...v4.2.0</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/jdx/mise-action/blob/main/CHANGELOG.md">jdx/mise-action's changelog</a>.</em></p> <blockquote> <h1>Changelog</h1> <hr /> <h2><a href="https://github.com/jdx/mise-action/compare/v4.1.0..v4.2.0">4.2.0</a> - 2026-06-17</h2> <h3>🚀 Features</h3> <ul> <li>support bootstrap mode (<a href="https://redirect.github.com/jdx/mise-action/issues/522">#522</a>) by <a href="https://github.com/jdx"><code>@jdx</code></a> in <a href="https://redirect.github.com/jdx/mise-action/pull/522">#522</a></li> </ul> <h3>🐛 Bug Fixes</h3> <ul> <li>fall back to wget when curl is unavailable (<a href="https://redirect.github.com/jdx/mise-action/issues/521">#521</a>) by <a href="https://github.com/risu729"><code>@risu729</code></a> in <a href="https://redirect.github.com/jdx/mise-action/pull/521">#521</a></li> </ul> <h3>📚 Documentation</h3> <ul> <li>link rust cache issue (<a href="https://redirect.github.com/jdx/mise-action/issues/496">#496</a>) by <a href="https://github.com/risu729"><code>@risu729</code></a> in <a href="https://redirect.github.com/jdx/mise-action/pull/496">#496</a></li> </ul> <h3>⚙️ Miscellaneous Tasks</h3> <ul> <li><strong>(ci)</strong> fix zizmor version comments (<a href="https://redirect.github.com/jdx/mise-action/issues/506">#506</a>) by <a href="https://github.com/jdx"><code>@jdx</code></a> in <a href="https://redirect.github.com/jdx/mise-action/pull/506">#506</a></li> <li><strong>(ci)</strong> use pr-closer action (<a href="https://redirect.github.com/jdx/mise-action/issues/505">#505</a>) by <a href="https://github.com/jdx"><code>@jdx</code></a> in <a href="https://redirect.github.com/jdx/mise-action/pull/505">#505</a></li> </ul> <hr /> <h2><a href="https://github.com/jdx/mise-action/compare/v4.0.1..v4.1.0">4.1.0</a> - 2026-06-04</h2> <h3>🚀 Features</h3> <ul> <li>add wings_enabled input (mise-wings cache integration) (<a href="https://redirect.github.com/jdx/mise-action/issues/454">#454</a>) by <a href="https://github.com/jdx"><code>@jdx</code></a> in <a href="https://redirect.github.com/jdx/mise-action/pull/454">#454</a></li> <li>lock install when mise.lock is present (<a href="https://redirect.github.com/jdx/mise-action/issues/495">#495</a>) by <a href="https://github.com/zeitlinger"><code>@zeitlinger</code></a> in <a href="https://redirect.github.com/jdx/mise-action/pull/495">#495</a></li> </ul> <h3>🐛 Bug Fixes</h3> <ul> <li><strong>(ci)</strong> add gh auth setup-git to release-plz.sh (<a href="https://redirect.github.com/jdx/mise-action/issues/473">#473</a>) by <a href="https://github.com/jdx"><code>@jdx</code></a> in <a href="https://redirect.github.com/jdx/mise-action/pull/473">#473</a></li> <li><strong>(ci)</strong> pin codeql-action with exact version comment (<a href="https://redirect.github.com/jdx/mise-action/issues/481">#481</a>) by <a href="https://github.com/jdx"><code>@jdx</code></a> in <a href="https://redirect.github.com/jdx/mise-action/pull/481">#481</a></li> <li><strong>(ci)</strong> resolve zizmor findings (<a href="https://redirect.github.com/jdx/mise-action/issues/503">#503</a>) by <a href="https://github.com/jdx"><code>@jdx</code></a> in <a href="https://redirect.github.com/jdx/mise-action/pull/503">#503</a></li> <li>include runner image in cache key to prevent cross-provider collisions (<a href="https://redirect.github.com/jdx/mise-action/issues/456">#456</a>) by <a href="https://github.com/jdx"><code>@jdx</code></a> in <a href="https://redirect.github.com/jdx/mise-action/pull/456">#456</a></li> <li>install mise-shim.exe on Windows (<a href="https://redirect.github.com/jdx/mise-action/issues/476">#476</a>) by <a href="https://github.com/risu729"><code>@risu729</code></a> in <a href="https://redirect.github.com/jdx/mise-action/pull/476">#476</a></li> </ul> <h3>⚙️ Miscellaneous Tasks</h3> <ul> <li><strong>(ci)</strong> use !cancelled() instead of always() for final job (<a href="https://redirect.github.com/jdx/mise-action/issues/460">#460</a>) by <a href="https://github.com/jdx"><code>@jdx</code></a> in <a href="https://redirect.github.com/jdx/mise-action/pull/460">#460</a></li> <li><strong>(ci)</strong> remove autofix.ci workflow (<a href="https://redirect.github.com/jdx/mise-action/issues/470">#470</a>) by <a href="https://github.com/jdx"><code>@jdx</code></a> in <a href="https://redirect.github.com/jdx/mise-action/pull/470">#470</a></li> <li><strong>(ci)</strong> add zizmor workflow for github actions security analysis (<a href="https://redirect.github.com/jdx/mise-action/issues/471">#471</a>) by <a href="https://github.com/jdx"><code>@jdx</code></a> in <a href="https://redirect.github.com/jdx/mise-action/pull/471">#471</a></li> <li><strong>(ci)</strong> close failing or conflicted PRs sooner (<a href="https://redirect.github.com/jdx/mise-action/issues/480">#480</a>) by <a href="https://github.com/jdx"><code>@jdx</code></a> in <a href="https://redirect.github.com/jdx/mise-action/pull/480">#480</a></li> <li>add communique to enhance release notes (<a href="https://redirect.github.com/jdx/mise-action/issues/411">#411</a>) by <a href="https://github.com/jdx"><code>@jdx</code></a> in <a href="https://redirect.github.com/jdx/mise-action/pull/411">#411</a></li> <li>migrate from ncc (CJS) to rollup (ESM) (<a href="https://redirect.github.com/jdx/mise-action/issues/436">#436</a>) by <a href="https://github.com/jdx"><code>@jdx</code></a> in <a href="https://redirect.github.com/jdx/mise-action/pull/436">#436</a></li> <li>add final job to aggregate build-test results (<a href="https://redirect.github.com/jdx/mise-action/issues/438">#438</a>) by <a href="https://github.com/jdx"><code>@jdx</code></a> in <a href="https://redirect.github.com/jdx/mise-action/pull/438">#438</a></li> <li>migrate package manager from npm/pnpm/bun to aube (<a href="https://redirect.github.com/jdx/mise-action/issues/455">#455</a>) by <a href="https://github.com/jdx"><code>@jdx</code></a> in <a href="https://redirect.github.com/jdx/mise-action/pull/455">#455</a></li> <li>remove pull_request_target workflow (<a href="https://redirect.github.com/jdx/mise-action/issues/469">#469</a>) by <a href="https://github.com/jdx"><code>@jdx</code></a> in <a href="https://redirect.github.com/jdx/mise-action/pull/469">#469</a></li> <li>update aube tool version (<a href="https://redirect.github.com/jdx/mise-action/issues/501">#501</a>) by <a href="https://github.com/jdx"><code>@jdx</code></a> in <a href="https://redirect.github.com/jdx/mise-action/pull/501">#501</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/jdx/mise-action/commit/e6a8b3978addb5a52f2b4cd9d91eafa7f0ab959d"><code>e6a8b39</code></a> chore: release v4.2.0 (<a href="https://redirect.github.com/jdx/mise-action/issues/504">#504</a>)</li> <li><a href="https://github.com/jdx/mise-action/commit/884d42869346da12ec20a7082de3b5fe8e236c49"><code>884d428</code></a> fix: fall back to wget when curl is unavailable (<a href="https://redirect.github.com/jdx/mise-action/issues/521">#521</a>)</li> <li><a href="https://github.com/jdx/mise-action/commit/5f61b63affab7b78e79dec8562c94e0ebd1b90a0"><code>5f61b63</code></a> feat: support bootstrap mode (<a href="https://redirect.github.com/jdx/mise-action/issues/522">#522</a>)</li> <li><a href="https://github.com/jdx/mise-action/commit/03d53910f98bfb7555d242a9136d77505539db7a"><code>03d5391</code></a> chore(deps): update node.js to v24.16.0 (<a href="https://redirect.github.com/jdx/mise-action/issues/519">#519</a>)</li> <li><a href="https://github.com/jdx/mise-action/commit/0f82543dabdbcc5b4ce04e1166d04020d82a488d"><code>0f82543</code></a> chore(deps): update node.js to v24.16.0 (<a href="https://redirect.github.com/jdx/mise-action/issues/518">#518</a>)</li> <li><a href="https://github.com/jdx/mise-action/commit/5d76934c0b29bd4b18da9e2a421c21bb55f1e1cc"><code>5d76934</code></a> chore(deps): update dependency rollup to v4.61.1 (<a href="https://redirect.github.com/jdx/mise-action/issues/516">#516</a>)</li> <li><a href="https://github.com/jdx/mise-action/commit/80781a51e156fb8e96a7f96970a5301b5c70467f"><code>80781a5</code></a> chore(deps): update jdx/mise-action action to v4.1.0 (<a href="https://redirect.github.com/jdx/mise-action/issues/517">#517</a>)</li> <li><a href="https://github.com/jdx/mise-action/commit/f1eae89ff08c50fe95cc6fa2b8adef3ecd6d935e"><code>f1eae89</code></a> chore(deps): update dependency js-yaml to v4.2.0 (<a href="https://redirect.github.com/jdx/mise-action/issues/515">#515</a>)</li> <li><a href="https://github.com/jdx/mise-action/commit/ab3e780cf6a06e6826af8e7c48720b12226c39b5"><code>ab3e780</code></a> chore(deps): update typescript-eslint monorepo to v8.60.1 (<a href="https://redirect.github.com/jdx/mise-action/issues/514">#514</a>)</li> <li><a href="https://github.com/jdx/mise-action/commit/17d3aa0218aa40c76afd6d9099714e1623f750f6"><code>17d3aa0</code></a> chore(deps): update github/codeql-action action to v4.36.2 (<a href="https://redirect.github.com/jdx/mise-action/issues/513">#513</a>)</li> <li>Additional commits viewable in <a href="https://github.com/jdx/mise-action/compare/dba19683ed58901619b14f395a24841710cb4925...e6a8b3978addb5a52f2b4cd9d91eafa7f0ab959d">compare view</a></li> </ul> </details> <br /> Updates `actions/cache` from 5.0.5 to 6.1.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/cache/releases">actions/cache's releases</a>.</em></p> <blockquote> <h2>v6.1.0</h2> <h2>What's Changed</h2> <ul> <li>Bump <code>@actions/cache</code> to v6.1.0 - handle read-only cache access by <a href="https://github.com/jasongin"><code>@jasongin</code></a> in <a href="https://redirect.github.com/actions/cache/pull/1768">actions/cache#1768</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/cache/compare/v6...v6.1.0">https://github.com/actions/cache/compare/v6...v6.1.0</a></p> <h2>v6.0.0</h2> <h2>What's Changed</h2> <ul> <li>Update packages, migrate to ESM by <a href="https://github.com/Samirat"><code>@Samirat</code></a> in <a href="https://redirect.github.com/actions/cache/pull/1760">actions/cache#1760</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/cache/compare/v5...v6.0.0">https://github.com/actions/cache/compare/v5...v6.0.0</a></p> <h2>v5.1.0</h2> <h2>What's Changed</h2> <ul> <li>Bump <code>@actions/cache</code> to v5.1.0 - handle read-only cache access by <a href="https://github.com/jasongin"><code>@jasongin</code></a> in <a href="https://redirect.github.com/actions/cache/pull/1775">actions/cache#1775</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/cache/compare/v5...v5.1.0">https://github.com/actions/cache/compare/v5...v5.1.0</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/actions/cache/blob/main/RELEASES.md">actions/cache's changelog</a>.</em></p> <blockquote> <h1>Releases</h1> <h2>How to prepare a release</h2> <blockquote> <p>[!NOTE] Relevant for maintainers with write access only.</p> </blockquote> <ol> <li>Switch to a new branch from <code>main</code>.</li> <li>Run <code>npm test</code> to ensure all tests are passing.</li> <li>Update the version in <a href="https://github.com/actions/cache/blob/main/package.json"><code>https://github.com/actions/cache/blob/main/package.json</code></a>.</li> <li>Run <code>npm run build</code> to update the compiled files.</li> <li>Update this <a href="https://github.com/actions/cache/blob/main/RELEASES.md"><code>https://github.com/actions/cache/blob/main/RELEASES.md</code></a> with the new version and changes in the <code>## Changelog</code> section.</li> <li>Run <code>licensed cache</code> to update the license report.</li> <li>Run <code>licensed status</code> and resolve any warnings by updating the <a href="https://github.com/actions/cache/blob/main/.licensed.yml"><code>https://github.com/actions/cache/blob/main/.licensed.yml</code></a> file with the exceptions.</li> <li>Commit your changes and push your branch upstream.</li> <li>Open a pull request against <code>main</code> and get it reviewed and merged.</li> <li>Draft a new release <a href="https://github.com/actions/cache/releases">https://github.com/actions/cache/releases</a> use the same version number used in <code>package.json</code> <ol> <li>Create a new tag with the version number.</li> <li>Auto generate release notes and update them to match the changes you made in <code>RELEASES.md</code>.</li> <li>Toggle the set as the latest release option.</li> <li>Publish the release.</li> </ol> </li> <li>Navigate to <a href="https://github.com/actions/cache/actions/workflows/release-new-action-version.yml">https://github.com/actions/cache/actions/workflows/release-new-action-version.yml</a> <ol> <li>There should be a workflow run queued with the same version number.</li> <li>Approve the run to publish the new version and update the major tags for this action.</li> </ol> </li> </ol> <h2>Changelog</h2> <h3>6.1.0</h3> <ul> <li>Bump <code>@actions/cache</code> to v6.1.0 to pick up <a href="https://redirect.github.com/actions/toolkit/pull/2435">actions/toolkit#2435 Handle cache write error due to read-only token</a></li> <li>Switch redundant "Cache save failed" warning to debug log in save-only</li> </ul> <h3>6.0.0</h3> <ul> <li>Updated <code>@actions/cache</code> to ^6.0.1, <code>@actions/core</code> to ^3.0.1, <code>@actions/exec</code> to ^3.0.0, <code>@actions/io</code> to ^3.0.2</li> <li>Migrated to ESM module system</li> <li>Upgraded Jest to v30 and test infrastructure to be ESM compatible</li> </ul> <h3>5.0.4</h3> <ul> <li>Bump <code>minimatch</code> to v3.1.5 (fixes ReDoS via globstar patterns)</li> <li>Bump <code>undici</code> to v6.24.1 (WebSocket decompression bomb protection, header validation fixes)</li> <li>Bump <code>fast-xml-parser</code> to v5.5.6</li> </ul> <h3>5.0.3</h3> <ul> <li>Bump <code>@actions/cache</code> to v5.0.5 (Resolves: <a href="https://github.com/actions/cache/security/dependabot/33">https://github.com/actions/cache/security/dependabot/33</a>)</li> <li>Bump <code>@actions/core</code> to v2.0.3</li> </ul> <h3>5.0.2</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/cache/commit/55cc8345863c7cc4c66a329aec7e433d2d1c52a9"><code>55cc834</code></a> Merge pull request <a href="https://redirect.github.com/actions/cache/issues/1768">#1768</a> from jasongin/readonly-cache</li> <li><a href="https://github.com/actions/cache/commit/d8cd72f230726cdf4457ebb61ec1b593a8d12337"><code>d8cd72f</code></a> Bump <code>@actions/cache</code> to v6.1.0 - handle cache write error due to RO token</li> <li><a href="https://github.com/actions/cache/commit/2c8a9bd7457de244a408f35966fab2fb45fda9c8"><code>2c8a9bd</code></a> Merge pull request <a href="https://redirect.github.com/actions/cache/issues/1760">#1760</a> from actions/samirat/esm_migration_and_package_update</li> <li><a href="https://github.com/actions/cache/commit/e9b91fdc3fea7d79165fceb79042ef45c2d51023"><code>e9b91fd</code></a> Prettier fixes</li> <li><a href="https://github.com/actions/cache/commit/e4884b8ff7f92ef6b52c79eda480bbc86e685adb"><code>e4884b8</code></a> Rebuild dist</li> <li><a href="https://github.com/actions/cache/commit/10baf0191a3c426ea0fa4a3253a5c04233b6e18f"><code>10baf01</code></a> Fixed licenses</li> <li><a href="https://github.com/actions/cache/commit/e39b386c9004d72a15d864ade8c0b3a702d47a37"><code>e39b386</code></a> Fix test mock return order</li> <li><a href="https://github.com/actions/cache/commit/b6928203372a8571ff984c0c883ef3a1adfb0c06"><code>b692820</code></a> PR feedback</li> <li><a href="https://github.com/actions/cache/commit/60749128a44d25d3c520a489e576380cf00ff3f1"><code>6074912</code></a> Rebuild dist bundles as ESM to match type:module</li> <li><a href="https://github.com/actions/cache/commit/5a912e8b4af820fa082a0e75cfd2c782f8fbfe0e"><code>5a912e8</code></a> Fix lint and jest issues</li> <li>Additional commits viewable in <a href="https://github.com/actions/cache/compare/27d5ce7f107fe9357f9df03efb73ab90386fccae...55cc8345863c7cc4c66a329aec7e433d2d1c52a9">compare view</a></li> </ul> </details> <br /> Updates `zizmorcore/zizmor-action` from 0.5.6 to 0.5.7 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/zizmorcore/zizmor-action/releases">zizmorcore/zizmor-action's releases</a>.</em></p> <blockquote> <h2>v0.5.7</h2> <p>1.26.1 is now available via the action 1.26.1 is now the default version of zizmor used by the action</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/zizmorcore/zizmor-action/commit/192e21d79ab29983730a13d1382995c2307fbcaa"><code>192e21d</code></a> Sync zizmor versions (<a href="https://redirect.github.com/zizmorcore/zizmor-action/issues/127">#127</a>)</li> <li><a href="https://github.com/zizmorcore/zizmor-action/commit/2720f2673c0b64a8656d08b009ac239b9383c0ae"><code>2720f26</code></a> Update README.md with new actions/checkout version (<a href="https://redirect.github.com/zizmorcore/zizmor-action/issues/126">#126</a>)</li> <li><a href="https://github.com/zizmorcore/zizmor-action/commit/40b41b824eab0ad9c19ddf9856be25550729e6d8"><code>40b41b8</code></a> chore(deps): bump the github-actions group with 2 updates (<a href="https://redirect.github.com/zizmorcore/zizmor-action/issues/123">#123</a>)</li> <li><a href="https://github.com/zizmorcore/zizmor-action/commit/a687b25bf3aa149153e80ed5f45292e47589888c"><code>a687b25</code></a> chore(deps): bump github/codeql-action from 4.35.5 to 4.36.0 in the github-ac...</li> <li><a href="https://github.com/zizmorcore/zizmor-action/commit/64a6900ea7f40fab0caa7dcfc77b392d28fe0cb1"><code>64a6900</code></a> add note to explain that the default value for <code>online-checks</code> is different t...</li> <li><a href="https://github.com/zizmorcore/zizmor-action/commit/14050abd109fcba34e6e2f31a723280997808e82"><code>14050ab</code></a> chore(deps): bump the github-actions group with 2 updates (<a href="https://redirect.github.com/zizmorcore/zizmor-action/issues/118">#118</a>)</li> <li><a href="https://github.com/zizmorcore/zizmor-action/commit/ee9b4194a74f093e38908dbcfcb078f63eeef002"><code>ee9b419</code></a> chore(deps): bump github/codeql-action in the github-actions group (<a href="https://redirect.github.com/zizmorcore/zizmor-action/issues/116">#116</a>)</li> <li><a href="https://github.com/zizmorcore/zizmor-action/commit/fddf2b4aa9bf29290c6bf9866e6d113b0cdf6f67"><code>fddf2b4</code></a> Bump pins in README (<a href="https://redirect.github.com/zizmorcore/zizmor-action/issues/115">#115</a>)</li> <li>See full diff in <a href="https://github.com/zizmorcore/zizmor-action/compare/5f14fd08f7cf1cb1609c1e344975f152c7ee938d...192e21d79ab29983730a13d1382995c2307fbcaa">compare view</a></li> </ul> </details> <br /> 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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 <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> --------- Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Sebastian Spaink <sebastianspaink@gmail.com> |
||
|
|
e72114bbbf |
build(deps): bump the website group in /docs with 4 updates (#8839)
Bumps the website group in /docs with 4 updates: [eslint](https://github.com/eslint/eslint), [js-yaml](https://github.com/nodeca/js-yaml), [recharts](https://github.com/recharts/recharts) and [baseline-browser-mapping](https://github.com/web-platform-dx/baseline-browser-mapping). Updates `eslint` from 10.4.1 to 10.5.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/eslint/eslint/releases">eslint's releases</a>.</em></p> <blockquote> <h2>v10.5.0</h2> <h2>Features</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/5ca8c5278edea1fd84d3ba83d8ea3f52fb3831ad"><code>5ca8c52</code></a> feat: correct stack tracking in max-nested-callbacks (<a href="https://redirect.github.com/eslint/eslint/issues/20973">#20973</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/b5657837604fa5e8cf1278074782025cadd34b6c"><code>b565783</code></a> feat: report no-with violations at the with keyword (<a href="https://redirect.github.com/eslint/eslint/issues/20971">#20971</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/2ce032fbc72a1a80c024c084a4f382fb6dece684"><code>2ce032f</code></a> feat: report max-lines-per-function violations at function head (<a href="https://redirect.github.com/eslint/eslint/issues/20966">#20966</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/732cb3e09d5b8b809b5f461d118a5d9fdcd6427f"><code>732cb3e</code></a> feat: report max-nested-callbacks violations at function head (<a href="https://redirect.github.com/eslint/eslint/issues/20967">#20967</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/f9c138a0ba7d8e37aed39aef4a3ff1cae8c669f7"><code>f9c138a</code></a> feat: report max-depth violations on keywords (<a href="https://redirect.github.com/eslint/eslint/issues/20943">#20943</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/bdb496cc0d54b6d0a023aef9abd5f040ccff2101"><code>bdb496c</code></a> feat: correct max-depth handling for else-if chains (<a href="https://redirect.github.com/eslint/eslint/issues/20944">#20944</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/c29687354a7f96093f57f7d73eecb866ad5e2953"><code>c296873</code></a> feat: update error loc in <code>max-statements</code> to function header (<a href="https://redirect.github.com/eslint/eslint/issues/20907">#20907</a>) (Taejin Kim)</li> </ul> <h2>Documentation</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/8ae1b5b856dc031cd6c701d89a4df7da4772cd56"><code>8ae1b5b</code></a> docs: Update README (GitHub Actions Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/ca7eb90127dcad917188bb1342623f02a272e781"><code>ca7eb90</code></a> docs: update Node.js prerequisites to include ICU support (<a href="https://redirect.github.com/eslint/eslint/issues/20962">#20962</a>) (Francesco Trotta)</li> <li><a href="https://github.com/eslint/eslint/commit/f99b47a6799be25321552402a49303bb06a43fe4"><code>f99b47a</code></a> docs: Update README (GitHub Actions Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/acf03d4eed31d259c7dc62af5b9640629784f7cc"><code>acf03d4</code></a> docs: clarify precedence of parserOptions over languageOptions (<a href="https://redirect.github.com/eslint/eslint/issues/20926">#20926</a>) (sethamus)</li> </ul> <h2>Chores</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/b18bf58c5ac748415ffffdff2d96980fbd6a57e8"><code>b18bf58</code></a> chore: update ecosystem plugins (<a href="https://redirect.github.com/eslint/eslint/issues/20959">#20959</a>) (ESLint Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/c2d1444df77cb42e5a0b89ab70496879d180a54d"><code>c2d1444</code></a> refactor: replace areAllSegmentsUnreachable with !isAnySegmentReachable (<a href="https://redirect.github.com/eslint/eslint/issues/20951">#20951</a>) (Taejin Kim)</li> <li><a href="https://github.com/eslint/eslint/commit/243b8c56014bbbe63771185b0731d8dd4d1316e9"><code>243b8c5</code></a> chore: enhance config-rule to support oneOf, anyOf, and nested schemas (<a href="https://redirect.github.com/eslint/eslint/issues/20788">#20788</a>) (kuldeep kumar)</li> <li><a href="https://github.com/eslint/eslint/commit/217b2a91f46137c5ffd693965e71306c4c15ea6b"><code>217b2a9</code></a> test: add unit tests for ParserService (<a href="https://redirect.github.com/eslint/eslint/issues/20949">#20949</a>) (Taejin Kim)</li> <li><a href="https://github.com/eslint/eslint/commit/72003e781d76bd4ee0d98a6601730d0b829070f9"><code>72003e7</code></a> test: add location information to error messages in <code>max-statements</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20945">#20945</a>) (lumir)</li> <li><a href="https://github.com/eslint/eslint/commit/7797c266977b0bc4971aa79721813d480de72cd1"><code>7797c26</code></a> refactor: deduplicate isAnySegmentReachable across rules (<a href="https://redirect.github.com/eslint/eslint/issues/20890">#20890</a>) (Taejin Kim)</li> <li><a href="https://github.com/eslint/eslint/commit/67c46fa6e4f34e88cc6bc82f8a0dcc917c65d257"><code>67c46fa</code></a> chore: update ecosystem plugins (<a href="https://redirect.github.com/eslint/eslint/issues/20938">#20938</a>) (ESLint Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/95d8c7a99f991abd8ab618d0ee2cbd4f58effc29"><code>95d8c7a</code></a> chore: update dependency <code>@eslint/json</code> to v2 (<a href="https://redirect.github.com/eslint/eslint/issues/20934">#20934</a>) (renovate[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/cf9e496205142cd4971b9f98aed85866d1010b9c"><code>cf9e496</code></a> chore: update <code>@arethetypeswrong/cli</code> to 0.18.3 (<a href="https://redirect.github.com/eslint/eslint/issues/20933">#20933</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/fb6d3960cacc51fc12383fa5ded2382adbf90c1c"><code>fb6d396</code></a> test: run type tests with TypeScript 7 (<a href="https://redirect.github.com/eslint/eslint/issues/20868">#20868</a>) (sethamus)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/eslint/eslint/commit/de3b672a267e32607db04176ce4775664acb3145"><code>de3b672</code></a> 10.5.0</li> <li><a href="https://github.com/eslint/eslint/commit/362a5185134290db696d39f97c9da609ded54040"><code>362a518</code></a> Build: changelog update for 10.5.0</li> <li><a href="https://github.com/eslint/eslint/commit/5ca8c5278edea1fd84d3ba83d8ea3f52fb3831ad"><code>5ca8c52</code></a> feat: correct stack tracking in max-nested-callbacks (<a href="https://redirect.github.com/eslint/eslint/issues/20973">#20973</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/b5657837604fa5e8cf1278074782025cadd34b6c"><code>b565783</code></a> feat: report no-with violations at the with keyword (<a href="https://redirect.github.com/eslint/eslint/issues/20971">#20971</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/2ce032fbc72a1a80c024c084a4f382fb6dece684"><code>2ce032f</code></a> feat: report max-lines-per-function violations at function head (<a href="https://redirect.github.com/eslint/eslint/issues/20966">#20966</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/732cb3e09d5b8b809b5f461d118a5d9fdcd6427f"><code>732cb3e</code></a> feat: report max-nested-callbacks violations at function head (<a href="https://redirect.github.com/eslint/eslint/issues/20967">#20967</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/f9c138a0ba7d8e37aed39aef4a3ff1cae8c669f7"><code>f9c138a</code></a> feat: report max-depth violations on keywords (<a href="https://redirect.github.com/eslint/eslint/issues/20943">#20943</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/8ae1b5b856dc031cd6c701d89a4df7da4772cd56"><code>8ae1b5b</code></a> docs: Update README</li> <li><a href="https://github.com/eslint/eslint/commit/ca7eb90127dcad917188bb1342623f02a272e781"><code>ca7eb90</code></a> docs: update Node.js prerequisites to include ICU support (<a href="https://redirect.github.com/eslint/eslint/issues/20962">#20962</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/b18bf58c5ac748415ffffdff2d96980fbd6a57e8"><code>b18bf58</code></a> chore: update ecosystem plugins (<a href="https://redirect.github.com/eslint/eslint/issues/20959">#20959</a>)</li> <li>Additional commits viewable in <a href="https://github.com/eslint/eslint/compare/v10.4.1...v10.5.0">compare view</a></li> </ul> </details> <br /> Updates `js-yaml` from 4.2.0 to 5.1.0 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md">js-yaml's changelog</a>.</em></p> <blockquote> <h2>[5.1.0] - 2026-06-23</h2> <h3>Added</h3> <ul> <li>Collection tags can finalize an incrementally populated carrier into a different result value.</li> </ul> <h3>Changed</h3> <ul> <li>[breaking] <code>quoteStyle</code> now selects the preferred quote style; use the restored <code>forceQuotes</code> option to force quoting non-key strings.</li> </ul> <h2>[5.0.0] - 2026-06-20</h2> <h3>Added</h3> <ul> <li>Added named exports for schemas, tags, parser events and AST utilities.</li> <li>Reworked <code>JSON_SCHEMA</code> and <code>CORE_SCHEMA</code> with spec-compliant scalar resolution rules, and added <code>YAML11_SCHEMA</code>.</li> <li>Added <code>realMapTag</code> for lossless mappings with non-string and complex keys. Object-based mappings now reject complex keys instead of stringifying them.</li> <li>Added <code>dump()</code> <code>transform</code> option for changing the generated AST before rendering.</li> <li>Added <code>dump()</code> options <code>seqInlineFirst</code>, <code>flowBracketPadding</code>, <code>flowSkipCommaSpace</code>, <code>flowSkipColonSpace</code>, <code>quoteFlowKeys</code>, <code>quoteStyle</code> and <code>tagBeforeAnchor</code>.</li> <li>Added formal data layers (events and AST) for modular data pipelines. <ul> <li>Added low-level parser (to events), presenter and visitor APIs.</li> </ul> </li> <li>Added the <a href="https://github.com/yaml/yaml-test-suite">YAML Test Suite</a> to the test set.</li> </ul> <h3>Changed</h3> <ul> <li>See the <a href="https://github.com/nodeca/js-yaml/blob/master/docs/migrate_v4_to_v5.md">migration guide</a> for upgrade notes.</li> <li>Rewritten in TypeScript and reorganized the public API around flat named exports.</li> <li>Reduced the set of exported schemas: <ul> <li>YAML 1.2 schemas: <code>CORE_SCHEMA</code> (loader default), <code>JSON_SCHEMA</code>, <code>FAILSAFE_SCHEMA</code>.</li> <li><code>YAML11_SCHEMA</code>, a combination of all YAML 1.1 tags (YAML 1.1 does not specify a schema, only "types").</li> </ul> </li> <li><code>load</code>/<code>dump</code> default behaviour is now specified exactly via schemas: <ul> <li><code>load</code> uses <code>CORE_SCHEMA</code>, without <code>!!merge</code> by default.</li> <li><code>dump</code> uses <code>YAML11_SCHEMA</code> + <code>CORE_SCHEMA</code> for the quoting check, to guarantee backward compatibility by default.</li> </ul> </li> <li><code>!!set</code> is now loaded as a JavaScript <code>Set</code>.</li> <li>Replaced the <code>Type</code> API with a tags API. Similar, but more precise and simpler. See examples for details. Tags can be defined via <code>defineScalarTag()</code>, <code>defineSequenceTag()</code> and <code>defineMappingTag()</code>, or as a spread + override of an existing tag.</li> <li>Renamed <code>Schema.extend()</code> to <code>Schema.withTags()</code>.</li> <li>Expanded YAML 1.2 conformance and improved handling of directives, document markers, block keys, multiline scalars, tag syntax and other things.</li> <li><code>load()</code> now throws on empty input instead of returning <code>undefined</code>.</li> <li>Moved browser builds to the <code>js-yaml/browser</code> export.</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/nodeca/js-yaml/commit/f1e45cd201de162cc388a5175717eddf0743d367"><code>f1e45cd</code></a> 5.1.0 released</li> <li><a href="https://github.com/nodeca/js-yaml/commit/53b22be4fe05ea668b2420b142b424d360f6e2cf"><code>53b22be</code></a> Fix constructor coverage</li> <li><a href="https://github.com/nodeca/js-yaml/commit/a1eaa2bce1ce5738d46a918b1f3a228b9fa0bdbd"><code>a1eaa2b</code></a> Fix quote style options and restore forceQuotes</li> <li><a href="https://github.com/nodeca/js-yaml/commit/0532e7d23fff763f07ce166bef0f3b0906f26597"><code>0532e7d</code></a> Add finalizers for immutable collection tags</li> <li><a href="https://github.com/nodeca/js-yaml/commit/9f00b91cdc293f3dfcd017d29dbc413ee98a5c70"><code>9f00b91</code></a> tests: drop the rest of issues tests, move a small fraction of useful checks ...</li> <li><a href="https://github.com/nodeca/js-yaml/commit/6be5d46c88f4caed3103e83075c2eb4aab8770fd"><code>6be5d46</code></a> tests: drop not actual or duplicating issue tests (covered in other places)</li> <li><a href="https://github.com/nodeca/js-yaml/commit/a7c9766f0d79e6506e119dbe91b43deb2d5f8879"><code>a7c9766</code></a> Fix !!pairs coverage</li> <li><a href="https://github.com/nodeca/js-yaml/commit/75148bc4f5eb69b3d338e1c355d8bb2dba5bdf34"><code>75148bc</code></a> 5.0.0 released</li> <li><a href="https://github.com/nodeca/js-yaml/commit/704b25d29229c52e66b824bfc1908d8f3ba3a45e"><code>704b25d</code></a> Quote document markers followed by whitespace</li> <li><a href="https://github.com/nodeca/js-yaml/commit/42dea284430b1077f95a326f14db422b19bedecc"><code>42dea28</code></a> Support complex !!pairs keys with realMapTag</li> <li>Additional commits viewable in <a href="https://github.com/nodeca/js-yaml/compare/4.2.0...5.1.0">compare view</a></li> </ul> </details> <br /> Updates `recharts` from 3.8.1 to 3.9.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/recharts/recharts/releases">recharts's releases</a>.</em></p> <blockquote> <h2>v3.9.0</h2> <h2>What's Changed</h2> <h3>Animations</h3> <p>3.9 comes with new animations! There are several bug fixes and what's best, all animations are now fully customizable.</p> <p>See the animations guide on <a href="https://recharts.github.io/en-US/guide/animations/">https://recharts.github.io/en-US/guide/animations/</a></p> <ul> <li>Animation guide by <a href="https://github.com/PavelVanecek"><code>@PavelVanecek</code></a> in <a href="https://redirect.github.com/recharts/recharts/pull/7179">recharts/recharts#7179</a></li> <li>Animation tests by <a href="https://github.com/PavelVanecek"><code>@PavelVanecek</code></a> in <a href="https://redirect.github.com/recharts/recharts/pull/7255">recharts/recharts#7255</a></li> <li>New animation props by <a href="https://github.com/PavelVanecek"><code>@PavelVanecek</code></a> in <a href="https://redirect.github.com/recharts/recharts/pull/7215">recharts/recharts#7215</a></li> <li>test: cover legacy animation length changes by <a href="https://github.com/PavelVanecek"><code>@PavelVanecek</code></a> in <a href="https://redirect.github.com/recharts/recharts/pull/7283">recharts/recharts#7283</a></li> <li>test: add sparse animation path tests for Line component by <a href="https://github.com/PavelVanecek"><code>@PavelVanecek</code></a> in <a href="https://redirect.github.com/recharts/recharts/pull/7295">recharts/recharts#7295</a></li> <li>Export and document interpolate function by <a href="https://github.com/PavelVanecek"><code>@PavelVanecek</code></a> in <a href="https://redirect.github.com/recharts/recharts/pull/7293">recharts/recharts#7293</a></li> <li>test: enhance line animation tests for ComposedChart and responsive by <a href="https://github.com/PavelVanecek"><code>@PavelVanecek</code></a> in <a href="https://redirect.github.com/recharts/recharts/pull/7289">recharts/recharts#7289</a></li> <li>Manual animations on website by <a href="https://github.com/PavelVanecek"><code>@PavelVanecek</code></a> in <a href="https://redirect.github.com/recharts/recharts/pull/7483">recharts/recharts#7483</a></li> <li>Add new example where chart animates by scroll by <a href="https://github.com/PavelVanecek"><code>@PavelVanecek</code></a> in <a href="https://redirect.github.com/recharts/recharts/pull/7484">recharts/recharts#7484</a></li> <li>fix: preserve single-value line dash gaps during animation by <a href="https://github.com/puneetdixit200"><code>@puneetdixit200</code></a> in <a href="https://redirect.github.com/recharts/recharts/pull/7405">recharts/recharts#7405</a></li> <li>Add animate-by-scroll example and update docs by <a href="https://github.com/PavelVanecek"><code>@PavelVanecek</code></a> in <a href="https://redirect.github.com/recharts/recharts/pull/7487">recharts/recharts#7487</a></li> <li>Add custom fillOpacity on hover website example by <a href="https://github.com/PavelVanecek"><code>@PavelVanecek</code></a> in <a href="https://redirect.github.com/recharts/recharts/pull/7489">recharts/recharts#7489</a></li> <li>honorable mention to <a href="https://github.com/robjampar"><code>@robjampar</code></a> for PR <a href="https://redirect.github.com/recharts/recharts/pull/6973">recharts/recharts#6973</a> which ended up declined but it introduced the starting idea for the new animation props</li> </ul> <h3>New features other than animations</h3> <ul> <li>Expose and document chart layout hooks and layout types in public API by <a href="https://github.com/Copilot"><code>@Copilot</code></a> in <a href="https://redirect.github.com/recharts/recharts/pull/7265">recharts/recharts#7265</a></li> <li>feat: allow HTML attributes passthrough on ResponsiveContainer by <a href="https://github.com/techcodie"><code>@techcodie</code></a> in <a href="https://redirect.github.com/recharts/recharts/pull/7168">recharts/recharts#7168</a></li> <li>feat: add nodeInset and nodeGap properties to Treemap for better la… by <a href="https://github.com/MaximSrour"><code>@MaximSrour</code></a> in <a href="https://redirect.github.com/recharts/recharts/pull/7044">recharts/recharts#7044</a></li> <li>feat(PieChart): add dataKey to Legend payload by <a href="https://github.com/Harikrushn9118"><code>@Harikrushn9118</code></a> in <a href="https://redirect.github.com/recharts/recharts/pull/7137">recharts/recharts#7137</a></li> </ul> <h3>Bugfixes</h3> <ul> <li>fix: preserve valid falsy custom names (0, "") in tooltips by <a href="https://github.com/vamsi2246"><code>@vamsi2246</code></a> in <a href="https://redirect.github.com/recharts/recharts/pull/7175">recharts/recharts#7175</a></li> <li>fix(ResponsiveContainer): Fix erroneous console warning on init by <a href="https://github.com/andypoorman"><code>@andypoorman</code></a> in <a href="https://redirect.github.com/recharts/recharts/pull/7174">recharts/recharts#7174</a></li> <li>fix(DataUtils): improve isPercent validation to exclude invalid formats by <a href="https://github.com/vamsi2246"><code>@vamsi2246</code></a> in <a href="https://redirect.github.com/recharts/recharts/pull/7178">recharts/recharts#7178</a></li> <li>fix(BarChart): render stacked bars when all values are 0 (<a href="https://redirect.github.com/recharts/recharts/issues/6235">#6235</a>) by <a href="https://github.com/andypoorman"><code>@andypoorman</code></a> in <a href="https://redirect.github.com/recharts/recharts/pull/7199">recharts/recharts#7199</a></li> <li>fix(Sankey): prevent NaN node positions when link values sum to zero by <a href="https://github.com/Mridul012"><code>@Mridul012</code></a> in <a href="https://redirect.github.com/recharts/recharts/pull/7185">recharts/recharts#7185</a></li> <li>fix(Funnel): prevent NaN coordinate layout crash when all values are zero by <a href="https://github.com/Mridul012"><code>@Mridul012</code></a> in <a href="https://redirect.github.com/recharts/recharts/pull/7184">recharts/recharts#7184</a></li> <li>fixes an issue where XAxis and YAxis padding were ignored by the clipping mask when allowDataOverflow={true} was used alongside a restricted domain by <a href="https://github.com/emiedonmokumo"><code>@emiedonmokumo</code></a> in <a href="https://redirect.github.com/recharts/recharts/pull/7232">recharts/recharts#7232</a></li> <li>fix: use originalDataIndex for tooltip dispatch in Bar by <a href="https://github.com/mayrang"><code>@mayrang</code></a> in <a href="https://redirect.github.com/recharts/recharts/pull/7273">recharts/recharts#7273</a></li> <li>fix: resolve TypeScript 6 deprecation errors in tsconfig files by <a href="https://github.com/shreedharbhat98"><code>@shreedharbhat98</code></a> in <a href="https://redirect.github.com/recharts/recharts/pull/7285">recharts/recharts#7285</a></li> <li>fix(bar): use Math.round instead of bitwise truncation for bar positioning by <a href="https://github.com/EduardF1"><code>@EduardF1</code></a> in <a href="https://redirect.github.com/recharts/recharts/pull/7297">recharts/recharts#7297</a></li> <li>fix(types): propagate Tooltip types in chart helper contexts by <a href="https://github.com/mixelburg"><code>@mixelburg</code></a> in <a href="https://redirect.github.com/recharts/recharts/pull/7125">recharts/recharts#7125</a></li> <li>fix(Legend): prevent overlap with chart on container resize by <a href="https://github.com/maroKanatani"><code>@maroKanatani</code></a> in <a href="https://redirect.github.com/recharts/recharts/pull/7201">recharts/recharts#7201</a></li> <li>test(YAxis): failing repro for <a href="https://redirect.github.com/recharts/recharts/issues/7362">#7362</a> — function domain doesn't render ticks on empty/all-null data by <a href="https://github.com/nlenepveu"><code>@nlenepveu</code></a> in <a href="https://redirect.github.com/recharts/recharts/pull/7384">recharts/recharts#7384</a></li> </ul> <h3>Tree-shaking</h3> <p>We now have focused tree-shaking tests that allow us to observe exactly which components end up in the final bundle and why. I have also removed some unnecessary loops and you should see the final bundle size decrease somewhat as a result.</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/recharts/recharts/commit/8c1cce725956a036949471eba392ac0cc20189a8"><code>8c1cce7</code></a> v3.9.0 (<a href="https://redirect.github.com/recharts/recharts/issues/7490">#7490</a>)</li> <li><a href="https://github.com/recharts/recharts/commit/e5fe9bb2fba18dc96c64b10fd4a7c4a4bdc86d1f"><code>e5fe9bb</code></a> Add custom fillOpacity on hover website example (<a href="https://redirect.github.com/recharts/recharts/issues/7489">#7489</a>)</li> <li><a href="https://github.com/recharts/recharts/commit/ad1590f256d6e7484890326282935576824cdce6"><code>ad1590f</code></a> Add test for Pie and Legend animation (<a href="https://redirect.github.com/recharts/recharts/issues/7488">#7488</a>)</li> <li><a href="https://github.com/recharts/recharts/commit/337edbd371ace0551068cbd9591b9ef18fee0ae3"><code>337edbd</code></a> Add animate-by-scroll example and update docs (<a href="https://redirect.github.com/recharts/recharts/issues/7487">#7487</a>)</li> <li><a href="https://github.com/recharts/recharts/commit/0063aa486281e28ebbceeeda0102ba9c1dc1b6ff"><code>0063aa4</code></a> fix: preserve single-value line dash gaps during animation (<a href="https://redirect.github.com/recharts/recharts/issues/7405">#7405</a>)</li> <li><a href="https://github.com/recharts/recharts/commit/6dbe130b8908cc09f6096d0b78d117b93b8335f4"><code>6dbe130</code></a> Add new example where chart animates by scroll (<a href="https://redirect.github.com/recharts/recharts/issues/7484">#7484</a>)</li> <li><a href="https://github.com/recharts/recharts/commit/a2c4171608f2608e9025204c6c3fdb3b459c5c87"><code>a2c4171</code></a> Manual animations on website (<a href="https://redirect.github.com/recharts/recharts/issues/7483">#7483</a>)</li> <li><a href="https://github.com/recharts/recharts/commit/c88f5f36f38be0c3d0cab6dad5e7f8f167b7f1bb"><code>c88f5f3</code></a> Simplify and export some of the new animation props (<a href="https://redirect.github.com/recharts/recharts/issues/7481">#7481</a>)</li> <li><a href="https://github.com/recharts/recharts/commit/410cf5cf063f521ad9b84ed21143c39cc113d8cb"><code>410cf5c</code></a> Renaming some of the animation props (<a href="https://redirect.github.com/recharts/recharts/issues/7477">#7477</a>)</li> <li><a href="https://github.com/recharts/recharts/commit/a1b89c6c798c3e6294a166f2a199baf3f991f128"><code>a1b89c6</code></a> chore(deps-dev): bump undici from 6.26.0 to 6.27.0 (<a href="https://redirect.github.com/recharts/recharts/issues/7475">#7475</a>)</li> <li>Additional commits viewable in <a href="https://github.com/recharts/recharts/compare/v3.8.1...v3.9.0">compare view</a></li> </ul> </details> <br /> Updates `baseline-browser-mapping` from 2.10.33 to 2.10.38 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/web-platform-dx/baseline-browser-mapping/releases">baseline-browser-mapping's releases</a>.</em></p> <blockquote> <h2>v2.9.3 - remove <code>process.loadEnvFile()</code></h2> <h2>What's Changed</h2> <ul> <li>Remove process.loadEnfFile() from main script by <a href="https://github.com/tonypconway"><code>@tonypconway</code></a> in <a href="https://redirect.github.com/web-platform-dx/baseline-browser-mapping/pull/112">web-platform-dx/baseline-browser-mapping#112</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/web-platform-dx/baseline-browser-mapping/compare/v2.9.2...v2.9.3">https://github.com/web-platform-dx/baseline-browser-mapping/compare/v2.9.2...v2.9.3</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/web-platform-dx/baseline-browser-mapping/commit/37f3dae1c0142f522858bc0f40084af1879fd46c"><code>37f3dae</code></a> Patch to 2.10.38 because browser or feature data changed</li> <li><a href="https://github.com/web-platform-dx/baseline-browser-mapping/commit/c5c28415598c49f679b1a77794a286ed9e00c315"><code>c5c2841</code></a> Browser or feature data changed</li> <li><a href="https://github.com/web-platform-dx/baseline-browser-mapping/commit/14903f7eeaacd05bd2353f411d55aa8a72370a62"><code>14903f7</code></a> Updating static site</li> <li><a href="https://github.com/web-platform-dx/baseline-browser-mapping/commit/2cfe7fc23acc6fe68d99f55d1dfa58370938ec0a"><code>2cfe7fc</code></a> Patch to 2.10.37 because browser or feature data changed</li> <li><a href="https://github.com/web-platform-dx/baseline-browser-mapping/commit/48e5a7c4a4013a11b08c73cac230c11b2b557130"><code>48e5a7c</code></a> Browser or feature data changed</li> <li><a href="https://github.com/web-platform-dx/baseline-browser-mapping/commit/ba5507374281bf5d9b3697b392b5a2173bcc5c8b"><code>ba55073</code></a> Updating static site</li> <li><a href="https://github.com/web-platform-dx/baseline-browser-mapping/commit/df118b243455c9c65b2a212eeb5efff1a9a5d18e"><code>df118b2</code></a> Patch to 2.10.36 because browser or feature data changed</li> <li><a href="https://github.com/web-platform-dx/baseline-browser-mapping/commit/c2663f17c73951bb3f586eb38f787018308ba446"><code>c2663f1</code></a> Browser or feature data changed</li> <li><a href="https://github.com/web-platform-dx/baseline-browser-mapping/commit/221a2665ab34e99061ebae5c8232016a49c34677"><code>221a266</code></a> Updating static site</li> <li><a href="https://github.com/web-platform-dx/baseline-browser-mapping/commit/d358b780b9446896a4bc0b2032cd35fbf73239c8"><code>d358b78</code></a> Patch to 2.10.35 because browser or feature data changed</li> <li>Additional commits viewable in <a href="https://github.com/web-platform-dx/baseline-browser-mapping/compare/v2.10.33...v2.10.38">compare view</a></li> </ul> </details> <br /> 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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 <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
f6092b9ce4 |
add --format flag for proto/JSON plan bundles (#8825)
This change adds a new flag for emitting plan bundles in the new protobuf wire format. `opa build --format=json|proto`. With `--format=proto`, the bundle contains `/plan.pb` and `/.manifest.pb` in place of `/plan.json`and `/.manifest`. Bundle Reader auto-detects both forms; mixed-format bundles are rejected at read, merge, and write time. Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com> |
||
|
|
d7a9d913f8 |
compile: preserve package annotations in wasm bundle builds (#8855)
pruneBundleEntrypoints was removing the METADATA block from modules
whose package path matched the entrypoint. The original code explicitly
guarded against this—packages are always retained in the bundle so their
annotations should be too—but the guard was lost during a refactor in
|
||
|
|
193172daf1 |
Use more precise return types for object.* builtins
A bit surprising how not a single test seems to fail from this change 😅 I've added one to at least verify that the type checker does a little better now than before. External tools like Regal can do even better :) Fixes #8692 Signed-off-by: Anders Eknert <anders.eknert@apple.com> |
||
|
|
defec76824 |
Integrate Patch v1.18.2 (#8852)
Signed-off-by: Anders Eknert <anders.eknert@apple.com> Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com> Co-authored-by: Anders Eknert <anders.eknert@apple.com> |
||
|
|
b4a7a19882 |
perf: avoid allocations with custom Atoi and Atoi64 helpers (#8758)
strconv.Atoi was called frequently in OPA, and its failure case is expensive. This custom implementation is slightly faster for the successful case, but more importantly much more efficient in the failure case, allocating nothing for any given input string. Signed-off-by: Anders Eknert <anders.eknert@apple.com> |
||
|
|
e5679d92ce |
Fix regression in fix of #8557 (#8845)
The fix that shipped in v1.18.0 had the formatter not just honor newlines when formatting single-item collections, but had them enforced. This is quite a disruptive change leading to previously formatted files to have potentially hundreds of changes upon reformat. This fix ensures that only existing newlines in the source determine whether a single-item collection should be formatted across a single or multiple lines. Signed-off-by: Anders Eknert <anders.eknert@apple.com> |
||
|
|
b3ecf132c6 |
build(deps): bump pg in /e2e/api/compile/prisma in the e2e-prisma group
Bumps the e2e-prisma group in /e2e/api/compile/prisma with 1 update: [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg). Updates `pg` from 8.21.0 to 8.22.0 - [Changelog](https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md) - [Commits](https://github.com/brianc/node-postgres/commits/pg@8.22.0/packages/pg) --- updated-dependencies: - dependency-name: pg dependency-version: 8.22.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: e2e-prisma ... Signed-off-by: dependabot[bot] <support@github.com> |
||
|
|
8aa2b36fa9 |
build(deps): bump the dependencies group across 2 directories with 4 updates (#8836)
Bumps the dependencies group with 2 updates in the / directory: [github.com/huandu/go-sqlbuilder](https://github.com/huandu/go-sqlbuilder) and [github.com/vektah/gqlparser/v2](https://github.com/vektah/gqlparser). Bumps the dependencies group with 2 updates in the /e2e directory: [github.com/testcontainers/testcontainers-go](https://github.com/testcontainers/testcontainers-go) and [modernc.org/sqlite](https://gitlab.com/cznic/sqlite). Updates `github.com/huandu/go-sqlbuilder` from 1.41.0 to 1.42.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/huandu/go-sqlbuilder/releases">github.com/huandu/go-sqlbuilder's releases</a>.</em></p> <blockquote> <h2>v1.42.0</h2> <h2>What's Changed</h2> <ul> <li><code>[NEW]</code>: Add<code>USING</code> to<code>DELETE</code> and <code>SKIP LOCKED</code>/<code>NOWAIT</code> to<code>SELECT</code> by <a href="https://github.com/webdaad"><code>@webdaad</code></a> in <a href="https://redirect.github.com/huandu/go-sqlbuilder/issues/239">#239</a></li> <li><code>[FIX]</code>: <code>ILIKE</code> operator is supported by ClickHouse but not Sqlite. Issue was raised by <a href="https://github.com/NAlexandrov"><code>@NAlexandrov</code></a> in <a href="https://redirect.github.com/huandu/go-sqlbuilder/issues/240">#240</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/webdaad"><code>@webdaad</code></a> made their first contribution in <a href="https://redirect.github.com/huandu/go-sqlbuilder/pull/239">huandu/go-sqlbuilder#239</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/huandu/go-sqlbuilder/compare/v1.41.0...v1.42.0">https://github.com/huandu/go-sqlbuilder/compare/v1.41.0...v1.42.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/huandu/go-sqlbuilder/commit/345b646003cea85d5e86a54bd78d25c54f82f0e7"><code>345b646</code></a> fix: restore module path and retract v1.42.0</li> <li><a href="https://github.com/huandu/go-sqlbuilder/commit/289c7205eed2fa8a6a5954595db4dc66ae835dc8"><code>289c720</code></a> fix <a href="https://redirect.github.com/huandu/go-sqlbuilder/issues/240">#240</a>: ILIKE is supported by ClickHouse but not Sqlite</li> <li><a href="https://github.com/huandu/go-sqlbuilder/commit/eb02267b1c23923ee0e3a49b71418d0aa8966cd3"><code>eb02267</code></a> Merge pull request <a href="https://redirect.github.com/huandu/go-sqlbuilder/issues/239">#239</a> from webdaad/master</li> <li><a href="https://github.com/huandu/go-sqlbuilder/commit/d5110f9dd25e549ddab05150e5c542f4a06318b2"><code>d5110f9</code></a> feat(select): add SKIP LOCKED</li> <li><a href="https://github.com/huandu/go-sqlbuilder/commit/0c2aa0fb5257b5808681bf3ff10e89d22252a62d"><code>0c2aa0f</code></a> feat(delete): add using for postgres database</li> <li>See full diff in <a href="https://github.com/huandu/go-sqlbuilder/compare/v1.41.0...v1.42.1">compare view</a></li> </ul> </details> <br /> Updates `github.com/vektah/gqlparser/v2` from 2.5.34 to 2.5.35 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/vektah/gqlparser/releases">github.com/vektah/gqlparser/v2's releases</a>.</em></p> <blockquote> <h2>v2.5.35</h2> <h2>What's Changed</h2> <ul> <li>Migrate yaml dependency to go.yaml.in/yaml/v3 by <a href="https://github.com/atzedus"><code>@atzedus</code></a> in <a href="https://redirect.github.com/vektah/gqlparser/pull/437">vektah/gqlparser#437</a></li> <li>fix nullable nested list variable coercion by <a href="https://github.com/jbellenger"><code>@jbellenger</code></a> in <a href="https://redirect.github.com/vektah/gqlparser/pull/439">vektah/gqlparser#439</a></li> <li>build(deps-dev): bump prettier from 3.8.3 to 3.8.4 in /validator/imported in the actions-deps group by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/vektah/gqlparser/pull/438">vektah/gqlparser#438</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/vektah/gqlparser/compare/v2.5.34...v2.5.35">https://github.com/vektah/gqlparser/compare/v2.5.34...v2.5.35</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/vektah/gqlparser/commit/e3a8d380b01be8704b7e43762413c396b77ec4f3"><code>e3a8d38</code></a> Fix nullable nested list variable coercion (<a href="https://redirect.github.com/vektah/gqlparser/issues/439">#439</a>)</li> <li><a href="https://github.com/vektah/gqlparser/commit/7edd6f710b8df76f817b2aa08f64d1bf72f71691"><code>7edd6f7</code></a> build(deps-dev): bump prettier (<a href="https://redirect.github.com/vektah/gqlparser/issues/438">#438</a>)</li> <li><a href="https://github.com/vektah/gqlparser/commit/5112c6b64846a7aa294ebff6776026c19b587e13"><code>5112c6b</code></a> build(deps): migrate yaml import to go.yaml.in/yaml/v3 (<a href="https://redirect.github.com/vektah/gqlparser/issues/437">#437</a>)</li> <li>See full diff in <a href="https://github.com/vektah/gqlparser/compare/v2.5.34...v2.5.35">compare view</a></li> </ul> </details> <br /> Updates `github.com/testcontainers/testcontainers-go` from 0.42.0 to 0.43.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/testcontainers/testcontainers-go/releases">github.com/testcontainers/testcontainers-go's releases</a>.</em></p> <blockquote> <h2>v0.43.0</h2> <h1>What's Changed</h1> <h2>⚠️ Breaking Changes</h2> <ul> <li>chore(wait)!: change url callback in wait.ForSQL to accept network.Port (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3650">#3650</a>) <a href="https://github.com/thaJeztah"><code>@thaJeztah</code></a></li> </ul> <blockquote> <p>Users of <code>wait.ForSQL</code> need to follow the new API contract, using Moby's <code>network.Port</code> instead of <code>string</code> when building the callback function to check the URL. Please see <a href="https://golang.testcontainers.org/features/wait/sql/">https://golang.testcontainers.org/features/wait/sql/</a></p> </blockquote> <ul> <li>feat!: add PullImageWithPlatform to DockerProvider (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3710">#3710</a>) <a href="https://github.com/blueprismo"><code>@blueprismo</code></a></li> </ul> <blockquote> <p>Users implementing their own <code>testcontainers.ImageProvider</code> need to implement the new <code>PullImageWithPlatform</code> method introduced by this PR.</p> </blockquote> <h2>🚀 Features</h2> <ul> <li>feat(k3s): pull image opts (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3716">#3716</a>) <a href="https://github.com/blueprismo"><code>@blueprismo</code></a></li> <li>feat(wait): implement AnyMultiStrategy: ForAny equivalent to ForAll. (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3719">#3719</a>) <a href="https://github.com/jeanbza"><code>@jeanbza</code></a></li> <li>feat(eventhubs): add WithAzuriteContainer and functional-options config builder (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3722">#3722</a>) <a href="https://github.com/mdelapenya"><code>@mdelapenya</code></a></li> <li>feat!: add PullImageWithPlatform to DockerProvider (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3710">#3710</a>) <a href="https://github.com/blueprismo"><code>@blueprismo</code></a></li> <li>feat(modules/dex): add Dex OIDC provider module (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3659">#3659</a>) <a href="https://github.com/guilycst"><code>@guilycst</code></a></li> </ul> <h2>🐛 Bug Fixes</h2> <ul> <li>fix(security): remove debug code that leaks Docker credentials (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3721">#3721</a>) <a href="https://github.com/mdelapenya"><code>@mdelapenya</code></a></li> <li>fix(ollama): align local exec test with Ollama 0.30.6 log format (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3715">#3715</a>) <a href="https://github.com/mdelapenya"><code>@mdelapenya</code></a></li> <li>fix: close temp file handle before removal (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3672">#3672</a>) <a href="https://github.com/acouvreur"><code>@acouvreur</code></a></li> <li>fix(compose): close docker clients to prevent goroutine leaks (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3661">#3661</a>) <a href="https://github.com/mdelapenya"><code>@mdelapenya</code></a></li> <li>fix: wait for log production goroutine to drain on stop (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3660">#3660</a>) <a href="https://github.com/mdelapenya"><code>@mdelapenya</code></a></li> </ul> <h2>📖 Documentation</h2> <ul> <li>chore: update usage metrics (2026-06) (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3714">#3714</a>) @<a href="https://github.com/apps/github-actions">github-actions[bot]</a></li> </ul> <h2>🧹 Housekeeping</h2> <ul> <li>chore(wait)!: change url callback in wait.ForSQL to accept network.Port (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3650">#3650</a>) <a href="https://github.com/thaJeztah"><code>@thaJeztah</code></a></li> <li>chore: update usage metrics (2026-05) (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3670">#3670</a>) @<a href="https://github.com/apps/github-actions">github-actions[bot]</a></li> <li>chore: remove cgroupnsMode setting from K3s container configuration (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3653">#3653</a>) <a href="https://github.com/lixin9311"><code>@lixin9311</code></a></li> </ul> <h2>📦 Dependency updates</h2> <ul> <li>chore(deps): update dependencies to latest versions in go.mod and go.sum (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3729">#3729</a>) <a href="https://github.com/Steven-Harris"><code>@Steven-Harris</code></a></li> <li>chore: bump sshd-docker image to 1.4.0 (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3727">#3727</a>) <a href="https://github.com/mdelapenya"><code>@mdelapenya</code></a></li> <li>chore(deps): bump Ryuk to v0.14.0 (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3313">#3313</a>) <a href="https://github.com/mdelapenya"><code>@mdelapenya</code></a></li> <li>chore(deps): bump github.com/shirou/gopsutil/v4 from 4.26.4 to 4.26.5 (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3713">#3713</a>) @<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li> <li>chore(deps): bump golang.org/x/sys from 0.44.0 to 0.45.0 (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3712">#3712</a>) @<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li> <li>chore(deps): bump mkdocs-include-markdown-plugin from 7.2.2 to 7.3.0 (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3711">#3711</a>) @<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li> <li>chore(deps): bump slackapi/slack-github-action from 2.1.1 to 3.0.3 (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3677">#3677</a>) @<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li> <li>chore(deps): bump idna from 3.11 to 3.15 (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3708">#3708</a>) @<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li> <li>chore(deps): bump github.com/containerd/containerd/v2 from 2.2.2 to 2.2.4 in /modules/compose (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3709">#3709</a>) @<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li> <li>chore(deps): bump urllib3 from 2.6.3 to 2.7.0 (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3704">#3704</a>) @<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/testcontainers/testcontainers-go/commit/0835739aaf45d6cb7eb295f0c820e6f9e92102df"><code>0835739</code></a> chore: use new version (v0.43.0) in modules and examples</li> <li><a href="https://github.com/testcontainers/testcontainers-go/commit/85b6d7075d69260feb15b9d3b5bdab14d4698546"><code>85b6d70</code></a> chore(deps): update dependencies to latest versions in go.mod and go.sum (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3729">#3729</a>)</li> <li><a href="https://github.com/testcontainers/testcontainers-go/commit/8360f719408c23a4f3b731be25a94b267b624a28"><code>8360f71</code></a> feat(k3s): pull image opts (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3716">#3716</a>)</li> <li><a href="https://github.com/testcontainers/testcontainers-go/commit/b5e70223aa57f409f7721a89d66abf5b2a453468"><code>b5e7022</code></a> chore: bump sshd-docker image to 1.4.0 (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3727">#3727</a>)</li> <li><a href="https://github.com/testcontainers/testcontainers-go/commit/1c05dd58a894fd52b48ab272ef6cb6aceaa57dd2"><code>1c05dd5</code></a> chore(deps): bump Ryuk to v0.14.0 (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3313">#3313</a>)</li> <li><a href="https://github.com/testcontainers/testcontainers-go/commit/96ab0957556c744987ad7e97f59c78c469604e10"><code>96ab095</code></a> feat(wait): implement AnyMultiStrategy: ForAny equivalent to ForAll. (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3719">#3719</a>)</li> <li><a href="https://github.com/testcontainers/testcontainers-go/commit/42ac7d2e9a30de22f91da9e45d6084628ae2acb2"><code>42ac7d2</code></a> chore(wait)!: change url callback in wait.ForSQL to accept network.Port (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3650">#3650</a>)</li> <li><a href="https://github.com/testcontainers/testcontainers-go/commit/ab312e0088c3d615d64a4c6159805b9ab6db356d"><code>ab312e0</code></a> chore(deps): bump github.com/shirou/gopsutil/v4 from 4.26.4 to 4.26.5 (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3713">#3713</a>)</li> <li><a href="https://github.com/testcontainers/testcontainers-go/commit/c5c95e5f9bbc01ef374cb76f8c63c09d9add93e4"><code>c5c95e5</code></a> chore(deps): bump golang.org/x/sys from 0.44.0 to 0.45.0 (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3712">#3712</a>)</li> <li><a href="https://github.com/testcontainers/testcontainers-go/commit/465d00250e529349f6975e88eb30d9338c6ae991"><code>465d002</code></a> chore(deps): bump mkdocs-include-markdown-plugin from 7.2.2 to 7.3.0 (<a href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3711">#3711</a>)</li> <li>Additional commits viewable in <a href="https://github.com/testcontainers/testcontainers-go/compare/v0.42.0...v0.43.0">compare view</a></li> </ul> </details> <br /> Updates `modernc.org/sqlite` from 1.52.0 to 1.53.0 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://gitlab.com/cznic/sqlite/blob/master/CHANGELOG.md">modernc.org/sqlite's changelog</a>.</em></p> <blockquote> <h1>Changelog</h1> <ul> <li> <p>2026-06-25 v1.54.0:</p> <ul> <li>Under the opt-in <code>_texttotime</code> DSN parameter, best-effort parse date-shaped TEXT values from columns SQLite reports with an empty declared type — aggregates and expressions over a date column (<code>MAX(d)</code>, <code>COALESCE(d, ...)</code>, <code>upper(d)</code>, <code>d || ''</code>), subqueries, and typeless real columns (<code>CREATE TABLE t(x)</code>) — into <code>time.Time</code>, instead of delivering them as a raw string that <code>Scan</code> cannot store into a <code>*time.Time</code>. The existing declared <code>DATE</code>/<code>DATETIME</code>/<code>TIME</code>/<code>TIMESTAMP</code> path is unchanged; this only adds the empty-decltype case. The conversion is strictly best-effort: a value that does not parse as a time falls through to the original string, so no <code>Scan</code> that worked before can newly fail. <code>ColumnTypeScanType</code> continues to report <code>string</code> for empty-decltype columns, since the declared type cannot prove the column is temporal. Without <code>_texttotime</code> the behavior is byte-for-byte unchanged. Resolves [GitLab issue <a href="https://gitlab.com/cznic/sqlite/issues/248">#248</a>](<a href="https://gitlab.com/cznic/sqlite/-/issues/248">https://gitlab.com/cznic/sqlite/-/issues/248</a>).</li> <li>See [GitLab merge request <a href="https://gitlab.com/cznic/sqlite/issues/133">#133</a>](<a href="https://gitlab.com/cznic/sqlite/-/merge_requests/133">https://gitlab.com/cznic/sqlite/-/merge_requests/133</a>), thanks Ian Chechin!</li> </ul> </li> <li> <p>2026-06-21 v1.53.0:</p> <ul> <li>Add <strong>experimental</strong> <code>netbsd/amd64</code> support, resolving the long-standing build break in [GitLab issue <a href="https://gitlab.com/cznic/sqlite/issues/246">#246</a>](<a href="https://gitlab.com/cznic/sqlite/-/issues/246">https://gitlab.com/cznic/sqlite/-/issues/246</a>). This target is intentionally <strong>not yet listed among the supported platforms</strong> in the package documentation: the port had been broken for years and is only now revived, and there is as yet no real-world experience running it under production workloads. Green CI is not the same as battle-tested — so while the full test suite (including the <code>pcache</code> and <code>vec</code> packages and the <code>-race</code> concurrency test) passes on NetBSD 10.1 / Go 1.26.3, and the entire upstream toolchain (<code>libc</code>, <code>cc</code>, <code>ccgo</code>, <code>libz</code>, <code>libtcl8.6</code>, <code>libsqlite3</code>, <code>libsqlite_vec</code>) is green on the NetBSD CI builder, the target is offered for evaluation only. If you run NetBSD, please exercise it with your own workloads and report back via <a href="https://gitlab.com/cznic/sqlite/issues/246">#246</a>; the intent is to promote it to a fully supported platform after a period of broader real-world testing (on the order of a month) elapses without surprises.</li> <li>Implementation notes: the previously shipped <code>lib/sqlite_netbsd_amd64.go</code> was a stale old-generator transpile that no longer compiled (the <code>mu.enter</code>/<code>mu.leave</code> break in <a href="https://gitlab.com/cznic/sqlite/issues/246">#246</a>); it is replaced by a fresh new-generator transpile consistent with every other platform, and <code>modernc.org/sqlite/vec</code> (sqlite-vec) is vendored and auto-registers on netbsd. Correct operation requires the matching pinned <code>modernc.org/libc</code>, which carries two NetBSD-specific fixes found during this work: the <code>mmap(2)</code> <code>PAD</code>-argument ABI (without it, concurrent WAL access faults with SIGBUS in the WAL-index shared memory) and a working <code>abort(3)</code> (the prior stub left SQLite's crash-recovery <code>writecrash</code> test unable to terminate by signal). As usual, downstream modules must pin the exact <code>modernc.org/libc</code> version this module's <code>go.mod</code> pins.</li> <li>See [GitLab merge request <a href="https://gitlab.com/cznic/sqlite/issues/82">#82</a>](<a href="https://gitlab.com/cznic/sqlite/-/merge_requests/82">https://gitlab.com/cznic/sqlite/-/merge_requests/82</a>), thanks Leonardo Taccari (<a href="https://github.com/iamleot"><code>@iamleot</code></a>) and Thomas Klausner (@<em>wiz</em>)!</li> <li>Add <strong>experimental</strong> <code>freebsd/386</code> and <code>freebsd/arm</code> support. As with the <code>netbsd/amd64</code> target above, these two 32-bit FreeBSD ports are intentionally <strong>not yet listed among the supported platforms</strong> in the package documentation: <code>freebsd/386</code> previously shipped a stale, effectively untested SQLite 3.41 transpile, and <code>freebsd/arm</code> is entirely new, so neither has real-world production mileage yet. Both are now freshly transpiled at SQLite 3.53.2 consistent with every other platform, build cleanly, and pass the full test suite (core, WAL/concurrency, and the <code>vec</code> package) on the FreeBSD CI builders; they are offered for evaluation only. If you run 32-bit FreeBSD, please exercise these targets with your own workloads and report back — the intent is to promote <code>freebsd/386</code>, <code>freebsd/arm</code>, and <code>netbsd/amd64</code> to fully supported platforms in a future release cycle, once a period of broader real-world testing elapses without surprises.</li> <li>Implementation notes: correct operation on <code>freebsd/arm</code> requires the matching pinned <code>modernc.org/libc</code> (v1.73.4), which fixes the per-arch <code>mmap(2)</code> <code>off_t</code> encoding for 32-bit FreeBSD; without it the WAL shared-memory mapping faults with SIGBUS under concurrent access, the same class of bug found on the netbsd port. As usual, downstream modules must pin the exact <code>modernc.org/libc</code> version this module's <code>go.mod</code> pins.</li> <li>See [GitLab merge request <a href="https://gitlab.com/cznic/sqlite/issues/119">#119</a>](<a href="https://gitlab.com/cznic/sqlite/-/merge_requests/119">https://gitlab.com/cznic/sqlite/-/merge_requests/119</a>), thanks Olivier Cochard-Labbé (<a href="https://github.com/ocochard"><code>@ocochard</code></a>)!</li> <li>Add a Go-facing wrapper for <code>SQLITE_CONFIG_PCACHE2</code>. <code>PageCache</code> is the factory and <code>Cache</code> the per-database instance, both idiomatic Go interfaces; <code>Page</code> exposes the raw <code>Buf</code> and <code>Extra</code> pointers that SQLite reads through the C pcache contract. <code>RegisterPageCache</code> and <code>MustRegisterPageCache</code> install the module process-globally before the first <code>sql.Open</code>; subsequent Open calls are gated through a one-shot <code>Xsqlite3_config(SQLITE_CONFIG_PCACHE2)</code> so a too-late Register returns <code>ErrPageCacheTooLate</code> rather than silently falling through to the built-in pcache1. The binding owns the <code>sqlite3_pcache_page</code> stub and re-consults the implementation on every Fetch, reusing the stub only when the returned <code>Page</code> value is unchanged, which keeps a bounded/evicting purgeable cache safe by construction.</li> <li>See [GitLab merge request <a href="https://gitlab.com/cznic/sqlite/issues/126">#126</a>](<a href="https://gitlab.com/cznic/sqlite/-/merge_requests/126">https://gitlab.com/cznic/sqlite/-/merge_requests/126</a>), thanks Ian Chechin!</li> <li>Add <code>modernc.org/sqlite/pcache</code>, the reference page-cache implementation that accompanies the <a href="https://gitlab.com/cznic/sqlite/issues/126">#126</a> <code>SQLITE_CONFIG_PCACHE2</code> wrapper. <code>pcache.New</code> returns a <code>*Pool</code> satisfying the <code>PageCache</code> interface; register it once with <code>sqlite.MustRegisterPageCache(pcache.New())</code> and every connection opened afterwards draws its pages from it. Each <code>Pool.Create</code> mints a fresh per-database <code>Cache</code>: a bounded, LRU-evicting page store that honours the <code>PRAGMA cache_size</code> soft cap and releases the least-recently-unpinned page when it must make room. Page memory — the <code>Buf</code> and <code>Extra</code> buffers SQLite reads through — is allocated with <code>libc.Xmalloc</code>/<code>libc.Xcalloc</code> and therefore lives off the Go heap, which keeps SQLite's interior pointer arithmetic on the page extras from tripping the race detector's checkptr enforcement. <code>Pool.Stats</code> reports aggregate lifetime counters (hits, misses, allocs, evictions, rekeys, truncates, caches) across every cache a Pool has created, so hit/miss/eviction behaviour is observable without instrumenting individual caches. Cross-connection page sharing is out of scope for now; each <code>Create</code> returns an independent per-database cache.</li> <li>Validated end-to-end against the <a href="https://gitlab.com/cznic/sqlite/issues/126">#126</a> stress workload (<code>cache_size=16</code>, 4000 BLOB rows with DELETE and <code>incremental_vacuum</code>, <code>integrity_check</code> clean under <code>-race</code>) and benchmarked for the memory-utilization goal tracked in [GitLab issue <a href="https://gitlab.com/cznic/sqlite/issues/204">#204</a>](<a href="https://gitlab.com/cznic/sqlite/-/issues/204">https://gitlab.com/cznic/sqlite/-/issues/204</a>).</li> <li>See [GitLab merge request <a href="https://gitlab.com/cznic/sqlite/issues/127">#127</a>](<a href="https://gitlab.com/cznic/sqlite/-/merge_requests/127">https://gitlab.com/cznic/sqlite/-/merge_requests/127</a>), thanks Ian Chechin!</li> <li>Tighten the <code>modernc.org/sqlite/pcache</code> reference implementation per cznic's !127 review follow-ups. Adds <code>Stats.EasyRefusals</code>, a per-Pool counter for the cases where <code>FetchCreateEasy</code> returns nil at cap; SQLite reacts to a refusal by spilling dirty pages and retrying with <code>FetchCreateForce</code>, so the new field is a direct proxy for the I/O pressure the strict Easy contract imposes vs pcache1's recycle-without-spill behavior. <code>BenchmarkPoolEvictionChurn</code> was reworked to drive a rotating-residue DELETE (<code>k % 3 = i % 3</code>) and re-insert a matching batch each cycle so the spill pressure recurs and <code>easy-refusals/op</code> scales with <code>b.N</code> instead of capping at the seed's one-time first-cycle cost; both existing benchmarks now report <code>easy-refusals/op</code> alongside the page-allocs/evictions metrics. <code>Stats.Evictions</code> documentation was tightened to match the actual behavior (counts LRU eviction, <code>Unpin(discard=true)</code>, <code>Shrink</code> releases, and <code>Unpin(discard=false)</code> trimming back to target after a <code>FetchCreateForce</code> overcommit; bulk frees from <code>Truncate</code>, <code>Rekey</code> collisions, and <code>Destroy</code> are not counted). The <code>TestPoolRoundTripIntegrity</code> comment claiming the workload exercises <code>xRekey</code> ~15 times has been corrected; the SQL surface does not reliably emit xRekey here, and that codepath is covered by the unit tests instead.</li> <li>See [GitLab merge request <a href="https://gitlab.com/cznic/sqlite/issues/130">#130</a>](<a href="https://gitlab.com/cznic/sqlite/-/merge_requests/130">https://gitlab.com/cznic/sqlite/-/merge_requests/130</a>), thanks Ian Chechin!</li> <li>Make <code>modernc.org/sqlite/pcache</code> <code>-race</code>-clean under SQLite's <code>cache=shared</code> mode. The pool already runs correctly under shared-cache because every callback into a given <code>Cache</code> is serialised internally by SQLite's <code>sqlite3BtreeEnter</code> on the <code>BtShared</code> mutex; verified empirically with a lock-free in-flight probe (max-in-flight = 1 on the canonical two-connection workload, 4 on a positive control with goroutines hitting the cache directly). However the Go race detector does not recognise SQLite's libc mutex as a happens-before edge and reports false-positive races on <code>Fetch</code> vs <code>Unpin</code> reads/writes of the per-cache state, which surfaces as <code>DATA RACE</code> failures for any user who registers the pool and runs their suite under <code>-race</code>. A <code>sync.Mutex</code> on the <code>cache</code> type is now taken on every public method (<code>SetSize</code>, <code>PageCount</code>, <code>Fetch</code>, <code>Unpin</code>, <code>Rekey</code>, <code>Truncate</code>, <code>Destroy</code>, <code>Shrink</code>), always. On the common non-shared-cache path the lock is uncontended (one atomic CAS per Lock/Unlock pair, negligible next to the SQLite work it bookends); on the shared-cache path it just rubber-stamps the order SQLite's <code>BtShared</code> mutex already established. A new <code>e2e_test.go</code> <code>TestSharedCacheTwoConns_Integrity</code> drives two <code>sql.Conn</code> against the same <code>cache=shared</code> URI with concurrent writers and asserts <code>PRAGMA integrity_check = ok</code> under <code>-race</code>; passes cleanly with the lock, would surface the false-positive without it. Design notes live in <code>pcache/sharing.go</code>.</li> <li>See [GitLab merge request <a href="https://gitlab.com/cznic/sqlite/issues/131">#131</a>](<a href="https://gitlab.com/cznic/sqlite/-/merge_requests/131">https://gitlab.com/cznic/sqlite/-/merge_requests/131</a>), thanks Ian Chechin!</li> <li>Add a Go wrapper for <code>sqlite3_db_status</code>, the per-connection runtime counters (cache hit/miss/write/spill rates, schema and prepared-statement memory, lookaside usage, deferred foreign keys). <code>DBStatus</code> is an interface implemented by the driver connection and reached through the <code>database/sql</code> escape hatch <code>(*sql.Conn).Raw()</code>, mirroring the existing <code>FileControl</code> surface; <code>DBStatusOp</code> is a distinct typed enum of the <code>SQLITE_DBSTATUS_*</code> verbs so a counter from a different op family will not compile in its place. <code>Status(op, reset)</code> returns the <code>(current, high)</code> pair and optionally resets the counter. This also lets <code>modernc.org/sqlite/pcache</code> measure real I/O instead of the <code>EasyRefusals</code> proxy: the new <code>BenchmarkPoolSpillIO</code> reads the pager-level <code>SQLITE_DBSTATUS_CACHE_SPILL</code>/<code>_CACHE_WRITE</code> counters, which the pager maintains identically for pcache1 and the pool, making the pcache1-vs-pool comparison cznic raised on the !127 review a genuine apples-to-apples measurement. On the rotating-residue eviction-churn workload at <code>cache_size=16</code> the pool spills ~3.5x more than pcache1 (cache-spill/op 31.96 vs 8.96) for ~3% more page writes (cache-write/op 450 vs 436) at identical hit/miss, quantifying the I/O cost of the strict Easy contract that <code>EasyRefusals</code> only proxied.</li> <li>See [GitLab merge request <a href="https://gitlab.com/cznic/sqlite/issues/132">#132</a>](<a href="https://gitlab.com/cznic/sqlite/-/merge_requests/132">https://gitlab.com/cznic/sqlite/-/merge_requests/132</a>), thanks Ian Chechin!</li> <li>Add an opt-in <code>_dqs</code> DSN query parameter that disables SQLite's double-quoted string literal compatibility quirk on a per-connection basis. When <code>_dqs=0</code> (or any <code>strconv.ParseBool</code> false value) is supplied, the driver calls <code>sqlite3_db_config</code> with <code>SQLITE_DBCONFIG_DQS_DDL</code> and <code>SQLITE_DBCONFIG_DQS_DML</code> set to off before any statement is prepared, so a double-quoted identifier that fails to resolve raises a parse error instead of silently falling back to a string literal. Absence of the parameter, or <code>_dqs=1</code>, leaves SQLite's default behavior unchanged; existing DSNs continue to work byte-for-byte. Resolves [GitLab issue <a href="https://gitlab.com/cznic/sqlite/issues/61">#61</a>](<a href="https://gitlab.com/cznic/sqlite/-/issues/61">https://gitlab.com/cznic/sqlite/-/issues/61</a>).</li> <li>See [GitLab merge request <a href="https://gitlab.com/cznic/sqlite/issues/128">#128</a>](<a href="https://gitlab.com/cznic/sqlite/-/merge_requests/128">https://gitlab.com/cznic/sqlite/-/merge_requests/128</a>), thanks Ian Chechin!</li> <li>Add an opt-in <code>_error_rc</code> DSN query parameter for clearer error reporting on open-time failures. When <code>_error_rc=1</code> (or any <code>strconv.ParseBool</code> true value) is supplied, error strings synthesised from a <code>(rc, db)</code> pair only append <code>sqlite3_errmsg(db)</code> when <code>sqlite3_extended_errcode(db)</code> is consistent with the operation rc (full match first, primary code <code>&0xff</code> as fallback). On mismatch the canonical <code>sqlite3_errstr(rc)</code> is used alone, so an open-time <code>SQLITE_CANTOPEN</code> no longer carries the temporary handle's stale "out of memory" errmsg. Absence of the parameter, or <code>_error_rc=0</code>, preserves the legacy "errstr: errmsg" form byte-for-byte; existing callers that parse error strings are unaffected. The driver's <code>*Error.Code()</code> returns the same SQLite result code in both modes. Parsed before <code>sqlite3_open_v2</code> so open-time errors are covered. Resolves [GitLab issue <a href="https://gitlab.com/cznic/sqlite/issues/230">#230</a>](<a href="https://gitlab.com/cznic/sqlite/-/issues/230">https://gitlab.com/cznic/sqlite/-/issues/230</a>).</li> <li>See [GitLab merge request <a href="https://gitlab.com/cznic/sqlite/issues/129">#129</a>](<a href="https://gitlab.com/cznic/sqlite/-/merge_requests/129">https://gitlab.com/cznic/sqlite/-/merge_requests/129</a>), thanks Ian Chechin!</li> </ul> </li> <li> <p>2026-06-06 v1.52.0:</p> <ul> <li>Upgrade to <a href="https://sqlite.org/releaselog/3_53_2.html">SQLite 3.53.2</a>.</li> <li>Add <code>Backup.Remaining</code> and <code>Backup.PageCount</code>, thin wrappers around the existing <code>sqlite3_backup_remaining</code> and <code>sqlite3_backup_pagecount</code> C symbols. Together they expose the per-<code>Step</code> progress counters that the underlying backup object already maintains, enabling progress reporting during online backups without dropping to <code>modernc.org/sqlite/lib</code> directly.</li> <li>See [GitLab merge request <a href="https://gitlab.com/cznic/sqlite/issues/122">#122</a>](<a href="https://gitlab.com/cznic/sqlite/-/merge_requests/122">https://gitlab.com/cznic/sqlite/-/merge_requests/122</a>), thanks Ian Chechin!</li> <li>Drop the redundant second copy in <code>(*conn).columnText</code>, the path that backs every <code>Rows.Scan</code> into a Go <code>string</code> for a TEXT column. The value's bytes are still copied once out of SQLite-owned memory into a fresh Go buffer; that buffer is then reinterpreted as the result string with <code>unsafe.String</code> rather than copied a second time by the implicit <code>string([]byte)</code> conversion. This removes one allocation per TEXT value per row and roughly halves the bytes allocated on that path; on the new <code>BenchmarkColumnTextScan</code> cases it is ~13–20% faster for payloads of 256 B and larger, with no measurable change for very short strings. Purely internal: no API or behavioral change, and the returned string never aliases SQLite's buffer.</li> <li>See [GitLab merge request <a href="https://gitlab.com/cznic/sqlite/issues/123">#123</a>](<a href="https://gitlab.com/cznic/sqlite/-/merge_requests/123">https://gitlab.com/cznic/sqlite/-/merge_requests/123</a>), thanks Ian Chechin!</li> <li>Cache each result column's declared type once per result set in <code>newRows</code> instead of recomputing it on every row. The TEXT branch of <code>Rows.Next</code> calls <code>ColumnTypeDatabaseTypeName</code> for every TEXT column on every row (independent of any DSN flag), which previously did a <code>libc.GoString</code> + <code>strings.ToUpper</code> each time; that lookup is now a single index into a cached, pre-uppercased <code>[]string</code>, and <code>ColumnTypeScanType</code> reads the same cache and drops its per-call <code>strings.ToLower</code>. The declared type is fixed for the lifetime of a prepared statement, so the C round-trip is paid once per column rather than once per column per row, removing exactly 1 alloc + 8 B per TEXT column per row from the <code>Next</code> hot path. The new <code>BenchmarkTextToTimeScan</code> cases show ~7% faster on a 1000-row DATETIME SELECT under <code>_texttotime=1</code>. Purely internal: <code>ColumnTypeDatabaseTypeName</code> and <code>ColumnTypeScanType</code> return identical values, no API or behavioral change.</li> <li>See [GitLab merge request <a href="https://gitlab.com/cznic/sqlite/issues/124">#124</a>](<a href="https://gitlab.com/cznic/sqlite/-/merge_requests/124">https://gitlab.com/cznic/sqlite/-/merge_requests/124</a>), thanks Ian Chechin!</li> <li>Cache, per result column, the <code>parseTimeFormats</code> index that first parsed a TEXT-stored DATE/DATETIME/TIMESTAMP value, and try that format first on later rows instead of re-walking the list from the top. <code>(*conn).parseTime</code> previously ran <code>time.Parse</code> down the format list on every such row; for the canonical SQLite TEXT datetime format every row paid two failed <code>time.Parse</code> attempts — each allocating a <code>*time.ParseError</code> — before the match. On a 1000-row DATETIME TEXT SELECT this cuts ~50% of allocs/op and ~57% of B/op and is ~37% faster. The fall-through chain is preserved exactly: the seven formats are mutually exclusive, so the cached hint can never select a different match than the in-order scan, and the parsed <code>driver.Value</code> is identical to before. Purely internal: no API or behavioral change.</li> <li>See [GitLab merge request <a href="https://gitlab.com/cznic/sqlite/issues/125">#125</a>](<a href="https://gitlab.com/cznic/sqlite/-/merge_requests/125">https://gitlab.com/cznic/sqlite/-/merge_requests/125</a>), thanks Ian Chechin!</li> </ul> </li> <li> <p>2026-05-28 v1.51.0:</p> <ul> <li>Pool the <code>[]driver.Value</code> slice passed to scalar/aggregate UDF callbacks and to vtab <code>Filter</code>/<code>Insert</code>/<code>Update</code> callbacks, eliminating the dominant per-row allocation on UDF-heavy queries. Benchmarks on a 1000-row, 3-arg noop scalar UDF show ~40% fewer bytes/op and ~15% fewer allocs/op.</li> <li>Document the matching "arguments are not valid past return" contract on <code>vtab.Cursor.Filter</code> and <code>vtab.Updater.Insert</code>/<code>Update</code>, consistent with the existing rule for <code>FunctionImpl.Scalar</code> / <code>AggregateFunction.Step</code> / <code>WindowInverse</code>.</li> <li>Resolves [GitLab issue <a href="https://gitlab.com/cznic/sqlite/issues/226">#226</a>](<a href="https://gitlab.com/cznic/sqlite/-/issues/226">https://gitlab.com/cznic/sqlite/-/issues/226</a>). See [GitLab merge request <a href="https://gitlab.com/cznic/sqlite/issues/114">#114</a>](<a href="https://gitlab.com/cznic/sqlite/-/merge_requests/114">https://gitlab.com/cznic/sqlite/-/merge_requests/114</a>), thanks Ian Chechin!</li> <li>Add <code>FileControl.FileControlDataVersion</code>, a wrapper around <code>SQLITE_FCNTL_DATA_VERSION</code> for observing pager-cache data-version changes, including those made on the same connection. Useful as a primitive for application-level cache invalidation.</li> <li>Exposed via the idiomatic <code>database/sql</code> escape hatch <code>(*sql.Conn).Raw()</code>, consistent with the existing <code>FileControlPersistWAL</code>.</li> <li>See [GitLab merge request <a href="https://gitlab.com/cznic/sqlite/issues/115">#115</a>](<a href="https://gitlab.com/cznic/sqlite/-/merge_requests/115">https://gitlab.com/cznic/sqlite/-/merge_requests/115</a>), thanks Ian Chechin!</li> <li>Fix a regression where in-memory connections (<code>:memory:</code>, <code>file::memory:</code>, shared-cache memory URIs) were discarded by <code>database/sql</code> after a context-cancelled query, taking the entire in-memory store with them. The fix for <a href="https://gitlab.com/cznic/sqlite/issues/198">#198</a> had added an <code>sqlite3_is_interrupted</code> check to the connection validator that mistakenly applied to in-memory connections too, re-introducing the bug originally fixed by !74. File-backed connections keep the existing behaviour and are still discarded after an interrupt.</li> <li>Resolves [GitLab issue <a href="https://gitlab.com/cznic/sqlite/issues/196">#196</a>](<a href="https://gitlab.com/cznic/sqlite/-/issues/196">https://gitlab.com/cznic/sqlite/-/issues/196</a>). See [GitLab merge request <a href="https://gitlab.com/cznic/sqlite/issues/116">#116</a>](<a href="https://gitlab.com/cznic/sqlite/-/merge_requests/116">https://gitlab.com/cznic/sqlite/-/merge_requests/116</a>), thanks Ian Chechin!</li> <li>Add an opt-in <code>FunctionImpl.VolatileArgs</code> flag that hands TEXT and BLOB arguments to scalar and aggregate UDF callbacks as zero-copy views (<code>unsafe.String</code>/<code>unsafe.Slice</code>) over SQLite's own value buffers, eliminating the per-argument <code>libc.GoString</code>/<code>make([]byte)</code> copy that the <a href="https://gitlab.com/cznic/sqlite/issues/226">#226</a> slice-pooling left as the remaining per-row allocation. On the same 1000-row, 3-arg (INTEGER/TEXT/BLOB) noop scalar UDF this removes a further ~35% of allocs/op and ~11% of bytes/op on top of <a href="https://gitlab.com/cznic/sqlite/issues/226">#226</a>.</li> </ul> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://gitlab.com/cznic/sqlite/commit/6b32d1ee965dfe59bf2e50baeb6f451b67d6a71e"><code>6b32d1e</code></a> CHANGELOG.md: document experimental freebsd/386 + freebsd/arm (<a href="https://gitlab.com/cznic/sqlite/issues/119">#119</a>)</li> <li><a href="https://gitlab.com/cznic/sqlite/commit/697300ffaa56b03b79e490dc960f218794cb2a75"><code>697300f</code></a> Merge branch 'dbstatus-binding' into 'master'</li> <li><a href="https://gitlab.com/cznic/sqlite/commit/759639fa15658feabd8218bc766768fc383b3c12"><code>759639f</code></a> sqlite: review fixes for !132 — restore <a href="https://gitlab.com/cznic/sqlite/issues/131">#131</a> CHANGELOG link, correct DBStatus...</li> <li><a href="https://gitlab.com/cznic/sqlite/commit/40ff0274c43e4f7771456e5c2a06ed669605b797"><code>40ff027</code></a> sqlite: add DBStatus wrapper for sqlite3_db_status + pcache spill-I/O benchmark</li> <li><a href="https://gitlab.com/cznic/sqlite/commit/6a28fe7d28a1c7de553ae4d9dc797f59c45f3563"><code>6a28fe7</code></a> HACKING.md: document CHANGELOG versioning + MR integration flow</li> <li><a href="https://gitlab.com/cznic/sqlite/commit/adff4b17551c6663f85f2b13400a44887c91a440"><code>adff4b1</code></a> Merge branch 'pcache-shared-cache-draft' into 'master'</li> <li><a href="https://gitlab.com/cznic/sqlite/commit/14e5790eee01be325551a5ffa20d3c9788bc6135"><code>14e5790</code></a> vendor: regenerate freebsd/arm vec at SQLite 3.53.2</li> <li><a href="https://gitlab.com/cznic/sqlite/commit/8725c22279f2bbcac7a9c661787bd3f69d66ea6d"><code>8725c22</code></a> Add freebsd/386 + freebsd/arm targets</li> <li><a href="https://gitlab.com/cznic/sqlite/commit/73050dce0e8a597fea764c9b1d98689d3387f15a"><code>73050dc</code></a> Merge branch 'pcache-pool-polish' into 'master'</li> <li><a href="https://gitlab.com/cznic/sqlite/commit/1897fdd636a034eeb5dde210365c0018ebfae09c"><code>1897fdd</code></a> CHANGELOG.md: consolidate untagged v1.53.0/v1.54.0 into one v1.53.0 section</li> <li>Additional commits viewable in <a href="https://gitlab.com/cznic/sqlite/compare/v1.52.0...v1.53.0">compare view</a></li> </ul> </details> <br /> 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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 <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
81858aa542 |
docs: fix broken OAuth2/OIDC policy examples (#8840)
## What / Why
The examples on the OAuth2/OIDC guide (`docs/docs/oauth-oidc.md`) fail
to compile on current OPA (v1+):
1. `claims := jwt.decode(input.token)[1]` uses an undefined built-in.
The correct name is `io.jwt.decode`, which the same page already uses
correctly further down (`jwt_unverified := io.jwt.decode(input.token)`).
2. The `jwt_verified := jwt_unverified { ... }` and `token := t { ... }`
rules are missing the `if` keyword required before a rule body in Rego
v1, so they fail to parse (`'if' keyword is required before rule body`).
## Changes
- `jwt.decode` -> `io.jwt.decode`
- add `if` before the `jwt_verified` and `token` rule bodies
These are minimal, semantics-preserving fixes so the copy-pasteable
examples work on a current OPA release.
Signed-off-by: Nikhil Jathar <22786232+mailnike@users.noreply.github.com>
|
||
|
|
c498b548ca |
ecosystem: add Sencillo projects to ecosystem (#8818)
### What are the changes in this PR? Just adding a couple of my projects to the ecosystem page. Signed-off-by: John Hooks <hooksie11@gmail.com> |
||
|
|
b7c9658c4e |
perf: reduce allocations in index lookup (#8835)
While we previously cached and reused trie traveral result from indexing lookups, simply `clear`ing the tr.unordered map meant we still had to allocate every time we appended to its slice values. This change fixes that, along with some general cleanups in index.go — including an audacious attempt to sneak in `util.Or` from Regal! The improvement should reflect nicely across many benchmarks in OPA, as pretty much all evaluations do indexing lookups. The Regal benchmark is quite convincing, with 800k allocations saved in linting the Regal bundle: ``` 449648097 ns/op 1234775834 B/op 34886194 allocs/op 449672806 ns/op 1226927914 B/op 34045124 allocs/op ``` Signed-off-by: Anders Eknert <anders.eknert@apple.com> |
||
|
|
23a4e62676 |
Add Dockerfile.rego to validate image builds (#8744)
OPA's Docker images are built with `docker buildx`, which supports Rego-based build policies via `Dockerfile.rego`. Adding this file lets OPA validate its own image builds using OPA — enforcing that base images come only from the approved chainguard namespace. Adds `Dockerfile.rego` with a single deny rule: base images must come from `docker.io/chainguard/`. This covers all four variants built in the Makefile (`glibc-dynamic`, `glibc-dynamic:latest-dev`, `static`, `busybox`). Local build context access (used by `COPY`) is allowed implicitly when no deny rule fires. The policy follows the same `decision` shape used by buildx's own `policy/default.rego`. No changes to other files are needed — buildx automatically evaluates `Dockerfile.rego` when present. Closes #8401. Signed-off-by: jasdeepbhalla <jasdeepbhalla@gmail.com> |
||
|
|
39811e50db |
workflows: prune benchmarks to last 250 runs
To avoid this: ``` 📷 Committing and pushing new benchmark data... [benchmarks 745914423] add benchmark run for |
||
|
|
21fe862a52 |
planner: Support and/or logical operators (#8827)
Fixes: #8681 --------- Signed-off-by: Johan Fylling <johan.dev@fylling.se> |
||
|
|
1783ac26de |
build(deps): bump linkify-it from 5.0.0 to 5.0.1 in /docs
Bumps [linkify-it](https://github.com/markdown-it/linkify-it) from 5.0.0 to 5.0.1. - [Changelog](https://github.com/markdown-it/linkify-it/blob/master/CHANGELOG.md) - [Commits](https://github.com/markdown-it/linkify-it/compare/5.0.0...5.0.1) --- updated-dependencies: - dependency-name: linkify-it dependency-version: 5.0.1 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> |