What's new
A running list of what we've added, improved, and fixed.
Unreleased
New
- Match: Goal replays and slow-motion match moments on the 2D pitch
- Welcome entry polish, localized auth errors, swedish-first default
- Shorten the card rating label to OVR
- Low-poly faceted backgrounds for rarity cards
- Design: Dependency-free animated aurora backdrop option
- Holographic player card with FUT rarity tiers
- Club-colour identity threading and tabular-nums
- EN/SV labels for deep-tier attributes and groups
- Grouped attribute table with model-driven visibility
- Map deep-tier attributes through simulation, profiles and squad reads
- Deep-tier attribute columns with deterministic backfill
- Deep attribute model tier
- Normalize published copy
- Link from help index
- Public /changelog page
- EN-only generation mode and seed v0.1.0 data
Fixes
- Make vendored avataaars safe for app rendering
- Use colon separator, no em dash in copy
0.1.0
New
- Generator orchestrator
- Data.ts serializer
- SV translation with cache
- Git tag and log readers
- Categorize and friendly transform
- Commit subject parser
- Data model and i18n keys
- History: Season awards + recap pages
- Account: Data export and right to erasure at /account
- Sentry server errors, tick cron monitor, telegram alerts
- Squad: Show form dot on the lineup tab too
- Squad: Ratings move player form + form indicator
- Match engine: Keeper saves and assists
- Help: Redesign wiki index + reader, fix glass surface blur
- Per-match data model, live match sim, player profiles
- Match engine: Attribute-driven match simulation
- Squad: Lifelike generation with real nationalities and physique
- Help: Swedish help articles + copy cleanup across messages
- English + Swedish across the app
- Help: Searchable in-app help hub + coverage tracker
- Getting started: Preseason friendlies + games toggle
- Getting started: Invite/claim UX
- Getting started: Preseason setup window
- Getting started: Three-phase lifecycle + season-planning lobby
- Getting started: Preseason lobby lifecycle (Phase 1) + rework spec
- Crest creator with editable name + stadium
- Sign-in: Add game guide page, drop redundant auth eyebrows
- Sign-in: Back button on card, top-aligned panels, mobile footer hide
- Sign-in: Gold primary CTA + in-place crossfade transition
- Sign-in: Liquid-glass entry surface with persistent footer + breadcrumbs
- Design: Recolor terrace photos to teal, slate scrim
- Design: Re-skin theme tokens to slate + teal + gold
- Design: Add Bricolage Grotesque display font, drop broken Gustavo
- Sign-in: Mount EntryShell from thin routes + redirect authed users
- Sign-in: Add animated EntryShell with panel state + URL sync
- Sign-in: Extract AuthCard wrapper from welcome shell
- Sign-in: Extract WelcomePanel from landing page
- Sign-in: Add panel order + direction helpers
- Sign-in: Unify auth funnel + account surface
- Pending states, confirms & input preservation
- Vercel Cron path for upkeep + deploy guide
- Drive upkeep with a durable BullMQ schedule
- Getting started: Post-claim home + first-lineup prompt + Suggest XI
- Transfers: Surface offer-response errors (T-008) + trade-shaped composer
- Transfers: Market/sell tabs + fit-for-your-squad card
- Sign-in: Add email+password and Google/Discord sign-in
- Squad: Carry-over banner on the lineup view
- Squad: Confirm auto-fill on a full lineup + fill summary
- Squad: Sticky save bar + slot-tied validation
- Squad: Fit-grouped replacement sheet with visible swap
- Squad: Carry the previous lineup forward on the squad page
- Squad: Add latestPriorLineupDraft carry-forward query
- Add reconcileLineup carry-forward reconciler
- Add lineupValidationBySlot slot-keyed validation helper
- Add fitLabel + slotEffectiveRating lineup helpers
- Transfers: Fix offer/auction correctness bugs + add service-test harness
- Feed: Feed comments, reports, platform moderation, zod validation
- First-party event instrumentation
- Rate limiting, env fail-fast, health checks
- Sign-in: Magic-link email delivery via Resend
- Season rollover, bot market, timed reminders
- Feed: FM-lite match replay from event log
- Feed: Table FLIP, calm pass, onboarding art
- Feed: Squad pitch etching + chip springs, transfers urgency states
- Feed: Home lede + broadcast match report
- Feed: Glass chrome, masthead, nav underline, sheets, button feedback, dark-variant purge
- Feed: Foundation, tokens v2, Archivo, backdrop, glass, motion primitives
- Derby Domination MVP, full playable core loop
Improvements
- Dedupe home queries, cap comments, route skeletons
Fixes
- Satisfy noUncheckedIndexedAccess in parseCommit
- Sign-in: Drop stale next= param when returning to welcome
- Sign-in: Restore welcome<->auth crossfade, isolate tab swap
- Strip libpq-only params Neon ships and postgres.js rejects
- Move setup secrets out of the agent-watched project dir
- Design: Unify glass buttons with the language picker
- Sign-in: Keep auth card glass blur live through the entry animation
- Sign-in: Lock zoom-out and loosen mobile welcome spacing
- Sign-in: Liquid-glass language picker, no logo overlap, roomier mobile
- Sign-in: Label welcome primary CTA "Create account"
- Sign-in: Reword hero tagline to avoid cross-league implication
- Sign-in: Gold submit buttons in auth forms
- Sign-in: Gold brand accents + stable mobile backdrop
- Sign-in: Reveal terrace grid backdrop, restore large logo, refine chrome
- Sign-in: Resync next/justReset from URL on back-forward
- Sign-in: Move focus to newly mounted panel after swap
- Sign-in: Guard next param against open redirect
- Transfers: Robustness & efficiency pass
- Squad: Address code-review findings on the lineup editor
- Squad: Carried-over lineup reads as unsaved, not saved
- Squad: Carry forward only from an earlier matchday
- Feed: True instant reduced-motion + doc corrections
- Feed: Replay ball initial attrs
- Feed: Deterministic replay event order + scrub step
- Feed: Table FLIP hygiene, callout nesting, heading semantics
- Feed: Position-only chip springs + restore chip stretch
- Feed: Broadcast polish, bar origin, score a11y, timing budget
- Feed: Review fixes, button transitions, overlay scrims, reduced-motion config