Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
0a27ca6
chore(release): prepare v0.46.1
rrrodzilla Sep 25, 2026
f46ce3a
fix(auth): authorize related rows before read enrichment
rrrodzilla Sep 25, 2026
7ba7dd4
test(auth): use stable valid identifiers for related records
rrrodzilla Sep 25, 2026
736a333
fix(auth): authorize original related rows before operator redaction
rrrodzilla Sep 25, 2026
0561771
fix(export): authorize target rows before rendering relation labels
rrrodzilla Sep 25, 2026
bd3aa44
chore(release): version migration fixes for v0.46.1
rrrodzilla Sep 25, 2026
a15b14c
fix(site): render relation labels and omit unused field helpers
rrrodzilla Sep 25, 2026
8437175
fix(api): resolve authorized nested relation display labels
rrrodzilla Sep 25, 2026
6f7d8c0
docs(release): describe follow-up migration and site fixes
rrrodzilla Sep 25, 2026
62ed3bf
chore(release): version cross-backend migration corrections
rrrodzilla Sep 25, 2026
c09dcf2
fix(migration): backfill required fields and gate inverse storage cha…
rrrodzilla Sep 25, 2026
8f89a5b
fix(migration): share validated literal defaults with backends
rrrodzilla Sep 25, 2026
a34a973
ci(mssql): run unit and migration regression suites
rrrodzilla Sep 25, 2026
7859648
fix(mssql): apply migration backfills and remove relation data
rrrodzilla Sep 25, 2026
cf54a33
fix(site): associate relation picker with its field label
rrrodzilla Sep 25, 2026
df99407
fix(surrealdb): preserve field constraints during modifier migrations
rrrodzilla Sep 25, 2026
a5891e9
fix(site): omit unused detail symbols for hidden-only fields
rrrodzilla Sep 25, 2026
2ad1209
fix(surrealdb): discard removed relation values and escape defaults
rrrodzilla Sep 25, 2026
bddc796
ci: retain independent runtime checks after storage failures
rrrodzilla Sep 25, 2026
c636af3
test(postgres): preserve drift fixture with valid required default
rrrodzilla Sep 25, 2026
322e412
test(auth): retain anonymous relation checks with unified helper
rrrodzilla Sep 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/mssql-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,3 +98,6 @@ jobs:
- name: Deny SQL Server lints
if: matrix.version == 2019
run: cargo clippy -p schema-forge-mssql --all-targets -- -D warnings
- name: Run SQL Server unit and migration tests
if: matrix.version == 2019
run: cargo nextest run -p schema-forge-mssql --no-fail-fast
2 changes: 2 additions & 0 deletions .github/workflows/postgres-conditional.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,10 @@ jobs:
- name: Run storage concurrency cases
run: cargo nextest run -p schema-forge-backend -p schema-forge-postgres --run-ignored all --no-fail-fast
- name: Prepare disposable HTTP namespace
if: ${{ !cancelled() }}
run: psql -X -v ON_ERROR_STOP=1 -c 'CREATE SCHEMA conditional_http'
- name: Run complete runtime and schema suites
if: ${{ !cancelled() }}
run: cargo nextest run -p schema-forge-acton -p schema-forge-surrealdb -p schema-forge-core -p schema-forge-dsl --features schema-forge-acton/postgres,schema-forge-acton/graphql --no-fail-fast
- name: Run HTTP authorization and concurrency cases
if: ${{ !cancelled() }}
Expand Down
15 changes: 14 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,15 @@ is pre-1.0; breaking changes bump the **minor** version per

## [Unreleased]

## [0.46.0] - 2026-09-25
## [0.46.1] - 2026-09-25

This release includes the changes prepared for v0.46.0. The v0.46.0 source tag
is retained, but its binary release was not published.

### Runtime and API behavior

- Apply target schema, record, and field authorization consistently when resolving
related display labels and derived collection IDs, including export labels.
- Validate tenant declarations consistently across startup, CLI schema application,
and runtime schema changes. Applications with a tenant root must annotate every
application schema; built-in system schemas remain shared.
Expand All @@ -32,6 +37,11 @@ is pre-1.0; breaking changes bump the **minor** version per

### Database and operator fixes

- Add PostgreSQL literal defaults with their columns so existing rows are filled.
Required-field transitions backfill before enforcing `NOT NULL`; plans without
a usable literal backfill value are refused before changes are applied.
- Report stored/derived inverse-collection transitions as destructive migrations.
Cross-schema changes in collection meaning require a reviewed batch migration.
- PostgreSQL planning and inspection connections perform no bookkeeping DDL.
Fresh databases plan as empty registries, and read-only roles can inspect existing
metadata without schema creation privileges.
Expand All @@ -51,6 +61,9 @@ is pre-1.0; breaking changes bump the **minor** version per

### Generated sites

- Generate compilable list and detail pages for relation-only and file-only
schemas. Primary relation cells and relation pickers use display labels, and
nested display relations resolve through bounded, authorized lookups.
- Carry the active tenant on entity, invitation, and file requests, including
requests retried after a token refresh.
- Show readable API errors and avoid duplicate global notifications when pages
Expand Down
12 changes: 6 additions & 6 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion crates/schema-forge-acton/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "schema-forge-acton"
version = "0.45.0"
version = "0.45.1"
edition = "2021"

[dependencies]
Expand Down
11 changes: 11 additions & 0 deletions crates/schema-forge-acton/src/extension.rs
Original file line number Diff line number Diff line change
Expand Up @@ -432,6 +432,17 @@ impl SchemaForgeExtension {
}
})?;
for schema in paired {
if let Some(stored) = registry.get(schema.name.as_str()) {
let plan = schema_forge_core::migration::DiffEngine::plan_update(stored, &schema)
.map_err(|error| ForgeError::Internal {
message: error.to_string(),
})?;
if plan.has_destructive_steps() {
return Err(ForgeError::Internal {
message: format!("inverse collection storage transition requires an explicit batch migration before startup: {plan}"),
});
}
}
registry.insert(schema.name.as_str().to_string(), schema);
}

Expand Down
Loading
Loading