Skip to content

Commit 8c19dbf

Browse files
first-assistToby Martin
andauthored
Make role catalogue expansion resilient (#26)
Co-authored-by: Toby Martin <toby@another.com.au>
1 parent 0d242f7 commit 8c19dbf

30 files changed

Lines changed: 851 additions & 111 deletions

CHANGELOG.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,21 @@ This file is the authoritative user-facing release chronology. The former
1414
[release-notes ledger](docs/archive/2026/graphql-orm-release-notes.md) is retained
1515
for historical context.
1616

17+
## 0.26.0 - 2026-08-22
18+
19+
Companion macros crate: `graphql-orm-macros` **0.26.0**. Generated ORM and
20+
database behavior are unchanged.
21+
22+
- Aligned the optional `auth-agql` bridge to generic `agql-auth` 0.18.0 at
23+
merged full revision `527d15d28e3c295a6f6b5e6d74559a7aecdc1322`, retaining
24+
one public auth type universe for direct consumers.
25+
- The upstream release adds a typed authorization-role claim and issuer hook,
26+
explicit unknown-role expansion errors, and independent catalogue lifetime
27+
validation. The ORM bridge remains a projection of an accepted principal;
28+
database policy and generated resolver behavior are unchanged.
29+
30+
No database, GraphQL SDL, generated-code, or stored-data migration is required.
31+
1732
## 0.25.1 - 2026-08-22
1833

1934
Companion macros crate: `graphql-orm-macros` **0.25.1**. Generated ORM and

Cargo.lock

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

Cargo.toml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ license = "MIT"
2727
repository = "https://github.com/Dastari/graphql-orm"
2828

2929
[workspace.dependencies]
30-
agql-auth = { git = "https://github.com/Dastari/agql-auth.git", rev = "b792241b7d9bb46bad81dde4534ae5b39857f614", version = "0.17.1" }
30+
agql-auth = { git = "https://github.com/Dastari/agql-auth.git", rev = "527d15d28e3c295a6f6b5e6d74559a7aecdc1322", version = "0.18.0" }
3131
arc-swap = "1.7"
3232
async-graphql = { version = "7", features = ["dataloader", "uuid"] }
3333
async-graphql-parser = "7"
@@ -37,7 +37,7 @@ cynic-parser = { version = "=0.11.2", features = ["pretty"] }
3737
futures = "0.3"
3838
getrandom = "0.3"
3939
graphql-composition = "=0.12.2"
40-
graphql-orm = { path = "crates/graphql-orm", version = "0.25.1", default-features = false }
40+
graphql-orm = { path = "crates/graphql-orm", version = "0.26.0", default-features = false }
4141
graphql-orm-ai-tool-profiles = { path = "crates/graphql-orm-ai-tool-profiles", version = "0.9.0" }
4242
graphql-orm-backup = { path = "crates/graphql-orm-backup", version = "0.7.1", default-features = false }
4343
graphql-orm-operation-catalog = { path = "crates/graphql-orm-operation-catalog", version = "0.3.0" }
@@ -62,5 +62,6 @@ thiserror = "2"
6262
tokio = { version = "1" }
6363
tokio-stream = { version = "0.1", features = ["sync"] }
6464
tokio-util = { version = "0.7", features = ["compat"] }
65+
tracing = "0.1"
6566
uuid = { version = "1", features = ["v4"] }
6667
url = "2"

MIGRATION.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,16 @@ supersedes: []
1313
`graphql-orm` is distributed from GitHub only. Use a reviewed full 40-character commit in `rev`;
1414
neither the runtime nor macros crate is published to crates.io.
1515

16+
## 0.25.1 to 0.26.0: agql-auth 0.18.0 alignment
17+
18+
Git consumers using `auth-agql` must align direct `agql-auth` dependencies to
19+
0.18.0 at merged revision `527d15d28e3c295a6f6b5e6d74559a7aecdc1322`.
20+
Adopt aligned `graphql-orm` and `graphql-orm-macros` 0.26.0 from the same
21+
reviewed monorepo revision. The bridge remains projection-only. Hosts adopting
22+
typed authorization-role grants follow the upstream issuer/resource-server
23+
rollout; no ORM schema, migration, generated-code, database-policy, or
24+
stored-data change is required.
25+
1626
## 0.25.0 to 0.25.1: agql-auth 0.17.1 alignment
1727

1828
Git consumers using `auth-agql` must align direct `agql-auth` dependencies to

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,12 @@ schema changes explicitly.
4242

4343
Packages are distributed from this repository, not crates.io. Pin the reviewed
4444
release revision, not a moving branch or tag. The current coordinated
45-
`graphql-orm` version is 0.25.1. Replace the placeholder below with the final
45+
`graphql-orm` version is 0.26.0. Replace the placeholder below with the final
4646
reviewed full SHA for the release:
4747

4848
```toml
4949
[dependencies]
50-
graphql-orm = { git = "https://github.com/Dastari/graphql-orm.git", rev = "<reviewed-full-40-character-commit-sha>", version = "0.25.1", default-features = false, features = ["sqlite"] }
50+
graphql-orm = { git = "https://github.com/Dastari/graphql-orm.git", rev = "<reviewed-full-40-character-commit-sha>", version = "0.26.0", default-features = false, features = ["sqlite"] }
5151
```
5252

5353
Choose exactly the backend support needed by each service. Cargo can unify

crates/graphql-orm-ai/CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,19 @@ checkpoint facts. For the current workspace baseline and active gates, use the
1818
[implementation status](docs/implementation-status.md) and the central
1919
[AI production-readiness plan](../../docs/plans/active/ai-production-readiness/README.md).
2020

21+
## [0.91.0] - 2026-08-22
22+
23+
Persistent schema module: **0.63.0** (unchanged from 0.90.1).
24+
25+
### Changed
26+
27+
- Aligned the public `agql-auth` type universe to 0.18.0 at merged revision
28+
`527d15d28e3c295a6f6b5e6d74559a7aecdc1322`. Consumers using re-exported
29+
principal types must resolve the same full revision.
30+
- The additive typed authorization-role metadata is available through the
31+
shared principal type. AI authorization, principal rehydration, providers,
32+
persistence, GraphQL SDL, backup, and restore behavior are unchanged.
33+
2134
## [0.90.1] - 2026-08-22
2235

2336
Persistent schema module: **0.63.0** (unchanged from 0.90.0).

crates/graphql-orm-ai/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "graphql-orm-ai"
3-
version = "0.90.1"
3+
version = "0.91.0"
44
edition = "2024"
55
authors = ["Toby Martin <toby@dastari.net>"]
66
description = "Project-agnostic AI agent runtime for graphql-orm applications"

crates/graphql-orm-ai/MIGRATION.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,15 @@ they describe. For the current workspace baseline and active delivery gates,
1919
use [implementation status](docs/implementation-status.md) and the central
2020
[AI production-readiness plan](../../docs/plans/active/ai-production-readiness/README.md).
2121

22+
## 0.90.1 to 0.91.0: agql-auth 0.18.0 type-universe alignment
23+
24+
Adopt `graphql-orm-ai` 0.91.0 from one reviewed full monorepo revision and
25+
align every direct `agql-auth` dependency to version 0.18.0 at merged revision
26+
`527d15d28e3c295a6f6b5e6d74559a7aecdc1322`. The new typed authorization-role
27+
metadata is additive to the public principal type. The schema module remains
28+
**0.63.0**; no database, data, provider, GraphQL SDL, protected-payload,
29+
backup, restore, or runtime migration is required.
30+
2231
## 0.90.0 to 0.90.1: agql-auth 0.17.1 type-universe alignment
2332

2433
Adopt `graphql-orm-ai` 0.90.1 from one reviewed full monorepo revision and

crates/graphql-orm-ai/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ for AI, ORM, storage, backup, and tool-profile packages:
2828

2929
```toml
3030
[dependencies]
31-
graphql-orm-ai = { git = "https://github.com/Dastari/graphql-orm.git", rev = "<reviewed-full-40-character-commit-sha>", version = "0.90.1", default-features = false, features = ["sqlite"] }
31+
graphql-orm-ai = { git = "https://github.com/Dastari/graphql-orm.git", rev = "<reviewed-full-40-character-commit-sha>", version = "0.91.0", default-features = false, features = ["sqlite"] }
3232
```
3333

3434
Exactly one persistence backend is required: `sqlite` (default), `postgres`,

crates/graphql-orm-ai/docs/implementation-status.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ supersedes: []
1010

1111
# Implementation Status
1212

13-
`graphql-orm-ai` is at crate version `0.90.1` with AI schema module
14-
`0.63.0`. It uses workspace `graphql-orm` `0.25.1`, backend-neutral
13+
`graphql-orm-ai` is at crate version `0.91.0` with AI schema module
14+
`0.63.0`. It uses workspace `graphql-orm` `0.26.0`, backend-neutral
1515
`graphql-orm-ai-tool-profiles` `0.9.0`, and external `agql-auth`
16-
`0.17.1` at `b792241b7d9bb46bad81dde4534ae5b39857f614`.
16+
`0.18.0` at `527d15d28e3c295a6f6b5e6d74559a7aecdc1322`.
1717

1818
Completed stateless local-provider turns can carry a proof-bearing contained
1919
native-item refusal after authoritative usage settlement. Those runs close as

0 commit comments

Comments
 (0)