Commit Graph

6482 Commits

Author SHA1 Message Date
Stephan Renatus c15c1ca12c workflows: use go-version-file with actions/setup-go (#8751)
Just simplifying things a little. Noticed this when putting together
https://github.com/open-policy-agent/opa-envoy-plugin/pull/851

Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2026-06-09 15:52:07 +01:00
ORYGN daf5d97991 docs(ecosystem): update OPA MCP entry with video, blog, and distribution links (#8712)
Updates the OPA MCP ecosystem entry with additional links and an updated
tool count.

## Changes

- Added `videos`: YouTube demo (author, lint, and test a Rego policy end
to end from Claude Desktop)
- Added `blogs`: LinkedIn Pulse article explaining the motivation behind
OPA MCP
- Added npm and Docker Hub to `code` (precedent: `opa-typescript` and
`opa-wasm-js` entries both include npmjs.com links)
- Added Smithery to `code` (primary MCP-ecosystem install path alongside
npm)
- Updated tool count from 32 to 50+ (current release is 52 tools across
7 categories)
- Added Conftest to the CLI list in the description body

Signed-off-by: Daniel Okwor <daniel@orygn.tech>
Co-authored-by: Daniel Okwor <daniel@orygn.tech>
2026-06-08 13:36:43 +01:00
Bennett 3f0e0af343 build(deps): bump golang.org/x/crypto to v0.52.0 and golang.org/x/net to v0.55.0
Both are currently pinned (indirectly) to versions with published advisories:

- golang.org/x/crypto v0.51.0 → v0.52.0 (fixes GO-2026-5005/5006/5017/5019/
  5020/5021/5023 and related — several rated critical).
- golang.org/x/net v0.53.0 → v0.55.0 (fixes GO-2026-5026 and related).

These ship compiled into the released OPA binaries (e.g. the v1.17.0
`-static` image), so container scanners (Grype/Trivy) flag OPA images for
them. `main`'s `.go-version` is already 1.26.4, which covers the Go-stdlib
advisories; this only bumps the two module deps. Produced with
`go get golang.org/x/crypto@latest golang.org/x/net@latest && go mod tidy`.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Bennett <35474536+BGebken@users.noreply.github.com>
2026-06-08 13:52:44 +02:00
Charlie Egan 75202c334c docs: PoC for kapa.ai (#8699)
https://contribute.cncf.io/blog/2026/04/09/reducing-support-tax-cncf-kapa-ai/

Changes to follow shortly, PR open for domain allow listing.

Fixes https://github.com/open-policy-agent/opa/issues/8125

---------

Signed-off-by: Charlie Egan <charlie_egan@apple.com>
2026-06-08 12:06:56 +02:00
Manuela Züger 947f2f6a7c docs/contributing: add formatting (#8740)
### Why the changes in this PR are needed?

The PR pipeline checks if the formatting of docs changes is correct and
instructs developers to fix any discovered formatting issues using the
command `dprint fmt`. Contributors might not be aware of this before
creating the PR, or forget it, resulting in a failing pipeline (for
example
[here](https://github.com/open-policy-agent/opa/actions/runs/27003824827/job/79690783007))
and one more roundtrip, which could be avoided.

### What are the changes in this PR?

This PR adds an instruction to the contribution guideline to run the
`dprint fmt` command to ensure correct formatting.

### Further comments:

There is no issue for that as far as I know. I thought this would be
helpful (also I forgot this already twice 😅 ).

Signed-off-by: Manuela Züger <manuela.zueger@ipt.ch>
2026-06-06 08:47:16 +02:00
Philip Conrad ba8e650e00 compile,planner: improve determinism of plan/wasm bundle builds (#8732)
This commit fixes an issue where `plan` and `wasm` bundle build
targets could produce different output bytes across separate
invocations of `opa build` for the same inputs.

There were two underlying causes, both from Golang random map
iteration order leaking through to the order-sensitive planner.

Causes:
- `compilePlan` (`v1/compile`) and `planQuery` (`v1/rego`) iterated over the
  compiler's module map without sorting keys first. This caused the
  planner to have iteration-dependent variations in output. This was
  fixed by sorting the module names before use.

- `planRules` (`internal/planner`) sorted rules by length of the rule
  name ref, which is not a unique value. Because the sorting of the
  rules was using an unstable sorting algorithm, and the rule names
  were coming from iterating over a `map` type in the rule trie, this
  had edge cases where non-deterministic output ordering could creep
  in. This was fixed by adding a ref `Compare` call as a tie-breaker
  to get a stable sorting order, regardless of iteration order in the
  rule trie.

This commit also adds regression tests that assert plan output is
independent of module and rule ordering. The two fixes are needed
together because both sets of issues hit the planner from different
angles, and are mostly independent of each other.

Signed-off-by: Philip Conrad <philip_conrad@apple.com>
2026-06-05 13:42:13 -04:00
Stephan Renatus 437cae64f8 topdown: remove dst.Compare(src) shortcut
`dst.Compare(src)` calls `sortedKeys()` on both objects, and
`sortedKeys()` re-sorts `dst`'s keys on every call because each
preceding `dst.Insert(...)` resets `sortGuard` (the `sync.Once` that
gates the sort).

Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2026-06-05 10:28:58 +02:00
dependabot[bot] c35f3171a0 build(deps): bump hono in /e2e/api/compile/prisma
Bumps [hono](https://github.com/honojs/hono) from 4.12.18 to 4.12.23.
- [Release notes](https://github.com/honojs/hono/releases)
- [Commits](https://github.com/honojs/hono/compare/v4.12.18...v4.12.23)

---
updated-dependencies:
- dependency-name: hono
  dependency-version: 4.12.23
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-05 08:05:18 +02:00
Philip Conrad 850f198d09 bundle: improve determinism of file_rego_versions patterns with overlap. (#8733)
This commit makes the behavior of pattern selection for
determining `file_rego_versions` from a bundle manifest more
deterministic when the pattern have overlap.

The docs note that when overlapping patterns occur, the result
is undefined. In practice, this meant that the map of patterns
was iterated over in randomized order.

We now iterate over the `file_rego_version` patterns in
lexically-sorted order, which ensures a deterministic result,
even when user-authored glob patterns overlap with each other.

Signed-off-by: Philip Conrad <philip_conrad@apple.com>
2026-06-04 11:47:07 -04:00
Anders Eknert 511fe48b5b ast: Clean up code for value comparisons (#8737)
The `ast.Compare(any, any)` function is a beast better avoided, and the
`any` args type mean some AST values (like strings) escape to the heap
when boxed.

Previous work already ensured it wasn't called too often — this just
moves it further along by having all `ast.Value`s do their own
comparisons with the help of a new function to easily compare 2
different value types.

Also:
- topdown: slightly cheaper object.union_n implementation
- eval: remove unused expr field on evalNot
- eval: rename fmtVarTerm -> fmtVar
- term: remove unused termSlice type
- builtins: cheaper Builtin.Ref()

Signed-off-by: Anders Eknert <anders.eknert@apple.com>
2026-06-04 13:08:57 +00:00
Anders Eknert eb8166fb1c perf: avoid allocations in object.get (#8729)
This change removes the 1-2 heap allocations previously made per call to
the `object.get` built-in function.

Also:
- Slightly tweak `builtins.<Type>Operand` functions to have them pass
the inlining threshold score of 80 — they would previously all score at
81!

Signed-off-by: Anders Eknert <anders.eknert@apple.com>
2026-06-04 14:51:39 +02:00
Charlie Egan c3a407c5d2 website: Add support page disclaimer and sort by date added (#8736)
Signed-off-by: Charlie Egan <charlie_egan@apple.com>
2026-06-04 10:00:16 +00:00
Stephan Renatus 323fb241e9 nightly: use regal@main
Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2026-06-04 11:51:09 +02:00
Johan Fylling 2a41f710e1 oracle: Fix find-definition on expressions inside ast.Not nodes (#8731)
`ast.Node.Location` wasn't properly copied during `ResolveRefs` compiler
stage

Signed-off-by: Johan Fylling <johan.dev@fylling.se>
2026-06-03 17:09:51 +02:00
Charlie Egan 9e103847d0 docs: Update regal docs for 0.41.1 release (#8730)
https://github.com/open-policy-agent/regal/releases/tag/v0.41.1

Signed-off-by: Charlie Egan <charlie_egan@apple.com>
2026-06-03 12:38:12 +00:00
Charlie Egan 27619ae0dc docs: Update built-in index page titles (#8728)
This is for search engine result headings and on-site search titles.

Signed-off-by: Charlie Egan <charlie_egan@apple.com>
2026-06-03 13:28:34 +01:00
Johan Fylling 353033c65c ast: Apply location to inner ast.Not expressions (#8727)
Also fixing locations of and/or expressions.

---------

Signed-off-by: Johan Fylling <johan.dev@fylling.se>
2026-06-03 12:37:20 +02:00
Stephan Renatus 299760c6ab build: bump go 1.26.3 -> 1.26.4
Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2026-06-03 11:59:01 +02:00
dependabot[bot] 44c765e2b7 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.20.0 to 8.21.0
- [Changelog](https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md)
- [Commits](https://github.com/brianc/node-postgres/commits/pg@8.21.0/packages/pg)

---
updated-dependencies:
- dependency-name: pg
  dependency-version: 8.21.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: e2e-prisma
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-03 11:51:54 +02:00
Charlie Egan bcc13280a4 website: Add .md alternate content types for llms (#8725)
This makes the site's content easier to consume from chatbots and coding
harnesses.

This reuses the logic from the copy page content button implemented
previously.

E.g.
https://deploy-preview-8725--openpolicyagent.netlify.app/docs/policy-reference/keywords/contains.md

Signed-off-by: Charlie Egan <charlie_egan@apple.com>
2026-06-02 16:03:07 +01:00
dependabot[bot] c5f72447e5 build(deps): bump the dependencies group across 2 directories with 2 updates
Bumps the dependencies group with 1 update in the / directory: [google.golang.org/grpc](https://github.com/grpc/grpc-go).
Bumps the dependencies group with 1 update in the /e2e directory: [github.com/rogpeppe/go-internal](https://github.com/rogpeppe/go-internal).


Updates `google.golang.org/grpc` from 1.81.0 to 1.81.1
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.81.0...v1.81.1)

Updates `github.com/rogpeppe/go-internal` from 1.14.1 to 1.15.0
- [Release notes](https://github.com/rogpeppe/go-internal/releases)
- [Commits](https://github.com/rogpeppe/go-internal/compare/v1.14.1...v1.15.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-version: 1.81.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: github.com/rogpeppe/go-internal
  dependency-version: 1.15.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-02 12:25:38 +02:00
dependabot[bot] a8d339aa32 build(deps): bump the gha-dependencies group with 3 updates
Bumps the gha-dependencies group with 3 updates: [github/codeql-action](https://github.com/github/codeql-action), [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) and [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action).


Updates `github/codeql-action` from 4.35.3 to 4.36.0
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/e46ed2cbd01164d986452f91f178727624ae40d7...7211b7c8077ea37d8641b6271f6a365a22a5fbfa)

Updates `docker/setup-buildx-action` from 4.0.0 to 4.1.0
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd...d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5)

Updates `zizmorcore/zizmor-action` from 0.5.3 to 0.5.6
- [Release notes](https://github.com/zizmorcore/zizmor-action/releases)
- [Commits](https://github.com/zizmorcore/zizmor-action/compare/b1d7e1fb5de872772f31590499237e7cce841e8e...5f14fd08f7cf1cb1609c1e344975f152c7ee938d)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.36.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gha-dependencies
- dependency-name: docker/setup-buildx-action
  dependency-version: 4.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gha-dependencies
- dependency-name: zizmorcore/zizmor-action
  dependency-version: 0.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gha-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-02 12:18:36 +02:00
Stephan Renatus d04a62b63d workflow: remove tests from docker (edge) image build
Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2026-06-02 11:37:22 +02:00
Charlie Egan 8ee9808acc download/oci: Set Accept headers (#8720)
The ociTarget.Resolve and ociTarget.Fetch methods introduced in the
containerd migration were not setting Accept headers on manifest
requests. Several registries, including ghcr.io, require a manifest
media type in the Accept header and return 404 Not Found without it.

The previous containerd-based implementation set this header
automatically via the docker resolver. The new oras-based custom target
did not replicate that behaviour.

Signed-off-by: Charlie Egan <charlie_egan@apple.com>
2026-06-02 09:20:37 +00:00
Stephan Renatus d474d70750 workflows: bring back docker edge tags for post-merge
Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2026-06-02 11:05:16 +02:00
Philip Conrad 6308609195 internal/edittree: Add recursive tree node recycling. (#8693)
This commit greatly extends the sync.Pool usage within the
EditTree data structure, and adds Dispose calls to the
appropriate call sites within the JSON Patch builtins.

This has a higher cost than the original "just unlink the
nodes" approach, but reduces GC and allocation pressure
when there's lots of churn and deletion operations.

Benchmarks indicate a 5-15% CPU time cost increase, in
exchange for a 15-18%+ reduction in memory usage and allocs.

Signed-off-by: Philip Conrad <philip@chariot-chaser.net>
2026-06-01 15:42:59 -04:00
Charlie Egan 98944a4f44 docs/chore: Remove broken links (#8716)
Fixes https://github.com/open-policy-agent/opa/issues/8714

Signed-off-by: Charlie Egan <charlie_egan@apple.com>
2026-06-01 12:36:58 +00:00
Toby Aurelius f1612417a6 docs: clarify environment variable substitution behaviour (#8713)
Updates documentation to clarify behaviour of unset environment variables
following #7831 and #7786.


Signed-off-by: Toby Aurelius <22025115+taurelius@users.noreply.github.com>
2026-05-29 19:57:44 +02:00
Johan Fylling 48e0e96482 Prepare v1.18.0 development (#8711)
Signed-off-by: Johan Fylling <johan.dev@fylling.se>
2026-05-28 19:08:42 +02:00
Johan Fylling 64a3625d33 Release v1.17.0 (#8710)
Signed-off-by: Johan Fylling <johan.dev@fylling.se>
v1.17.0
2026-05-28 16:48:35 +02:00
Stephan Renatus 68c9de5da0 benchmarks: tweak per-PR benchmark regression check based on pr-check
We can't run them all. It's too much.

Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2026-05-28 12:09:19 +02:00
Stephan Renatus 7fe3066154 server: remove dead code (s.partials) (#8708)
Follow-up to #6300

Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2026-05-28 10:59:54 +02:00
Anders Eknert 37830be801 ast,storage/inmem: Add inmem.NewFromASTObject and add missing string case to ast.InternedValue (#8707)
- Add `inmem.NewFromASTObject` to simplify creating store from AST value
- Add missing string case to `ast.InternedValue`, and some internal
improvements

Signed-off-by: Anders Eknert <anders.eknert@apple.com>
2026-05-28 10:57:37 +02:00
Stephan Renatus 1661f22ba3 ast: add some schema $ref tests
Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2026-05-28 09:49:16 +02:00
Stephan Renatus 3e22f562f1 benchmarks: only run for go changes
Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2026-05-28 09:47:50 +02:00
Stephan Renatus 13aaeabce2 benchmarks: move env vars, remove zizmor-ignore comment
Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2026-05-28 09:47:50 +02:00
Stephan Renatus 93e170868a benchmarks: fix PR message, skip tests
Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2026-05-28 09:47:10 +02:00
Stephan Renatus 4ce3991901 benchmarks: use go tool machinery, add benchstat
Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2026-05-28 09:18:33 +02:00
Stephan Renatus 41df8df4a2 benchmarks: use benchlab for per-PR feedback
Hopefully makes stuff a little more robust.

Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2026-05-28 08:53:39 +02:00
Dionna Amalie Glaze 4e1f9e8100 jsonschema: allow $ref in allOf schemas. (#8698)
Resolve any RefSchema within an AllOf before attempting to merge
schemas. Disregards empty anyOfs as top type.

Fixes #6523.

Signed-off-by: Dionna Glaze <d_glaze@apple.com>
2026-05-27 08:39:51 +02:00
Anders Eknert e07e1ec860 rego: Allow per-eval GenerateJSON function (#8690)
The Rego API's `GenerateJSON` function allows clients to provide custom
logic for transforming an original AST result into whatever format they
may need. Previously this could only be set on the Rego object directly,
meaning that a single prepared query would have to use the same function
for all evaluations. This change adds the option to additionally set an
`EvalGenerateJSON function scoped to individual evaluations, making it
easier to reuse a single prepared query even when the shape of the
result is determined dynamically, by input data, in-policy routing, etc.

Signed-off-by: Anders Eknert <anders.eknert@apple.com>
2026-05-26 16:25:14 +02:00
Anders Eknert 12cad2a326 Remove automaxprocs dependency (#8696)
This is handled natively by Go since 1.25, so this dependency should no
longer be needed. See references below for more information. Only
notable difference seems to be that Go sets a minimum value of 2 while
the automaxprocs lib has a minimum value of 1. Go seems to account for
much more though, so I don't think that difference alone warrants the
inclusion of this dependency. Users who really want GOMAXPROCS=1 can
always set that themselves.

References:
- https://github.com/golang/go/issues/73193
- https://github.com/uber-go/automaxprocs/issues/98

Signed-off-by: Anders Eknert <anders.eknert@apple.com>
2026-05-26 12:37:43 +02:00
Johan Fylling c5cc2d6ca7 ast: and/or compilation (#8695)
Fixes: #8678

Signed-off-by: Johan Fylling <johan.dev@fylling.se>
2026-05-26 11:19:03 +02:00
dependabot[bot] 763aaaab5f build(deps): bump qs from 6.14.1 to 6.14.2 in /docs (#8694)
Bumps [qs](https://github.com/ljharb/qs) from 6.14.1 to 6.14.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/ljharb/qs/blob/main/CHANGELOG.md">qs's
changelog</a>.</em></p>
<blockquote>
<h2><strong>6.14.2</strong></h2>
<ul>
<li>[Fix] <code>parse</code>: mark overflow objects for indexed notation
exceeding <code>arrayLimit</code> (<a
href="https://redirect.github.com/ljharb/qs/issues/546">#546</a>)</li>
<li>[Fix] <code>arrayLimit</code> means max count, not max index, in
<code>combine</code>/<code>merge</code>/<code>parseArrayValue</code></li>
<li>[Fix] <code>parse</code>: throw on <code>arrayLimit</code> exceeded
with indexed notation when <code>throwOnLimitExceeded</code> is true (<a
href="https://redirect.github.com/ljharb/qs/issues/529">#529</a>)</li>
<li>[Fix] <code>parse</code>: enforce <code>arrayLimit</code> on
<code>comma</code>-parsed values</li>
<li>[Fix] <code>parse</code>: fix error message to reflect arrayLimit as
max index; remove extraneous comments (<a
href="https://redirect.github.com/ljharb/qs/issues/545">#545</a>)</li>
<li>[Robustness] avoid <code>.push</code>, use <code>void</code></li>
<li>[readme] document that <code>addQueryPrefix</code> does not add
<code>?</code> to empty output (<a
href="https://redirect.github.com/ljharb/qs/issues/418">#418</a>)</li>
<li>[readme] clarify <code>parseArrays</code> and
<code>arrayLimit</code> documentation (<a
href="https://redirect.github.com/ljharb/qs/issues/543">#543</a>)</li>
<li>[readme] replace runkit CI badge with shields.io check-runs
badge</li>
<li>[meta] fix changelog typo (<code>arrayLength</code> →
<code>arrayLimit</code>)</li>
<li>[actions] fix rebase workflow permissions</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ljharb/qs/commit/bdcf0c7f82387c18ac8fabfccd2f440645cef47b"><code>bdcf0c7</code></a>
v6.14.2</li>
<li><a
href="https://github.com/ljharb/qs/commit/294db90c812ddbe7d7a35d5687c505fd21a2d6a2"><code>294db90</code></a>
[readme] document that <code>addQueryPrefix</code> does not add
<code>?</code> to empty output</li>
<li><a
href="https://github.com/ljharb/qs/commit/5c308e5516c270a78caa6f278465914090f91ec6"><code>5c308e5</code></a>
[readme] clarify <code>parseArrays</code> and <code>arrayLimit</code>
documentation</li>
<li><a
href="https://github.com/ljharb/qs/commit/6addf8cf738d529c54d91f6f3ffb6c1be91bbfdc"><code>6addf8c</code></a>
[Fix] <code>parse</code>: mark overflow objects for indexed notation
exceeding <code>arrayLimit</code></li>
<li><a
href="https://github.com/ljharb/qs/commit/cfc108f662326d6ab540f3545ef0b832baf83cdf"><code>cfc108f</code></a>
[Fix] <code>arrayLimit</code> means max count, not max index, in
<code>combine</code>/<code>merge</code>/`pars...</li>
<li><a
href="https://github.com/ljharb/qs/commit/febb64442a80e49200211fa38d3c96b58024ac77"><code>febb644</code></a>
[Fix] <code>parse</code>: throw on <code>arrayLimit</code> exceeded with
indexed notation when `thr...</li>
<li><a
href="https://github.com/ljharb/qs/commit/f6a7abff1f13d644db9b05fe4f2c98ada6bf8482"><code>f6a7abf</code></a>
[Fix] <code>parse</code>: enforce <code>arrayLimit</code> on
<code>comma</code>-parsed values</li>
<li><a
href="https://github.com/ljharb/qs/commit/fbc5206c25b4d1851cea683f02c10756c521d15a"><code>fbc5206</code></a>
[Fix] <code>parse</code>: fix error message to reflect arrayLimit as max
index; remove e...</li>
<li><a
href="https://github.com/ljharb/qs/commit/1b9a8b4e78c6aff4c22fa559107227f02fd0216a"><code>1b9a8b4</code></a>
[actions] fix rebase workflow permissions</li>
<li><a
href="https://github.com/ljharb/qs/commit/2a35775614e0fb46ac8a3060201a32a7c23a7fda"><code>2a35775</code></a>
[meta] fix changelog typo (<code>arrayLength</code> →
<code>arrayLimit</code>)</li>
<li>Additional commits viewable in <a
href="https://github.com/ljharb/qs/compare/v6.14.1...v6.14.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=qs&package-manager=npm_and_yarn&previous-version=6.14.1&new-version=6.14.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/open-policy-agent/opa/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-25 13:58:44 +02:00
Anders Eknert 7e9ab4ac8c Remove direct x/net dependency (#8697)
We don't need that for h2c anymore, and it was only used in a e2e test.
Still an indirect dependency, but oh well.

Signed-off-by: Anders Eknert <anders.eknert@apple.com>
2026-05-25 09:56:20 +02:00
Johan Fylling bd872b8fb4 ast: and/or parsing (#8687)
resolves: #8677

Signed-off-by: Johan Fylling <johan.dev@fylling.se>
2026-05-22 18:04:34 +02:00
Stephan Renatus 7d918f5718 workflows: fix cache-dependency-path warnings in nightly run
Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2026-05-22 16:40:52 +02:00
Anders Eknert d425213923 perf: avoid allocating in binary and/or when possible (#8689)
Avoid allocation in `&` and `|` calls when either of the operands is an
empty set.

Signed-off-by: Anders Eknert <anders.eknert@apple.com>
2026-05-21 23:00:34 +02:00
Charlie Egan f9155842bc docs: Add explicit address binding to examples (#8688)
Add --addr=0.0.0.0:8181 flag to OPA server commands in Docker Compose
examples. This is needed for OPA >1.0.

Addresses Feedback:
<img width="1358" height="616" alt="Screenshot"
src="https://github.com/user-attachments/assets/8b116c1f-b362-427c-8eff-7888dbbe5c14"
/>

Signed-off-by: Charlie Egan <charlie_egan@apple.com>
2026-05-21 18:33:42 +01:00
Sebastian Spaink 5e04b0f93b Enable pattern validation in json.verify_schema and json.match_schema (#8686)
resolve: https://github.com/open-policy-agent/opa/issues/6089

As a side effect of #4429 `json.match_schema` and `json.verify_schema`
have been silently ignoring the "pattern" keyword.

Updated the internal/gojsonschema project to have pattern validation be
optional to keep it disabled for type checking but enabled for the
builtins. Patterns that RE2 can't compile will fail.

Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com>
2026-05-21 18:36:14 +02:00