OPA v1.6.0 #702
johanfylling
announced in
Announcements
OPA v1.6.0
#702
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
This release contains a mix of new features, performance improvements, and bugfixes. Notably:
Modernized OPA Website (#7037)
We're continuing to modernize the OPA website with a new design and improved user experience.
Some highlights:
Authored by @sky3n3t and @charlieegan3
Allowing keywords in Rego references (#7709)
Previously, Rego references could not contain terms that conflict with Rego keywords such as
package
,if
,else
,not
, etc.in certain constructs:
The constraints for valid Rego references have been relaxed to allow keywords.
The above example is now valid and will no longer cause a compilation error.
Authored by @johanfylling
Parallel Test Execution (#7442)
By default, OPA will now run tests in parallel (defaulting to one parallel execution thread per available CPU core), significantly speeding up test execution time for large test suites.
The performance boost is closely tied to the number of tests in your project and your selected parallelism level. For larger projects and default settings, 2-3x performance gains have been measured on a MacBook Pro.
Parallelism can be disabled to run tests sequentially by setting the
--parallel
flag to1
. E.g.opa test . --parallel=1
.Authored by @sspaink reported by @anderseknert
Faster Builtin Function Evaluation
The builtin context, an internal construct of OPA's evaluation engine, was previously provided to every builtin function.
As it turns out, only very few of them actually need it, for caching, cancellation, or lookups.
Those builtins are still provided with a builtin context, but for calls to all other builtins, we save the memory required by it.
The impact is tremendous: Even though the size of a single builtin context is only about 270 bytes, in an example application (Regal), this change brings about 360 MB of reduced memory usage!
Authored by @anderseknert
Runtime, Tooling, SDK
opa check --bundle
report virtual/base doc conflicts (#7701) authored by @anderseknertWhen
opa check
is used with the--bundle
flag, an error will be reported if the provided json/yaml data has a conflicting overlap with the virtual documents generated by Rego rules. Such conflicts are ambiguous and can lead to unexpected evaluation results, and should be resolved.opa inspect
with JSON format (#7459) authored by @johanfylling reported by @mostealth--v0-compatible
flag (#7668) authored by @tsandallNote: This is a potentially breaking change for go API users directly interfacing with the OPA server's routing.
Note: This is only applicable for the web UI hosted by OPA on its root path (
/
) and OPA is served at some other path than root.Compiler, Topdown and Rego
Note: Primitive Rego number values with leading zeros (e.g.
0123
) are now considered invalid at time of parsing and will generate an error. If you're impacted by this change, please update your policies to not have numbers with leading zeros. E.g.0123
should be changed to123
.walk
would get mutated (#7656) authored by @anderseknert reported by @robmyersrobmyersDocs, Website, Ecosystem
Miscellaneous
google.golang.org/protobuf
(#7655) authored by @sspainkconcat
performance (#7702) authored by @anderseknertRelease notes and downloads can be found here.
Beta Was this translation helpful? Give feedback.
All reactions