Skip to content

release: bump version to 4.8.2#76

Merged
skuenzli merged 1 commit into
mainfrom
release/4.8.2
May 12, 2026
Merged

release: bump version to 4.8.2#76
skuenzli merged 1 commit into
mainfrom
release/4.8.2

Conversation

@skuenzli
Copy link
Copy Markdown
Contributor

@skuenzli skuenzli commented May 12, 2026

Summary

Promotes [Unreleased] to [4.8.2] - 2026-05-12 and bumps the package version. Cedar Policy engine version is unchanged (still v4.8.2).

Highlights since v4.8.1

  • @id annotations surface as the human-readable id. AuthzResult.diagnostics.reasons and ValidationError.policy_id now carry the @id value instead of the auto-generated policy0/policy1/... id (Define and implement support for @id annotations #74, feat: resolve @id annotations at response time (Path B) #75). Annotations are inert in Cedar evaluation per the Cedar docs; this is a labeling step on the response surface, not a rename of the underlying PolicyId. Empty @id values fall back to the parser-generated id.

  • Invalid schemas surface as diagnostics, not silent discards. is_authorized / is_authorized_batch / validate_policies now return Decision.NoDecision (or validation_passed=False) with a diagnostic when given an invalid schema (fix: surface invalid schema as NoDecision with diagnostic error (#27) #65).

  • make release builds and tests a release-mode wheel. The target previously ran maturin build (dev profile) and ran pytest against whatever was installed in the venv — neither half tested the actual release wheel. PyPI artifacts were unaffected; this only fixed locally-built wheels.

Performance

test_complex_policy median across the v4.8.0 → v4.8.2 arc (full table in tests/benchmark/results/HISTORY.md):

State Median (μs) Δ vs v4.8.0
v4.8.0 281
PR #66 (rename-based @id) 322 +14.7%
main pre-fix 323 +14.9%
PR #75 (Path B) — v4.8.2 279 -0.6%

Test plan

  • pytest tests/unit — 62 passed
  • make integration-tests — 69 passed, 5 skipped
  • make benchmark-compare — medians within v4.8.0 noise floor (≤3%)
  • make release — builds release-mode wheel, force-reinstalls into venv, all unit tests pass against the wheel
  • Downstream commercial product tested against the local release-candidate wheel — passed
  • CI green across all platforms

Files touched

  • Cargo.toml — version 4.8.1 → 4.8.2
  • Cargo.lock — regenerated via cargo build
  • README.md — compatibility table: cedarpy release cell for Cedar v4.8.2 row
  • CHANGELOG.md[Unreleased] promoted to [4.8.2] - 2026-05-12; new empty [Unreleased] block; footer links updated

Highlights since v4.8.1:

- `@id("...")` annotations on a policy now surface as the human-readable
  id in `AuthzResult.diagnostics.reasons` and `ValidationError.policy_id`,
  instead of the auto-generated policy0/policy1/... id (#74, #75).
  Annotations are inert in Cedar evaluation per the Cedar docs; this is
  a labeling step on the response surface, not a rename of the underlying
  PolicyId. Empty `@id` values fall back to the parser-generated id.

- `is_authorized` / `is_authorized_batch` / `validate_policies` now return
  NoDecision (or validation_passed=False) with a diagnostic when given an
  invalid schema, instead of silently discarding the schema (#65).

- `make release` now builds and tests a release-mode wheel. PyPI artifacts
  were unaffected (CI already passed --release); this fixes locally-built
  wheels.

Cedar engine version is unchanged (still v4.8.2).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@skuenzli skuenzli merged commit 2353045 into main May 12, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant