diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f51612..6cf8fcf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ## [Unreleased] +## [4.8.7] - 2026-07-10 + ### Added - A reusable, pre-parsed `Schema` handle, completing the handle trio alongside `PolicySet` and `Entities`. Parse a schema once with `Schema.from_str(cedar_text)` or `Schema.from_json_str(json_text)` and pass the handle to `is_authorized`, `is_authorized_batch`, `is_authorized_partial`, or `validate_policies` anywhere a schema string is accepted — skipping the per-call parse. The `schema` parameter widens from `str | dict | None` to `str | dict | Schema | None`; existing string/dict callers are unchanged, so this is a pure, opt-in addition. The handle is immutable, releases its memory when the last Python reference is dropped, supports `str()` (the schema rendered to Cedar schema syntax, whichever format it was constructed from), and raises `ValueError` at construction on unparseable schemas. On a successful evaluation the result `metrics` gain a `schema_pre_parsed` flag (`1` for the handle path, `0` otherwise). Mirrors the `PolicySet` / `Entities` handle APIs ([#103](https://github.com/k9securityio/cedar-py/pull/103)). Thanks [@swenger](https://github.com/swenger)! @@ -97,7 +99,8 @@ Dependency update release. No functional or API changes — Cedar Policy engine - Performance regression test suite built on `pytest-benchmark` ([#39](https://github.com/k9securityio/cedar-py/pull/39)) -[Unreleased]: https://github.com/k9securityio/cedar-py/compare/v4.8.6...HEAD +[Unreleased]: https://github.com/k9securityio/cedar-py/compare/v4.8.7...HEAD +[4.8.7]: https://github.com/k9securityio/cedar-py/compare/v4.8.6...v4.8.7 [4.8.6]: https://github.com/k9securityio/cedar-py/compare/v4.8.5...v4.8.6 [4.8.5]: https://github.com/k9securityio/cedar-py/compare/v4.8.4...v4.8.5 [4.8.4]: https://github.com/k9securityio/cedar-py/compare/v4.8.3...v4.8.4 diff --git a/Cargo.lock b/Cargo.lock index f00633e..da9d6d1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -284,7 +284,7 @@ dependencies = [ [[package]] name = "cedarpy" -version = "4.8.6" +version = "4.8.7" dependencies = [ "anyhow", "cedar-policy", diff --git a/Cargo.toml b/Cargo.toml index 4212d81..57bed13 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,7 +2,7 @@ # Maturin merges package metadata from pyproject.toml (preferred) and Cargo.toml # c.f. https://github.com/PyO3/maturin?tab=readme-ov-file#python-metadata name = "cedarpy" -version = "4.8.6" +version = "4.8.7" edition = "2021" readme = "README.md" diff --git a/README.md b/README.md index f58a334..172d78a 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@
| Cedar Policy (engine) release | cedarpy release | cedarpy branch |
|---|---|---|
| v4.8.2 | v4.8.6 | main |
| v4.8.2 | v4.8.7 | main |
| v4.7.2 | v4.7.1 | release/4.7.x |
| v4.1.0 | v4.1.0 | release/4.1.x |
| v2.2.0 | v0.4.1 | release/2.2.x |