1.5.3
May 6, 2026
Changed
- iOS: app is now iPhone-only. The App Store listing no longer shows “Designed for iPad”; the app continues to run on iPad in iPhone compatibility mode for existing users.
1.5.2
April 30, 2026
Added
- Visual hold-progress feedback for the press-and-hold manual score edit gesture: a fading progress bar and “HOLD TO EDIT SCORE” hint appears after a brief delay and fills over one second, making the long-press affordance discoverable without changing the existing activation threshold.
Fixed
-
PDF/CSV export filenames: special characters in team names (for example
#,[,;,!,$) no longer cause sharing to mis-parse the cache URI and strip the file extension.
Changed
-
Single source of truth for Expo config: removed
app.jsonand consolidated all configuration intoapp.config.js. - Bumped Expo SDK packages to their latest 55.x patch releases and React Native to 0.83.6.
1.5.1
April 27, 2026
Added
- Settings → About: “View Tutorial Again” entry that replays the first-run onboarding walkthrough on demand.
- Settings → About: “Website” entry that opens rallypointscorekeeper.com in the system browser.
- Website: dedicated Feedback & Suggestions page with hosted form embed and email fallback, linked from site navigation and footer.
Changed
- Home screen Supported Formats section redesigned as segmented tabs with a structured detail panel (Sets, Points, Win by, Other).
1.5.0
March 24, 2026
Added
- Social share option on match summary: a bold, square-format graphic optimized for social media feeds (Facebook, Instagram, X).
- Crash reporting via Sentry (production-only, no PII).
- UI component test infrastructure with 13 tests covering SocialShareCard and StorageSafetyBanner.
- Comprehensive test coverage expansion: 259 total tests across 7 suites.
- Side-Out Tracking feature for scoring runs across sets.
- Scoring run visualization with colored blocks in match summary.
- Scoring run data in PDF exports.
- Score tick marks under scoring run bars for cumulative side-out boundaries.
- Service error tracking — optional per-set service error counter with ✕ button. Records error on the serving team and awards a point to the opponent.
- Confetti win celebration — animated confetti cannon on match completion.
- Service Tracking accordion on new match screen — Aces and Errors toggles grouped under a collapsible section.
- App logo embedded in PDF export header.
Changed
- Match summary share grid reorganized: Text | Email | Social (row 1), Scorecard | CSV | PDF (row 2).
- Full-detail image export renamed from “Image” to “Scorecard” to distinguish from the social graphic.
- SECURITY.md updated with current supported versions, Sentry disclosure, export sanitization, and input length constraints.
- Privacy policy updated with social share image, detailed per-format data descriptions, and Sentry crash reporting disclosure.
- Export generation now sanitizes user-provided text in HTML output and generated filenames.
- Match history retention is now configurable in settings (50/100/250/500).
- Database startup runs integrity checks and switches to read-only safety mode if corruption is detected.
- History and Settings show a persistent storage safety badge when DB is in read-only mode.
- Scoring run data removed from email and CSV exports for cleaner output; PDF retains the full visual scoring run bars.
- CSV export ace columns replaced with a single totals row above the final result for cleaner spreadsheet output.
- PDF ace tracking display: aces now shown as a summary row below the set table instead of extra columns.
- Team panel scoring run block dividers now use the team's own color instead of white.
- Same-color divider line between team panels on the active scoring screen.
- Removed “-D” label suffix from deciding set indicator.
Fixed
- Active match state now flushes to disk immediately when the app is backgrounded, preventing score loss.
- Home dashboard stats now use SQL aggregation instead of loading full records into memory.
- Database file is now backed up before schema migrations for recovery.
- New match form inputs enforce maximum lengths (team names: 50 chars, venue/tournament: 100 chars).
- Side-switch alert no longer re-fires after undo and re-score to the same combined score.
- Android predictive back gesture enabled for Android 14+.
- Added missing accessibility roles and labels to share buttons, autocomplete suggestions, and onboarding controls.
- Theme flash on launch: splash screen now waits for theme settings to load before hiding.
- Persistence debounce flush no longer blocks the JS thread on every state change, preventing score skips during rapid tapping.
- Android keyboard no longer covers Venue and Tournament fields on new match screen.
-
Fixed
@xmldom/xmldomhigh-severity vulnerability (XML injection via unsafe CDATA serialization).
1.2.0
March 20, 2026
Added
- Home screen redesign with branded hero, live stats dashboard, last match result card, and format reference chips.
- Serving indicator — gold “SERVING” badge tracking the serving team using rally scoring rules.
- Ace tracking — optional per-set serve ace counter with ⚡ button.
- Club format — Best of 3 sets with indoor rules, ideal for rec leagues.
- Serve alternation — first serve alternates between teams each set.
- Score change animation — score text pulses via react-native-reanimated.
- Swipe-to-delete — Gmail-style swipe-left on history cards.
- First-run onboarding overlay — 4-screen walkthrough for new users.
Changed
- SetData type now includes servingTeam, acesA, and acesB fields.
- MatchConfig type now includes aceTrackingEnabled option.
- History cards no longer use long-press for deletion (replaced by swipe).
1.0.0
March 20, 2026
Added
- Indoor volleyball format — Best of 5, 25-point sets, deciding set to 15.
- Beach volleyball format — Best of 3, 21-point sets, deciding set to 15.
- Custom match format — configurable sets, points, win-by margin, and timeouts.
- Automatic deuce detection and extended play (win by 2).
- Split-screen scoring with large tappable areas (portrait and landscape).
- Set and match completion modals with winner highlight and undo.
- Full undo support for points, timeouts, and set completions.
- Manual score editing via long-press with validation.
- Auto-save to SQLite after every action.
- Match resume across app restarts.
- Match history — browse, search, delete, clear all.
- 5 export formats: Text, Email, Image, CSV, PDF.
- Dark, light, and system theme support.
- 12 team color presets.
- Team name, venue, and tournament autocomplete.
- Haptic feedback and keep-screen-awake options.
- Landscape mode support.
- Parameterized SQLite queries, no remote data transmission, no PII collection.