$ cat /sys/docs/changelog
CHANGELOG
> Release_History // Version_Manifest
CHANGELOG.TXT
TracePace Release History
All notable changes documented chronologically
v0.9.0-guest-beta—2026-04-05
+ ADDED
- + Full support for indoor activities (treadmill runs, indoor cycling)
- + Indoor detection from `.fit` and `.gpx` metadata
- + Dedicated indoor visual with minimalist stickman runner
- + DETAIL_GRID master toggle with LHS/RHS section controls (Conditions, Metrics, Gear, Splits)
- + Auto-disable all detail toggles when aspect ratio is 1:1 (clean overlay mode)
- + MapVisual integration on Canvas1x1 positioned above MetricsGrid
- + Description input auto-enables toggle when content exists; disables when DetailGrid is off
- + All visibility state persisted via localStorage
- + Font weight increases across poster components for better overlay legibility
- + Section separators migrated from inline dashed borders to shared Separator component
- + Footer top border hides when DetailGrid is off
v0.8.0-guest-beta—2026-03-22
+ ADDED
- + Full support for indoor activities (treadmill runs, indoor cycling)
- + Indoor detection from `.fit` and `.gpx` metadata
- + Dedicated indoor visual with minimalist stickman runner
- + Indoor badge removed from poster header for cleaner aesthetics
- + Supabase-backed waitlist with GraphQL API (custom HTTP client, no external library)
- + GraphQL mutations with typed union responses (CreatedWaitlistEntry, AlreadyExistsWaitlistEntry, AlreadyArchivedWaitlistEntry, NotFound, InternalError)
- + Email duplicates rejected unless archived (unarchive on resubmit)
- + Rate limiting: 1 submission per IP per minute
- + Waitlist modal with toast notifications
- + HD export now produces correct 1200px width (600px × 2) across all devices and browsers
- + Transparent background export now preserves alpha channel correctly
- + Aspect ratio selector corrected: "4:3" → "3:4", "16:9" → "9:16"
- + JPEG export disabled when transparent background is enabled
- + Aspect ratio switching now renders cleanly with skeleton loader
- + ScaleToFitCanvas properly recalculates scale when aspect ratio changes
v0.7.0-guest-beta—2026-03-21
+ ADDED
- + Vercel Analytics integration for tracking upload, download, and interaction events
- + Sentry error tracking for both frontend (Next.js) and backend (Go API)
- + Railway health alerts for deployment downtime notifications
- + PDPA-compliant Google Form feedback mechanism
- + Updated privacy policy to reflect Google Forms data handling
- + Branded OG images for Twitter Card and LinkedIn preview
- + OpenGraph and Twitter metadata in layout.tsx
v0.6.0-alpha—2026-03-20
+ ADDED
- + Examples gallery, dynamic activity type UI, and client-side persistence (IndexedDB)
- + Timezone-aware activity titles with GPX metadata extraction and coordinate-based fallback
- + Moving & elapsed time tracking with run type classification
- + Privacy Policy, Terms of Service, and Cookie Policy pages
- + UUIDv7 session routing and centralized poster state management
- + Unified GPS trace rendering with round caps and uniform stroke width
- + Responsive canvas scaling for previews and client-side high-resolution export
- + ChipInput component for multiple poster tags
- + Background grid and gradient style options
- + Extended elevation metrics (elevationLoss, nativeElevationGain, nativeElevationLoss)
- + Adaptive flat terrain detection and enhanced FIT elevation parsing
- + Large GPX file handling with robust processing
- + Weather provider fallback chain: Visual Crossing → Open-Meteo → WeatherAPI
- + IP-based rate limiting middleware
- + GraphQL integration with gql.tada for TypeScript type safety
- + Railway deployment with Dockerfile and CI/CD workflows
- + Off-white light mode theme alongside dark mode
- + GPU-accelerated CSS trace animations with export safety
- + Terminal protocol docs theme with DocPane component
- + Multi-route architecture with dedicated marketing and editor pages
- + OpenSpec commands and skills for AI agent workflows
- + Code formatting and linting standards with integrated typecheck pipeline
! DEPRECATED
- ! Nixpacks configuration (removed in favor of Railway native deployment)
v0.5.0-alpha—2026-03-11
+ ADDED
- + **Transparent Background Toggle**: Introduced a toggle to remove solid backgrounds, perfect for custom overlays or graphic design integration.
- + **Alpha-Preserving Export**: Updated the high-res asset generation to preserve transparency when the toggle is active.
- + **Flexible Sub-headline**: Switched the Route/Subtitle field to a `Textarea` for multi-line support with `whitespace-pre-wrap` rendering.
! DEPRECATED
- ! **Effort Iconography**: Effort-based Smile/Zap icons removed to reduce visual clutter.
- ! **Headline/Gear Inputs**: Standard text inputs replaced by context-aware defaults or unified control flow in the "DYNAMIC" tab.
v0.4.0-alpha—2026-03-11
+ ADDED
- + **Atomic Design Architecture**: Refactored `PosterCanvas` into a scalable Atoms, Molecules, Organisms, and Templates structure.
- + **Component-Based Aspect Ratios**: Introduced dedicated Organism components (`Canvas1x1`, `Canvas3x4`, `Canvas9x16`) for pixel-perfect layout switching.
- + **Hero Elevation Graphic**: Implemented high-fidelity elevation profile rendering with Catmull-Rom smoothing, data normalization, and linear gradient fills.
- + **Centralized Data Hook**: Created `usePosterData` to unify activity parsing and metric formatting across all poster variants.
! DEPRECATED
- ! **Legacy PosterCanvas**: Monolithic rendering logic replaced by the new atomic switcher.
- ! **Map & Horizontal Layouts**: Temporarily disabled and moved to technical debt for future reconstruction.
v0.3.1-alpha—2026-03-09
+ ADDED
- + **Sub-headline Row**: Integrated non-uppercase subtitle/route row below the main activity identification.
- + **Advanced Weather Display**: Refactored weather section into a multi-line vertical stack with wind and gust data.
- + **Copyright Attribution**: Added minimal branding attribution below the TracePace logo.
- + **Minimalist Splits Formatting**: Standardized leading middot (`·`) formatting for interval trackers.
v0.3.0-alpha—2026-03-08
+ ADDED
- + **Dynamic Titles Array**: Activity parsing will automatically identify time of day and map to defaults (e.g. "Morning Run", "Evening Run") instead of defaulting to numeric or "Activity".
- + **Mapbox Engine Integration**: Support switching to Mapbox satellite rendering dynamically on upload.
- + **Stroke Width Tuner**: Refined stroke sizes with `Thin`, `Normal`, and `Thick` configurations.
- + **Env Configuration Files**: Explicit declarations of `.env` configurations added to repository standard.
v0.2.4-alpha—2026-03-08
+ ADDED
- + **Weather Engine Architecture**: Deep integration for historical weather lookups via Visual Crossing API.
- + **Extensive FIT Data Extraction**: Added support for calories, average/max heart rate, and cadence parsing from binary records.
- + **WMM Color Profile Investigation**: Precise color matches for Tokyo, Boston, London, Berlin, Chicago, and NYC marathons.
- + **Local Race Profiles**: Added KLSCM, Score Marathon, and Langkawi International Half Marathon templates.
- + **System Theming**: Persisted dark mode with oklch-based color variables.
- + **Architecture Documentation**: Expanded `ARCHITECTURE.md` with backend weather service details and versioning strategy.
# FIXED
- # **Coordinate Normalization**: Resolved edge cases in path simplification for small-scale street runs.
- # **Text Contrast**: Adjusted muted-foreground values for better readability in dark mode.
v0.1.0-alpha—2026-03-07
+ ADDED
- + **Core Engine**: Initial Go parser for `.fit` and `.gpx` files.
- + **Dynamic Canvas**: Vector-based route visualization with high-res PNG export.
- + **Theming**: Initial set of minimalist templates.
- + **Monorepo**: Turborepo setup with Next.js and Go.
- + --
// EOF — Generated by TracePace Engine