All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.2.4 - 2024-09-04
- OPA v0.68.0. Engine::set_rego_v1 (#305)
- Handle parsing corner cases (#309)
- Propagate errors encountered in argument evaluation (#308)
- Issues #302, #303 (#304)
0.2.3 - 2024-08-16
- Update cbindgen requirement from 0.26.0 to 0.27.0 (#296)
- Bump rexml in /bindings/ruby in the bundler group across 1 directory (#294)
- Update csbindgen requirement from =1.9.0 to =1.9.3 (#292)
0.2.2 - 2024-07-28
- Update to opa v0.67.0 (#286)
- Handle aliases in scheduler (#285)
- Update readme (#288)
- Update binding versions (#287)
- build.rs create hooks dir if not exists (#283)
- add extension_list example (#281)
- Fix build break (#278)
- Update pyo3 requirement from 0.21.0 to 0.22.0 (#275)
- Update to OPA v0.66.0 (#274)
0.2.1 - 2024-06-19
- get_policies: Way to obtain policy files and content (#267)
- Fix c,cpp,no-std binding examples (#272)
- Update binding versions for next release (#270)
- rename method from 'Clone' to 'clone' in 'Engine' class to match the java naming convention and definiont in the of java.lang.Object. (#268)
- Suppress clippy unused warning (#269)
- Provide ability to get JSON representation of policy AST (#266)
- Update OPA tests to v0.65.0 (#264)
- Allow lexer to be used for other policy languages (#262)
0.2.0 - 2024-05-30
- Add release-plz config to publish only regorus package (#259)
- Revert "chore: release v0.2.0 (#257)" (#258)
- release v0.2.0 (#257)
- Fix release-plz hash (#256)
- non collections should evaluate to false (#253)
- Fix merge issue (#252)
- Update bindings to include newer APIs (#250)
- update ruby bindings version to 0.1.5, bump deps (#251)
- Use correct docsrs feature annotation (#248)
- Lockdown kata test prints as well as prints of various values (#249)
- Fix bindings and add CI tests (#247)
- Add test-ruby CI for github actions (#244)
- Update
README.md
for Java bindings to mention we don't publish to (#246) - Update itertools requirement from 0.12.1 to 0.13.0 (#245)
- Update ruby bindings for add_policy and add_policy_from_file to return package name (#240)
- Provide a way to obtain package names of loaded policies (#239)
c_no_std
binding to show use in C freestanding environments. (#238)- Bump rexml in /bindings/ruby in the bundler group across 1 directory (#236)
- Update prettydiff requirement from 0.6.4 to 0.7.0 (#234)
- Update jsonschema requirement from 0.17.1 to 0.18.0 (#235)
- no_std support (#232)
- add
std
feature (#231) - Tests from MSFT fork of kata-containers (#230)
- Use alloc, core instead of std (#225)
0.1.5 - 2024-05-07
- Support policy files greater than 64KB in size (#217)
- Add tests for kata containers policies (#221)
- Support for OPA v0.64.0 (#219)
- New builtin
json.marshal_with_options
- New builtin
- Improve example in readme (#224)
- OPA Conformance: Do not interpret # within regular string (#216)
0.1.4 - 2024-04-22
0.1.3 - 2024-04-11
- Add a note in example to prefer eval_rule over eval_query (#204)
- Do not enable serde_json/arbitrary_precision by default (#203)
- Rewrite so that code compiles with chrono_tz 0.8.5 and 0.9.0 (#201)
- update ruby bindings (#200)
- Store Value instances in AST for strings, numbers and idents (#197)
- :Value> and From<serde_yaml::Value> (#196)
- Build dependency on git only if opa.runtime feature is enabled. (#194)
- Update to opa v0.63.0 (#192)
- Update pyo3 requirement from 0.20.2 to 0.21.0 (#190)
- Ruby bindings for existing FFI methods, plus eval_rule() (#188)
- Evaluate rules directly instead of queries (#186)
- Remove cruft. (#184)
0.1.2 - 2024-03-22
- Handle non simple refs in chained expressions (#182)
- Ability to gather print statements (#179)
- Top-down evaluation (#177)
- Make unary
-
operator OPA compatible. (#175) - Don't use deprecated chrono
Duration
methods (#173) - Propagate Undefined in object expressions (#171)
- Bump to OPA v0.62.0 (#169)
- Fix regression (#164)
- Separately keep track of whether rules have been evaluated or not (#163)
- Link Linux libraries against glibc 2.17 using
cargo-zigbuild
(#158)
0.1.1 - 2024-02-23
- Handle else block without body (#155)
- Ignore errors from builtin functions in non strict mode (#154)
- Java publishing (#151)
- Document coverage feature; Convenience query functions (#152)
- Policy Coverage (#149)
- Initial implementation of policy coverage (#146)
- Java bindings (#147)
- Preserve false in single-expression queries (#145)
- Create rust-clippy.yml (#143)
arc
feature to enable using Engine and other data structures from multiple threads (#142)- genpolicy tweaks (#141)
- io.jwt.decode (#140)
- Use compact_rc (#139)
- Scripting tweaks (#138)
0.1.0-alpha.3 - 2024-02-01
- fix bitwise.and and add tests (#19)
- Document bindings (#119)
- Conform to OPA 0.61.0. (#118)
- Update publish-python.yml
- Publish python packages (#117)
- Publish wasm (#116)
- Set working-directory for wasm-pack
- Python bindings (#115)
- WASM binding (#114)
- release (#112)
- Improve crate documentation (#111)
- Try out manual trigger for release-plz (#110)
-
- Document Location, Expression, QueryResult (#109)
- Update Cargo.toml (#108)
- Change version to
0.1.0-alpha.1
(#107) - Add crate documentation (#106)
- Release preparation (#105)
- Update READEME.md with current status, grammar etc. (#102)
- Implement builtin
time.parse_duration_ns
method (#100) - Implement import keyword (#101)
- OPA conformance: Pass refheads test suite (#90)
- OPA conformance: Ensure that
withkeyword
OPA tests pass (#88) - Handle walk builtin as a loop expression (#86)
- Implement most of the builtin
time
module (#82) - OPA Conformance
- OPA conformance (#81)
- More OPA conformance (#77)
- OPA conformance (#71)
- Builtin UUID module (#68)
- Add tests for builtin
string::format_int
method (#65) - More builtins and semantic improvements (#66)
- More OPA conformance; in-progress: ability to trace interpreter (#63)
- More OPA conformant semantics (#62)
- Updated readme. Added bundle support. (#61)
- crypto builtins (#57)
- Regex and Glob builtins (#56)
- Formalize concept of a Number (#55)
- Lock down ACI tests and more OPA test folders (#54)
- Fix scheduling regression (#53)
- add full api to engine (#50)
- Use Rc instead of string. (#52)
- More library functions (#51)
- Added semver.is_valid and semver.compare (#49)
- OPA conformance tests (#45)
- Avoid dependency on `source lifetime. (#43)
- Allow with modifier for builtin and user functions (#42)
- Special cases of refs to data (#41)
- Fix scheduling statements that don't create bindings (#40)
- Ability to run the OPA testsuite (#39)
- Engine (#38)
- Use Ref for storing ast nodes in collections. (#37)
- all, any deprecated functions (#35)
- all, any deprecated functions (#34)
- Improvements (#33)
- Order query expression results (#32)
- Scheduling of statements in user queries (#31)
- eval, lex, parse commands (#30)
- eval_user_query for OPA style results (#29)
- Arity for builtins (#28)
- Handle chained _ (#27)
- Minimize PR 22 (#26)
- improve errors location (#23)
- Fix clippy warning (#25)
- negation of an undefined value should return true (#21)
- Ensure that scopes are cleaned up correctly upon error. (#20)
- support of or-functions (#18)
- Statement Scheduler Implementation
- Remove unnecessary lifetime
- json.filter, object.filter, object.get, object.keys, object.remove
- :to_number builtin
- :trace builtin
- bitwise builtins
- :print builtin
- Partial sprintf implementation.
- All string functions except sprintf. TODO: Add tests
- More string functions without tests
- More string functions
- concat and contains
- string concat (WIP)
- Support build on non Linux platforms
- Prepare for upstreaming
- Test for multi-assign
- Support dependencies between vars defined in same statement
- Statement scheduler (WIP)
- Print small-form table of files without 100% coverage.
- Code tweaks to improve coverage
- Tests for aggregates builtins
- Tests for numbers builtins
- Tests for arrays builtins
- Tests for types functions
- Destructuring of arrays and objects in some-in expressions
some .. in
implementation- Fix key, value in membership and some-in
- refactor
- Arrays and Aggregates
- Implement
every
statement (#4) - Set loop index variable if not "_" (#3)
- Allow comprehensions in default value. (#2)
- Lock down numbers
- mod function
- Builtin functions for numbers (WIP)
- Implement comparison operators. Formalize semantics.
- Rework assign operations (#6)
- Locked down supported values in default rule.
- Improvements to github workflow (#4)
- Update name to regorus
- Update rust.yml
- Add simple git action
- Add missing config.toml
- Update license to MIT
- Code from github.com/anakrish/rego-rs
- SUPPORT.md committed
- SECURITY.md committed
- README.md committed
- LICENSE committed
- CODE_OF_CONDUCT.md committed
- Initial commit
0.1.0-alpha.2 - 2024-01-19
- Improve crate documentation (#111)
- Try out manual trigger for release-plz (#110)
-
- Document Location, Expression, QueryResult (#109)
0.1.0-alpha.1 - 2024-01-15
- fix bitwise.and and add tests (#19)
- Change version to
0.1.0-alpha.1
- Add crate documentation (#106)
- Release preparation (#105)
- Update READEME.md with current status, grammar etc. (#102)
- Implement builtin
time.parse_duration_ns
method (#100) - Implement import keyword (#101)
- OPA conformance: Pass refheads test suite (#90)
- OPA conformance: Ensure that
withkeyword
OPA tests pass (#88) - Handle walk builtin as a loop expression (#86)
- Implement most of the builtin
time
module (#82) - OPA Conformance
- OPA conformance (#81)
- More OPA conformance (#77)
- OPA conformance (#71)
- Builtin UUID module (#68)
- Add tests for builtin
string::format_int
method (#65) - More builtins and semantic improvements (#66)
- More OPA conformance; in-progress: ability to trace interpreter (#63)
- More OPA conformant semantics (#62)
- Updated readme. Added bundle support. (#61)
- crypto builtins (#57)
- Regex and Glob builtins (#56)
- Formalize concept of a Number (#55)
- Lock down ACI tests and more OPA test folders (#54)
- Fix scheduling regression (#53)
- add full api to engine (#50)
- Use Rc instead of string. (#52)
- More library functions (#51)
- Added semver.is_valid and semver.compare (#49)
- OPA conformance tests (#45)
- Avoid dependency on `source lifetime. (#43)
- Allow with modifier for builtin and user functions (#42)
- Special cases of refs to data (#41)
- Fix scheduling statements that don't create bindings (#40)
- Ability to run the OPA testsuite (#39)
- Engine (#38)
- Use Ref for storing ast nodes in collections. (#37)
- all, any deprecated functions (#35)
- all, any deprecated functions (#34)
- Improvements (#33)
- Order query expression results (#32)
- Scheduling of statements in user queries (#31)
- eval, lex, parse commands (#30)
- eval_user_query for OPA style results (#29)
- Arity for builtins (#28)
- Handle chained _ (#27)
- Minimize PR 22 (#26)
- improve errors location (#23)
- Fix clippy warning (#25)
- negation of an undefined value should return true (#21)
- Ensure that scopes are cleaned up correctly upon error. (#20)
- support of or-functions (#18)
- Statement Scheduler Implementation
- Remove unnecessary lifetime
- json.filter, object.filter, object.get, object.keys, object.remove
- :to_number builtin
- :trace builtin
- bitwise builtins
- :print builtin
- Partial sprintf implementation.
- All string functions except sprintf. TODO: Add tests
- More string functions without tests
- More string functions
- concat and contains
- string concat (WIP)
- Support build on non Linux platforms
- Prepare for upstreaming
- Test for multi-assign
- Support dependencies between vars defined in same statement
- Statement scheduler (WIP)
- Print small-form table of files without 100% coverage.
- Code tweaks to improve coverage
- Tests for aggregates builtins
- Tests for numbers builtins
- Tests for arrays builtins
- Tests for types functions
- Destructuring of arrays and objects in some-in expressions
some .. in
implementation- Fix key, value in membership and some-in
- refactor
- Arrays and Aggregates
- Implement
every
statement (#4) - Set loop index variable if not "_" (#3)
- Allow comprehensions in default value. (#2)
- Lock down numbers
- mod function
- Builtin functions for numbers (WIP)
- Implement comparison operators. Formalize semantics.
- Rework assign operations (#6)
- Locked down supported values in default rule.
- Improvements to github workflow (#4)
- Update name to regorus
- Update rust.yml
- Add simple git action
- Add missing config.toml
- Update license to MIT
- Code from github.com/anakrish/rego-rs
- SUPPORT.md committed
- SECURITY.md committed
- README.md committed
- LICENSE committed
- CODE_OF_CONDUCT.md committed
- Initial commit