What's new on KeyAway

Last updated: September 21, 2026

Release notes for major features, improvements, and fixes shipped to KeyAway.

Platform release history

Catalog activity feed →

All releases

September

  1. Latest·PR #117

    feat(version-fit): admin edit, bundled updates history, changelog publish

    featfixenhanceapiperf

    Tightens “which version did you try?” reporting on program pages, lets admins correct stored tried versions on key reports, fixes [#115](https://github.com/eyyMinda/KeyAway/issues/115) so `/updates` shows real chronological catalog history, and defaults merged-PR changelog entries to published in Sanity.

    Highlights

    • Version-fit prompts accept short labels like 16 or 16.5; 16 and 16.0 roll up together in stats
    • “Other version” must be at least 0.1 newer than the listed key version when users type a custom version
    • Admins can edit the tried version on a key report from the admin modal
    • /updates keeps a full history via bundled Sanity docs; the header bell stays a small recent snapshot

    Community

    • Clearer version-fit flow on giveaway keys (listed vs other version, validation before submit)
    • Updates timeline can show repeated key drops per program by month, not one row per program

    Admin

    • Key report details: edit tried version with the same validation rules as the public form
    • Changelog sync workflow writes published: true by default so releases appear on /changelog after merge
  2. ·PR #114

    feat(program): larger event bundles, version-fit key reports, and program page fixes

    featfixuiperfapienhance

    Key reports for expired or limit-reached keys now ask whether you tried the listed program version, so mismatched-version failures don't skew community scores. Program pages load reliably again, and analytics bundling uses larger batches with a shorter live window to slow Sanity document growth.

    Highlights

    • Version-fit prompt after expired/limit reports — confirm listed version or enter the one you tried
    • Other-version reports excluded from progress bars; warning icon on affected keys with hover detail
    • Program page SSR fix (image dimensions without @sanity/asset-utils)
    • JSON-LD aggregateRating emits integer values within 1–5 for Google rich results
    • Event bundling: 5000-capacity new bundles, 12h live window, 6h cron (legacy 1000 bundles untouched)

    Community

    • Report and renewal modals show clear success or skip feedback after submit
    • Progress bar hover tooltip breaks down working, expired, limit, and other-version counts
    • Non-admin sessions required for visitor reports to persist (admin skip message shown when logged in)

    Admin

    • Key reports table and detail modal show listedVersion, version-fit, and other-version aggregates
    • Cron status card reflects 6-hour bundle-events schedule

August

  1. ·PR #113

    feat: public changelog, updates timeline, and animated sanity images

    featuiperfapienhance

    Ships a public `/changelog` fed from Sanity (with GitHub PR sync), rebuilds `/updates` as a month-filtered timeline with scroll-spy sidebar, delivers animated GIF/WebP from Sanity without breaking Next.js image optimization, and adds Windows/Mac platform glyphs on program discovery surfaces.

    Highlights

    • New /changelog page with release cards, multi-tag labels, month sidebar, and load-more pagination
    • Sanity-backed changelogRelease docs with backfill scripts and a merge-to-main GitHub Action for draft sync
    • /updates rebuilt as a grouped timeline with shared month sidebar, scroll-spy highlight, and scroll-preserving load more
    • Animated GIF and WebP delivery from Sanity via imageDelivery helpers and AnimatedSanityImage
    • Platform glyphs on /programs filters and related program cards

    Changelog

    • changelogRelease sanity schema with tags, highlights, sections, and a published flag
    • PR body parser supports ## Changelog, ### subsections, tag comments, and redacts sensitive lines
    • Backfill (npm run backfill:changelog) and per-PR sync (sync:changelog-pr) scripts plus .github/workflows/changelog-sync.yml
    • Webhook revalidation for TAG_CHANGELOG when release docs publish
    • Footer, sitemap, and metadata entries for the new route

    Updates feed

    • UpdatesTimeline with sticky year headings and month markers for scroll-spy
    • Shared FeedMonthSidebar, FeedWithMonthSidebar, and feed pagination utilities
    • Sidebar scroll-spy highlights the active month while browsing; month filter scrolls to the feed grid instead of page top
    • Cross-links between /updates and /changelog

    Image delivery

    • sanityMotionImageUrl() and display-dimension helpers for motion-safe CDN URLs
    • IdealImage mayAnimate slot for about blocks and featured showcase GIF
    • preserveAnimation toggle on about-section images in Sanity Studio
    • GROQ projection for image dimensions, LQIP, and animation metadata
    • Site logo aspect-ratio warning fix on IdealImageClient

    Discovery

    • PlatformGlyphs component wired into ProgramsFilter and RelatedPrograms

    Studio

    • Sanity desk grouped into Programs, Store, Community, Analytics, and System folders
    • Visitors pinned top, Changelog pinned bottom

July

  1. ·PR #112

    feat(program): community comments, taxonomy, and program discovery

    featuiapi

    Ships richer program community interactions, Sanity-backed categories and platforms for discovery, smarter related programs, and a refactored /programs filter bar.

    Highlights

    • Emoji reactions and inline edit on program comments and replies
    • Category chips and platform filters across program pages
    • Related programs ranked by shared categories with vendor caps

    Community

    • Emoji reactions on comments and replies with per-visitor limits and chip UI
    • Noto Color Emoji so newer pictographs render reliably in reaction chips
    • Visitors can edit their own comment or reply text with editedAt and ownership checks

    Discovery

    • New programCategory documents; programs link to categories and declare windows/mac platforms
    • Related programs ranked by shared categories and popularity
    • Category chips on program hero and home cards; /programs filters by category and platform via URL params
    • Platform glyphs on related program cards

    Other

    • Telegram added as a store social link option
  2. ·PR #111

    feat(admin): contact reply email, visitor moderation, and seo fixes

    featfixuiapi

    Admins can reply to contact messages by email from the dashboard, visitor-tier moderation tools expand across admin surfaces, and several SEO metadata and accessibility gaps close.

    Highlights

    • Reply-to-visitor email flow from admin messages (Resend + mailto fallback)
    • Shared visitor moderation panel and spammer marking across admin modals
    • Stronger Open Graph metadata and meta title lengths on trust and program routes

    Admin

    • Reply to contact messages with template preview, send via Resend, mailto draft, and reply history on the thread
    • Shared AdminVisitorPanel / AdminVisitorSection and MarkSpammerButton on messages, comments, suggestions, and key reports
    • Visitor upserts track comments and contributions; spammers blocked on contact, comments, and suggestions
    • Custom /admin/signin page for GitHub sign-in across browsers (CSP form-action relaxed for prod domains)

    SEO & accessibility

    • Open Graph helper adds og:site_name and og:image:secure_url across routes; fallback meta titles tuned to 32–60 chars
    • Footer, home, and programs heading hierarchy fixes
    • Vendor and about image alt text improvements

For day-to-day listings and key drops, see Updates.