Timed pre-event reminders can post into the default team chat when families miss push, email, or device-level notifications. Reminder messages use deterministic IDs to avoid duplicate retry spam, and delivery audit fields are recorded on each notification.
→ Communication workflowChangelog
Every significant feature, fix, and improvement to ALL PLAYS — from launch to today.
No results found
Try a different keyword or clear the filter.
May 2026
Spring 2026 Release
New sports, full payment pipeline, registration management, team media, live-tracker resilience, broadcasting overhaul, calendar feeds, org scheduling tools, and roster access improvements.
Latest Updates
Admins can mark assignment slots (e.g., snack duty) as parent-claimable from the schedule editor. Parents see Sign up and Release actions on their dashboard, while admin-managed assignment details remain protected.
→ Schedule workflowOnline registration checkout now prepares the registration before redirecting to Stripe, carries registration context through success and cancellation returns, and restores button and spinner state after full-option errors. Full, non-waitlisted options are hidden from selection.
→ Registration workflowPrimary parents can invite another family member to share access to an athlete profile. The invite creates a scoped co-parent access code, supports existing-account detection, and connects the invited family member once redeemed.
→ Roster workflowTeam media rename handling, validation, and security-rule coverage were tightened so media titles can be updated without loosening album visibility or ownership protections.
→ Team Media workflowThe Help Portal now includes a searchable Team Operations entry, workflow table-of-contents links skip the self-referential In This Article heading, and the admin team action now says Deactivate instead of Delete to match the retained-data behavior.
→ Help CenterThe certificates landing page now emphasizes Start new run as the primary action, while custom AI description hints are carried through batch description generation for more tailored certificate copy.
→ Awards & Certificates workflowPlayer reports now show default stat columns even when every player has zero stats, and completed-game detail links use standard query parameters so game pages receive team and game IDs consistently.
→ Postgame workflowBackend URL validation was hardened against SSRF edge cases, telemetry auth payload tests were stabilized, unsupported chat last-read snapshot behavior was removed, and invite-based signup keeps auto-applied activation codes hidden across login and sign-up mode switches.
→ Admin operations workflowNew Features
Full sport support with built-in stat templates (AB, H, R, RBI, BB, FP), diamond formation layout, batting order planning, seven-inning defaults, and per-inning run scoring. Pitching and fielding position tracking included.
→ Live Tracker workflowAdmins create fee records with line items, optional installment schedules, and per-recipient tracking. Stripe Checkout links are generated on demand. Parents view a full invoice with balance and due dates and pay online. Offline payments, manual adjustments, and cancellations are all supported. Only completed Stripe sessions update fee status.
→ Fees & Payments workflowAdmins configure registration options with capacity limits, active/inactive status, and optional waitlists. Public registration forms enforce capacity via Firestore transaction. The admin review queue supports filtering across seven statuses: pending, waitlisted, offer extended, offer accepted, enrolled, released, rejected.
→ Registration workflowCoaches and admins create member-visible or manager-only albums, add YouTube/Vimeo video links, upload photos with per-file progress tracking, and set album cover images. Members can upload to member-visible albums. Admin bulk operations include select, bulk delete, move, and reorder.
→ Team Media workflowCoaches open the certificate studio, choose batch or individual mode, design the layout (background, typography, signature fields), and generate per-player AI narratives from actual game stat data. AI content is safety-constrained, opponent names are redacted, and output can be edited before publishing to parent dashboards or printing.
→ Awards & Certificates workflowBroadcasting & Streaming
Replaced the generic camera prompt with a structured three-state flow: session naming → Checking (camera/mic permission request) → Ready or Permission Failed. Platform-specific recovery instructions are provided for Chrome, Safari, and Android. Session name is used for replay list display.
→ Game Day: Broadcast setupNew combined access level grants a team member both scorekeeper and streaming permissions in a single game-day workspace. Stream & Score volunteers see scoring controls and broadcast status without access to roster, schedule editor, or player stats.
→ Track Game: Stream & Score pathOpt-in audio narration of live game events using the browser's Web Speech API. Works in both live view and replay. Mutable and pauseable at any time. Browser support preference is persisted for the session.
→ Live Watch & Replay workflowLightweight broadcast mode for goal-based sports (soccer, hockey, lacrosse, etc.). Tracks score, clock, and goal events only. Fans see live updates via the watch link. Designed for sideline use when full stat tracking is not needed.
→ Live Tracker: Goal Sport sectionCoaches save named highlight clips from the replay player. Each highlight stores a title, timestamp, player tags, and a seek-to-moment control. When a viewer clicks a highlight, the replay player jumps directly to that moment. Highlights are organized in the game media hub.
→ Postgame workflowReplaced the blank video area with four explicit states: Unavailable, Processing, Failed, and Ready. Each state shows actionable guidance text so users always know what to do next.
→ Postgame workflowCoaches copy an iframe embed snippet or a direct URL to display a live, read-only scoreboard on any external website. Updates in real time as the tracker records score changes. No login required to view.
→ Game Day: Scoreboard WidgetCalendar & Schedule
Each team member gets a personal, token-authorized HTTPS ICS subscription URL that includes games, practices, RSVP status, and officiating assignments. The SHA-256 token is tied to the member's identity and can be revoked. Subscribe via Apple Calendar, Google Calendar, or any ICS-compatible app.
→ Schedule: Private Calendar FeedPublic teams expose a read-only games-only ICS feed for fans. Excludes practices, RSVPs, and assignments. Accessible without a login. URL available from the schedule editor for sharing with league pages or club websites.
→ Schedule: Public Fan FeedPlatform admins generate a full season slot grid across all teams given team selection, season date range, venue availability, blackout dates, and game duration. Generator produces a conflict-free draft that admins review, edit, and publish. Mirror write failures trigger a rollback to keep all teams consistent.
→ Schedule: Org SchedulingPlatform admins download a CSV template, populate it with game data, and upload for validation. A preview table shows status per row: Add, Update, Unchanged, or Conflict. Conflict rows are excluded automatically. Admins confirm before import commits to Firestore.
→ Schedule: Org SchedulingWhen importing a schedule from a registration provider, admins see a full conflict preview before anything commits. Conflict rows are excluded by default; admins can uncheck specific safe rows to skip them. Import stores metadata and a miniature audit record on each committed event.
→ Registration workflowRoster & Access
Coaches and admins create player-scoped checklist items (forms collected, equipment issued, certifications on file) and toggle complete/incomplete per player. Items marked public are visible to linked parents in a read-only view. Manager-only items are never visible to parents or players.
→ Roster: Tracking ItemsParents share player access with a second caregiver by sending a household invite. The contact remains pending until they redeem the invite code. Revocation removes delegated parent/player links and invalidates the invite token. The roster shows current contact status (active, pending, revoked) visible to admins.
→ Roster: Household InvitesRoster imports from registration providers now include a preview step showing Add, Update, Unchanged, and Conflict status per row. Conflict rows are automatically excluded from import. Prevents accidental overwrites of manually managed roster data.
→ Roster workflowInvite redemption now enforces email matching before Firebase Auth account creation. If the signing-up email does not match the invited email, the flow is rejected with a clear mismatch error before any account is created. Invite context is preserved through the signup flow.
→ Join Team workflowTwo new scoped staff access levels below full admin. Scorekeeper: stat tracking and score management only. Videographer: broadcast setup and media capture only. Both are granted from the Team Staff & Permissions panel in Edit Team. Neither role can access roster, schedule editor, or team settings.
→ Team Setup: Staff PermissionsCoaches add officiating slots to game cards and assign officials from a team-maintained directory. Assigned officials receive notifications and can accept, decline, or mark can't-make-it. Self-assignment is restricted to eligible team participants. Assignment response and coverage status are visible on the schedule editor game card.
→ Schedule workflowAI Features
Runs from the Game Day pre-game panel. Reviews previous game event data and current player availability to produce a short tactical emphasis for today's game. Suggested emphasis, not a mandatory instruction.
→ Game Day: AI ActionsRuns from the Wrap-Up panel after the final whistle. Sends complete game events, substitutions, coach logs, and the Wrap-Up final score to the AI backend. Returns a structured analysis plus a practice feed linked to drill recommendations.
→ Game Day: AI ActionsWrites a natural-language match summary paragraph using the Wrap-Up score, opponent name, and key events. Output appears in an editable field. Save Summary can be triggered any number of times; the game page always shows the most recently saved version.
→ Game Day: AI ActionsLive Tracker Improvements
The Live Tracker now restores elapsed time correctly on page reload. Clock state (running/stopped, elapsed time) is persisted to Firestore on every tick and restored from the game record when the page initializes.
→ Live Tracker: ClockEvery substitution writes the current lineup to game.liveLineup in Firestore. On reload, the tracker restores from liveLineup rather than the original pre-game lineup, so sub changes are never lost. Multi-player substitutions are applied atomically.
Per-player foul counters display on each player button. When a player reaches the foul limit, their button shows a FOULED OUT! label. Opponent fouls are tracked separately and persist across page reloads.
→ Live Tracker: FoulsPlayers who participate in a game but record zero countable stats are now explicitly marked as participants in the aggregated stat record, ensuring their playing time is correctly credited when the game is finished.
→ Live Tracker: StatsWhen a stat is undone, the corrected aggregated stats are now re-broadcast to Game Day Command Center and the live watch view. Previously, the undo updated internal tracker state but broadcast totals shown to other users remained stale.
→ Live Tracker workflowThe game finish flow now correctly computes and saves per-player playing time using the full substitution log from liveLineup history. Players subbed back in after a reload no longer have post-reload time omitted.
Game Day Command Center
When the Game Day lineup is empty, opening the lineup panel automatically fills positions with players from the Going RSVP pool using the team's configured formation. Coaches review and can drag-and-drop to adjust before saving manually.
→ Game Day workflowPlatform & Access
Games can be linked to an opponent team in the system via opponentTeamId. When linked, the opponent team's name and photo are pulled automatically, and opponent player photos appear in the game report. Useful for leagues where both teams are managed in ALL PLAYS.
Coaches and admins can start a direct conversation thread with a specific parent, player, or staff member — separate from the main team chat channel. Conversation visibility is scoped to participants only.
→ Communication workflowPractice sessions not linked to a team game are now visible on the parent dashboard. RSVP controls for families with multiple linked players now show separate RSVP buttons per child — previously all children shared a single RSVP control.
→ Roster: Parent DashboardThe stat configuration editor now enforces access at page load. Users without coach or admin access to the team are redirected before any config data loads, closing a brief window where config data was visible to unauthorized users.
→ Team Setup workflowMarch 2026
Platform Hardening & New Integrations
Admin invite reliability, soft-delete, streaming integrations, Help Center rebuild, ICS calendar correctness, replay improvements, and dozens of targeted bug fixes.
New Features
Coaches enter a single stream URL in team settings. The platform auto-detects YouTube or Twitch and shows an embedded player with a live badge on the team page. Fans can watch the stream without leaving the ALL PLAYS experience.
Rebuilt as a workflow-first documentation site with dedicated workflow pages (game day, live tracker, schedule, roster, etc.). Each workflow page renders structured help content from a shared build pipeline. Navigation and footer links updated across the app.
→ Help CenterAdded robots.txt, sitemap.xml, and crawl/index metadata across all HTML pages so public-facing team and help pages can be discovered and indexed by search engines.
Coaches can override individual player RSVPs from the Game Day pre-game panel. Game records now carry season and league context (seasonLeague, seasonRecord) for use in stats and reports.
→ Game Day workflowDeleting a team or player now marks it as inactive rather than permanently removing data from Firestore. Inactive teams and players are hidden from normal views but historical game records, stats, and chat remain intact. Data is recoverable by admins.
Delegated coaches now have full team management access on team edit and roster pages, matching the access level of team owners and admin-email members. Access is revoked cleanly when a coach is removed from the team.
Production runtime for ZIP-based rainout polling: the system polls weather data for the team's ZIP code, aligns checks to 30-minute schedule boundaries, and surfaces delay or cancellation signals in the admin interface before the event start.
Rideshare offer and request functionality, previously available only for games, is now available for practice events on the parent dashboard.
→ Roster workflowAdmin Invite Reliability
Multiple fixes across the admin invite lifecycle: invite codes are consumed after acceptance, admin membership is persisted on redemption, expired codes are rejected, stale coachOf access is revoked on team edit pages, and the new-team creation flow correctly queues admin-email invites. The full redemption path was refactored into testable shared modules.
→ Join Team workflowParent invite signup now fails closed when invite linking or finalization errors occur. Previously, errors during linking were silently swallowed, leaving accounts partially set up. The email/password signup path was refactored into a shared module with explicit rollback behavior.
ICS Calendar Improvements
ICS field parameters are now preserved during parsing. TZID values on DTSTART/DTEND are extracted and used to convert wall-clock times to UTC correctly, preventing schedule import errors for teams in non-UTC timezones.
Cancelled ICS events (STATUS:CANCELLED and EXDATE) are now correctly handled during calendar import rather than being added as active events. Recurring VEVENT blocks are expanded into individual occurrences, including long-running series that started before the current date, with correct weekly interval and UNTIL date handling.
Calendar sync now correctly identifies practice events from ICS imports by parsing the SUMMARY field for practice keywords, so synced practices appear in the correct section of the schedule rather than being treated as games.
Live Tracker & Replay
The live tracker now restores the current period number and clock state from Firestore when the page is loaded or reloaded mid-game, so coaches returning to a tracking session see the correct period and time without manual re-entry.
Game reset operations now broadcast the reset to all connected viewers in real time. New field-status helpers track per-player on-field state across substitutions, improving the accuracy of playing-time calculations for generic (non-basketball) sport trackers.
Switching playback speed during a replay no longer causes timeline jumps. The replay timing helpers capture the exact elapsed replay time at click-time and rebase the start reference accordingly, keeping the replay position accurate across speed changes.
→ Live Watch & Replay workflowA single-flight lock prevents the game finish handler from running more than once simultaneously. Double-tapping the Finish Game button or rapid reloads at the finish moment no longer create duplicate stat aggregation records.
RSVP Reliability
Multiple fixes to parent RSVP submission scoping: RSVP playerIds now come from the clicked event context rather than all children, the fallback no longer fans out to all children on ambiguous context, and RSVP summaries are recomputed from subcollection data when denormalized summary data is missing. Coach RSVP overrides are correctly de-duplicated by latest effective response per player.
→ Schedule workflowWeekly recurrence intervals now apply correct gating, the UNTIL end date is treated inclusively (final day included), and series starting far in the past still produce current and future occurrences. Practice edit datetime-local inputs no longer drift due to timezone offset misapplication on prefill.
February 2026
Live Experience & Team Communication
Game Day Command Center, practice management, team chat voice and reactions, public schedule calendar, RSVP flows, rideshare, and a first-class global search.
New Features
A unified coaching surface covering the full game lifecycle — pre-game lineup and RSVP review, live stat monitoring, in-game coach notes, half-time and wrap-up panels. Coaches can manage everything from a single page without switching between schedule, tracker, and roster views.
→ Game Day workflowA command-palette style global search in the shared header covers teams, players, and quick actions. Open with the search icon or keyboard shortcut. Results update as you type and include direct navigation links.
Coaches manage practice sessions with scheduling, attendance tracking, and parent take-home packet workflows from a dedicated practice command center. Parents can view and submit assigned drill completions from their dashboard.
→ Schedule workflowGame cards now support home/away designation, kit color, arrival time offset, and coach notes. Parents RSVP with a four-status response (Going, Maybe, Can't Make It, No Response) from both the schedule list and calendar views. RSVP totals are visible to coaches in the Game Day pre-game panel.
→ Schedule workflowThe public team schedule page now supports list/calendar toggle, month navigation, day-detail modal on click, and filter chips (games, practices, all). Fans and parents can see upcoming events at a glance without logging in on public teams.
Parents can RSVP to practices with the same four-status flow used for games. Coaches see availability breakdowns per player on the practice page. Player deactivation is now supported, removing inactive players from RSVP pools while preserving historical records.
Parents can offer or request rideshare for games from the parent dashboard. Seat-count protection is transactional — concurrent requests cannot over-book a ride offer. Status (offered, requested, claimed, released) is visible to all participating parents.
→ Roster workflowCoaches and parents can dictate messages using the Web Speech API voice-to-text button in the chat composer. Image attachments can be added to messages with a per-file upload progress indicator before sending.
→ Communication workflowStandard emoji reactions on team chat messages with a floating emoji picker. Hover a reaction to see who reacted. Reaction state is stored in Firestore with no layout shift during updates. Multiple rounds of Firestore security-rule fixes were shipped to make reactions reliably work in production.
→ Communication workflowCompact Live Notes controls are available in the live tracker, with a voice toggle for hands-free note dictation and a quick-text input. Notes are timestamped to the game clock and visible in the Game Day wrap-up panel.
→ Live Tracker workflowCoaches save a league URL from the team settings page. An External Standings panel on the public team page embeds or links to the league standings, keeping everything a parent needs in one place.
Parents can open take-home practice packets directly from schedule list cards and the calendar day flyout — no need to navigate to the roster or practice page first.
Live Tracker Improvements
The live game viewer now stays in sync with the tracker clock. Clock sync events are treated as system events (not displayed to fans) and the tracker emits periodic heartbeats so viewers joining mid-game see an accurate clock rather than 0:00.
→ Live Watch & Replay workflowShared integrity helpers validate substitutions before applying, preventing lineup state from becoming inconsistent when rapid sub changes overlap. Multi-player substitutions are queued and applied together.
Opponent player name inputs in the live tracker no longer overflow off-screen on narrow mobile viewports. Jersey number labels are fixed-width and the input/name area shrinks to fit. Empty opponent cards hide broken avatar/placeholder text until a name is entered.
The LIVE badge is hidden by default and shown only when a live stream is active. REPLAY badge displays correctly during replay. Error handling was added around the game data initialization fetch so bad data does not crash the viewer.
→ Live Watch & Replay workflowThe live game viewer now enables the chat input whenever the game's liveStatus is active. Chat availability is determined by a shared helper that checks game state rather than relying on a static flag.
Drill Library
Drill resource links now support any URL, not just YouTube. Drill instructions render with linkified URLs. Diagram upload failures now fall back gracefully instead of leaving the drill form in a broken state. Drill slideout closes correctly after a successful save, and a duplicate-save race condition during rapid saves was fixed.
→ Schedule workflowJanuary 2026
Basketball Tracker
Dedicated basketball tracking with foul management, quarter tracking, stat undo, and game replay links.
Per-player foul counters added to the basketball live tracker. Players at or past the foul limit are visually flagged. Removing or undoing a foul event correctly reverses the foul count and other related stat changes.
→ Live Tracker: FoulsQuarter/period management improvements in the basketball tracker: the current quarter is tracked correctly across the full game. X buttons on individual stat events allow coaches to remove a single event without undoing all subsequent plays.
→ Live Tracker workflowGames opened from calendar events (.ics links or shared schedule links) were bypassing the basketball vs. standard tracker chooser modal and always routing to the standard tracker. Calendar-linked games now correctly prompt the tracker choice for basketball games.
A link to the completed game replay is now shown in the live view controls once the game is finished. Placeholder text is removed from the replay area when a real replay is available. Chat availability logic was updated to match the correct game lifecycle state.
→ Live Watch & Replay workflowDecember 2025
Initial Launch
ALL PLAYS goes live with core team management, live game stat tracking, real-time broadcasting, and practice session foundations.
Real-time stat tracking for team sports on mobile. Coaches tap player buttons to record events (shots, assists, rebounds, turnovers, etc.) as they happen. Stats aggregate live and are broadcast to the live game viewer. Events are stored in Firestore for post-game replay and reports.
→ Live Tracker workflowFans and parents watch real-time stats, score, and event feed from any device via a shareable game link. After the game, the same link becomes a full replay player showing events in sequence with adjustable playback speed.
→ Live Watch & Replay workflowCoaches create event-based practice sessions linked to the team schedule. Practice entries support attendance and drill assignment foundations that were expanded in later releases.
Core team creation, player roster management, and role-based access control (owner, admin, parent) using activation codes for secure team onboarding. Firebase Auth for email/password and Google OAuth sign-in.
An optimized mobile-first basketball stat tracker was introduced alongside the standard tracker. Basketball games prompt coaches to choose between standard and beta modes. Photo upload logging improvements were shipped alongside the initial tracker build.