-
ux: migrate item_version_upload.html inline styles to CSS
-
v0.6.4: split item page into store (/i/) and library (/l/) views
-
v0.6.3: surface pending checkout conflict on purchase page
-
v0.6.2: fix paywall template, add monetization settings UI, paywall logging
-
v0.6.1: accept multiple Stripe webhook signing secrets
-
v0.6.0: async-stripe rc.5 migration
-
payments: migrate to async-stripe 1.0.0-rc.5
-
test: migrate stripe webhook tests to rc.5 JSON fixtures
-
docs: handoff doc for async-stripe rc.5 migration
-
build(server): swap async-stripe 0.37.3 → 1.0.0-rc.5 sub-crates
-
test: capture 2026-01-28 Stripe webhook fixtures
-
Lock launch scope for soft → public launch; add Cloudflare maturation phase
-
Audit coverage push + docengine assumptions feature
-
Business docs: 6-phase audit remediation
-
v0.5.19: split large modules; remove dead find_or_create_tag
-
Fix zip_within_nesting_limit_passes — limit is 2, not 3
-
v0.5.18: bump version, plans, scaling doc, proptest regression seed
-
mnw-cli: plan OTA publish subcommand to replace ota-publish.sh
-
Drop redundant clones in dashboard, health, webhook tests
-
Sync slug + archive scanner tests with current behavior
-
Multithreaded v0.3.5 + migration 026: Fan+ perks, signatures, refresh
-
Multithreaded migration 025: community moderation state machine
-
synckit-client: pin native keyring backends, point tests at /api/v1
-
Add tests to kill surviving mutants in shared crates
-
Bridge git issues into Multithreaded forum threads
-
Add /oauth/userinfo perks object for external implementers
-
Extract checkout-metadata helpers into their own module
-
Fan+ self-service: cancel/resume + Stripe billing portal
-
Convert .map_err Internal(anyhow!) to ResultExt::context, fix variant misuse
-
Add Email validated newtype, replace ad-hoc email handling