Repository navigation
V1
Added
- Public blog directory and articles with cover images, writer attribution,
publication/update dates, read time, heading permalinks, table of contents,
social images, and sitemap discovery. Admins can create, edit, publish, and
delete posts with rich Markdown authoring, cover uploads, and revision checks. - Public About page at
/aboutand admin editor at/admin/about. Title,
description, and Markdown can be previewed and published immediately, with
stale-edit protection and the shared public Markdown renderer. - Sponsored campaign management with scheduling, artwork, tier eligibility,
weighted selection, and labeled public banner, listing, sidebar, corner,
and sponsor-grid placements. - Account-free monthly advertising orders with private emailed management links,
Ko-fi payment links, manual receipt confirmation, material review, renewal,
and a durable notification outbox. Payments and refunds are not automated. - Collection-based related-project suggestions on project detail pages.
Changed
- Catalogue filters support selecting multiple categories and licenses while
preserving search state in the URL. - Project and collection directories use 45 display slots, sharing available
space with listing ads and backfilling missing or blocked ads with organic items. - Project cards reveal fuller descriptions on hover and keyboard focus, with
touch-friendly links to project details. - Updated oRPC to the 2.0 beta API and refreshed frontend/toolchain dependencies.
- Added React Doctor diagnostics to the development workflow and pull requests.
- Consolidated advertising and ranking reference material into the five main
guides and synchronized the README, PRD, and roadmap with current behavior.
Fixed
- Keep the initial server/client catalogue offset consistent during hydration,
then restore tab-specific pagination boundaries without reusing another
offset's query results. - Preserve application-defined OpenAPI error statuses, including upload errors,
after the oRPC upgrade. - Prevent overlapping project-card links from blocking touch navigation.
- Release busy states after failed asynchronous actions so forms can be retried.
- Index category ancestry lookups and cancel/remove deleted-category detail
variants together, retaining protection against late responses. - Replace deprecated oRPC client types and Recharts legend positioning props.
Upgrade notes
- Deploy matching API and web revisions. Apply the additive blog, advertising,
order, and About migrations withvp run db:migratebefore deploying them.
The reserved-project-slug preflight must pass, including/blogsand/about. - Configure ad email delivery using
RESEND_API_KEY,RESEND_FROM_EMAIL, a
trustedEMAIL_APP_URL, and optionallyADS_CONTACT_EMAIL. Keep an API
instance running for its advertising outbox loop. - Review the Ko-fi destinations in
AD_PLANSfor the intended instance. Confirm
receipts manually; opening checkout does not record a payment or extend dates. - Follow the deployment guide for proxy
QUERYsupport,
migration/configuration checks, scheduled workers, and instance acceptance.
Full Changelog: v0.7.1...v1.0.0