v1.3.0 - Quality Optimization
Changelog
All notable changes to Map of Us will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[1.3.0] - 2026-06-11
Added
- TSDoc documentation for all main components and utility modules
- Province data integrity tests (
provinces.test.ts) β 34-province validation, lookups, constants - Geo/map rendering tests (
geo.test.ts) β GeoJSON processing, projections, SVG path generation - Electron main process tests (
main.test.ts) β auth config, env setup, port allocation
Changed
- Updated dependencies to latest minor/patch versions:
@supabase/supabase-js2.106.0 β 2.108.1framer-motion12.39.0 β 12.40.0lucide-react1.16.0 β 1.17.0next16.2.6 β 16.2.9react/react-dom19.2.4 β 19.2.7electron42.3.0 β 42.4.0electron-builder26.8.1 β 26.15.2eslint-config-next16.2.6 β 16.2.9
- Version bumped from 0.1.1 to 1.3.0 (aligning with release track)
[1.2.0] - 2026-06-10
Added
- English README with comprehensive documentation
- Chinese README (README.zh-CN.md) renamed from original
- Issue templates (Bug Report, Feature Request)
- Pull Request template
- CHANGELOG.md (this file)
- CONTRIBUTING.md (bilingual English/Chinese)
- MIT LICENSE file
- GitHub Actions CI workflow
- Multi-platform installation guide in Release notes
Changed
- Repository made public for open-source community
[0.1.1] - 2026-06-09
Fixed
- Rate limit test type narrowing (TS2339 errors)
- Added type guards for discriminated union types in test files
Changed
- CI workflow simplified (removed Electron release build on tag push)
[0.1.0] - 2026-06-08
Features
Map System
- Interactive China SVG Map β 34 provinces with D3-geo projection
- Province Highlighting β Visited provinces automatically light up
- Zoom and Pan β Smooth zoom and drag navigation
- City Markers β Click provinces to view city details
Memory System
- City Memories β Add multiple memories per city with photos, text, and dates
- Multi-Photo Covers β Each memory supports multiple cover images
- Memory Editing β Full CRUD operations for memories
- Memory Archive β Browse all memories in a unified view
Security
- Dual-Layer Password β Site password + admin password
- HMAC-SHA256 Cookies β Cryptographically signed authentication
- Rate Limiting β Protection against brute-force attacks
- CSRF Protection β Cross-site request forgery prevention
Settings
- Anniversaries β Track important dates with countdown
- Weather Cities β Up to 3 cities for weather display
- Couple Logo β Customizable corner logo
- Login Page Photos β 9-grid photo customization
Data Management
- Full Backup/Restore β Export and import complete data
- Local Storage β JSON file-based persistence (desktop)
- Supabase Support β Cloud storage option for web deployment
Desktop App
- Electron 42 β Cross-platform desktop application
- macOS DMG β Native macOS installer
- Windows NSIS β Windows installer package
Web Deployment
- Next.js 16 β App Router with React Server Components
- Supabase Integration β Database and storage backend
- Docker Support β Containerized deployment
Testing
- Vitest β Unit testing framework
- V8 Coverage β Code coverage reporting
- 24+ Test Cases β Auth, API, data module tests
Tech Stack
- Next.js 16 (App Router, RSC)
- React 19 + Tailwind CSS 4 + Framer Motion
- D3-geo projection + custom SVG rendering
- Electron 42 + Next.js standalone
- HMAC-SHA256 authentication
- Vitest + V8 Coverage
Version History Summary
| Version | Date | Highlights |
|---|---|---|
| 1.3.0 | 2026-06-11 | TSDoc docs, new tests (provinces/geo/electron), dep updates |
| 1.2.0 | 2026-06-10 | Open-source release: English docs, CI, templates, LICENSE |
| 0.1.1 | 2026-06-09 | Bug fixes: rate limit test types, CI simplification |
| 0.1.0 | 2026-06-08 | Initial release: 34-province map, memories, Electron, testing |