Release Notes
v2.10.0.0
2026-03-14
JohnEric Character Image
Features
- F50: JohnEric Character Image — replace SVG character with uploaded photo of JE
Improvements
- Non-admin JohnEric user account for image management
- JE panel at /je/ with login and image upload
- SVG character automatically replaced when image is uploaded
- Image persists across server restarts
- Body-part click zones work over the uploaded image
v2.9.0.0
2026-03-14
Punch Reasons Sidebar
Features
- F49: Punch Reasons Sidebar — sidebar with predefined and custom reasons, persisted server-side
Improvements
- Five predefined reasons: Mad at JE, Annoyed at the world, Funny, Thinking of JE, Hungry
- Users can add custom reasons that persist for all users
- Selected reason visually highlighted with gradient
v2.8.0.0
2026-02-18
Human-like Character Proportions
Features
- F48: Human-like Character Proportions — organic curved SVG shapes replace blocky rectangles
Improvements
- Shoulder caps, tapered limbs, jaw contour, and natural body curves
- All 6 body part hit zones preserved and functional
v2.7.1.0
2026-02-18
Enhanced Party Hat & Local Implementation Pipeline
Features
- Larger, more festive party hat with stripes, confetti, and star (F44 enhancement)
- Local Claude Code polling for feature implementation (replaces API pipeline)
Improvements
- mark-implemented.yml workflow for webhook calls via GitHub Actions
- Version bumping added to implementation process
Fixes
- Party hat tip no longer clipped by SVG viewBox
v2.7.0.0
2026-02-17
Back to Game Navigation
Features
- F46: Back to Game Navigation
v2.6.0.0
2026-02-17
Abs, Party Hat, Edit Suggestions, Self-Healing Pipeline
Features
- F43: Abs Visual Detail
- F44: Festive Party Hat
- F45: Edit Feature Suggestions
- F39 R6: Self-healing fix loop for auto-implementation pipeline
Improvements
- Admin endpoint to manually mark feature requests as implemented
- Playwright tests no longer flaky (rate limit fix)
v2.5.0.0
2026-02-17
Improved Character Leg Styling
Features
- F42: Improved Leg Styling
v2.4.1.1
2026-02-17
Larger punch count display
Features
- F41: Larger Punch Count Font
v2.4.0.1
2026-02-16
Reduce Heal Cooldown
Improvements
- Heal cooldown reduced from 10 seconds to 3 seconds (user feature request)
v2.4.0.0
2026-02-16
Punch Specific Body Parts - F40
Features
- F40: Punch Specific Body Parts — character figure with 6 clickable body-part zones (head, torso, left shoulder, right shoulder, legs, keister)
- F40: Body part hit tracking — server tracks per-zone hit counts in counter.json
- F40: Body part hit animations — zone-specific shake/flash with floating +1 indicator
- F40: Stats tooltip — hover over body parts to see per-zone hit counts
Improvements
- Character SVG replaces boxing glove as primary punch target
- WebSocket broadcasts and API responses include bodyPartHits data
- Shields absorb punches without recording body part hits
- Responsive character figure: 180px desktop, 120px mobile
Fixes
- Fixed Playwright test flakiness in concurrent test runs (WebSocket race conditions)
- Fixed SVG pointer-events for reliable body-part click targeting
v2.3.0.0
2026-02-16
Automated Feature Implementation - F39
Features
- F39: Automated Feature Implementation — admin approval triggers Claude API pipeline that generates tests, code, and opens a PR for human review
Improvements
- GitHub Actions workflow with repository_dispatch and manual workflow_dispatch triggers
- 5-phase implementation script: context building, plan generation, file generation, registry updates, PR creation
- Fire-and-forget design: approval response is never delayed by GitHub API calls
v2.2.0.1
2026-02-16
Icon Shadow Cleanup
Fixes
- Removed gray drop-shadow backgrounds from punch, shield, and heal action icons
v2.2.0.0
2026-02-16
User Location Tracking - F29 R4/R5
Features
- F29 R4: GET /api/users endpoint returns active users grouped by geolocation (city, country)
- F29 R5: User modal displays location breakdown with styled list, badges, and totals
Improvements
- IP-based geolocation via geoip-lite (local database, no API calls, no rate limits)
- Privacy-first design: IP addresses never exposed in API responses
- Conservative deployment: switched from lftp --delete to --only-newer
Fixes
- Replaced 'Location tracking coming soon' placeholder with functional location display
v2.1.0.0
2026-02-16
Admin Panel & Security - F37/F38
Features
- F37: User Feature Requests — submit, view, and vote on feature suggestions
- F38: Authenticated Admin Panel — login, counter management, action toggle, approve/deny feature requests
Improvements
- Bcrypt password hashing with ADMIN_PASSWORD_HASH env var support
- Dedicated login rate limiter (5 attempts/minute/IP)
- Secure cookie flag in production (HttpOnly, SameSite=Strict, Secure)
- GitHub Secrets integration for admin credentials in CI/CD
- Service worker updated to network-first for HTML/JS/CSS (fixes stale cache issue)
Fixes
- Fixed Firefox showing stale cached version on normal refresh
- Fixed contract test for updated API response shape (disabledActions)
v2.0.0.0
2026-02-15
Test-Driven Development Architecture
Features
- TDD Workflow System: Enforced Red → Green → Refactor cycle using Claude Code skills and subagents
- Context Isolation: Separate subagents for test writing, implementation, and refactoring to prevent test pollution
- Auto-Activation Hook: Skill evaluation system improves TDD workflow activation from ~20% to ~84%
Improvements
- Architectural shift from feature-driven to test-driven development
- Test-first methodology enforced through specialized subagent orchestration
- Enhanced development workflow with clear phase gates and completion criteria
v1.1.0.0
2026-02-16
UI/UX Enhancements - F36
Features
- F36: Version system with release notes and tabbed navigation
Improvements
- Navigation tabs moved to top of Features/Test/Releases pages for consistent layout
- Test Report summary cards now clickable to filter tests (Total/Passed/Failed/Not Covered)
- Version number on main page simplified as direct link to release notes
- CI/CD performance: Fixed hanging tests, reduced pipeline time from 50+ min to ~3 min
Fixes
- Fixed Jest timeout issues in WebSocket tests
- Fixed flaky F6 and F28 Playwright tests with improved timing
v1.0.0.0
2026-02-15
Initial Release - F1–F35
Features
- F1–F30: Core punch/shield/heal mechanics with real-time multiplayer
- F31: Rate limiting (100 requests per 15 seconds per IP)
- F32: Server-side heal cooldown (10 seconds, IP-tracked)
- F33: WebSocket real-time sync with HTTP polling fallback
- F34: Atomic file writes (tmp + rename pattern for data integrity)
- F35: Progressive Web App (manifest, service worker, installable icons)
Improvements
- Comprehensive test suite: 220 tests across 4 layers (unit, integration, contract, functional)
- Automated deployment pipeline with GitHub Actions
- Feature-driven development with test registry and coverage tracking