Commit Graph

5959 Commits

Author SHA1 Message Date
Stephan Renatus a119f30419 Prepare v1.10.1 release
Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
v1.10.1
2025-11-05 10:06:03 +01:00
Stephan Renatus d1d5a84387 topdown: fix split(..., "")
Fixes https://github.com/open-policy-agent/opa/issues/8018

goos: darwin
goarch: arm64
pkg: github.com/open-policy-agent/opa/v1/topdown
cpu: Apple M4 Max
                                        │ main.bench  │               pr.bench               │
                                        │   sec/op    │   sec/op     vs base                 │
Split-16                                  238.7n ± 1%   254.2n ± 1%  +6.47% (p=0.000 n=10)

                                        │  main.bench  │              pr.bench               │
                                        │     B/op     │    B/op     vs base                 │
Split-16                                  384.0 ± 0%     384.0 ± 0%       ~ (p=1.000 n=10) ¹
¹ all samples are equal

                                        │  main.bench  │              pr.bench               │
                                        │  allocs/op   │ allocs/op   vs base                 │
Split-16                                  14.00 ± 0%     14.00 ± 0%       ~ (p=1.000 n=10) ¹
¹ all samples are equal

Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2025-11-05 09:58:30 +01:00
Johan Fylling e6865c4c9f Prepare v1.10.0 release (#8002)
Signed-off-by: Johan Fylling <johan.dev@fylling.se>
v1.10.0
2025-10-31 14:15:30 +01:00
Stephan Renatus 9b1e7745db Makefile: include linux/arm64 in DOCKER_PLATFORMS
Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2025-10-31 10:57:25 +01:00
Johan Fylling fb4b7d9554 docs: Moving CLI Reference to Operations in TOC (#8001)
Signed-off-by: Johan Fylling <johan.dev@fylling.se>
2025-10-30 11:11:20 +01:00
Charlie Egan c7746a0612 docs: Address some broken anchors (#8000)
Some are runtime generated in the report and so are false positives. But
there are still others that need to be addressed, this is just the easy
ones.

Signed-off-by: Charlie Egan <charlie_egan@apple.com>
2025-10-30 11:04:48 +01:00
Charlie Egan 4aa4554f8e website: Fix build issues (#7999)
There are some build issues related to a new netlify base image.

https://app.netlify.com/projects/openpolicyagent/deploys/69020ac6a2fe410008c643de

Signed-off-by: Charlie Egan <charlie_egan@apple.com>
2025-10-29 15:21:03 +00:00
Stephan Renatus 9a864c6398 compile: add support for "any value at all", as IS NOT NULL (#7998)
* compile: support "equal to whatever" as "IS NOT NULL"

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

This only deals with SQL targets for starters.

This issue also came out of the discussion with @huntkalio.

* compile: expand support for "_ = <unknown>" to prisma

It seems like the translation is pretty straightforward here, so
let's include it.

Reference: https://www.prisma.io/docs/orm/prisma-client/queries/filtering-and-sorting#filter-for-non-null-fields

* docs/compile: mention fragment addition

Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2025-10-29 13:38:28 +01:00
Charlie Egan 882b28738c website: Show latest release rather than edge (#7988)
Reverts https://github.com/open-policy-agent/opa/pull/7848 which was
done to allow new content to land faster.

Signed-off-by: Charlie Egan <charlie_egan@apple.com>
2025-10-29 11:19:23 +00:00
Charlie Egan 087f942f25 docs: Update based on slack feedback (#7990)
* docs: Update policy-reference page with intro

I hope this addresses some of the pain shared in:
https://openpolicyagent.slack.com/archives/C08V59T3NAF/p1761232592164519

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

* docs: Revise server, net, port diagram

We had some valid feedback that this was disjointed with the following
text.

https://openpolicyagent.slack.com/archives/C08V59T3NAF/p1761298015276409

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

* docs: Correct typo in keyword link

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

---------

Signed-off-by: Charlie Egan <charlie_egan@apple.com>
2025-10-29 10:58:16 +00:00
Stephan Renatus 39044ba6b5 server/failtracer: don't assume only being fed two-elem calls
This was overly specific before, and quickly failed when fail events had
not been on of the right sort. Now, we're more lenient.

These would happen, as in https://github.com/orgs/open-policy-agent/discussions/722#discussioncomment-14812737,
when a fail event happened that's unrelated to unknowns lookup, but a
valid failure nonetheless. So this will not lead to a hint. Only fail
events of the previously-expected form could yield hints.

Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2025-10-29 10:57:41 +01:00
Anders Eknert f5eeb07bd2 Refactor hash key equality function (#7969)
This was previously done in several places in a somewhat convoluted way,
which probably made sense at some point. As expected however, a few small
local variations had emerged, and while nothing critical, this code wasn't
very nice to work with.

Some comments stated as the rationale for the design was avoiding allocations,
but those were nowhere to be seen when measured now, meaning there was no good
reason to have it remain this way! It was *quite* nice to be able to merge
the numbers comparsion functions (in particular) together into one!

We now have a unified way for comparing Number values throughout the AST package,
and as an added bonus, `1.0 == 1` is now true consistently for Rego.

See for example @srenatus example in https://github.com/open-policy-agent/opa/issues/4797

```
$ opa eval -fpretty 'count({1.0, 1})'
2
```

Doing the same now gives:
```
$ go run main.go eval -fpretty 'count({1.0, 1})'
1

$ go run main.go eval -fpretty 'count({1.0, 1, 1.000, 1.00000})'
1
```

What I have left out for now is however _presentation_. Meaning that
even though 1.0 and 1 is now treated as the same value, you may still
see either '1' or 1.0' (or whatever) displayed, depending on what was
parsed. Should be easy to fix, but could perhaps be perceived as
surprising... so holding off on that until we've had a discussion on
the topic.

Signed-off-by: Anders Eknert <anders@eknert.com>
2025-10-28 22:30:52 +01:00
Stephan Renatus 7c5ccbe9da ast/capabilities: remove stale comment (#7994)
This has been dealt with since, it seems. The linked issue is
closed.

Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2025-10-28 14:06:37 +01:00
Manuela Züger fea69a4ce4 Fix benchmark test which was introduced with PR 7970 (#7993)
Related to issue: #7433

Signed-off-by: Manuela Züger <manuela.zueger@ipt.ch>
2025-10-27 18:03:28 -05:00
Q bafd4db332 fix runtime tests: close watcher & set default GracefulShutdownPeriod (#7991)
* runtime server: close watcher
* add default GracefulShutdownPeriod to avoid immediate context deadline exceed

Signed-off-by: Max Qian <zq2@illinois.edu>
2025-10-27 13:07:55 -05:00
Manuela Züger 2a5ecb4127 Fix: Raise parse error on infix operator in rule name (#7970)
Fixes: #7433

Signed-off-by: Manuela Züger <manuela.zueger@ipt.ch>
2025-10-27 12:25:30 +01:00
Sebastian Spaink 9cdbe568da fix "Post Merge": setup go for ci-build-windows (#7987)
Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com>
2025-10-20 13:29:55 -05:00
Sebastian Spaink d87fe315c3 fix "Post Merge": add generate step for windows build
Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com>
2025-10-18 08:13:49 +02:00
Sebastian Spaink 62e3e09e5d hurray! (#7984)
Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com>
2025-10-17 13:17:33 -05:00
Sebastian Spaink c2d1614a19 Add zig to post-merge github action
Signed-off-by: Sebastian Spaink <sebastianspaink@gmail.com>
2025-10-16 20:39:56 +02:00
Stephan Renatus d9ff3190d5 deps(build): bump wasmtime-go: v3 -> v37, crossbuild with zig
Due the way that wasmtime-go does its versioning, it seems to fly under
the radar of dependabot: that will never propose major version bumps, I
suppose.

Signed-off-by: Stephan Renatus <stephan@styra.com>
2025-10-16 19:17:21 +02:00
Stephan Renatus 423d021464 workflow/post-tag: build arm64 binaries for linux/darwin, too
Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2025-10-16 11:38:17 +02:00
Stephan Renatus 626eb54b76 vendor/: remove
Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2025-10-16 10:44:33 +02:00
Stephan Renatus ef9c6303fb docs/devel: update for removed vendor/
Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2025-10-16 10:44:33 +02:00
Stephan Renatus f2f3c265fb docs/index: update some download instructions (re: arm64 <-> static)
While the static binaries will not go away, let's steer people towards
the binaries with less confusing names, now that we (are going to) have
them.

Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2025-10-16 10:34:05 +02:00
Stephan Renatus ea8afef531 build: non-static images for linux/arm64
Previously, we excluded this because github had no arm64 runners,
and our maintainers had no access to arm64 machines. These days,
both is no longer a problem.

If we do this, you can finally pull openpolicyagent/opa:latest on
macos/arm64 without a platform warning (and emulation). Before,
you had to resort to using :latest-static, which is somewhat non-
intuitive.

Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2025-10-16 10:34:05 +02:00
Anders Eknert 333d15394e perf: Zero alloc AST store lookups of interned path terms
We should invest some time in understanding how to better utilize this in
OPA. But for the time being, this at least allows clients like Regal to avoid
allocating for lookups when terms in the path are already interned by them.

Also added the string "10" to the set of interned strings, as I found that was
missing :) And a cosmetic fix in the parser code.

Benchmarks found in the code.

Signed-off-by: Anders Eknert <anders@eknert.com>
2025-10-15 12:59:58 +02:00
Stephan Renatus 8853b19a12 e2e/authz,topdown: fix benchmarks (#7980)
Before, we'd see these benchmarks die with

    benchmark.go:412: B.Loop called with timer stopped

Now, we can run them again:

```
% go test -bench=. -v -run=XXX ./v1/test/e2e/authz
{
  "level": "info",
  "msg": "Test server ready and listening on: http://127.0.0.1:64200",
  "time": "2025-10-15T11:44:06+02:00"
}
goos: darwin
goarch: arm64
pkg: github.com/open-policy-agent/opa/v1/test/e2e/authz
cpu: Apple M4 Max
BenchmarkRESTAuthzForbidAuthn
BenchmarkRESTAuthzForbidAuthn-16           22623             52375 ns/op
BenchmarkRESTAuthzForbidPath
BenchmarkRESTAuthzForbidPath-16            16729             71916 ns/op
BenchmarkRESTAuthzForbidMethod
BenchmarkRESTAuthzForbidMethod-16          16434             72963 ns/op
BenchmarkRESTAuthzAllow10Paths
BenchmarkRESTAuthzAllow10Paths-16          15883             74936 ns/op
BenchmarkRESTAuthzAllow100Paths
BenchmarkRESTAuthzAllow100Paths-16         10000            109283 ns/op
BenchmarkRESTAuthzAllow1000Paths
BenchmarkRESTAuthzAllow1000Paths-16         2731            462167 ns/op
PASS
ok      github.com/open-policy-agent/opa/v1/test/e2e/authz      13.349s
```

Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2025-10-15 12:47:08 +02:00
Stephan Renatus 2226e190e4 build: bump golang 1.25.2 -> 1.25.3
https://groups.google.com/g/golang-announce/c/YEyj6FUNbik

Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2025-10-15 11:33:40 +02:00
David Schmitt 89fbc02071 v1/ast: Fix "undeclared" error when printing nested comprehension (#7872)
Treat generated variables as safe during rewritePrintCalls's safety
analysis stage. This prevents an "undeclared" error originating from
from head keys within inner comprehensions. These head keys would
typically be marked safe in later compiler stages. A "proper" safety
analysis would require further compiler context and comprehension
rewriting. Instead this fix avoids duplicating the logic of later
compiler stages.

Fixes: #7647

Signed-off-by: David Schmitt <davidschmittgit@gmail.com>
2025-10-13 23:34:11 +02:00
Stephan Renatus 40ec031d5c build: bump golang for build: 1.25.1 -> 1.25.2
https://groups.google.com/g/golang-announce/c/4Emdl2iQ_bI

Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2025-10-13 17:22:04 +02:00
Stephan Renatus f21be61a91 docs/ocp/deployment: add segment on database migrations (#7952)
This has landed: https://github.com/open-policy-agent/opa-control-plane/pull/108.

Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2025-10-13 13:13:21 +02:00
dependabot[bot] a317cc8a52 build(deps): bump the e2e-prisma group
Bumps the e2e-prisma group in /e2e/api/compile/prisma with 2 updates: [@prisma/client](https://github.com/prisma/prisma/tree/HEAD/packages/client) and [prisma](https://github.com/prisma/prisma/tree/HEAD/packages/cli).


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

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

---
updated-dependencies:
- dependency-name: "@prisma/client"
  dependency-version: 6.16.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: e2e-prisma
- dependency-name: prisma
  dependency-version: 6.16.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: e2e-prisma
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-13 13:11:28 +02:00
Anders Eknert d3f34a3387 Modernize analyzer fixes (#7965)
Have done this some time in the past, but there was a few
new issues this would highlight now that we're on Go 1.24.

Mostly:
- Use `b.Loop()` in benchmarks
- Use `strings.SplitSeq` where possible
- Remove `omitempty` tag for types that can't be empty

Signed-off-by: Anders Eknert <anders@eknert.com>
2025-10-10 17:51:02 +02:00
Anders Eknert b018764b7e eval: Lazy init of eval.Time term (#7968)
This is only needed for the built-in function context, so can be
initialzied the first time those are called. This has no impact on
real-world performance in any way, but is only meant to further
improve the `opa bench 1` "issue" — which is that users running
`opa bench` always see a "baseline" number of allocs (and more)
that have nothing to do with the code they benchmark but comes
from plumbing together the evaluator.

This baseline number was 53 allocs/op when I started on this side
quest, and this commit brings it down to 33 🙂

Signed-off-by: Anders Eknert <anders@eknert.com>
2025-10-08 18:37:28 +02:00
Anders Eknert c122df1868 Performance improvements in formatter (#7967)
- Use new `util.SlicePool` to avoid cost of temporary slices in `formatTerm`
- Add `SkipDefensiveCopying` option and enable it for all `Source`* functions

```
676179 ns/op    995204 B/op    8850 allocs/op // regression in 0fb7526
513570 ns/op    378787 B/op    8775 allocs/op // addressed regression with sync.Pool
481681 ns/op    352130 B/op    7954 allocs/op // new util.NewSlicePool using only pointers
365116 ns/op    160528 B/op    2098 allocs/op // new SkipDefensiveCopying option
```

Signed-off-by: Anders Eknert <anders@eknert.com>
2025-10-08 14:16:40 +02:00
Anders Eknert 053ba3d045 Fix race condition in ReadMaybeCompressedBody (#7966)
The way the gzip reader was returned to the sync.Pool meant
there were cases where it could either be nil, or not returned
to the pool.

Also simplified the function a bit.

Signed-off-by: Anders Eknert <anders@eknert.com>
2025-10-07 16:08:57 +02:00
Anders Eknert acb606b91c Ref String() and greatly improved builtin lookup cost (#7961)
I was meant to do slides for a talk, but here we are.
Fun exercise in "writing" a string without actually writing
one, but rather by trying to exclude all other possible
built-in function names to compare against ref as early as
possible in order to make the operation inexpensive. And it
worked! Down from a few allocations (worst case) and at least
3 digit ns/op, to no allocations and lower end of the 2 digit
ns/op scale.

For reference, this PR accounts for 700K allocations gone
in `regal lint bunde`, as we do millions of builtin function
calls as part of that benchmark.

Another 300K+ allocs gone by revisiting the `canSkipBctx`
field on the AST builtin struct, and making it public sp that
client like Regal may benefit. And we did :)

Signed-off-by: Anders Eknert <anders@eknert.com>
2025-10-06 22:26:50 +02:00
Joel Coenraadts 81535fa4cf Adds ecosystem project Moat (#7963)
* Adds ecosystem project Moat

Moat is an OPA control plane project specifically for managing access to data. The
first target system is Trino, with many future target systems including those which
do not directly support OPA.

Signed-off-by: jcoenraadts <joel@bytelab.com>

* Changes reserved name "OPA Control Plane"  to "Data Control Plane"

This change is to avoid confusion with the officially released OPA Control Plane

Signed-off-by: jcoenraadts <joel@bytelab.com>

---------

Signed-off-by: jcoenraadts <joel@bytelab.com>
Co-authored-by: jcoenraadts <joel@bytelab.com>
2025-10-06 13:37:31 +00:00
Igor Rodzik e8fd2baa33 Correct in OCP docs information regarding supported datasources
In previous version of the docs, S3 and git were listed as separate,
supported types of datasources, which was unclear. Added changes state that there
is only one type supported, extend example how to use it and add link
to Secrets section.

Signed-off-by: Igor Rodzik <igor.rodzik@gmail.com>
2025-10-06 14:17:26 +02:00
Anders Eknert 93d6e3c128 perf: cheaper split built-in calls (#7962)
Save 1 alloc per invocation of the `split` built-in function by
using `strings.Cut` instead of `strings.Split`, thus avoiding
creating an intermediate string slice. Added a `SplitMap` helper
for doing this elsewhere in our code where `strings.Split` could
be replaced.

Signed-off-by: Anders Eknert <anders@eknert.com>
2025-10-06 12:44:13 +02:00
Michael Grosser e048c1984d add opa test --fail-on-empty to allow making bad -r or empty folders fail (#7960)
Signed-off-by: Michael Grosser <michael@grosser.it>
2025-10-03 16:12:05 +02:00
Anders Eknert 48f76fd2aa Improve performance of storage operations (#7957)
And the default inmem storage implementation(s) in particular.

- Avoid creating expensive references for data which isn't in need of that, like strings or booleans.
- Avoid expensive roundtrips of data which doesn't need it, for the same reasons.
- Never roundtrip AST store items being written — unknown values will be roundtripped by `ast.InterfaceToValue` already
- Convert numbers to json.Number directly and without a roundtrip
- Avoid AST -> Go type conversion which is done for triggers... when no triggers have been registered
- Greatly reduce cost of not found lookups by using a static NotFound error that does not include the path — the path is already known by the caller so that information adds nothing they can't add themselves.
- Improve interning to make it easier to get interned `Value`'s without a *Term
- Use interned numbers when possible in `ast.InterfaceToValue`
- Much improved benchmarking framework for inmem storage, and many new benchmarks added.
- A few general improvements of error handling

**Benchstat**
```
goos: darwin
goarch: arm64
pkg: github.com/open-policy-agent/opa/v1/storage/inmem
cpu: Apple M4 Max
                                                             │    v1.9.0    │                 now                 │
                                                             │    sec/op    │   sec/op     vs base                │
NewTransaction/write-16                                         44.60n ± 1%   17.12n ± 1%  -61.61% (p=0.000 n=10)
NewTransaction/read-16                                          44.62n ± 0%   17.04n ± 0%  -61.80% (p=0.000 n=10)
ReadOne/Go-16                                                  126.95n ± 0%   98.93n ± 0%  -22.07% (p=0.000 n=10)
ReadOne/Go_(roundtrip)-16                                      127.65n ± 0%   99.04n ± 0%  -22.41% (p=0.000 n=10)
ReadOne/AST-16                                                  151.1n ± 0%   121.7n ± 0%  -19.40% (p=0.000 n=10)
ReadOneNested/Go-16                                             138.0n ± 0%   109.5n ± 0%  -20.69% (p=0.000 n=10)
ReadOneNested/Go_(roundtrip)-16                                 139.1n ± 0%   110.1n ± 1%  -20.85% (p=0.000 n=10)
ReadOneNested/AST-16                                            207.6n ± 1%   177.2n ± 0%  -14.64% (p=0.000 n=10)
ReadNotFound/Go-16                                             127.70n ± 0%   73.22n ± 1%  -42.67% (p=0.000 n=10)
ReadNotFound/Go_(roundtrip)-16                                 128.00n ± 0%   73.35n ± 1%  -42.70% (p=0.000 n=10)
ReadNotFound/AST-16                                            148.90n ± 0%   99.38n ± 0%  -33.26% (p=0.000 n=10)
WriteOneString/Go-16                                            240.1n ± 0%   184.5n ± 0%  -23.16% (p=0.000 n=10)
WriteOneString/Go_(roundtrip)-16                                655.2n ± 0%   185.3n ± 0%  -71.72% (p=0.000 n=10)
WriteOneString/AST-16                                           803.4n ± 0%   325.4n ± 0%  -59.49% (p=0.000 n=10)
WriteSameValue/Go-16                                           138.75n ± 1%   77.56n ± 2%  -44.10% (p=0.000 n=10)
WriteSameValue/Go_(roundtrip)-16                               557.95n ± 1%   77.86n ± 2%  -86.05% (p=0.000 n=10)
WriteSameValue/AST-16                                          615.65n ± 1%   79.25n ± 1%  -87.13% (p=0.000 n=10)
WriteIncrementingValueSamePath/Go-16                            6.312µ ± 0%   6.462µ ± 0%   +2.38% (p=0.000 n=10)
WriteIncrementingValueSamePath/Go_(roundtrip)-16               48.825µ ± 1%   7.860µ ± 0%  -83.90% (p=0.000 n=10)
WriteIncrementingValueSamePath/AST-16                          53.723µ ± 1%   8.718µ ± 1%  -83.77% (p=0.000 n=10)
WriteIncrementingValueSamePathInterned/Go-16                    6.351µ ± 1%   6.511µ ± 1%   +2.52% (p=0.000 n=10)
WriteIncrementingValueSamePathInterned/Go_(roundtrip)-16       49.804µ ± 1%   7.907µ ± 0%  -84.12% (p=0.000 n=10)
WriteIncrementingValueSamePathInterned/AST-16                  51.806µ ± 2%   6.663µ ± 1%  -87.14% (p=0.000 n=10)
PathAndValueInternedAndNoRoundtripRequired/Go-16                96.23µ ± 4%   43.83µ ± 4%  -54.45% (p=0.000 n=10)
PathAndValueInternedAndNoRoundtripRequired/Go_(roundtrip)-16   135.08µ ± 1%   43.01µ ± 3%  -68.16% (p=0.000 n=10)
PathAndValueInternedAndNoRoundtripRequired/AST-16              145.67µ ± 1%   43.19µ ± 3%  -70.35% (p=0.000 n=10)
WriteCollection/Go-16                                           136.8n ± 1%   137.0n ± 1%        ~ (p=0.643 n=10)
WriteCollection/Go_(roundtrip)-16                               1.304µ ± 0%   1.304µ ± 2%        ~ (p=0.629 n=10)
WriteCollection/AST-16                                         2034.0n ± 0%   772.5n ± 2%  -62.02% (p=0.000 n=10)
WriteAndCommit/Go-16                                            54.00µ ± 3%   47.63µ ± 1%  -11.80% (p=0.000 n=10)
WriteAndCommit/Go_(roundtrip)-16                                94.63µ ± 1%   47.19µ ± 3%  -50.13% (p=0.000 n=10)
WriteAndCommit/AST-16                                           239.6µ ± 1%   192.7µ ± 1%  -19.59% (p=0.000 n=10)
WriteAndCommitWithTriggers/Go-16                                54.08µ ± 1%   47.87µ ± 2%  -11.47% (p=0.000 n=10)
WriteAndCommitWithTriggers/Go_(roundtrip)-16                    94.75µ ± 1%   47.41µ ± 2%  -49.97% (p=0.000 n=10)
WriteAndCommitWithTriggers/AST-16                               247.2µ ± 0%   192.2µ ± 1%  -22.27% (p=0.000 n=10)

                                                             │      v1.9.0      │                    now                    │
                                                             │       B/op       │     B/op      vs base                     │
NewTransaction/write-16                                           144.00 ± 0%       48.00 ± 0%   -66.67% (p=0.000 n=10)
NewTransaction/read-16                                            144.00 ± 0%       48.00 ± 0%   -66.67% (p=0.000 n=10)
ReadOne/Go-16                                                     144.00 ± 0%       48.00 ± 0%   -66.67% (p=0.000 n=10)
ReadOne/Go_(roundtrip)-16                                         144.00 ± 0%       48.00 ± 0%   -66.67% (p=0.000 n=10)
ReadOne/AST-16                                                    160.00 ± 0%       64.00 ± 0%   -60.00% (p=0.000 n=10)
ReadOneNested/Go-16                                               144.00 ± 0%       48.00 ± 0%   -66.67% (p=0.000 n=10)
ReadOneNested/Go_(roundtrip)-16                                   144.00 ± 0%       48.00 ± 0%   -66.67% (p=0.000 n=10)
ReadOneNested/AST-16                                              192.00 ± 0%       96.00 ± 0%   -50.00% (p=0.000 n=10)
ReadNotFound/Go-16                                                 72.00 ± 0%        0.00 ± 0%  -100.00% (p=0.000 n=10)
ReadNotFound/Go_(roundtrip)-16                                     72.00 ± 0%        0.00 ± 0%  -100.00% (p=0.000 n=10)
ReadNotFound/AST-16                                                88.00 ± 0%       16.00 ± 0%   -81.82% (p=0.000 n=10)
WriteOneString/Go-16                                               368.0 ± 0%       240.0 ± 0%   -34.78% (p=0.000 n=10)
WriteOneString/Go_(roundtrip)-16                                  2818.0 ± 0%       240.0 ± 0%   -91.48% (p=0.000 n=10)
WriteOneString/AST-16                                             2938.0 ± 0%       360.0 ± 0%   -87.75% (p=0.000 n=10)
WriteSameValue/Go-16                                               128.0 ± 0%         0.0 ± 0%  -100.00% (p=0.000 n=10)
WriteSameValue/Go_(roundtrip)-16                                 2.518Ki ± 0%     0.000Ki ± 0%  -100.00% (p=0.000 n=10)
WriteSameValue/AST-16                                            2.572Ki ± 0%     0.000Ki ± 0%  -100.00% (p=0.000 n=10)
WriteIncrementingValueSamePath/Go-16                             12.50Ki ± 0%     12.50Ki ± 0%         ~ (p=1.000 n=10) ¹
WriteIncrementingValueSamePath/Go_(roundtrip)-16                251.73Ki ± 0%     14.06Ki ± 0%   -94.41% (p=0.000 n=10)
WriteIncrementingValueSamePath/AST-16                           255.63Ki ± 0%     13.28Ki ± 0%   -94.80% (p=0.000 n=10)
WriteIncrementingValueSamePathInterned/Go-16                     12.50Ki ± 0%     12.50Ki ± 0%         ~ (p=1.000 n=10) ¹
WriteIncrementingValueSamePathInterned/Go_(roundtrip)-16        251.73Ki ± 0%     14.06Ki ± 0%   -94.41% (p=0.000 n=10)
WriteIncrementingValueSamePathInterned/AST-16                  251.722Ki ± 0%     9.375Ki ± 0%   -96.28% (p=0.000 n=10)
PathAndValueInternedAndNoRoundtripRequired/Go-16                14.062Ki ± 0%     1.562Ki ± 0%   -88.89% (p=0.000 n=10)
PathAndValueInternedAndNoRoundtripRequired/Go_(roundtrip)-16   253.267Ki ± 0%     1.562Ki ± 0%   -99.38% (p=0.000 n=10)
PathAndValueInternedAndNoRoundtripRequired/AST-16              254.870Ki ± 0%     1.562Ki ± 0%   -99.39% (p=0.000 n=10)
WriteCollection/Go-16                                              128.0 ± 0%       128.0 ± 0%         ~ (p=1.000 n=10) ¹
WriteCollection/Go_(roundtrip)-16                                2.243Ki ± 0%     2.243Ki ± 0%         ~ (p=1.000 n=10) ¹
WriteCollection/AST-16                                           3.472Ki ± 0%     1.320Ki ± 0%   -61.97% (p=0.000 n=10)
WriteAndCommit/Go-16                                             29.58Ki ± 0%     11.08Ki ± 0%   -62.55% (p=0.000 n=10)
WriteAndCommit/Go_(roundtrip)-16                                268.80Ki ± 0%     11.08Ki ± 0%   -95.88% (p=0.000 n=10)
WriteAndCommit/AST-16                                           272.77Ki ± 0%     15.06Ki ± 0%   -94.48% (p=0.000 n=10)
WriteAndCommitWithTriggers/Go-16                                 29.58Ki ± 0%     15.83Ki ± 0%   -46.49% (p=0.000 n=10)
WriteAndCommitWithTriggers/Go_(roundtrip)-16                    268.80Ki ± 0%     15.83Ki ± 0%   -94.11% (p=0.000 n=10)
WriteAndCommitWithTriggers/AST-16                               279.09Ki ± 0%     26.12Ki ± 0%   -90.64% (p=0.000 n=10)

                                                             │    v1.9.0     │                   now                   │
                                                             │   allocs/op   │ allocs/op   vs base                     │
NewTransaction/write-16                                         3.000 ± 0%     1.000 ± 0%   -66.67% (p=0.000 n=10)
NewTransaction/read-16                                          3.000 ± 0%     1.000 ± 0%   -66.67% (p=0.000 n=10)
ReadOne/Go-16                                                   3.000 ± 0%     1.000 ± 0%   -66.67% (p=0.000 n=10)
ReadOne/Go_(roundtrip)-16                                       3.000 ± 0%     1.000 ± 0%   -66.67% (p=0.000 n=10)
ReadOne/AST-16                                                  4.000 ± 0%     2.000 ± 0%   -50.00% (p=0.000 n=10)
ReadOneNested/Go-16                                             3.000 ± 0%     1.000 ± 0%   -66.67% (p=0.000 n=10)
ReadOneNested/Go_(roundtrip)-16                                 3.000 ± 0%     1.000 ± 0%   -66.67% (p=0.000 n=10)
ReadOneNested/AST-16                                            6.000 ± 0%     4.000 ± 0%   -33.33% (p=0.000 n=10)
ReadNotFound/Go-16                                              3.000 ± 0%     0.000 ± 0%  -100.00% (p=0.000 n=10)
ReadNotFound/Go_(roundtrip)-16                                  3.000 ± 0%     0.000 ± 0%  -100.00% (p=0.000 n=10)
ReadNotFound/AST-16                                             4.000 ± 0%     1.000 ± 0%   -75.00% (p=0.000 n=10)
WriteOneString/Go-16                                            9.000 ± 0%     5.000 ± 0%   -44.44% (p=0.000 n=10)
WriteOneString/Go_(roundtrip)-16                               16.000 ± 0%     5.000 ± 0%   -68.75% (p=0.000 n=10)
WriteOneString/AST-16                                           22.00 ± 0%     11.00 ± 0%   -50.00% (p=0.000 n=10)
WriteSameValue/Go-16                                            4.000 ± 0%     0.000 ± 0%  -100.00% (p=0.000 n=10)
WriteSameValue/Go_(roundtrip)-16                                11.00 ± 0%      0.00 ± 0%  -100.00% (p=0.000 n=10)
WriteSameValue/AST-16                                           14.00 ± 0%      0.00 ± 0%  -100.00% (p=0.000 n=10)
WriteIncrementingValueSamePath/Go-16                            400.0 ± 0%     400.0 ± 0%         ~ (p=1.000 n=10) ¹
WriteIncrementingValueSamePath/Go_(roundtrip)-16               1090.0 ± 0%     500.0 ± 0%   -54.13% (p=0.000 n=10)
WriteIncrementingValueSamePath/AST-16                          1290.0 ± 0%     400.0 ± 0%   -68.99% (p=0.000 n=10)
WriteIncrementingValueSamePathInterned/Go-16                    400.0 ± 0%     400.0 ± 0%         ~ (p=1.000 n=10) ¹
WriteIncrementingValueSamePathInterned/Go_(roundtrip)-16       1090.0 ± 0%     500.0 ± 0%   -54.13% (p=0.000 n=10)
WriteIncrementingValueSamePathInterned/AST-16                  1090.0 ± 0%     200.0 ± 0%   -81.65% (p=0.000 n=10)
PathAndValueInternedAndNoRoundtripRequired/Go-16                500.0 ± 0%     100.0 ± 0%   -80.00% (p=0.000 n=10)
PathAndValueInternedAndNoRoundtripRequired/Go_(roundtrip)-16   1190.0 ± 0%     100.0 ± 0%   -91.60% (p=0.000 n=10)
PathAndValueInternedAndNoRoundtripRequired/AST-16              1292.0 ± 0%     100.0 ± 0%   -92.26% (p=0.000 n=10)
WriteCollection/Go-16                                           4.000 ± 0%     4.000 ± 0%         ~ (p=1.000 n=10) ¹
WriteCollection/Go_(roundtrip)-16                               35.00 ± 0%     35.00 ± 0%         ~ (p=1.000 n=10) ¹
WriteCollection/AST-16                                          63.00 ± 0%     30.00 ± 0%   -52.38% (p=0.000 n=10)
WriteAndCommit/Go-16                                            512.0 ± 0%     303.0 ± 0%   -40.82% (p=0.000 n=10)
WriteAndCommit/Go_(roundtrip)-16                               1202.0 ± 0%     303.0 ± 0%   -74.79% (p=0.000 n=10)
WriteAndCommit/AST-16                                          1406.0 ± 0%     507.0 ± 0%   -63.94% (p=0.000 n=10)
WriteAndCommitWithTriggers/Go-16                                512.0 ± 0%     304.0 ± 0%   -40.62% (p=0.000 n=10)
WriteAndCommitWithTriggers/Go_(roundtrip)-16                   1202.0 ± 0%     304.0 ± 0%   -74.71% (p=0.000 n=10)
WriteAndCommitWithTriggers/AST-16                              1507.0 ± 0%     609.0 ± 0%   -59.59% (p=0.000 n=10)
```

Signed-off-by: Anders Eknert <anders@eknert.com>
2025-10-02 14:54:14 +02:00
Stephan Renatus 3279dd66aa test/e2e: move http.DefaultTransport fix to init() (#7955)
In its previous location, it was caught as a data race in tests.

Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2025-10-02 08:58:40 +02:00
Stephan Renatus 7eae60ded3 docs: OCP HTTP API updates (#7951)
* docs/ocp: add DELETE to API reference

Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>

* docs/ocp: add /v1/secrets HTTP docs

Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>

---------

Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2025-10-01 17:29:31 +02:00
dependabot[bot] 9e77350c37 build(deps): bump the gha-dependencies group with 2 updates
Bumps the gha-dependencies group with 2 updates: [github/codeql-action](https://github.com/github/codeql-action) and [ossf/scorecard-action](https://github.com/ossf/scorecard-action).


Updates `github/codeql-action` from 3.30.3 to 3.30.5
- [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/192325c86100d080feab897ff886c34abd4c83a3...3599b3baa15b485a2e49ef411a7a4bb2452e7f93)

Updates `ossf/scorecard-action` from 2.4.2 to 2.4.3
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](https://github.com/ossf/scorecard-action/compare/05b42c624433fc40578a4040d5cf5e36ddca8cde...4eaacf0543bb3f2c246792bd56e8cdeffafb205a)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.30.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gha-dependencies
- dependency-name: ossf/scorecard-action
  dependency-version: 2.4.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gha-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-01 14:43:27 +02:00
Jacob Hochstetler 2cc948d872 TLM: Upgrade to v1 tablewriter (#7937)
- Updated test fixtures and various test fixes.

Signed-off-by: Jacob Hochstetler <jacob.hochstetler@gmail.com>
2025-10-01 10:44:42 +02:00
Charlie Egan fbc4b4fdcf website: FOUC squashing on the homepage
https://en.wikipedia.org/wiki/Flash_of_unstyled_content

Signed-off-by: Charlie Egan <charlie_egan@apple.com>
2025-10-01 10:42:31 +02:00
Charlie Egan 9834088aea website: Update docusaurus
This needed a few other dependency edits/additions and updates to file loading
too.

Signed-off-by: Charlie Egan <charlie_egan@apple.com>
2025-10-01 10:41:36 +02:00
Charlie Egan 6d0b581ebb docs: Update link checker config (#7949)
We have a lot of false positives in
https://github.com/open-policy-agent/opa/issues/7888, this ignores some
domains that appear to block the scanning tool as `ERROR`.

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

https://github.com/open-policy-agent/regal/pull/1704 fixes a number of
others found in the Regal docs.

Signed-off-by: Charlie Egan <charlie_egan@apple.com>
2025-10-01 08:38:21 +00:00