Skip to content

Commit d537788

Browse files
authored
Release v1.2.0 (#7403)
Signed-off-by: Johan Fylling <[email protected]>
1 parent d6b8e6d commit d537788

File tree

5 files changed

+5175
-3
lines changed

5 files changed

+5175
-3
lines changed

CHANGELOG.md

+117-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,123 @@
33
All notable changes to this project will be documented in this file. This
44
project adheres to [Semantic Versioning](http://semver.org/).
55

6-
## Unreleased
6+
## 1.2.0
7+
8+
This release contains a mix of features, performance improvements, and bugfixes.
9+
10+
### Parameterized Rego Tests ([#2176](https://github.com/open-policy-agent/opa/issues/2176))
11+
12+
Rego tests now support parameterization, allowing a single test rule to include multiple, hierarchical, named test cases.
13+
This feature is useful for data-driven testing, where a single test rule can be used for multiple test cases with different inputs and expected outputs.
14+
15+
```rego
16+
package example_test
17+
18+
test_concat[note] if {
19+
some note, tc in {
20+
"empty + empty": {
21+
"a": [],
22+
"b": [],
23+
"exp": [],
24+
},
25+
"empty + filled": {
26+
"a": [],
27+
"b": [1, 2],
28+
"exp": [1, 2],
29+
},
30+
"filled + filled": {
31+
"a": [1, 2],
32+
"b": [3, 4],
33+
"exp": [1, 2, 3], # Faulty expectation, this test case will fail
34+
},
35+
}
36+
37+
act := array.concat(tc.a, tc.b)
38+
act == tc.exp
39+
}
40+
```
41+
42+
```cmd
43+
$ opa test example_test.rego
44+
example_test.rego:
45+
data.example_test.test_concat: FAIL (263.375µs)
46+
empty + empty: PASS
47+
empty + filled: PASS
48+
filled + filled: FAIL
49+
--------------------------------------------------------------------------------
50+
FAIL: 1/1
51+
```
52+
53+
See the [documentation](https://www.openpolicyagent.org/docs/latest/policy-testing/#parameterized-tests-and-data-driven-testing) for more information.
54+
55+
Authored by @johanfylling, reported by @anderseknert
56+
57+
### Performance Improvements
58+
59+
- perf: Add ref.CopyNonGround ([#7350](https://github.com/open-policy-agent/opa/pull/7350)) authored by @anderseknert
60+
- perf: `opa fmt` 3x faster formatting ([#7341](https://github.com/open-policy-agent/opa/pull/7341)) authored by @anderseknert
61+
- perf: Cost of indexing greatly reduced ([#7370](https://github.com/open-policy-agent/opa/pull/7370)) authored by @anderseknert
62+
- perf: Eval optimizations ([#7367](https://github.com/open-policy-agent/opa/pull/7367)) authored by @anderseknert
63+
- perf: Intern annotation terms ([#7365](https://github.com/open-policy-agent/opa/pull/7365)) authored by @anderseknert
64+
- perf: Slightly more efficient policy scanning ([#7368](https://github.com/open-policy-agent/opa/pull/7368)) authored by @anderseknert
65+
- perf: Switch to a faster xxhash package ([7362](https://github.com/open-policy-agent/opa/pull/7362)) authored by @Juneezee
66+
- perf: Use GetByValue to avoid boxing to interface{} ([#7372](https://github.com/open-policy-agent/opa/pull/7372)) authored by @anderseknert
67+
- perf: Various small improvements ([#7357](https://github.com/open-policy-agent/opa/pull/7357)) authored by @anderseknert
68+
- perf: Improve storage lookup performance ([#7336](https://github.com/open-policy-agent/opa/pull/7336)) authored by @anderseknert
69+
- perf: optimize iteration ([#7327](https://github.com/open-policy-agent/opa/pull/7327)) authored by @anderseknert
70+
71+
### Topdown and Rego
72+
73+
- rego+topdown: Allow providing custom base cache ([#7329](https://github.com/open-policy-agent/opa/pull/7329)) authored by @anderseknert
74+
75+
### Runtime, Tooling, SDK
76+
77+
- ast: Add missing `BuildAnnotationSet` to `ast` v0 ([#7347](https://github.com/open-policy-agent/opa/issues/7347)) authored by @anderseknert
78+
- ast: Eliminate allocation in Value.Find, and other improvements ([#7319](https://github.com/open-policy-agent/opa/pull/7319)) authored by @anderseknert
79+
- ast: Use byte for RuleKind and DocKind ([#7332](https://github.com/open-policy-agent/opa/pull/7332)) authored by @anderseknert
80+
- ast.InterfaceToValue: add test case for `[]byte` ([#7379](https://github.com/open-policy-agent/opa/pull/7379)) authored by @dennygursky
81+
- ast: support []string and ast.Value in ast.InterfaceToValue ([#7306](https://github.com/open-policy-agent/opa/pull/7306)) authored by @regeda
82+
- bundle: Fixing issue where `--v0-compatible` isn't respected for custom bundles ([#7338](https://github.com/open-policy-agent/opa/pull/7338)) authored by @johanfylling
83+
- cmd: Handle failing tests in `opa test --bench` ([#7205](https://github.com/open-policy-agent/opa/issues/7205)) authored by @anderseknert
84+
- cmd: Add decision ID to `opa exec` output ([#7373](https://github.com/open-policy-agent/opa/pull/7373)) authored by @anderseknert
85+
- oracle: Make oracle public under v1/ast/oracle ([#7265](https://github.com/open-policy-agent/opa/issues/7265)) authored by @anderseknert
86+
- oracle: Allow passing own compiler to oracle ([#7354](https://github.com/open-policy-agent/opa/pull/7354)) authored by @anderseknert
87+
- plugins/discovery: Enable tracing for discovery plugin ([#7299](https://github.com/open-policy-agent/opa/pull/7299)) authored by @mjungsbluth
88+
- plugins/rest: Do not attach authorization header in bearerAuthPlugin if response is a redirect ([#7308](https://github.com/open-policy-agent/opa/pull/7308)) authored by @carabasdaniel
89+
- server+distributedtracing: Add Additional Resource Attributes for OpenTelemetry ([#7322](https://github.com/open-policy-agent/opa/issues/7322)) authored by @briankahoot reported by @briankahoot
90+
- util: Add util.HasherMap ([#7363](https://github.com/open-policy-agent/opa/pull/7363)) authored by @anderseknert
91+
92+
### Docs, Website, Ecosystem
93+
94+
- docs: Add support link to README ([#7359](https://github.com/open-policy-agent/opa/pull/7359)) (authored by @anderseknert)
95+
- docs: Update example bundle to be v1 compatible ([#7342](https://github.com/open-policy-agent/opa/pull/7342)) authored by @ashutosh-narkar
96+
- docs: Add note about v1.0 addr behaviour ([#7360](https://github.com/open-policy-agent/opa/issues/7360)) authored by @charlieegan3 reported by @ali-jalaal
97+
- docs: Update homepage examples to drop `v1 import` ([#7391](https://github.com/open-policy-agent/opa/pull/7391)) authored by @charlieegan3
98+
- docs: Updating `--v1-compatible` mentions outside the v1 upgrade guide and v0 compatibility docs ([#7337](https://github.com/open-policy-agent/opa/pull/7337)) authored by @johanfylling
99+
- docs: Fixed invalid links to examples ([#7326](https://github.com/open-policy-agent/opa/pull/7326)) authored by @JonathanDeLaCruzEncora
100+
- MAINTAINERS: Add Anders and Charlie as maintainers ([#7318](https://github.com/open-policy-agent/opa/pull/7318)) authored by @charlieegan3
101+
102+
### Miscellaneous
103+
104+
- build+test: Add `make test-short` task (#7364) (authored by @anderseknert)
105+
- build: Add gocritic linter ([#7377](https://github.com/open-policy-agent/opa/pull/7377)) authored by @anderseknert
106+
- build: Add nilness linter from govet ([#7335](https://github.com/open-policy-agent/opa/pull/7335)) authored by @anderseknert
107+
- build: Add perfsprint linter ([#7334](https://github.com/open-policy-agent/opa/pull/7334)) authored by @anderseknert
108+
- ci: Tagging release binaries with build version ([#7395](https://github.com/open-policy-agent/opa/pull/7395), [#7397](https://github.com/open-policy-agent/opa/pull/7397), [#7400](https://github.com/open-policy-agent/opa/pull/7400)) authored by @johanfylling
109+
- test: fix race in `TestIntraQueryCache_ClientError` and `TestInterQueryCache_ClientError` ([#7280](https://github.com/open-policy-agent/opa/pull/7280)) authored by @Juneezee
110+
- misc: Use Go 1.22+ int ranges ([#7328](https://github.com/open-policy-agent/opa/pull/7328)) authored by @anderseknert
111+
- Dependency updates; notably:
112+
- build: bump go from 1.23.5 to 1.24.0
113+
- build(deps): bump github.com/agnivade/levenshtein from 1.2.0 to 1.2.1
114+
- build(deps): bump github.com/containerd/containerd from 1.7.25 to 1.7.26
115+
- build(deps): bump github.com/google/go-cmp from 0.6.0 to 0.7.0
116+
- build(deps): bump github.com/prometheus/client_golang
117+
- build(deps): bump github.com/spf13/cobra from 1.8.1 to 1.9.1
118+
- build(deps): bump github.com/spf13/pflag from 1.0.5 to 1.0.6
119+
- build(deps): bump golang.org/x/net from 0.34.0 to 0.35.0
120+
- build(deps): bump golang.org/x/time from 0.9.0 to 0.10.0
121+
- build(deps): bump ossf/scorecard-action from 2.4.0 to 2.4.1
122+
- Bump golangci-lint from v1.60.1 to 1.64.5
7123

8124
## 1.1.0
9125

0 commit comments

Comments
 (0)