- Update go.mod module path
- Repo now resides under the StyraInc org
- Don't print location for object rule with implied true value
- Copy concurrent map code from Regal to here
- Copy Set implementation from Regal to here
- Use ast.ValueName from OPA now that it's been upstreamed
- Add a few more common string terms for interning
- Add ToAST function to build entire Regal AST in Roast
- Better organization of interned values and terms
- Bump OPA dependency to 1.1.0
- Annotations scoped
rule
ordocument
no longer serialized under thepackage
node, but found under each respective rule only. Marginal performance improvement, but certainly more correct.
- Bump OPA dependency to 1.0.0, and update imports to v1
- Faster encoding of Term's by avoiding OPA's TypeName
- New
ToOPAInputValue
function to prepare a map or slice for use asrego.EvalParsedInput
. This is much faster than letting OPA do the conversion, but will only work for inputs created by this library. - Add optimized
AnyToValue
implementation similar toInterfaceToValue
provided by OPA, but tailored only for the use case of converting an ASTmap[string]any
to aast.Value
. Highly optimized. - New
encoding.JSONRoundTrip(from, to)
andencoding.MustJSONRoundTrip(from, to)
convenience functions - Bump OPA dependency to v0.70.0
- Fixed potential data race in package path serialization
- Update actual dependencies used (i.e.
go mod tidy
)
- New location format
- Removed
name
attribute from rules in favor of using the rule'sref
to infer name - Updated OPA version from v0.68.0 to v0.69.0
- Removed
annotations
from module, in favor of annotations onpackage
andrules
- OPA version updated from v0.67.1 to v0.68.0
- Fixed issue in annotations encoding, where multiple
custom
attributes wouldn't be encoded with a,
separator.
First release!