What's new on KeyAway

Last updated: November 7, 2026

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

Platform release history

Catalog activity feed →

All releases

November

  1. Latest·PR #140

    feat(admin): analytics rollups, threaded comments, email replies and giveaway picker

    docsuiapienhancefeat

    ## Summary

    Highlights

    • **Rollups:** each day older than 30 days is folded into daily_stats (counts) and daily_sketches (HyperLogLog distinct visitors, ~1 KB per day). That day's page views, key copies, downloads and the sessions they leave empty are then deleted.
    • **Never deleted:** reports, comments, suggestions, contact messages, and social / promo / affiliate clicks.
    • **Visitors:** one-time visitors with no contributions are pruned after the same 30 days, and tallied per tier so tier totals don't change.
    • **Readers:** the analytics summary, timeline, campaign reach, program stats and visitor tiers combine rollups with the raw remainder.
    • **Accuracy:** checked against a full copy of production. Whole-day ranges match exactly. Unique visitors over rolled days are estimates (~2–4%). Rolled days count whole, so a range reaching past 30 days can be off by up to half a day at either end.
    • **Schedule:** runs inside the daily prune-cron-runs cron. Event timestamps more than a day old are now clamped to now.

    Database

    • **Already applied to production:** 20261107000000_analytics_rollups.sql and 20261107010000_giveaway_draws.sql, plus the Halloween 2026 giveaway (28 entrants, 12 winners).
    • **Rollup has not run yet** (rolled_until is still 1970-01-01). The first prune cron after merge folds and deletes everything older than 30 days.
    • **Afterwards, run once in the SQL editor:** vacuum full analytics.events, analytics.sessions, analytics.visitors; so the reported database size drops.

October

  1. ·PR #139

    feat(admin): richer analytics, key reports and promotion tracking with lower request costs

    featfixuiperfapidocs

    The analytics, ads, key reports and comments pages in the admin are rebuilt to show more at a glance and to update in place. Promotions now show which campaign is running and how well it converts. The public site also makes far fewer requests per visit, which lowers hosting costs, and pages no longer hang if a database connection dies.

    Highlights

    • Admin analytics now splits visitors, page views and actions into colored stacked charts with a table view.
    • Key reports show key versions, suggest status changes and support bulk edits without reloading.
    • Promotion tracking shows the running campaign and its conversion rate.
    • Public pages make about half as many requests on a first visit.
    • Admin comments have a cleaner, more compact layout.
    • Pages now fail cleanly instead of hanging if a database connection dies.

    Analytics

    • Activity is now a full-width section with stacked columns for visitors by tier, page views by page type, and actions by type.
    • A totals panel doubles as the legend, and clicking a row hides that series.
    • A Table view shows every value per period.
    • A new Promotions section shows clicks by placement, top pages, the running campaign and its conversion rate.
    • Promotion clicks now have their own row in actions and no longer appear under social engagement.
    • Promotion clicks are saved with their campaign, so overlapping campaigns can be told apart.

    Ads

    • The ad trend chart shows its values and axis without hovering, and hovering adds each day's details.
    • The page tabs no longer show a vertical scrollbar.
    • Side ads sit lower while a promotion banner is showing, so they no longer overlap it.

    Key reports

    • The page has summary tiles, search, filters for keys needing review or on older versions, and more ways to sort.
    • Key status can be changed directly on each row, or for many keys at once from a bulk bar.
    • A suggestion appears when reports disagree with a key's status, and it can be applied in one click.
    • The details view shows the key's version, the latest official version, versions visitors tried, and top countries.
    • Reports can be filtered, selected and changed in bulk there, and only the changed rows update, so the view stays where it is.
    • Correcting a report keeps its original date.

    Comments and details views

    • Comments are a compact list with author, tier, program and time on one line.
    • Comment threads mark the opened comment and indent replies.
    • Admin details views have a slimmer header and footer, and their subtitle color is fixed.
    • Deleting a comment or flagging a visitor no longer reloads the page.

    Site

    • Links now prefetch on hover or focus instead of as soon as they appear on screen.
    • Speed Insights has been removed.
    • Colors with transparency, hover states, focus rings and gradients that were not rendering now work across the site.
    • The 404 page has proper spacing below the promotion banner.
  2. ·PR #138

    feat: scheduled site promotions and halloween giveaway

    featuiapidocs

    Giveaways and sales can now run on a schedule from the Studio. A promotion shows a banner on every page, a card on program pages, a pinned bell notification and a small homepage badge, then disappears on its own when it ends. The first one is the Halloween giveaway for reaching 1,000 members.

    Highlights

    • Scheduled promotions can appear across the site and end automatically, with no redeploy.
    • Each campaign's dates, text, theme, button and images are edited in the Studio.
    • Presets for Halloween, Christmas and Black Friday make campaigns easy to repeat.
    • The first promotion is the 1,000 members Halloween giveaway.

    Promotions

    • A themed banner appears under the header on every public page.
    • Program pages swap the Facebook group card for a campaign card, with a per-program title on selected programs.
    • The notification bell gets a pinned row and custom popup text.
    • The homepage hero image gets a small campaign badge.
    • Any placement can be turned off by leaving its text blank.
    • A mascot image can float beside the campaign button, with a different one for the banner.

    Studio

    • Promotions has its own item in the Studio's main list.
    • New promotions can start from a Halloween, Christmas or Black Friday preset.

    Docs

    • A new promotions guide covers running a campaign, its placements and click tracking.
  3. ·PR #137

    feat: more version sources and program page tweaks

    featuidocsenhance

    Version tracking now covers more programs: it can read versions from Mac installers and zipped Windows installers, and look programs up on FilePuma. Program pages show the official PRO offer before the free vs PRO comparison, with tighter text spacing.

    Highlights

    • Mac .pkg installers and zipped Windows installers can now be used to track official versions.
    • FilePuma is a new version source for programs without a usable vendor installer.
    • On program pages, the official PRO offer now comes before the free vs PRO comparison.
    • Paragraphs in program descriptions and feature points have tighter spacing.

    Versions

    • The installer source reads the app version from a Mac .pkg within its first megabyte.
    • Zipped downloads (up to 40 MB) are opened and the version is read from the installer inside.
    • FilePuma lookups match the program's exact name, show close matches when it is not found, and wait 5 seconds between requests.
    • FilePuma can be chosen in the program editor's version tracking card and appears in the Versions tab.

    Program pages

    • The affiliate PRO call-to-action is shown above the free vs PRO comparison table.
    • Rich-text paragraphs and about-section points no longer add extra vertical spacing.

    Docs

    • README and the program-management guide list FilePuma and the .pkg / .zip installer support.
  4. ·PR #135

    feat(admin): program editor, vendors, versions and prefill

    featuiapidocsenhance

    Admin can edit programs and vendors in a full tabbed editor, pull draft content from vendor pages and press kits, and track official versions from installers or catalogs. Public pages stay clearer about how keys are found and that versions are checked daily.

    Highlights

    • Programs and vendors are edited in a tabbed admin panel with search, filters and URL-backed open state.
    • Rich text is edited as Markdown and saved without losing Portable Text formatting.
    • Official versions can be read from vendor installers, product pages or package catalogs, with a daily check job.
    • New programs can be prefilled from scraped pages, press kits and installers, or from Claude Code commands.
    • /how-it-works now mentions the daily giveaway scan and version checks.

    Admin

    • The programs page is a filterable table with show-more steps, working-key expansion and vendors/versions tabs.
    • The program editor covers basics, content, keys, media, SEO, version tracking and optimistic saves with revision checks.
    • Vendors can be created, edited and deleted from the same page once no program still uses them.
    • Shared field rules validate the merged document on the client and on the API before write.

    Versions

    • Installer files are probed over HTTP Range for an embedded version and Last-Modified date.
    • Page, winget, Chocolatey and Homebrew sources cover vendors without a usable full installer.
    • Admins can run one check now, test unsaved settings, or find an installer link on a product page.
    • Auto-apply can update latestOfficialVersion when a newer release is found.

    Prefill

    • Admin scrape collects page metadata, FAQs, download links, press-kit text and screenshots, plus installer version when available.
    • Apply imports selected images into Sanity and fills only empty or chosen fields.
    • /prefill-program and /prefill-vendor Claude skills produce paste-ready JSON for the same dialog.

    Docs

    • New program-management guide covers the editor, vendors, version checks and prefill.
    • README, key-status and visitor docs match the current stack (including Supabase analytics).

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