From 52f465b4ddc5328dbb1ddf3e75184c25c11cd5b7 Mon Sep 17 00:00:00 2001 From: Ben Stull Date: Sun, 7 Jun 2026 22:30:09 -0700 Subject: [PATCH] =?UTF-8?q?release:=20v0.51.1=20=E2=80=94=20collection-id?= =?UTF-8?q?=20divergence=20+=20faceted-catalog=20scoping=20fixes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 (1M context) --- CHANGELOG.md | 27 +++++++++++++++++++++++++++ VERSION | 2 +- frontend/package.json | 2 +- 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ede2458..e1fc6a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,33 @@ skip versions are the composition of each intervening adjacent release's steps in order — no A-to-B path is pre-computed beyond that. +## 0.51.1 — 2026-06-07 + +**Patch — two §22 correctness fixes (no operator action required).** + +- **Faceted catalog / bulk bar now scope to the named collection in the URL.** + `useCollectionId` read the route param, but the catalog renders above the + `c/:collectionId` route, so it always fell back to the default collection — + the faceted filter (§22.4a SLICE-3) and bulk action bar (SLICE-5) never + scoped to a named, `fields:`-bearing collection in the deployed app. It now + resolves the `/c//` segment from the path. Caught by a new end-to-end + Playwright suite exercising the metadata UI against a real browser + Gitea. + +- **Heal the migration-029 vs registry-mirror collection-id divergence.** On a + deployment that already held ≥2 projects when migration 029 ran, the default + project's collection was seeded as the project id while the mirror expects + `'default'`, so the mirror inserted a duplicate empty collection. A new + startup reconciler (`projects.reconcile_default_collection_id`, the + collection-grain twin of the §22.13 re-stamp) renames the divergent + collection to `'default'` before the mirror runs. Idempotent; a no-op on + fresh / single-project / already-aligned deployments (incl. the default + `document` deployment). + +Also: the per-IP auth rate-limiter budgets are now env-overridable +(`RATELIMIT_OTC_REQUEST_MAX` / `_VERIFY_MAX` / `_CHECK_MAX`) for test/PPE stacks +that drive auth from one IP; production keeps the secure defaults. The Tier-1 +test harness is brought current with the §22 three-tier app. + ## 0.51.0 — 2026-06-07 **Minor — bulk tag/untag metadata edit (§22.4a SLICE-5).** diff --git a/VERSION b/VERSION index c5d4cee..1e0c609 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.51.0 +0.51.1 diff --git a/frontend/package.json b/frontend/package.json index 9abf447..d560e74 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,7 +1,7 @@ { "name": "rfc-app-frontend", "private": true, - "version": "0.51.0", + "version": "0.51.1", "type": "module", "scripts": { "dev": "vite",