Version history
About page dynamic meta description. The /about page now includes the live approved listing count in its meta description instead of the previous static string, matching the dynamic pattern already used on the homepage.
Versions page rel pagination links. The /versions route now emits rel="prev" and rel="next" pagination signals in <head> so search engines understand the version-history pagination, not just the in-page navigation controls.
Version history pagination. The public /versions page now paginates its changelog with 20 entries per page, Prev/Next navigation, and an aria-labeled pagination landmark. With 191 entries, loading the full history without pagination was a poor experience on every subsequent visit.
Moderation scan recommended actions. Pending moderation scans now include a recommended_action object for each listing and a recommendation summary when using --summary, making it faster to distinguish clear approval candidates from premium or manual-review holds without changing approval rules.
Version-history backfill fix. Restored the missing changelog seed entries for releases 0.7.208 through 0.7.217 so the public /versions page no longer skips the August 11-13 release history.
Public version history page. Added a new /versions page that exposes the site's changelog as a plain-English release history with total update counts, current-version context, and one-card-per-release summaries. The footer version number now links directly to that page from every screen.
SearchResultsPage JSON-LD queryinput field. The search page (/search) now includes the queryinput field in its SearchResultsPage structured data so search engines can associate the query term directly with the result set.
Homepage custom meta description. The homepage now emits a live approved-listing-count-aware meta description instead of the generic site-wide default, improving search snippets and social preview accuracy.
Tags page custom meta description. The /tags page now passes a tag-count-aware meta description to the shared head so search snippets and social previews accurately reflect the size of the tag index.
Category/subcategory/tag pages pricing-aware meta descriptions. Taxonomy pages now reflect the active pricing filter in their meta descriptions instead of always describing the unfiltered view.
Browse page pricing-aware meta description. The /browse page now emits pricing-filter-aware head metadata and JSON-LD description content so filtered browse views preview accurately when shared or indexed.
Resource detail page h1 heading fix. Listing names on /resource/:id pages now render as proper h1 headings for better document structure, accessibility, and SEO.
Admin categories form accessible labels. The Add Category form on /adm/categories now uses proper label/input for/id pairing so screen readers can identify both the Name and Description fields correctly.
Admin sidebar aria-current state. The admin overview scroll-spy now sets aria-current on the active section link so screen readers can track which admin section is currently in view.
Moderator dashboard accessibility pass. The moderation tab row is now a labeled nav landmark and its active tab, sort pill, and category filter pills expose clear aria-current/aria-label state for assistive tech.
Admin categories page breadcrumbs. Added a visible Home › Admin › Categories breadcrumb trail to /adm/categories, completing breadcrumb coverage across authenticated admin pages.
Admin overview breadcrumbs. Added a breadcrumb trail (Home › Admin) to the /adm/ admin overview page. The profile page received breadcrumbs in v0.7.204 and moderation pages already had them; the admin overview was the last authenticated admin page without visible navigation breadcrumbs.
Admin login accessible label. The admin password field now has proper for/id pairing with label for=adminPassword and id=adminPassword, so screen readers can programmatically associate the visible label with the password input. This closes the same label/input accessibility gap recently fixed across the public login, submit, profile, and moderation edit forms.
Login form accessible labels. The sign-in page now has proper for/id pairing on both the Email and Password fields so screen readers can programmatically associate each label with its input. This mirrors the same fix already applied to the submit form, moderation edit form, and profile page, completing accessible-label coverage across all auth forms.
Profile page accessibility and navigation. Changed the Display Name field label from a div to a proper label element with for=displayNameInput so screen readers can associate the label with its input. Added breadcrumb trail (Home › Profile) to the profile page.