Repository navigation
Releases: vudh1/ballerwatch
Release list
BallerWatch 11.2.5 — Count interdivision results in standings and opponent-adjusted scouting
BallerWatch 11.2.5
Count interdivision results in standings and opponent-adjusted scouting
- Count each completed, published interdivision result separately for the registered home and away teams in their respective division tables, without adding foreign teams or combining divisions. Preserve 3/1/0 points, games played and existing tie breakers.
- Do not count future/unscored, unregistered or ambiguous name-only fixture results; prevent duplicate-name clubs in other divisions from attributing points incorrectly.
- Apply bounded opponent-versus-own division tier weighting to ten-game recent form and win/draw/loss forecasting, retaining existing format/recency and opponent-adjusted quality signals; use the same relative weights for chronological calibration and holdout tests.
- Add notification-silent synthetic all-team RATS aggregate regressions for cross-division wins, losses, draws, unknown/duplicate teams, cutoff dates and opponent-tier weighted forecasts.
Production rollout is pinned to this GitHub Release and its tagged commit.
BallerWatch 11.2.3 — 16-player default for pickup RSVPs without a cap
BallerWatch 11.2.3
16-player default for pickup RSVPs without a cap
- Use 16 as BallerWatch's effective RSVP capacity when the published pickup cap is missing, empty, zero or invalid; preserve every valid, positive source capacity and leave non-RSVP free-pickup matches without capacity.
- Apply the same effective cap to new encrypted pickup feeds, legacy snapshots read by the API, calendar and next-game cards, RSVP roster, read-only AI answers, and existing notification threshold logic without retroactive notifications.
- Add synthetic API, helper, 16-slot alert and Chromium/Firefox/WebKit browser regressions for capless pickup while leaving the external RSVP service and participant data unchanged.
Production rollout is pinned to this GitHub Release and its tagged commit.
BallerWatch 11.2.2 — Seamless match and standings card footers
BallerWatch 11.2.2
Seamless match and standings card footers
- Remove the visible 1px shared footer divider from match and standings cards so all three dashboard card footers match the existing borderless schedule card.
- Preserve standings table separators, match and standings credit text, spacing, carousel behavior, and device-local preferences.
- Verify zero computed footer-border width for match, standings and schedule cards on desktop, phone portrait and landscape in Chromium, Firefox and WebKit.
Production rollout is pinned to this GitHub Release and its tagged commit.
BallerWatch 11.2.1 — Android and cross-browser PWA compatibility
BallerWatch 11.2.1
Android and cross-browser PWA compatibility
- Provide platform-specific install instructions for Android, iPhone/iPad and desktop, and offer Chromium's native beforeinstallprompt flow when supported. Keep regular website browsing available when installation is unavailable.
- Detect desktop-style iPadOS user agents for Home Screen and Web Push guidance, and fail gracefully when Web Push APIs are unavailable on a given browser.
- Scope service-worker state-cache cleanup to the owning Production, Beta or legacy V2 installation, preserving the other installations' persistent device preferences and notifications.
- Run Chromium, Firefox and WebKit browser smoke tests in independent CI jobs, adding Android portrait/landscape, native install prompts, modern iPadOS and cache-isolation regression coverage.
Production rollout is pinned to this GitHub Release and its tagged commit.
BallerWatch 11.2.0 — Motion realism and channel switch with evidence-first scouting
BallerWatch 11.2.0
Motion realism and channel switch with evidence-first scouting
- Use deterministic joint animation for the shooter and goalkeeper with a gravity-like ballistic shot, distance-based ball rotation and a reversible net response; keep native scrolling, Skip and reduced-motion behavior.
- Add a channel selector using a small shared device-only preference and direct canonical navigation; check beta reachability before leaving production and fail safely when unavailable.
- Make three-way probability rounding finite and sum to 100%, show draws and evidence-based sample reliability, and extend existing held-out scouting diagnostics with draw recall and expected calibration error. The production-reviewed predictor remains the default unless independently gated evaluation approves a challenger.
- Expand animation, beta navigation, caching and calibration regression coverage. Build beta only from validated main without advancing the production branch or API.
Production rollout is pinned to this GitHub Release and its tagged commit.
BallerWatch 11.0.2 — Accountless RSVP rosters for published pickup games
BallerWatch 11.0.2
Accountless RSVP rosters for published pickup games
- Open the pickup RSVP roster to every visitor without login, preserving original RSVP order, guest counts and RSVP action.
- Allow uncached event-specific API reads for published pickup dates, rejecting unpublished dates and stripping private metadata other than display names and guest counts.
- Keep the source rosters encrypted and accountless device settings unchanged; do not embed participant names into public schedules, notifications, AI replies or searchable directories.
- Add guest Chromium/WebKit browser checks, unpublished-date privacy tests and a versioned PWA shell.
Production rollout is pinned to this GitHub Release and its tagged commit.
BallerWatch 11.0.1 — Persistent device preferences and private match edits
BallerWatch 11.0.1
Persistent device preferences and private match edits
- Replace the 24-hour visitor-name/team lease with persistent browser storage; migrate older device preferences, even a saved lease that passed its former expiration, without restoring account-backed profiles.
- Keep a one-day limit for notification board messages, read/deleted markers and unread badges. Notification category selections and encrypted provider-valid Web Push subscriptions persist until changed, disabled or rejected by the push provider; do not silence reminders because the app was closed for a day.
- Apply and cache match date/time/venue corrections and hidden matches on the editing device only. Changes immediately update match cards, calendar dots, directions and share details; Reset/Restore are local and do not require sign-in.
- Serve canonical RATS and pickup fixtures without legacy shared overrides or hidden-match state. Reject retired shared match-write endpoints, including calls from older app versions.
- Precompute current-season team data as before, while storing the selected teams locally with RSVP name; add browser, privacy and cross-device isolation regression checks.
- Apply a 24-hour message cutoff during notification-board writes and Worker reads, and permit fresh notifications with tags matching messages from prior days.
Production rollout is pinned to this GitHub Release and its tagged commit.
BallerWatch 11.0.0 — Accountless BallerWatch with private 24-hour device preferences
BallerWatch 11.0.0
Accountless BallerWatch with private 24-hour device preferences
- Retire public user sign-in, user provisioning, account-backed notification profiles, and public RSVP-name catalogs; keep only the administrator maintenance unlock for shared edits and software releases.
- Expire guest RSVP name, team selection and notification preferences after 24 hours and clear expired data on the device at next access.
- Precompute encrypted, secret-keyed pickup RSVP membership tags alongside existing encrypted all-season RATS team standings, fixtures and scouting; do not publish a private participant directory.
- Store Web Push subscriptions encrypted with a 24-hour expiration; an active app visit renews the lease, otherwise server-side push reminders stop after expiry. Filter pickup and league alerts by each device's selected name, teams and channels without user accounts.
- Scrub legacy secondary users, notification profiles and registered usernames from encrypted runtime-state on deployment; preserve protected operator access and global match overrides.
Production rollout is pinned to this GitHub Release and its tagged commit.
BallerWatch 10.0.1 — Restore fast and reliably cached league standings
BallerWatch 10.0.1
Restore fast and reliably cached league standings
- Restrict standings API to the requested teams and at most 96 directly relevant, already-precomputed match estimates, instead of returning 1,662 season-wide predictions and 826 KB on every request.
- Allow the bounded public device cache to persist those per-team predictions so standings appear immediately on repeat visits.
- Serve newly monitored current-season teams from the already prepared full-season cards without requiring the hourly writer to match the old monitored-team list.
- Retry slow initial standings reads automatically without blocking the independent match calendar, and validate the live standings contract during Worker deployments.
Production rollout is pinned to this GitHub Release and its tagged commit.
BallerWatch 10.0.0 — One uninterrupted first install and calendar-independent BallerWatch
BallerWatch 10.0.0
One uninterrupted first install and calendar-independent BallerWatch
- Do not reload the open app when a new service worker takes control; claim the first-launch splash before first paint to avoid repeating it across startup interruptions.
- Retire the Google Apps Script Calendar bridge, reconciliation workflow, credentials, runtime snapshot, and integration tests; no Google connection or Calendar permissions are required.
- Compute material RATS schedule changes from verified upstream fixture snapshots, preserving Web Push, inbox notices, one-hour reminders and weather refresh.
Production rollout is pinned to this GitHub Release and its tagged commit.