Commit Graph

6163 Commits

Author SHA1 Message Date
Stephan Renatus 7c48e417ea wasm: updates (LLVM+tools) (#8295)
* wasm: update wabt and binaryen in builder image
* wasm: bump ubuntu and llvm
* wasm: bump LLVM 13 -> 21, adjust headers
* wasm: make docker optional

We depend on it in our builds, but if you happen to bring

clang (LLVM 21)
clang++ (LLVM 21)
wasm-ld (LLVM 21)
wasm2wat (wabt)
wasm-opt (binaryen)
node

you should be able to build the opa.wasm blob without the docker image.


Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2026-02-05 15:31:23 +01:00
Charlie Egan b29b1dad76 docs/website: Markdown linting and spell checking for documentation (#8292)
* Add markdownlint tooling to docs

Install markdownlint-cli2 with configuration file and make targets for
auto fix etc too.

Signed-off-by: Charlie Egan <charlie_egan@apple.com>

* Autofixable markdown issues

mainly, replace tabs with spaces for consistent 2-space indentation

Signed-off-by: Charlie Egan <charlie_egan@apple.com>

* MD059

Signed-off-by: Charlie Egan <charlie_egan@apple.com>

* Fix a number of <link> issues

Signed-off-by: Charlie Egan <charlie_egan@apple.com>

* MD041

Signed-off-by: Charlie Egan <charlie_egan@apple.com>

* MD041

Signed-off-by: Charlie Egan <charlie_egan@apple.com>

* MD046

Signed-off-by: Charlie Egan <charlie_egan@apple.com>

* MD025

Signed-off-by: Charlie Egan <charlie_egan@apple.com>

* MD052

Signed-off-by: Charlie Egan <charlie_egan@apple.com>

* MD028

Signed-off-by: Charlie Egan <charlie_egan@apple.com>

* MD001

Signed-off-by: Charlie Egan <charlie_egan@apple.com>

* Add GH action check in PRs

Signed-off-by: Charlie Egan <charlie_egan@apple.com>

* Use 4 spaces for tabs

Signed-off-by: Charlie Egan <charlie_egan@apple.com>

* Use 4 spaces for tabs

Signed-off-by: Charlie Egan <charlie_egan@apple.com>

* docs: Add spell checking using Vale

Signed-off-by: Charlie Egan <charlie_egan@apple.com>

* Correct comment for space indentation rule

Signed-off-by: Charlie Egan <charlie_egan@apple.com>

---------

Signed-off-by: Charlie Egan <charlie_egan@apple.com>
2026-02-05 10:20:13 +00:00
Stephan Renatus 3eefe047e1 build: bump go 1.25.6 -> 1.25.7
https://groups.google.com/g/golang-announce/c/K09ubi9FQFk

Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2026-02-05 08:23:51 +01:00
Sebastian Spaink d4e20cc7b0 Add config option to disable named inter-query built-in cache (#8287)
Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com>
2026-02-04 11:11:59 -06:00
Anders Eknert 42320981ff Various minor eval performance tweaks (#8290)
Some changes that I've had locally for a while, and that I think should be safe.

- Have comprehensions that evaluate to empty collections return interned variants.
- Avoid allocating temporary term in hasCollisions just for doing a lookup
- Avoid calling trace functions in evalEvery when not enabled, as these pass an ast.Body that gets boxed and allocates

The results is about 120K less allocs in `regal lint bundle`. Not a huge impact,
but a nice one nonetheless.

Signed-off-by: Anders Eknert <anders.eknert@apple.com>
2026-02-04 10:46:47 +00:00
dependabot[bot] a3c499d9b2 build(deps): bump @isaacs/brace-expansion from 5.0.0 to 5.0.1 in /docs (#8291)
Bumps @isaacs/brace-expansion from 5.0.0 to 5.0.1.

---
updated-dependencies:
- dependency-name: "@isaacs/brace-expansion"
  dependency-version: 5.0.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-03 14:00:44 -06:00
Charlie Egan b1eb646ddc docs/website: Add formatting and linting checks (#8288)
* Update baseline-browser-mapping to version 2.9.19

Addresses issue in build

[baseline-browser-mapping] The data in this module is over two
months old.  To ensure accurate Baseline data, please update: `npm i
baseline-browser-mapping@latest -D`

Signed-off-by: Charlie Egan <charlie_egan@apple.com>

* Add fmt and lint config for docs

This is based on dprint and eslint. Some vendored paths are ignored.

Signed-off-by: Charlie Egan <charlie_egan@apple.com>

* Format and lint docs project

Markdown linting will be added in another PR.

Signed-off-by: Charlie Egan <charlie_egan@apple.com>

---------

Signed-off-by: Charlie Egan <charlie_egan@apple.com>
2026-02-03 17:01:54 +00:00
Charlie Egan 071f4ea99b docs: Update broken links (#8285)
* Update Regal documentation

Sync documentation with upstream Regal repository to reflect latest changes.

This addresses a number of broken link issues from the checker before.

Signed-off-by: Charlie Egan <charlie_egan@apple.com>

* docs: Update release links

these links create some issues in the link checker report.

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

```
Errors in ./docs/docs/deploy/aws/ec2.mdx

[404] https://github.com/open-policy-agent/opa/releases/download/v%7B%7Bversion%7D%7D/opa_linux_amd64 | Rejected status code (this depends on your "accept" configuration): Not Found
Errors in ./docs/docs/deploy/azure/vm.mdx

[404] https://github.com/open-policy-agent/opa/releases/download/v%7B%7Bversion%7D%7D/opa_linux_amd64 | Error (cached)
Errors in ./docs/docs/deploy/google-cloud/gce.mdx

[404] https://github.com/open-policy-agent/opa/releases/download/v%7B%7Bversion%7D%7D/opa_linux_amd64 | Error (cached)
```

These are not actually broken, they are just untemplated when the checker sees them.

I figured since they are long lines we can use use a $REPO variable instead,
to ensure that we only have valid https:// starting links on those pages.

Signed-off-by: Charlie Egan <charlie_egan@apple.com>

* Remove broken blog link

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

this link appears to be gone with no redirect.

Signed-off-by: Charlie Egan <charlie_egan@apple.com>

* docs: Fix outdated and broken documentation URLs

Update various documentation links, SlideShare links, and external references
that were resulting in redirects.

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

Signed-off-by: Charlie Egan <charlie_egan@apple.com>

* Update broken regal links

The other rules are using abs links here.

Signed-off-by: Charlie Egan <charlie_egan@apple.com>

---------

Signed-off-by: Charlie Egan <charlie_egan@apple.com>
2026-02-03 16:58:04 +00:00
Stephan Renatus c90bfeb91a ast: fix double-fix for refs["with-a"].dash as package
Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2026-02-02 20:53:28 +01:00
Stephan Renatus e426fd7c76 run: support --h2c with unix domain socket (UDS)
When `--h2c` is passed, HTTP2 will also be used on the unix domain socket.
Previously, it had no effect on UDS, only on TCP connections.

Fixes #8282.

Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2026-02-02 15:47:13 +01:00
dependabot[bot] 8cee296203 build(deps): bump github.com/lib/pq
Bumps the dependencies group with 1 update in the /e2e directory: [github.com/lib/pq](https://github.com/lib/pq).


Updates `github.com/lib/pq` from 1.10.9 to 1.11.1
- [Release notes](https://github.com/lib/pq/releases)
- [Changelog](https://github.com/lib/pq/blob/master/CHANGELOG.md)
- [Commits](https://github.com/lib/pq/compare/v1.10.9...v1.11.1)

---
updated-dependencies:
- dependency-name: github.com/lib/pq
  dependency-version: 1.11.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-02 13:48:07 +01:00
dependabot[bot] e86c554932 build(deps): bump the gha-dependencies group with 5 updates
Bumps the gha-dependencies group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout) | `5.0.0` | `6.0.2` |
| [actions/setup-go](https://github.com/actions/setup-go) | `6.0.0` | `6.2.0` |
| [actions/setup-node](https://github.com/actions/setup-node) | `6.1.0` | `6.2.0` |
| [github/codeql-action](https://github.com/github/codeql-action) | `4.31.9` | `4.32.0` |
| [mlugg/setup-zig](https://github.com/mlugg/setup-zig) | `2.1.0` | `2.2.1` |


Updates `actions/checkout` from 5.0.0 to 6.0.2
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v5...v6.0.2)

Updates `actions/setup-go` from 6.0.0 to 6.2.0
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v6...7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5)

Updates `actions/setup-node` from 6.1.0 to 6.2.0
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/395ad3262231945c25e8478fd5baf05154b1d79f...6044e13b5dc448c55e2357c09f80417699197238)

Updates `github/codeql-action` from 4.31.9 to 4.32.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/5d4e8d1aca955e8d8589aabd499c5cae939e33c7...b20883b0cd1f46c72ae0ba6d1090936928f9fa30)

Updates `mlugg/setup-zig` from 2.1.0 to 2.2.1
- [Release notes](https://github.com/mlugg/setup-zig/releases)
- [Commits](https://github.com/mlugg/setup-zig/compare/fa65c4058643678a4e4a9a60513944a7d8d35440...d1434d08867e3ee9daa34448df10607b98908d29)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.2
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: gha-dependencies
- dependency-name: actions/setup-go
  dependency-version: 6.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gha-dependencies
- dependency-name: actions/setup-node
  dependency-version: 6.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gha-dependencies
- dependency-name: github/codeql-action
  dependency-version: 4.32.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gha-dependencies
- dependency-name: mlugg/setup-zig
  dependency-version: 2.2.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gha-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-02 13:22:37 +01:00
dependabot[bot] efb8bf8254 build(deps): bump the e2e-prisma group
Bumps the e2e-prisma group in /e2e/api/compile/prisma with 4 updates: [@prisma/adapter-pg](https://github.com/prisma/prisma/tree/HEAD/packages/adapter-pg), [@prisma/client](https://github.com/prisma/prisma/tree/HEAD/packages/client), [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg) and [prisma](https://github.com/prisma/prisma/tree/HEAD/packages/cli).


Updates `@prisma/adapter-pg` from 7.2.0 to 7.3.0
- [Release notes](https://github.com/prisma/prisma/releases)
- [Commits](https://github.com/prisma/prisma/commits/7.3.0/packages/adapter-pg)

Updates `@prisma/client` from 7.2.0 to 7.3.0
- [Release notes](https://github.com/prisma/prisma/releases)
- [Commits](https://github.com/prisma/prisma/commits/7.3.0/packages/client)

Updates `pg` from 8.16.3 to 8.18.0
- [Changelog](https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md)
- [Commits](https://github.com/brianc/node-postgres/commits/pg@8.18.0/packages/pg)

Updates `prisma` from 7.2.0 to 7.3.0
- [Release notes](https://github.com/prisma/prisma/releases)
- [Commits](https://github.com/prisma/prisma/commits/7.3.0/packages/cli)

---
updated-dependencies:
- dependency-name: "@prisma/adapter-pg"
  dependency-version: 7.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: e2e-prisma
- dependency-name: "@prisma/client"
  dependency-version: 7.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: e2e-prisma
- dependency-name: pg
  dependency-version: 8.18.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: e2e-prisma
- dependency-name: prisma
  dependency-version: 7.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: e2e-prisma
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-02 13:22:17 +01:00
Jaydip Gabani 5cfaa87db0 Maintainers: moving nilekhc to emeritus, and renew maintainer terms (#8276)
Signed-off-by: Jaydip Gabani <gabanijaydip@gmail.com>
2026-02-02 11:51:20 +00:00
Anders Eknert 372af639ea dev: Clean up bundle storage tests (#8267)
Not the best side quest I've been on, but for random reasons I wanted to
test which was covered here and I had one of those "people live like this?"
moments. I resisted the temptation of writing a custom DSL for testing, which
while it had made this a *fun* side quest also a rabbit hole. I do like the
cusom `unpack` function for tests though, and I think we should have that
spread to other tests!

Anyway, 2500+ lines of code less to maintain, any my LOC-based salary
increasingly looking like a bad deal.

Signed-off-by: Anders Eknert <anders.eknert@apple.com>
2026-02-01 20:25:10 +00:00
Sebastian Spaink 1c78f93507 Integrate patch and notes for v1.13.1 (#8275)
Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com>
2026-01-30 09:14:54 -06:00
Johan Fylling d795ac2af7 Prepare v1.14.0 development
Signed-off-by: Johan Fylling <johan.dev@fylling.se>
2026-01-29 15:25:28 -06:00
Anders Eknert 881d1f279a docs: fix json.patch target description (#8271)
This built-in can patch any composite type, which the documentation
for the first argument didn't mention.

Signed-off-by: Anders Eknert <anders.eknert@apple.com>
2026-01-29 21:18:58 +01:00
Anders Eknert b624c08b49 Fix issue in array.flatten handling of single item arrays (#8273)
Fixes #8272

Signed-off-by: Anders Eknert <anders.eknert@apple.com>
2026-01-29 19:50:57 +00:00
Johan Fylling a232916c93 Prepare v1.13.0 release (#8268)
Signed-off-by: Johan Fylling <johan.dev@fylling.se>
v1.13.0
2026-01-29 18:00:38 +01:00
Charlie Egan e2acecee3e website: Display 2025 survey results on the website (#8258)
* Add survey data
* Add survey results pages with recharts for plots

Some simple cross year comparisons have been added too where data was available
for the inspection of trends.

Signed-off-by: Charlie Egan <charlie_egan@apple.com>
2026-01-29 12:15:55 +01:00
Sebastian Spaink 0fed5e8e6b ast: Improve type error message when referencing functions (#8253)
Fixes #6840

Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com>
2026-01-29 12:07:54 +01:00
Sebastian Spaink a87219e6cd Enable sorting JSON test results by duration (#8260)
Fixes #7444

Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com>
2026-01-29 11:41:09 +01:00
Charlie Egan 262c4f102f Add redirect section for immutable referrers (#8265)
Published papers are not going to get updated, unlike web pages. So in such
cases I am willing to add a redirect here.

Signed-off-by: Charlie Egan <charlie_egan@apple.com>
2026-01-29 10:04:53 +00:00
Sebastian Spaink 0f48904cb4 Support arrays as input for json.match_schema (#8264)
Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com>
2026-01-29 07:39:00 +00:00
dependabot[bot] cb92be6484 build(deps): bump the dependencies group across 2 directories with 8 updates (#8261)
Bumps the dependencies group with 5 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [github.com/foxcpp/go-mockdns](https://github.com/foxcpp/go-mockdns) | `1.1.0` | `1.2.0` |
| [github.com/huandu/go-sqlbuilder](https://github.com/huandu/go-sqlbuilder) | `1.38.2` | `1.39.0` |
| [github.com/lestrrat-go/jwx/v3](https://github.com/lestrrat-go/jwx) | `3.0.12` | `3.0.13` |
| [github.com/sirupsen/logrus](https://github.com/sirupsen/logrus) | `1.9.4-0.20230606125235-dd1b4c2e81af` | `1.9.4` |
| [golang.org/x/net](https://github.com/golang/net) | `0.48.0` | `0.49.0` |

Bumps the dependencies group with 2 updates in the /e2e directory: [github.com/microsoft/go-mssqldb](https://github.com/microsoft/go-mssqldb) and [modernc.org/sqlite](https://gitlab.com/cznic/sqlite).


Updates `github.com/foxcpp/go-mockdns` from 1.1.0 to 1.2.0
- [Release notes](https://github.com/foxcpp/go-mockdns/releases)
- [Commits](https://github.com/foxcpp/go-mockdns/compare/v1.1.0...v1.2.0)

Updates `github.com/huandu/go-sqlbuilder` from 1.38.2 to 1.39.0
- [Release notes](https://github.com/huandu/go-sqlbuilder/releases)
- [Commits](https://github.com/huandu/go-sqlbuilder/compare/v1.38.2...v1.39.0)

Updates `github.com/lestrrat-go/jwx/v3` from 3.0.12 to 3.0.13
- [Release notes](https://github.com/lestrrat-go/jwx/releases)
- [Changelog](https://github.com/lestrrat-go/jwx/blob/develop/v3/Changes)
- [Commits](https://github.com/lestrrat-go/jwx/compare/v3.0.12...v3.0.13)

Updates `github.com/sirupsen/logrus` from 1.9.4-0.20230606125235-dd1b4c2e81af to 1.9.4
- [Release notes](https://github.com/sirupsen/logrus/releases)
- [Changelog](https://github.com/sirupsen/logrus/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sirupsen/logrus/commits/v1.9.4)

Updates `golang.org/x/net` from 0.48.0 to 0.49.0
- [Commits](https://github.com/golang/net/compare/v0.48.0...v0.49.0)

Updates `golang.org/x/text` from 0.32.0 to 0.33.0
- [Release notes](https://github.com/golang/text/releases)
- [Commits](https://github.com/golang/text/compare/v0.32.0...v0.33.0)

Updates `github.com/microsoft/go-mssqldb` from 1.9.5 to 1.9.6
- [Release notes](https://github.com/microsoft/go-mssqldb/releases)
- [Changelog](https://github.com/microsoft/go-mssqldb/blob/main/CHANGELOG.md)
- [Commits](https://github.com/microsoft/go-mssqldb/compare/v1.9.5...v1.9.6)

Updates `modernc.org/sqlite` from 1.42.2 to 1.44.3
- [Changelog](https://gitlab.com/cznic/sqlite/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/cznic/sqlite/compare/v1.42.2...v1.44.3)

---
updated-dependencies:
- dependency-name: github.com/foxcpp/go-mockdns
  dependency-version: 1.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: github.com/huandu/go-sqlbuilder
  dependency-version: 1.39.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: github.com/lestrrat-go/jwx/v3
  dependency-version: 3.0.13
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: github.com/sirupsen/logrus
  dependency-version: 1.9.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: golang.org/x/net
  dependency-version: 0.49.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: golang.org/x/text
  dependency-version: 0.33.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: github.com/microsoft/go-mssqldb
  dependency-version: 1.9.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: modernc.org/sqlite
  dependency-version: 1.44.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-28 13:29:05 -06:00
Charlie Egan 8e46288dd1 docs: Add header for crypto example to make (#8259)
This makes it consistent with how other examples are presented.

Signed-off-by: Charlie Egan <charlie_egan@apple.com>
2026-01-28 18:31:18 +00:00
Anders Eknert 1c3c9ff7d9 fix: nil *Profiler should not report Enabled()
Not likely to be an issue for anyone but me, but since I stumbled upon
and accidental nil dereference due to this, I might as well fix it. An
uninitialized/nil *Profiler now returns `false` when asked if it's
`Enabled()`, which seems more intuitive to me.

Signed-off-by: Anders Eknert <anders.eknert@apple.com>
2026-01-28 08:38:07 +01:00
wasm-updater a379e77af2 wasm: Update generated binaries 2026-01-27 21:47:56 +00:00
Anders Eknert d0350b326e Add array.flatten built-in function (#8232)
Originally meant to be `array.concat_n`, but this name is better
as the behavior of this function differs from `array.concat` —
namely that `array.flatten` accepts any type of valued in the
input array. Only arrays are however flattened, and the rest
are appended directly to the flattened output.

Note that this function only flattens at the topmost level of
the input array — not recursively! A cursory look
at a few other languages suggest a single level is the common case.
But if others feel we should flstten more, I'm happy to make an update.

The C code for a Wasm implementstion here is cowboy coded, and
I did not manage to run the tests on my machine due to some
`docker` <-> `container` differences. I mostly just imitated
the existing code in the array category. I doubt it'll work
on the first try, but only CI can judge me.

Also:
- Remove `opa fmt` step from the Rego CI step, as this is done by
  Regal anyway a little later in the list of tasks.
- Replace some hard-coded `docker` names in the `Makefile` with `$(DOCKER)`
- Added name of built-in function missing to the unsupportedBuiltinErr
  error, as it has happened a few times now that I've used `:=` in a
  query, and had no clue what built-in it referred to.

Fixes #8226

Signed-off-by: Anders Eknert <anders.eknert@apple.com>
2026-01-27 21:46:11 +00:00
Sebastian Spaink b2f2e73944 plugin/decision: upload events as soon as a chunk is ready (#8110)
This introduces a new trigger mode for the decision log plugin:

decision_logs.reporting.trigger=immediate

The immediate trigger mode will upload events as soon as enough events are received to hit the configured upload limit. If not enough events are received within the configured min-max delay, the events received so far are flushed and uploaded.

Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com>
2026-01-27 10:37:35 -06:00
Andy Sims 653453a37a docs: explain how to use the SDK without a initialising a server (#8248)
It's possible to read in policies from the filesystem, but there's no
detail on how to do this in the current documentation. Adding this
provides more information for use cases where features of the server
(e.g. dynamic bundle loading) are not important to the user.

Signed-off-by: Andrew Sims <andrew@flip.com.au>
2026-01-26 16:40:28 -06:00
alex60217101990 f7d43c22b8 topdown: eliminate closure allocations in Set and virtual doc enumeration (#8242)
Replace closure allocations in evalTree.enumerate with method values
for Set iteration and virtual document traversal. Set enumeration now
uses Slice() instead of Iter(callback), and virtual doc enumeration
uses enumerateNext helper instead of inline closures.

Add BenchmarkEnumerateComprehensions to measure memory impact of
closure optimizations in evalTree.enumerate with set/array
comprehensions over large datasets. 

Signed-off-by: alex60217101990 <alex6021710@gmail.com>
2026-01-22 20:13:02 +00:00
dependabot[bot] b6bc37a9b5 build(deps): bump lodash from 4.17.21 to 4.17.23 in /docs (#8241)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.17.23
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-22 10:24:44 -06:00
Stephan Renatus 0b8728be98 ast: fix String() of empty body (#8244)
This gave me a panic,

    panic: runtime error: makeslice: cap out of range

when printing some PE results.

Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2026-01-22 15:28:00 +01:00
Loïc Rosso 3ede316faa feat: do not overwrite file on fmt without changes (#8223)
* feat: do not overwrite file on fmt without changes

When no changes are detected, avoid unnecessary rewrite.

It also help fmt CI tools not to see modified files like treefmt

Signed-off-by: Loïc Rosso <37541460+Loic-R@users.noreply.github.com>

* chore: add tests

Signed-off-by: Loïc Rosso <37541460+Loic-R@users.noreply.github.com>

* chore: fix tests by adding 2 sec sleep time

Signed-off-by: Loïc Rosso <37541460+Loic-R@users.noreply.github.com>

* chore: reduce sleep time, add permission check and better naming

Co-authored-by: Charlie Egan <charlie_egan@apple.com>
Signed-off-by: Loïc Rosso <37541460+Loic-R@users.noreply.github.com>

---------

Signed-off-by: Loïc Rosso <37541460+Loic-R@users.noreply.github.com>
Co-authored-by: Charlie Egan <charlie_egan@apple.com>
2026-01-20 16:54:26 +00:00
Stephan Renatus 35616bf42d docs/ocp: mention source prefix/path options (#8238)
These went in before the first versioned OCP release, but the docs hadn't
been updated.

Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2026-01-19 11:57:04 +01:00
Ville Vesilehto b0d129e172 perf(topdown): avoid redundancy in builtinTrim (#8237)
The builtinTrim function was calling strings.Trim twice: once to check
if the string changed, and again to get the result. This reuses the
already computed trimmed value.

Signed-off-by: Ville Vesilehto <ville@vesilehto.fi>
2026-01-18 11:37:58 +01:00
Ville Vesilehto 7da02b45c5 perf(topdown): reduce allocs in float sum/product (#8235)
The builtinSum and builtinProduct functions previously allocated a new
big.Float on every element when processing non-integer numbers. This
adds NumberToFloatInto helper that reuses a caller-provided big.Float,
reducing allocations and improving throughput for float-heavy
workloads.

Signed-off-by: Ville Vesilehto <ville@vesilehto.fi>
2026-01-18 09:05:27 +01:00
francois-eckert e3c5a6be52 docs: Add authz-spring-boot-starter to Spring Security API ecosystem entry (#8234)
Add Big ACL's authz-spring-boot-starter project to the existing Spring Security API integration entry.

Signed-off-by: francois-eckert <francois-eckert@users.noreply.github.com>
2026-01-17 12:54:14 +01:00
Sebastian Spaink 9f3e4c16ec Type Checker: recognize when a variable has multiple assignments but is an undefined function (#8231)
Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com>
2026-01-17 09:38:47 +00:00
Ville Vesilehto 000055dff0 perf(ast): reduce allocations in With.MarshalJSON
Replace map[string]any with a struct for JSON serialization.

Signed-off-by: Ville Vesilehto <ville@vesilehto.fi>
2026-01-16 13:29:10 +01:00
Stephan Renatus a938b9202e build: bump go 1.25.5 -> 1.25.6
https://groups.google.com/g/golang-announce/c/Vd2tYVM8eUc

Unsure about the TLS issues. Let's just update to err on the safe side.

Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2026-01-16 09:12:14 +01:00
Ville Vesilehto 6a1376875a perf(ast): reduce allocations in Rule.MarshalJSON (#8205)
Replace map[string]any with a struct for JSON serialization.
Same optimization pattern as Term.MarshalJSON and Expr.MarshalJSON.

Signed-off-by: Ville Vesilehto <ville@vesilehto.fi>
2026-01-15 17:09:47 +00:00
Johan Fylling 86b506b4c4 Adding note to rebase and not squash when merging patch release PR
to preserve cherry-picked commits.

Signed-off-by: Johan Fylling <johan.dev@fylling.se>
2026-01-15 14:54:44 +01:00
Sebastian Spaink 4afcfb992b Integrate patch and notes v1.12.3 (#8218)
Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com>
Co-authored-by: Johan Fylling <johan.dev@fylling.se>
2026-01-15 11:33:47 +01:00
dependabot[bot] b5e9f1dedb build(deps): bump undici from 6.21.2 to 6.23.0 in /docs (#8219)
Bumps [undici](https://github.com/nodejs/undici) from 6.21.2 to 6.23.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v6.21.2...v6.23.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 6.23.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-15 10:15:01 +00:00
Stephan Renatus b153edbf4f e2e/prisma: override hono version (trivy repo scan fix)
Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2026-01-15 09:39:54 +01:00
Sebastian Spaink 95280c0fcf allow multiple calls to config.ValidateAndInjectDefaults (#8216)
Add a separate field to keep track of the parsed min and max interval keeping the original fields to represent the user provided values. This prevents multiple calls to config.ValidateAndInjectDefaults from overflowing the values but still makes sure that the value has been converted at least once.

Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com>
2026-01-14 19:37:26 +00:00
Sebastian Spaink 2ce065bc05 plugin/decision: set the correct buffer limit for size buffer during reconfigure (#8213)
Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com>
2026-01-13 17:07:57 +00:00