regorus

Regorus - A fast, lightweight Rego (OPA policy language) interpreter written in Rust.

MIT License

Downloads
5.6K
Stars
130
Committers
13

Bot releases are visible (Hide)

regorus - regorus-v0.2.5

Published by github-actions[bot] about 1 month ago

Added

Fixed

  • Null terminate C# strings in Rust boundary (#318)
  • Update readme with correct path to example policy (#312)

Other

  • Update jsonschema requirement from 0.18.0 to 0.19.1 (#317)
  • Update chrono-tz requirement from 0.8.5 to 0.10.0 (#316)
  • Add tests for builtin strings::lower method (#313)
  • Add tests for builtin strings::indexof method (#311)
regorus - regorus-v0.2.4 Latest Release

Published by github-actions[bot] about 1 month ago

Added

  • OPA v0.68.0. Engine::set_rego_v1 (#305)

Fixed

  • Handle parsing corner cases (#309)
  • Propagate errors encountered in argument evaluation (#308)
  • Issues #302, #303 (#304)
regorus - regorus-v0.2.3

Published by github-actions[bot] 2 months ago

Fixed

  • Match OPA behavior for split (#295)
  • Merge data to init document (#293)

Other

  • 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)
regorus - regorus-v0.2.2

Published by github-actions[bot] 3 months ago

Added

  • Update to opa v0.67.0 (#286)

Fixed

  • Handle aliases in scheduler (#285)

Other

  • 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)
regorus - regorus-v0.2.1

Published by github-actions[bot] 4 months ago

Added

  • get_policies: Way to obtain policy files and content (#267)

Other

  • 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)
regorus - regorus-v0.2.0

Published by github-actions[bot] 5 months ago

Other

  • 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)
regorus - regorus-v0.1.5

Published by github-actions[bot] 5 months ago

Added

  • 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

Changed

  • Improve example in readme (#224)

Fixed

  • OPA Conformance: Do not interpret # within regular string (#216)
regorus - regorus-v0.1.4

Published by github-actions[bot] 6 months ago

Other

  • early return (#189)
  • Fix anyhow dependency issues (#208)
  • remove unused compact-rc dependency (#207)
regorus - regorus-v0.1.3

Published by github-actions[bot] 6 months ago

Other

  • 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)
regorus - regorus-v0.1.2

Published by github-actions[bot] 7 months ago

Other

  • 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)
regorus - regorus-v0.1.1

Published by github-actions[bot] 8 months ago

Other

  • 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)
regorus - regorus-v0.1.0

Published by github-actions[bot] 8 months ago

Fixed

  • fix bitwise.and and add tests (#19)

Other

  • 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
regorus - regorus-v0.1.0-alpha.3

Published by github-actions[bot] 9 months ago

Fixed

  • fix bitwise.and and add tests (#19)

Other

  • 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
regorus - v0.1.0-alpha.2

Published by github-actions[bot] 9 months ago

Other

  • Improve crate documentation (#111)
  • Try out manual trigger for release-plz (#110)
    • Document Location, Expression, QueryResult (#109)
regorus - v0.1.0-alpha.1

Published by github-actions[bot] 9 months ago

Fixed

  • fix bitwise.and and add tests (#19)

Other

  • 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