Skip to content

Commit 5b48a09

Browse files
Release v0.10.0
1 parent b8c4fca commit 5b48a09

5 files changed

Lines changed: 82 additions & 68 deletions

File tree

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.10.0] - 2026-03-29
11+
12+
### Changed
13+
- **Flatten user attributes in decision function context** — Custom attributes are now first-class fields on `ctx.session.user` (e.g., `ctx.session.user.region`) instead of nested under `ctx.session.user.attributes`. Built-in fields (`id`, `username`, `tenant`, `roles`) always take priority on collision.
14+
- **BREAKING**: Existing decision functions referencing `ctx.session.user.attributes.*` must be updated to `ctx.session.user.*`
15+
16+
### Added
17+
- **Expression editor with autocomplete** — Filter and mask expression fields in PolicyForm now use a CodeMirror editor with `{user.*}` template variable autocomplete (built-in + custom attribute definitions).
18+
- **Server-side expression validation** — New `POST /policies/validate-expression` endpoint and "Check" button in the expression editor to validate filter/mask syntax before saving.
19+
- **ORM-derived reserved attribute keys** — Reserved user attribute keys are now computed from the `proxy_user` ORM columns (+ virtual fields like `roles`), preventing accidental collisions with DB-level field names.
20+
- **Conditional policy documentation** — Comprehensive ABAC expression patterns and conditional policy examples for all five policy types added to `docs/permission-system.md`. Conditional Policies marked as resolved in roadmap (covered by `CASE WHEN` expressions + decision functions).
21+
1022
## [0.9.0] - 2026-03-28
1123

1224
### Added

Cargo.lock

Lines changed: 67 additions & 65 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

admin-ui/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "admin-ui",
33
"private": true,
4-
"version": "0.9.0",
4+
"version": "0.10.0",
55
"type": "module",
66
"scripts": {
77
"dev": "vite",

migration/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "migration"
3-
version = "0.9.0"
3+
version = "0.10.0"
44
edition = "2024"
55

66
[dependencies]

proxy/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "proxy"
3-
version = "0.9.0"
3+
version = "0.10.0"
44
edition = "2024"
55

66
[dependencies]

0 commit comments

Comments
 (0)