From f98865fc980b9919d201e20969d9b28685ee72bc Mon Sep 17 00:00:00 2001 From: Anand Krishnamoorthi <35780660+anakrish@users.noreply.github.com> Date: Tue, 21 Jul 2026 17:06:44 -0500 Subject: [PATCH] chore(release): release regorus v0.11.0 (#766) Release the core `regorus` crate as v0.11.0 (up from v0.10.1) and align every language binding to the same version. This release carries an API-breaking change (flagged by cargo-semver-checks), so it takes a minor bump under the 0.x SemVer convention. Highlights since v0.10.1: - fix(rvm): assert every-quantifier results so failing cases don't pass (#765) - fix: deep-merge nested data documents in Engine::add_data (#760) - feat(compiler): support registered host-await builtins for natural function call syntax (#667) - feat(value): introduce Set/Object storage abstractions (#740, #735, #736) - security: reject data nested beyond 128 levels to avoid stack overflow Version updates: - Core crate (Cargo.toml/Cargo.lock) 0.10.1 -> 0.11.0 - Bindings aligned via `cargo xtask bindings`: ffi, java, python, wasm, ruby, csharp (manifests, lockfiles, pom.xml, Directory.Packages.props, version.rb) - CHANGELOG.md updated with the 0.11.0 section --- CHANGELOG.md | 22 +++++++++++++++++++++- Cargo.lock | 2 +- Cargo.toml | 2 +- bindings/csharp/Directory.Packages.props | 2 +- bindings/ffi/Cargo.lock | 4 ++-- bindings/ffi/Cargo.toml | 2 +- bindings/java/Cargo.lock | 4 ++-- bindings/java/Cargo.toml | 2 +- bindings/java/pom.xml | 2 +- bindings/python/Cargo.lock | 4 ++-- bindings/python/Cargo.toml | 2 +- bindings/ruby/Cargo.lock | 4 ++-- bindings/ruby/ext/regorusrb/Cargo.toml | 2 +- bindings/ruby/lib/regorus/version.rb | 2 +- bindings/wasm/Cargo.lock | 4 ++-- bindings/wasm/Cargo.toml | 2 +- 16 files changed, 41 insertions(+), 21 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c5c7ed..fc09e5b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,15 +6,35 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.11.0](https://github.com/microsoft/regorus/compare/regorus-v0.10.1...regorus-v0.11.0) - 2026-07-21 + +### Added + +- *(compiler)* support registered host-await builtins for natural function call syntax ([#667](https://github.com/microsoft/regorus/pull/667)) +- *(value)* introduce Set storage abstraction ([#740](https://github.com/microsoft/regorus/pull/740)) + ### Fixed -- `Engine::add_data` now deep-merges nested data documents instead of only merging top-level keys. Adding `{ "a": { "x": 1 } }` followed by `{ "a": { "y": 2 } }` now yields `{ "a": { "x": 1, "y": 2 } }` (matching OPA's data-document merge). Nested sets under a shared key are unioned. Only genuine leaf conflicts (the same path holding two different values) are reported as errors. +- *(rvm)* assert every-quantifier results so failing cases don't pass ([#765](https://github.com/microsoft/regorus/pull/765)) +- `Engine::add_data` now deep-merges nested data documents instead of only merging top-level keys. Adding `{ "a": { "x": 1 } }` followed by `{ "a": { "y": 2 } }` now yields `{ "a": { "x": 1, "y": 2 } }` (matching OPA's data-document merge). Nested sets under a shared key are unioned. Only genuine leaf conflicts (the same path holding two different values) are reported as errors. ([#760](https://github.com/microsoft/regorus/pull/760)) - A zero-arg function producing two different complete values (e.g. `f() := { "a": 1 }` and `f() := { "b": 2 }`) is now reported as a conflict, matching OPA's complete-rule semantics, instead of silently combining the outputs. ### Security - `Engine::add_data` now rejects data nested beyond 128 levels instead of risking a stack overflow on adversarially deep input. +### Other + +- *(deps)* bump the rust-dependencies group across 5 directories with 11 updates ([#764](https://github.com/microsoft/regorus/pull/764)) +- Expand keyword-in-ref coverage for complex parser edge cases (interpreter + RVM) ([#744](https://github.com/microsoft/regorus/pull/744)) +- *(deps)* bump the rust-dependencies group across 5 directories with 4 updates ([#754](https://github.com/microsoft/regorus/pull/754)) +- *(deps)* bump the rust-dependencies group across 5 directories with 6 updates ([#750](https://github.com/microsoft/regorus/pull/750)) +- *(value)* migrate Value::Object to Object storage abstraction ([#736](https://github.com/microsoft/regorus/pull/736)) +- normalize path separators in folder filter on Windows ([#742](https://github.com/microsoft/regorus/pull/742)) +- Introduce Object storage abstraction ([#735](https://github.com/microsoft/regorus/pull/735)) +- *(rvm)* add debug-mode invariant assertions ([#737](https://github.com/microsoft/regorus/pull/737)) +- *(deps)* bump the rust-dependencies group across 5 directories with 5 updates ([#734](https://github.com/microsoft/regorus/pull/734)) + ## [0.10.1](https://github.com/microsoft/regorus/compare/regorus-v0.10.0...regorus-v0.10.1) - 2026-05-22 ### Fixed diff --git a/Cargo.lock b/Cargo.lock index 25adb49..c2495a0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1368,7 +1368,7 @@ checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" [[package]] name = "regorus" -version = "0.10.1" +version = "0.11.0" dependencies = [ "anyhow", "cfg-if", diff --git a/Cargo.toml b/Cargo.toml index 0485fa0..bc3757b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,7 +8,7 @@ members = [ [package] name = "regorus" description = "A fast, lightweight Rego (OPA policy language) interpreter" -version = "0.10.1" +version = "0.11.0" edition = "2021" license = "MIT AND Apache-2.0 AND BSD-3-Clause" repository = "https://github.com/microsoft/regorus" diff --git a/bindings/csharp/Directory.Packages.props b/bindings/csharp/Directory.Packages.props index 691e379..4d37148 100644 --- a/bindings/csharp/Directory.Packages.props +++ b/bindings/csharp/Directory.Packages.props @@ -1,7 +1,7 @@ true - 0.10.1 + 0.11.0 -$(VersionSuffix) diff --git a/bindings/ffi/Cargo.lock b/bindings/ffi/Cargo.lock index 91ba705..88d30cd 100644 --- a/bindings/ffi/Cargo.lock +++ b/bindings/ffi/Cargo.lock @@ -1097,7 +1097,7 @@ checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" [[package]] name = "regorus" -version = "0.10.1" +version = "0.11.0" dependencies = [ "anyhow", "chrono", @@ -1132,7 +1132,7 @@ dependencies = [ [[package]] name = "regorus-ffi" -version = "0.10.1" +version = "0.11.0" dependencies = [ "anyhow", "cbindgen", diff --git a/bindings/ffi/Cargo.toml b/bindings/ffi/Cargo.toml index 0262c91..d216330 100644 --- a/bindings/ffi/Cargo.toml +++ b/bindings/ffi/Cargo.toml @@ -2,7 +2,7 @@ [package] name = "regorus-ffi" -version = "0.10.1" +version = "0.11.0" edition = "2021" license = "MIT AND Apache-2.0 AND BSD-3-Clause" diff --git a/bindings/java/Cargo.lock b/bindings/java/Cargo.lock index e8ae520..343827a 100644 --- a/bindings/java/Cargo.lock +++ b/bindings/java/Cargo.lock @@ -966,7 +966,7 @@ checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" [[package]] name = "regorus" -version = "0.10.1" +version = "0.11.0" dependencies = [ "anyhow", "chrono", @@ -998,7 +998,7 @@ dependencies = [ [[package]] name = "regorus-java" -version = "0.10.1" +version = "0.11.0" dependencies = [ "anyhow", "jni", diff --git a/bindings/java/Cargo.toml b/bindings/java/Cargo.toml index 1de7353..822c067 100644 --- a/bindings/java/Cargo.toml +++ b/bindings/java/Cargo.toml @@ -2,7 +2,7 @@ [package] name = "regorus-java" -version = "0.10.1" +version = "0.11.0" edition = "2021" repository = "https://github.com/microsoft/regorus/bindings/java" description = "Java bindings for Regorus - a fast, lightweight Rego interpreter written in Rust" diff --git a/bindings/java/pom.xml b/bindings/java/pom.xml index 4b05101..ec66342 100644 --- a/bindings/java/pom.xml +++ b/bindings/java/pom.xml @@ -9,7 +9,7 @@ com.microsoft.regorus regorus-java - 0.10.1 + 0.11.0 Regorus Java Java bindings for Regorus - a fast, lightweight Rego interpreter written in Rust diff --git a/bindings/python/Cargo.lock b/bindings/python/Cargo.lock index d0da895..080e8e5 100644 --- a/bindings/python/Cargo.lock +++ b/bindings/python/Cargo.lock @@ -980,7 +980,7 @@ checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" [[package]] name = "regorus" -version = "0.10.1" +version = "0.11.0" dependencies = [ "anyhow", "chrono", @@ -1026,7 +1026,7 @@ dependencies = [ [[package]] name = "regoruspy" -version = "0.10.1" +version = "0.11.0" dependencies = [ "anyhow", "ordered-float", diff --git a/bindings/python/Cargo.toml b/bindings/python/Cargo.toml index a904c34..e1091f1 100644 --- a/bindings/python/Cargo.toml +++ b/bindings/python/Cargo.toml @@ -2,7 +2,7 @@ [package] name = "regoruspy" -version = "0.10.1" +version = "0.11.0" edition = "2021" repository = "https://github.com/microsoft/regorus/bindings/python" description = "Python bindings for Regorus - a fast, lightweight Rego interpreter written in Rust" diff --git a/bindings/ruby/Cargo.lock b/bindings/ruby/Cargo.lock index db8d758..21c2e1e 100644 --- a/bindings/ruby/Cargo.lock +++ b/bindings/ruby/Cargo.lock @@ -1006,7 +1006,7 @@ checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" [[package]] name = "regorus" -version = "0.10.1" +version = "0.11.0" dependencies = [ "anyhow", "chrono", @@ -1051,7 +1051,7 @@ dependencies = [ [[package]] name = "regorusrb" -version = "0.10.1" +version = "0.11.0" dependencies = [ "magnus", "regorus", diff --git a/bindings/ruby/ext/regorusrb/Cargo.toml b/bindings/ruby/ext/regorusrb/Cargo.toml index 1856332..3f7f0ab 100644 --- a/bindings/ruby/ext/regorusrb/Cargo.toml +++ b/bindings/ruby/ext/regorusrb/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "regorusrb" -version = "0.10.1" +version = "0.11.0" edition = "2024" description = "Ruby bindings for Regorus - a fast, lightweight Rego interpreter written in Rust" license = "MIT AND Apache-2.0 AND BSD-3-Clause" diff --git a/bindings/ruby/lib/regorus/version.rb b/bindings/ruby/lib/regorus/version.rb index 9837b73..ec02178 100644 --- a/bindings/ruby/lib/regorus/version.rb +++ b/bindings/ruby/lib/regorus/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Regorus - VERSION = "0.10.1" + VERSION = "0.11.0" end diff --git a/bindings/wasm/Cargo.lock b/bindings/wasm/Cargo.lock index 018c02c..31f2a83 100644 --- a/bindings/wasm/Cargo.lock +++ b/bindings/wasm/Cargo.lock @@ -965,7 +965,7 @@ checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" [[package]] name = "regorus" -version = "0.10.1" +version = "0.11.0" dependencies = [ "anyhow", "chrono", @@ -996,7 +996,7 @@ dependencies = [ [[package]] name = "regorusjs" -version = "0.10.1" +version = "0.11.0" dependencies = [ "getrandom 0.2.17", "getrandom 0.3.4", diff --git a/bindings/wasm/Cargo.toml b/bindings/wasm/Cargo.toml index 2fdb736..1b674d4 100644 --- a/bindings/wasm/Cargo.toml +++ b/bindings/wasm/Cargo.toml @@ -2,7 +2,7 @@ [package] name = "regorusjs" -version = "0.10.1" +version = "0.11.0" edition = "2021" repository = "https://github.com/microsoft/regorus/bindings/wasm" description = "WASM bindings for Regorus - a fast, lightweight Rego interpreter written in Rust"