📋 Changelog

Track all updates, improvements, and fixes to the States I'd Live In Map application.

v2.5.02025-10-07

Accessibility & Social Media Improvements

♿ Accessibility

  • Added color blind friendly mode toggle for statistics maps
  • Implemented blue-to-yellow gradient as accessible alternative to red-green
  • Toggle allows users to switch between standard and accessible color schemes
  • Color blind mode works for all types of color blindness (deuteranopia, protanopia, tritanopia)
  • Enhanced map legends to dynamically update based on selected color mode

🎨 Design

  • Redesigned OpenGraph social share image with modern gradient background
  • Added visual map preview showing interactive functionality
  • Included social proof badge (10M+ votes) for credibility
  • Enhanced social media presence with professional, eye-catching design
  • Created automated image generation tools for future updates

🔧 Technical

  • Dual color gradient system: standard (red-green) and accessible (blue-yellow)
  • Modular color functions for easy maintenance and updates
  • Created HTML templates and Node.js scripts for OG image generation
  • Added comprehensive documentation for image generation workflow
v2.4.02025-10-04

Sentry Error Monitoring Integration

🚀 New

  • Integrated Sentry for comprehensive error monitoring and performance tracking
  • Added error capturing to all API routes with contextual information

🔧 Improved

  • Enhanced error handling in vote submission API with detailed context
  • Added user agent and request context to all error reports
  • Implemented automatic error capturing in React ErrorBoundary
  • Added source map generation for better error stack traces
  • Configured environment-specific error tracking

📊 Monitoring

  • Error tracking across authentication, voting, and stats APIs
  • Performance monitoring for database operations and API responses
  • Real-time error alerts and performance degradation notifications

🔧 Technical

  • Sentry Vite plugin integration for automated release tracking
  • Error context includes section tags, user agents, and request parameters
  • Distributed tracing configured for localhost and production domains
  • Environment-aware configuration for development vs production
v2.3.02025-09-30

Stats Page Performance Optimization

⚡ Performance

  • Implemented materialized stats table - 50-100x faster stats queries
  • Reduced stats page load time from 3-6+ seconds to <500ms
  • Optimized database queries from scanning 1.2M+ rows to 737 pre-calculated rows
  • Added incremental stats updates on each vote for real-time accuracy

🚀 New

  • Added vote_stats table for pre-calculated statistics
  • Created rebuild-stats-table.js script for maintenance and recovery
  • Implemented atomic incremental updates using ON DUPLICATE KEY UPDATE

🔧 Improved

  • Increased stats cache TTL from 5 minutes to 30 minutes
  • Enhanced HTTP cache headers (5 min client, 10 min CDN)
  • Optimized database connection pooling for better concurrency
  • Stats now update automatically with each vote submission

📊 Technical

  • Database query time reduced from 2-5+ seconds to 50-100ms
  • Stats table indexed by region and state_id for instant lookups
  • Preference distribution pre-calculated and stored (pref_1-5_count)
  • Background rebuild capability maintains data integrity
v2.2.02025-09-29

USA Cities Map & Analytics

🚀 New

  • Added Major USA Cities map with 70 cities covering all 50 states
  • Implemented point geometry rendering for city markers
  • Added background map layer support (non-interactive state boundaries)
  • Integrated Google Analytics for traffic source tracking

🔧 Improved

  • Enhanced map component to support both polygon and point geometries
  • Added USA state map as contextual background for city visualization
  • Improved visual hierarchy with cities as interactive markers over non-interactive states
  • Updated stats page to include USA Cities as a selectable region
  • Implemented 5-minute in-memory caching for stats API - dramatically faster page loads
  • Reduced database queries by ~95% with TTL-based cache strategy

📊 Features

  • 70 major cities including NYC, LA, Chicago, Houston, Phoenix, Anchorage, Honolulu, and more
  • Complete coverage of all 50 states with at least one major city per state
  • City preference tracking with same 5-level system (Never to Absolutely)
  • Dedicated city statistics and rankings on stats page
  • Geographic context provided by background state boundaries
v2.1.02025-01-29

Database Migration & Performance Improvements

🚀 New

  • Migrated from Google Sheets to MySQL database for better performance
  • Added DigitalOcean managed database integration
  • Implemented proper database connection pooling

🔧 Improved

  • Standardized all TopoJSON map naming formats
  • Fixed cryptic ID codes (like 'CA.QC', 'CH', '124') to use proper region names
  • Increased rate limits: 2000 votes/hour, 500 votes/minute
  • Optimized vote submission with better error handling

🐛 Fixed

  • Resolved Poland voivodeship names from ALL CAPS to proper case
  • Fixed Europe map showing country codes instead of full country names
  • Eliminated all numeric and cryptic region IDs across all maps
  • Fixed USA map to use local TopoJSON instead of CDN

🗑️ Removed

  • Removed Google Sheets API dependencies
  • Cleaned up old data mapping files (brazilData.ts, mexicoData.ts, etc.)
  • Removed redundant geography ID mapping logic
v2.0.02025-01-15

Map Standardization & UI Improvements

🚀 New

  • Added support for 13 different regional maps
  • Implemented comprehensive stats visualization
  • Added preference distribution charts

🔧 Improved

  • Standardized all maps to use consistent 'name' property
  • Enhanced map projections for better visual accuracy
  • Improved mobile responsiveness across all components
v1.5.02024-12-20

Multi-Region Support

🚀 New

  • Added World, Europe, Americas, Asia regional maps
  • Implemented country-specific preference tracking
  • Added Brazil, Mexico, Japan, and other country maps
v1.0.02024-11-01

Initial Release

🚀 New

  • Interactive US states preference mapping
  • Google Sheets integration for data storage
  • Basic preference selection (Never, Reluctantly, Maybe, Willing, Absolutely)
  • Real-time statistics and visualization