Releases: WuSuBuDuoMing/map
Releases Β· WuSuBuDuoMing/map
v1.15.0
Full Changelog: v1.12.0...v1.15.0
v1.12.0
v1.12.0 - 2026-06-22
Added
- Comprehensive TSDoc annotations for all lib/, components/, and data/ modules
- 6 new test suites: memoryUtils, provinceCityPlaces, memories, imageUtils, typeGuards, localPrivacy (30+ new test cases)
- Expanded Vitest coverage config to include all lib//*.ts and data//*.ts
Changed
- Performance: memoised hoveredPath lookup and zoomProgress computation in ChinaMap
- Performance: wrapped SouthChinaSeaInset in React.memo
- Performance: stabilised goProvince handler with useCallback
- Version bumped to 1.12.0
v1.11.0 β TSDoc, README, Release Automation
v1.11.0 (2026-06-18)
Added
- Comprehensive TSDoc annotations for core auth module
- Contributing, Code of Conduct, and Security policy links in README
- Release automation workflow for building installers on tag push
Changed
- README enhanced with Contributing, Security, and License sections
- Version bumped to 1.11.0
v1.10.0 β API Helpers, Rate Limiting
v1.10.0 (2026-06-17)
Added
- Standardized API response helpers with typed error codes
- Rate limiting module for API endpoint protection
Changed
- CI workflow updated for broader compatibility
- Documentation improvements
v1.9.0 β Performance Benchmarks, Privacy Mode
v1.9.0 (2026-06-17)
Added
- Performance benchmarking scripts (source, CSS, bundle, API, storage, Electron)
- Privacy mode image replacement module
- Date normalization utilities
Changed
- Component refactoring with barrel exports
- Shared module documentation expanded
v1.8.0 - Community Governance & Funding
v1.8.0 - Community Governance & Funding
Added
- Code of Conduct (CODE_OF_CONDUCT.md) based on Contributor Covenant v2.1
- GitHub Sponsors funding configuration (FUNDING.yml)
- CODEOWNERS file for code review assignments
- Enhanced Issue and PR templates
v1.6.0 - Security & Documentation
v1.6.0 - Security policy, documentation enhancements, open-source best practices
v1.4.0 - Local Optimization & Fixes
v1.4.0 - Local Optimization & Fixes
Changed
- Local optimization and performance improvements
- CI workflow fix
- Type narrowing fixes
- Documentation updates
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 |
v1.2.0 - Multi-Platform Installation Guide
πΊ Map of Us v1.2.0
Local-first couple's memory map desktop app β mark every city you've visited together.
β¨ Features
- πΊ Interactive China SVG map (34 provinces) with D3-geo projection
- πΈ City memories with multi-photo covers
- π Dual-layer password protection (HMAC-SHA256)
- βοΈ Settings (anniversaries, weather cities, couple logo, login photos)
- πΎ Full backup/restore
- π₯οΈ Electron desktop app (macOS + Windows)
- π Web deployment with Supabase
- π§ͺ Vitest test suite (24+ tests)
π¦ Installation
Electron Desktop App (Recommended)
macOS
- Download the
.dmgfile from Releases - Double-click to install
- Right-click β Open (first launch only)
- Default password:
1234/ Admin:admin1234
Windows
- Download the
-Setup.exefile from Releases - Run the installer
- If SmartScreen appears: More info β Run anyway
- Default password:
1234/ Admin:admin1234
Linux
git clone https://github.com/WuSuBuDuoMing/map.git
cd map
npm install
npm run desktopWeb Development Mode (All Platforms)
git clone https://github.com/WuSuBuDuoMing/map.git
cd map
npm install
npm run dev
# Open http://localhost:3002Docker
docker build -t map-of-us .
docker run -p 3002:3002 map-of-usπ Tech Stack
- Next.js 16 + React 19 + Tailwind CSS 4 + Framer Motion
- D3-geo projection + custom SVG
- Electron 42 + Next.js standalone
- HMAC-SHA256 auth + rate limiting
- Vitest + V8 Coverage
βοΈ Environment Variables
| Variable | Description |
|---|---|
SITE_PASSWORD |
Site entry password (default: 1234) |
ADMIN_PASSWORD |
Admin password (default: admin1234) |
SUPABASE_URL |
Supabase URL (web deployment) |
SUPABASE_SERVICE_ROLE_KEY |
Supabase key (web deployment) |