Skip to content

v1.12.0

Choose a tag to compare

@koponen-styra koponen-styra released this 15 Aug 09:05
· 130 commits to main since this release

This release updates the OPA version used in Enterprise OPA to v0.58.0,
and integrates several performance improvements and a bug fix:

Function return value caching

Function calls in Rego now have their return value cached: when called with the same arguments,
subsequent evaluations will use the cached value.
Previously, the function body was evaluated twice.

Currently, only simple argument types are subject to caching: numbers, bools, strings -- collection
arguments are exempt.

Library utils lazy loading

If your policy does not make use of any of the data.system.eopa.utils helpers of Enterprise OPA's
builtin functions, they are not loaded,
and thus avoid superfluous work in the compiler.

Topdown-specific compiler stages

When evaluating a policy, certain compiler stages in OPA are now skipped: namely, the Rego VM in
Enterprise OPA does not make use of OPA's rule and comprehension indices, so we no longer build them
in the compiler stages.

Numerous Rego VM improvements

The Rego VM now uses less allocations, improving overall performance.

Preview API

Fixes a bug with "Preview Selection".