release(slice5): v0.51.0 — bulk tag/untag metadata (§22.4a PUC-2 SLICE-5)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Ben Stull
2026-06-07 20:52:16 -07:00
parent edbf68909a
commit a2b55f94ce
3 changed files with 26 additions and 2 deletions
+24
View File
@@ -23,6 +23,30 @@ 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.0 — 2026-06-07
**Minor — bulk tag/untag metadata edit (§22.4a SLICE-5).**
An authorized user can now apply one metadata field change to many catalog
entries at once. A new endpoint
`POST /api/projects/{id}/collections/{cid}/meta/bulk` takes
`{slugs, op: set|add|remove, field, value}`, validates each entry against the
collection's `fields:` schema at the write boundary (INV-4), writes the passing
entries' `<slug>.meta.yaml` **sidecars** in a **single commit** (D7: bulk = one
commit, reusing the SLICE-4 sidecar write-through), re-ingests, and returns
`{applied, rejected}` so partial failures (missing entry, invalid value) are
reported without sinking the batch. `set` works for any field; `add`/`remove`
operate on a `tags`-type field. In the faceted catalog, contributors now get a
per-row selection checkbox and a sticky bulk action bar (one "Set ▾" control per
enum field, add/remove-tag for tags fields); a successful apply toasts the
applied/skipped counts and refreshes the list. This completes PUC-2 of the
[Configurable Collection Metadata](./docs/design/2026-06-06-configurable-collection-metadata.md)
design (§5.3, §6.4/§6.5).
No deployment action required. The endpoint and the bulk bar are additive and
opt-in per collection: a collection with no `fields:` block (INV-5 — the
default `document` collection) shows no selection UI and the endpoint returns
`422`, so an N=1 deployment sees zero change.
## 0.50.0 — 2026-06-07
**Minor — single-entry metadata edit + sidecar-aware writes (§22.4a SLICE-4).**
+1 -1
View File
@@ -1 +1 @@
0.50.0
0.51.0
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "rfc-app-frontend",
"private": true,
"version": "0.50.0",
"version": "0.51.0",
"type": "module",
"scripts": {
"dev": "vite",