-
Require CDN_BASE_URL everywhere so no cover URL can expire
-
server: adopt lint block, fix clippy, fmt
-
Format the tree with rustfmt and add the lint + supply-chain gates
-
Decompose AppState Phase 2: migrate custom_domain + content renderers
-
Decompose AppState Phase 2: migrate pages/public + finish blog
-
Group Config and AppState into cohesive sub-structs
-
audit Run 15 Phase 3: storage fail-open fixes
-
server: seal S3 keys behind a typed builder; close storage A+ gaps (ultra-fuzz Run #1 --deep Phase 3)
-
Perf PERF-2/3: collapse item-page viewer flags + batch code-tab collaborators
-
Perf: batch bundle lookup; stop gating git info/refs on the clone budget
-
server: Tier 0 creator theming + fold in Run 18 storage work
-
Run #15: fix 5 SERIOUS findings; seal subscription access gate
-
Unify subscription access checks; bound scheduler fan-out queries (Run #14)
-
server: gallery/carousel, promo-validator, fuzz #11/#12 remediations, embed port, observability
-
server: convert remaining identity-leak surfaces to MaybeUserVerified
-
server: audit MaybeUser sites; introduce MaybeUserVerified
-
v0.6.4: split item page into store (/i/) and library (/l/) views