Releases · The trail behind us

What we shipped,in order.

No hype, no spinners — every meaningful change to P4cely since open beta. Most recent at the top. Click any release to expand the change list.

  1. v1.2.1 · Tracking forward, smarter heatmap, fresher index
    13 changes
    • NEW

      Tracking-forward sync: when you click "Sync from Rocket League" for the first time, Pacely sets a checkpoint instead of pulling stale history. Only matches you play AFTER that moment land in your index — so your free quota goes to fresh games where the coach report can actually help you next session, not to last month's rage-quits.

    • NEW

      Watching dashboard: brand-new empty state for the gap between linking Rocket League and your first tracked match. Pulsing radar, live counter ("Watching for 12s"), next-poll countdown — reads like Strava's between-runs view, not a generic "no matches yet" page.

    • NEW

      Heatmap Compare view: a single divergent map showing exactly where you spend more time than your reference pro (rose) versus less (emerald). Replaces the side-by-side blue maps that buried subtle positional differences. Whole-match, single-glance coaching.

    • NEW

      "NEW" pill on freshly synced matches in the sidebar, with a slide-in animation as they arrive. Click the match and the pill clears — a quiet way to know which replays you still haven't reviewed.

    • NEW

      Background-sync toast: when the periodic poller lands a new match in the index, you get a "X new match(es) synced" notification — no more wondering if a refresh would surface something new.

    • NEW

      Tier-gated sync button: Free's "Sync from Rocket League" is now a status indicator ("Auto-sync next 8m") that respects the auto-poll cadence. Pro can still hit it any time for an instant manual fetch.

    • NEW

      Epic auth dialog redesigned in the editorial register — numbered step rows, proper marketing-display title, plus clipboard auto-detect: paste-or-copy the Epic JSON anywhere and the dialog auto-fills the code when you come back.

    • POLISH

      Heatmap intensity scale: each map now normalises to its own peak. The pro's 30-match aggregate no longer fades against your single-match cluster, and your hot zones stay legible against the pro's. Cluster shape is the comparable signal — magnitude was always misleading across asymmetric samples.

    • POLISH

      "Member since" on the dashboard now reflects when you joined Pacely, not when your platform identity first appeared. Survives session resets the way users actually expect.

    • POLISH

      Dashboard empty state copy aligned with tracking-forward: "Linking Rocket League sets your monitoring checkpoint" instead of the old "Sync pulls the last ~20 matches" promise we no longer make.

    • FIX

      Google account linking after platform signin no longer trips an SSL error on localhost setups — the auth callback now respects the original request protocol instead of hardcoding HTTPS.

    • FIX

      Platform-claim success toast now names the correct provider — "Your Epic Games account is now linked" instead of always saying "Steam" regardless of which one you actually linked.

    • FIX

      Mid-claim redirect loop fixed: when finishing a Google link from a Steam/Epic seed account, the dashboard no longer bounces you to the profile page mid-flow because of a dropped session header.

  2. v1.2.0 · Auto rank, locked playlists, EU-friendly billing
    14 changes
    • NEW

      Rank is now read straight from Rocket League. Once you connect your platform account, Pacely syncs your tier and MMR after every parsed match — the manual rank picker steps aside in favour of a read-only "Synced from Rocket League" badge.

    • NEW

      Rank progression chart in Settings — your MMR over time on the currently selected playlist, drawn from every PsyNet snapshot we've captured so far.

    • NEW

      Free-tier playlist lock: once you finish onboarding, Free locks you to the playlist you picked. The TopBar mode toggle and Settings show the other modes with a small lock pill instead of letting you switch silently.

    • NEW

      Free-tier reference-player lock: the same rule extends to your chosen pro. Free picks one pro at onboarding and stays with them; Pro switches both pro and playlist any time.

    • NEW

      Match list now defaults to your active playlist after onboarding — no more 1v1 noise on a Free 3v3 account, no more confusion when a Pro user switches mode.

    • NEW

      Lenient drift hint: a Free user who hasn't played their locked playlist in a month but is active in another mode now sees an editorial nudge above the dashboard suggesting Pro.

    • NEW

      Switched payments to Lemon Squeezy as Merchant of Record — they handle EU VAT and are the legal seller, so Pacely can launch in the EU without a P.IVA. Checkout opens at pacely.lemonsqueezy.com; no credit-card data ever touches our servers.

    • POLISH

      Pricing copy aligned across the homepage, /billing and the Terms: Free clearly says "1 pro, 1 playlist (locked)"; Pro clearly says "Switch pro & playlist any time". The old "Unlimited" line is replaced with the honest "50 matches / month" cap.

    • POLISH

      Initial PsyNet backfill for Pro users respects the chosen playlist instead of grabbing whatever was most recent.

    • POLISH

      Welcome row on the dashboard now greets you by your nickname instead of the synthetic platform pseudo-email (the "Hi steam-12345" was unintentional).

    • POLISH

      Map names for Mannfield Dusk, AquaDome, Parc de Paris and Forbidden Temple variants — older arena codes no longer fall through to the underscore-strip fallback.

    • FIX

      Timeline pill markers near the end of a match no longer overflow the right edge of the track. Late-game events now anchor cleanly at the boundary while keeping their min-width for clickability.

    • FIX

      Rank progression chart edge cases: single snapshot now renders a visible point, constant-MMR series gets a horizontal centerline, and the SVG box keeps a 16:5 aspect ratio so mobile no longer letterboxes the chart.

    • FIX

      Oski's pro-picker tile is no longer blank — the avatar pointed at a renamed file that was never shipped.

  3. v1.1.1 · The roster, public
    10 changes
    • NEW

      Public roster index at /pros — editorial grid of every pro Pacely tracks, in homepage order, with a team filter for the bigger orgs.

    • NEW

      Public per-pro dossier at /pros/[slug] — atmospheric photo banner, italic display name in the team's accent colour, four-discipline percentile bars, and BallChasing source replay links for every aggregated row.

    • NEW

      Per-pro editorial subhead on the dossier — a verified quote or notable moment for fourteen of the fifteen pros, sourced from Liquipedia, BLAST.tv, GGRecon and the players' own posts. No invented copy.

    • NEW

      Country flag + full country name on the pro byline (was a bare 'MA' / 'DK' code). Falls back gracefully when the flag CDN is blocked.

    • NEW

      Roster nav entry-points across the marketing surface — top header, footer Resources column, homepage hero tertiary strip, and a breadcrumb on the dossier itself.

    • POLISH

      Percentile labels rewritten as low / typical / high (was p25 / p50 / p75), with a one-shot reading caption above the cards — no per-row tooltip needed.

    • POLISH

      Per-team accent palette refined for Gentle Mates, Ninjas in Pyjamas, Shopify Rebellion, Geekay Esports and NRG. Propagates to homepage hover, index card border, and dossier paint.

    • POLISH

      Pro byline trimmed to Team / Origin / Last refresh / Reading window — the empty 'Total replays: 0' placeholder is gone.

    • FIX

      Dossier accent now correctly inherits the team palette. The previous cascade let the dark-theme neutral and the marketing red each override the per-pro accent in different ways; the colour is now anchored as an inline style on the dossier root.

    • FIX

      Roster card border on hover paints with the team's primary, not the marketing red default — fixed via a single slug → accent resolver shared between homepage and roster index.

  4. v1.1.0 · Pro × mode dossiers
    12 changes
    • NEW

      Public pro dossier at /pros/[slug] — editorial press-room layout with per-mode percentile bars and BallChasing source links for every aggregated replay.

    • NEW

      Onboarding wizard at /onboarding/pro-mode — pick your reference pro and the discipline you want analyzed (1v1 ranked, 2v2 ranked, 3v3 ranked, 3v3 private). The dashboard now gates on having both set.

    • NEW

      Strict per-pro × per-mode × is_private baselines: comparisons no longer fall back across modalities, so private 3v3 gets compared against private 3v3 only.

    • NEW

      Pre-parse mode gate on upload — replays whose mode doesn't match your selection are rejected at upload-confirm with a mode_mismatch status (amber badge in the match list, dedicated panel in the detail view) instead of silently skewing the report.

    • NEW

      Weekly baseline cron fans out 4 refresh jobs per stale pro (1v1 ranked + 2v2 ranked + 3v3 ranked + 3v3 private) covering 10 pros per tick.

    • POLISH

      Baseline rolling window extended from 30 to 60 days — better aligned with pro tournament cadence.

    • POLISH

      Match-detail Metrics and Heatmap tabs now read the selected pro from the user-prefs store instead of prop drilling — copy stays in sync the moment you switch pro.

    • POLISH

      PsyNet sync silently skips matches that don't match your chosen mode before paying the CDN download — fewer noisy mode_mismatch rows on autonomous syncs.

    • FIX

      Bucketing scheme made p50 reachable: values exactly at the median now classify as p50 instead of being absorbed into p75.

    • FIX

      detectIsPrivate regex tightened — Unranked / Exhibition / Lan no longer misclassified as private lobbies.

    • FIX

      Recommended drills card no longer surfaces the placeholder XXXX-XXXX-XXXX-XXXX training pack code as a copyable CTA.

    • FIX

      4v4 dropped from app-level filters and types — the enum value remains in Postgres for historical rows but no UI surface offers it any more.

  5. v1.0.4 · Mobile-ready
    11 changes
    • NEW

      Match-list drawer on mobile — full match index now reachable from the TopBar below the lg breakpoint.

    • NEW

      Dynamic Open Graph image at the edge — every shared link now previews with the editorial card.

    • NEW

      Sitewide SEO metadata: per-page titles, OG/Twitter cards, viewport, theme-color (light + dark).

    • NEW

      Privacy & Terms pages live, written end-to-end in plain language.

    • POLISH

      Section steppers redesigned: inline editorial marker (Section / One) instead of a 140px watermark that overlapped headlines on 1440–1700px viewports.

    • POLISH

      TopBar collapses gracefully below md — non-essential badges hide, drawer trigger surfaces.

    • POLISH

      Marketing footer wordmark scales down without clipping ascenders on narrow phones.

    • POLISH

      ±20% jitter on match polling so concurrent sessions don't fan into the API on the same tick.

    • FIX

      Contrast bumped on /login ("Steam or Epic" connector) and /settings/platforms ("Not linked") so they pass WCAG AA on dark.

    • FIX

      Platform account claim loop fixed — merging Steam/Epic with Google no longer drops profile settings or traps you in an onboarding loop.

    • FIX

      Removed the "works best on desktop" mobile banner — the dashboard is now genuinely responsive top to bottom.

  6. v1.0.3 · Editorial pass
    8 changes
    • NEW

      /billing redesigned in the editorial register — Free strip + Pro card with brand-red upgrade pill, sparkles micro-interaction.

    • NEW

      /dashboard/settings rebuilt as a workshop-bench: sticky left rail, hairline rules between blocks, no card-in-card chrome.

    • NEW

      Profile completion flow at /onboarding/profile — first/last name, nickname, contact email captured right after Steam/Epic signin.

    • NEW

      Dashboard match-detail tabs scroll horizontally on mobile so all five tab labels stay legible.

    • POLISH

      AccountMenu now shows the real nickname + contact email instead of the synthetic platform handle.

    • POLISH

      Mode-tile copy on onboarding rewritten with coach vocabulary (3v3 = RLCS main stage, rotation discipline).

    • FIX

      Pro picker no longer skipped after profile completion — gate is now DB-authoritative (current_pro_id), not a stale Zustand value from a previous browser session.

    • FIX

      Pricing copy aligned across home and /billing (€7/mo, €70/yr — was inconsistent at €9 in one place).

  7. v1.0.2 · One door for sign-in
    4 changes
    • NEW

      Unified /login + /register: Steam OpenID and Epic Games OAuth are the only entry points. No more email/password.

    • NEW

      Marketing homepage rebuilt around the editorial register — italic display headlines, mono caps eyebrows, hairline rules, brand-red accent.

    • POLISH

      Steam linking double-toast suppressed (React StrictMode dedupe via toast id).

    • FIX

      Match list 500 traced to a Drizzle migration drift — schema and journal re-aligned.

  8. v1.0.1 · PsyNet sync hardening
    4 changes
    • NEW

      Trial-Pro slot surfaced in the quota meter so trial-tier matches don't look like over-quota errors.

    • FIX

      Mutex on manual + periodic PsyNet sync killed the quota_exceeded race.

    • FIX

      Empty-list polling gap closed after async sync click — the sidebar now updates without a manual refresh.

    • FIX

      Failed matches hidden from the user-facing list (still queryable internally for triage).

  9. v1.0.0 · Open beta
    3 changes
    • NEW

      First public open beta of P4cely. Steam/Epic sign-in, replay sync, AI coach report, four-tab match detail (Overview, Coach Report, Metrics, Heatmap, Timeline).

    • NEW

      Pro-baselined comparisons across the RLCS roster — match-by-match tape, not just stats.

    • POLISH

      Migrated BullMQ off pay-per-command Redis to a self-hosted Fly Redis app — sustainable for indie scale.

Want to be notified when something ships? Sign in once, and we'll send you a single line of email per release — never marketing.