Skip to content

Commit 90cd42c

Browse files
Release v0.8.0
1 parent 7935b6c commit 90cd42c

5 files changed

Lines changed: 24 additions & 5 deletions

File tree

CHANGELOG.md

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

88
## [Unreleased]
99

10+
## [0.8.0] - 2026-03-28
11+
12+
### Added
13+
- **User Attributes (ABAC)** — schema-first attribute system for attribute-based access control
14+
- `attribute_definition` table defines allowed keys with types (`string`/`integer`/`boolean`), entity type scoping, optional enum constraints, and reserved key protection
15+
- User attribute values stored as JSON column on `proxy_user` with full-replace semantics and write-time validation
16+
- Typed `{user.KEY}` template variables in filter/mask expressions (Utf8/Int64/Boolean literals)
17+
- User attributes available in decision function context as `ctx.session.user.attributes` with typed JSON values
18+
- `time.now` (RFC 3339 evaluation timestamp) added to decision function context for time-windowed access
19+
- Admin UI: attribute definition list/create/edit pages, user attribute editor with type-aware inputs
20+
- CRUD API with `?force=true` cascade delete (SQLite `json_remove()` / PostgreSQL `jsonb -`)
21+
- 3 new migrations (052–054)
22+
- **Save-time expression validation** — filter and mask expressions are validated at policy create/update time; unsupported SQL syntax returns 422 immediately instead of failing silently at query time
23+
- CASE WHEN expression support added to the expression parser
24+
25+
### Changed
26+
- **Shared WASM runtime** — consolidated `WasmDecisionRuntime` into a single `Arc` singleton created at startup, shared by `PolicyHook`, `EngineCache`, and `AdminState` (replaces per-use instantiation)
27+
- **Security vectors doc renamed**`docs/permission-security-tests.md``docs/security-vectors.md`; added vectors 59–68 covering predicate probing, aggregate inference, EXPLAIN leakage, HAVING bypass, CASE expression bypass, window function ordering, timing side channels, and ABAC-specific vectors
28+
1029
## [0.7.0] - 2026-03-26
1130

1231
### Added

Cargo.lock

Lines changed: 2 additions & 2 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.7.0",
4+
"version": "0.8.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.7.0"
3+
version = "0.8.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.7.0"
3+
version = "0.8.0"
44
edition = "2024"
55

66
[dependencies]

0 commit comments

Comments
 (0)