August 31, 2026
COMMIT #: 3386c19
Bugs
Sales
PF Pay (GWU-8698)
Previously: Some PF Pay invoices were captured for the full pre-authorized card amount instead of the actual amount owed, which could overcharge a client by roughly double the correct amount.
Update: PF Pay now explicitly caps the captured payment at the calculated amount due.
Updates
Sales
AR Communication (GWU-7797)
Update: Automatic upcoming-payment reminders now also cover Credit Card and ACH scheduled payments, not just checks.
The reminder email/text now names the specific saved payment method that will be charged instead of a generic message.
Club App
Team Chats (GWU-8556)
Update: Team chats are now automatically created as soon as a team is eligible.
New members added to an existing roster now automatically trigger a "new member" notification into their team's chat.
Added a manual "Create Team Chat" action to the admin Task Queue for creating a chat for a specific team on demand.
Team Chats (GWU-8559)
Update: Added an automated system message to team chats that posts "A new user has been added to the chat." whenever a user is added.
The message triggers standard inbox and notification behavior for all chat members, including the newly added user, ensuring the chat surfaces immediately.
Messaging
Data Token (GWU-4952)
Previously: The "Athlete Last Name" mail-merge token repeated a shared last name for siblings on the same account.
Update: The "Athlete Last Name" token now lists each distinct last name only once.
Site Settings
Age Verification Emails (GWU-8667)
Update: Added customizable "Age Verification Approved" and "Age Verification Denied" email templates to Site Settings, sent to guardians when a proof-of-age document is reviewed.
August 27, 2026
COMMIT #: a318282
Bugs
Sales
Invoices (GWU-8621)
Previously: A platform fee discount that pushed a payment above the invoice's line item total could fail to be correctly credited as an overpayment.
Update: Overpayment detection and crediting now consistently use the same creditable-payments calculation.
Invoices (GWU-8694)
Previously: When applying a check payment whose face value already covered the full invoice balance, the system could still try to apply the full platform fee discount on top, causing a "Base, fee, and tax amounts do not align" error.
Update: When a check payment isn't an intentional overpayment, the platform fee discount is now automatically trimmed, allowing a check that exactly covers the balance to settle the invoice cleanly without an alignment error.
Updates
Global Settings
Global Settings (GWU-5459)
Update: Added a global setting to restrict entering discounts, scholarships, and prorates on an invoice after 90 days past its program's servicing end date.
Financial Analysts are exempt on all invoices; Manual Invoicing admins are exempt on invoices with a servicing period.
Access App
Links (GWU-6374)
Update: Added deep linking support in the Access app, allowing users to copy and share direct links to an event's home page, team page, and shop page.
When a shared link is clicked, it brings the recipient directly to that content in the app, or redirects them to the app store to download the app if it is not already installed.
August 26, 2026
COMMIT #: 3ac9562
Updates
Front End
Recruiting Profile (GWU-8510)
Update: Recruiting profile visibility is now opt-in via a checkbox on the athlete's profile, rather than automatically shown/hidden based on settings alone.
Recruiting is now age-gated to athletes 13+.
Schedule
Add to Schedule (GWU-8437)
Update: Added validation on both game creation and game updates to reject an end time set before the start time, with a clear "End time cannot be before start time" error.
Sales
Subscription Plans (GWU-6738)
Update: "Renew Through" is now ignored for No Renewal plans, so a future-dated No Renewal plan can be purchased ahead of its start date as intended.
Log In
Access Codes (GWU-6078)
Update: Guest/read-only access codes can now create calendar subscriptions, restricted to only the athlete profile(s) their access code is scoped to.
Club App
Schedule (GWU-6079)
Update: Fixed the calendar export API to correctly handle Access Code authentication.
August 24, 2026
COMMIT #: d4741cb
Bugs
User
Profile API Compatibility (GWU-8680)
Previously: Older API clients were still sending profile update requests using the legacy field paths would fail since the API no longer recognized those fields.
Update: Restored backwards-compatible acceptance on profile update requests.
Club App
Communication (GWU-8683)
Update: Auto archive team chats 14 days after the program ends.
Updates
Sales
Payments (GWU-6844)
Previously: When an ACH payment bounced and was reversed, the platform fee discount that had been granted for using the lower-cost ACH method wasn't reversed.
Update: Reversing a bounced ACH payment now generates a corresponding platform fee discount reversal.
Invoices (GWU-8496)
Update: Added required sub-types for "Bad Debt" write-offs on the admin invoice page along with a required description.
No show
Chargeback/dispute
Failed payment
Other collectability issue
Bad Debt entries can now also be reversed, and Bad Debt sub-type/description now flow through to NetSuite accounting exports as an invoice credit rather than a payment.
Team
Bulk Edit (GWU-6688)
Update: Added four new editable columns to the schedule Bulk Edit page — Uniform, Arrival, and Other Notes, plus an Actions column with a delete button for removing an individual scheduled game directly from the grid.
August 20, 2026
COMMIT #: c7e2ab5
Bugs
Sales
Shop (GWU-8486)
Previously: On the Shop products table, currency columns sorted alphabetically as text rather than numerically, so sorting produced an incorrect order.
Update: Currency columns now sort as actual numeric values, so sorting by any dollar column produces the correct high-to-low or low-to-high order.
COMMIT #: 403cac4
Bugs
PF Web Builder
Page Headers (GWU-8401)
Previously: A page's header block in PF Web Builder could be accidentally deleted, overwritten, or dragged out of place because normal editing operations didn't distinguish it from regular content.
Update: Page headers are now protected from being deleted, replaced, duplicated, or dragged during normal editing.
Communication
Order Confirmation (GWU-8386)
Previously: The "Registration is not complete until paid" warning could appear on an invoice/PDF even when the item had no remaining balance due.
Update: The "not complete until paid" warning now only shows when the item actually has a balance due, and payment-options/amount-due sections are only removed when nothing is due right now.
Updates
Site Settings
Address Verification (GWU-8520)
Update: Merged Age Verification and a new Address Verification flow into a single "Verification" review process for admins (renamed from Age Verification to Verification).
Added a global "Address Proof Validity Days" setting.
Proof of address is only considered current for a configurable number of days after upload.
Site Settings (GWU-6812)
Update: Updated the design system's corner-radius settings to use consistent CSS variables across the editor.
PF General Updates
Google Ad Manager (GWU-8266)
Update: Moved email Ads from PlayerFirst to Google Ad Manager.
GearUp Reporting (GWU-8605)
Update: Added a new GearUp Sync Metrics admin page showing counts and details of GearUp uniform orders that couldn't be automatically matched to a brand/roster, with Brand and purchase-date filters.
Program
Bulk Registration (GWU-6021)
Update: When bulk-registering teams, multiple concession line items of the same concession type are now consolidated into a single payment per type, rather than creating a separate line item for each occurrence.
Registration Details (GWU-7843)
Update: A program's Region can now store multiple categories instead of a single value, with legacy single/comma-separated values still supported.
Registration Details (GWU-7769)
Update: Added a drag-and-drop tool s for reordering the tabs shown on the public Team page, so brands can control the order sections appear in without a code change.
Schedule
Leagues & Tournaments (GWU-6155)
Previously: Field availability blocks created for a tournament (rather than a specific brand) had no brand association, so they could fail to display correctly on the Availabilities Timeline for that tournament's brand.
Update: Field availabilities tied to a tournament now inherit that tournament's brand, ensuring they display correctly on the timeline.
Sales
Invoices (GWU-8281)
Previously: When a payment plan discount reduced platform fees, the system could incorrectly reallocate cash payments.
Update: Platform fee discount logic now correctly displaces prior cash allocations off the fee line onto other items with a remaining balance.
Front End
Athlete Profile (GWU-8665)
Update: Updated the "Why We Need This" tooltip on the Proof of Age / Birth Certificate upload field to clearer, more general language about eligibility confirmation.
Sales
Subscription Status (GWU-8670)
Previously: The Subscription Status grid's background data endpoint could fail to resolve correctly depending on the URL path it was loaded from, which could prevent the grid from loading beyond its initial rows.
Update: Fixed the background load endpoint path resolution so the Subscription Status grid reliably loads all rows regardless of the originating URL.
Program
Registration Details (GWU-8291)
Update: Improved table and data load times on Program Summary and Division Details pages.
August 18, 2026
COMMIT #: 403cac4
Bugs
Front End
Team Registration (GWU-8290)
Previously: On the Team Registration Page, when users partially enter Coach information, the system did not consistently display validation messaging for missing required Coach fields.
Update: Validation messages now render inline below their field instead of overlapping content.
Updates
Front End
Team Roster (GWU-8483)
Update: Added a "Download Rosters" option on the same line as the program name and date.
When downloading, a pop-up modal allows users to select which athlete details to include in the export: Height, Position, Phone Number, Email, Address, School, and School Coach. All fields are enabled by default.
Users (GWU-7495)
Update: Replaced the single, brand-wide SMS/Email marketing setting on user profiles with per-brand (affiliation-specific) communication preferences.
Email Marketing, SMS Transactional, and SMS Marketing can now each be set independently for every brand a user is associated with, rather than one setting applying everywhere.
Program
Registration Details (GWU-6561)
Update: Added a multi-step bulk price update workflow to the Division Details page that allows admins to update selected registrations to the current team or division cost, including platform fees.
Division Details (GWU-7062)
Update: Replaced the removal modal with a detailed multi-step workflow that gives admins full control over financial adjustments when removing registrations.
Site Settings
Site Settings (GWU-7446)
Update: Added a new "Confirmation" answer type for product category questions. A Confirmation question appears as an agreement on the Waivers & Agreements checkout step whenever a product from that category is in the cart, showing custom confirmation text with a required "I have read and agree" checkbox and signature field.
Each confirmation is only asked once per cart, even with multiple qualifying products.
August 14, 2026
COMMIT #: 2a6060f
Bugs
Sales
Invoices (GWU-8628)
Previously: Admins couldn't apply a check/cash/external ACH payment to older invoices that had transaction fees instead of Platform Fees.
Update: Admins can apply a check/cash/external ACH payment to older invoices that have transaction fees instead of Platform Fees.
Front End
Registration (GWU-8587)
Previously: Some invoices showed an invalid/incorrect balance on the registration complete page.
Update: The balance calculation is fixed, and an Account Credit is now treated the same as any other payment method when allocating amounts across an invoice's line items.
Roster Waiver
Athlete Profile (GWU-8635)
Previously: In the Roster Waiver flow, entering an athlete's Gender, Email, or Address could fail to save.
Update: The validation was fixed so fields not required by a brand no longer block completing the form, and the form now saves progress when the user clicks Continue.
Updates
Registration
International Registration (GWU-8390)
Update: Added Australia, Brazil, Kazakhstan, the United Kingdom (England, Scotland, Wales, Northern Ireland), and all EU countries to the registration state/country list, using official first-level subdivisions where applicable.
Communication
Media Manager (GWU-8574)
Previously: Creating a folder in Media Manager with certain special characters in the name (e.g., a trailing period) caused the page to become unresponsive after clicking Save — the only way to recover was to log out.
Update: Folder name validation now rejects special characters and shows the user which characters aren't allowed.
Google Analytics
Ecommerce Events (GWU-8243)
Update: Google Analytics now tracks additional ecommerce events during registration —
view_item_list,view_item, andadd_to_cart— alongside the existingregistration_start,registration_step, andregistration_completeevents. Each event includes program, category, user, and profile information, consistent with how these events already fire elsewhere on the site.
Cart Flow Tagging (GWU-8385)
Update: Closed gaps in Google Analytics cart-flow tracking.
August 12, 2026
COMMIT #: ac8525d
Bugs
Program
Bulk Registration (GWU-8602)
Previously: When a brand had 'Require Team Locations' disabled in Site Settings, Team/Club Hometown and Home State were still being required during admin team-based registration.
Update: When a brand has 'Require Team Locations' disabled in Site Settings, Team/Club Hometown and Home State is not required during admin team-based registration.
Front End
Roster Upload (GWU-8464)
Previously: Uploading a roster sent all player-validation requests to the server simultaneously, which could overload the endpoint and cause timeouts.
Update: Roster upload now sends validation requests 3 at a time instead of all at once, along with an additional performance fix.
Updates
PlayerFirst
Account & Profile Access (GWU-8493)
Previously: Admins could view a full athlete profile or a family's contact details for any brand — not just their own — by editing the athlete/user/profile ID directly in the URL on the Athlete Details page and Profile Editor popup.
Update: An admin's brand access is checked before displaying an account/profile.
Worldpay (GWU-8620)
Update: Worldpay/triPOS payment methods and related legacy code have been removed. Saved payment methods are now filtered to supported gateways (Stripe/Sandbox/Mock), and attempting to use an unsupported saved method returns a clear error instead of failing.
Users
Duplicate Account Matching (GWU-8389)
Update: When adding a coach or team manager on the front end, a youth athlete profile that closely matches the new contact's info no longer blocks account creation — a new account and adult/guardian profile are created instead.
Communication
Message Templates (GWU-8306)
Update: The Message Template creation page now includes a Data Tokens button, matching the experience of creating a regular message.
Sales
Allocation Issues (GWU-7305)
Update: Automatically process issues on the Sales>Allocation Issues page.
Sponsorship
Meta Pixel (GWU-8613)
Update: A Meta Pixel was added to support Sponsorship's audience retargeting on Meta. It follows the same consent flow as existing Google tracking tags — no data is sent to Meta until a visitor gives affirmative ad-consent, and sessions with Global Privacy Control enabled use Meta's Limited Data Use mode instead.
August 11, 2026
COMMIT #: 892cbae
Updates
Front End
Roster Waiver (GWU-8292)
Update: Roster waiver links sent to parents/athletes now include the team ID, so the waiver flow can determine whether the athlete is registering for an adult program and load the correct add-ons accordingly.
August 10, 2026
COMMIT #: 8b7d58d
Bugs
Communication
Analytics (GWU-8604)
Previously: UTM parameters in email tracking links were only applied to the redirect portion of the links added to email communication. Because of this, tracking data could be lost once the redirect completed.
Update: UTM parameters are now injected into the link's destination so they carry through the full redirect.
Updates
Sales
Add-Ons (GWU-8005)
Updates: An "In Club App" field was added to both Program and Shop Item Add-On pages. When toggled on, it will allow the program/shop item to display within the Club App.
August 7, 2026
COMMIT #: 39cd79b
Bugs
Access App
Tournament Schedule (GWU-8512):
Previously: Bracket scores displayed blank instead of '0' when a team had not yet scored in a game that started.
Update: Brackets now correctly display '0' once a game has started, and the final score once the game is finalized.
Fields (GWU-8487)
Previously: Fields removed from availability after a schedule was finalized still appeared in the Access App's field/location filter.
Update: Only fields/locations with scheduled games now appear in the Access App filter.
Broadcast Messaging (GWU-8485)
Previously: Broadcast messages could appear to fail on the Access App due to a 20-second local timeout, even though the message was still processing (and often sending successfully) on the backend.
Update: Broadcast messages are now queued asynchronously on the backend, and the confirmation message on the Access App lets the sender know the broadcast is queued and may take 1–2 minutes to reach all recipients.
Site Settings
Site Settings (GWU-8200)
Previously: Adding tracking scripts (e.g., a Meta Pixel snippet) to a brand's Custom HTML Head field broke the site's header/footer layout.
Update: A code issue was fixed so the Custom HTML Head field can be used to add tracking scripts without affecting the header/footer layout.
Note:
<noscript>tags still aren't supported in this field.
Sales
Invoices (GWU-8376)
Previously: A failed refund did not reflect a reversal on the PlayerFirst invoice.
Update: PlayerFirst now subscribes to the additional Stripe webhook events needed to catch failed/updated refunds, so failed refunds are properly reflected on the invoice.
Subscription Status (GWU-8315)
Program
Registration Details (GWU-8468)
Previously: When copying or creating a program, the Primary Location field was sometimes required but not marked with an asterisk.
Update: The Primary Location field now shows an asterisk whenever it's required.
Updates
Access App
Team Search (GWU-8513)
Update: Fixed the Team Search logic when searching for a team with a numeric value in the team name on the Access App.
Game Cards (GWU-8546)
Update: The game endpoint now returns team record data for both the home and away teams, so Game Cards on the Access App can display team records — matching what's shown on the Standings page.
PF Web Builder
Tables (GWU-7329)
Previously: Table columns in Web Builder only supported sorting as strings or numbers, so date columns did not sort correctly.
Updates:
Date columns now sort correctly in both ascending and descending order.
Added a Default Table Sort option to allow users to set how a table will initially sort when viewed
Headers (GWU-6234)
Update: Added the ability to add a video to a PF Website page header.
2MB file size cap.
Accounts
Duplicate Account Prevention (GWU-6161)
Updates:
Leading/trailing/extra spaces in names and emails are now automatically trimmed before saving across registration, profile edits, account creation, imports, bulk registration, and team management.
When a new athlete or adult contact closely matches (93%+ name similarity) an existing profile with a matching date of birth (athletes) or matching email/phone (adults), the system now links to the existing profile instead of creating a duplicate.
Team
Team Reporting (GWU-7802)
Update: Significantly improved the load time of the Team>Team Reporting page.
Each tab's data now loads asynchronously.
Sales
Subscription Status (GWU-8315)
Updates: The following updates were made to the Subscription Status page...
Now includes subscription lifecycle reporting.
New columns show Associated Program, Plan Change (Upgrade, Downgrade, Cancelled by Upgrade, Cancelled by Downgrade, Renewed, Renewal Type Change), Changed From/Changed To, Change Date, and whether the subscription started as an Add-On.
History of the subscription can be viewed.
Initial page load is faster — the first 10 pages of results load immediately, with the rest loading in the background.
Admins can now cancel a subscription immediately.
August 5, 2026
COMMIT #: 2dbedc1
Bugs
Site Settings
Site Settings (GWU-8595)
Previously: If a brand's parent/child relationship was invalid at the time it was saved, the brand could not be updated to remove that child relationship.
Update: Brands with an invalid parent/child relationship can now be updated to no longer be a child brand.
Front End
Invoices & Payments (GWU-8329)
Update: The Allocate Payment page now displays properly on mobile, including the total amount applied calculator. Subscription action buttons are now correctly aligned on mobile.
Updates
Team
Team Management (GWU-8319)
Updates:
The following updates were made to the Team Management page...
An Offered column was added to the Roster Management table.
Once an offer is sent to the athlete, the Offered Date will display.
An Athlete Ranking column was added to the Roster Management table.
A Team Type column was added to the Team Management table.
The following updates were made to the Copy Roster page...
Added the option for admin to select which athletes they want to copy from one team to another, without having to copy the entire team.
PF Web Builder
Menus (GWU-8154)
Update: When adding a Custom Link to a PlayerFirst Website menu, admins can have the link open in a new tab.
Site Design (GWU-8264)
Update: Site Design now includes a Display Type option for the Teams page on a site, letting admins toggle the Team List view between 'Grid' and 'List' layouts.
Program
Registration Details (GWU-5810)
Update: A new Divisions button was added to the top of the Program Summary page. The button now displays in place of the previous Maps icon on the Maps page, and in place of the previous Summary icon on the Summary page.
August 3, 2026
COMMIT #: cb972bf
Bugs
Front End
Registration (GWU-8557)
Previously: Account credit applied in the cart was calculated using a formula that could produce incorrect totals — it didn't account for tax, shipping, service fees, or platform fees, and stale/invalid account credit line items weren't cleaned up if the cart changed in a way that made the applied credit exceed the new total.
Update: Account credit calculation in the cart is now consolidated into a single, reusable routine that correctly factors in tax, shipping, service fees, and platform fees when determining how much credit can apply, and automatically removes an account credit line item from the cart if it becomes invalid (exceeds the new total) after the cart changes.
Program
Retention List (GWU-8440)
Previously: On the Retention List page, clicking the collapse toggle on the Dashboard caused it to disappear entirely rather than collapsing to a minimized view with the title still visible.
Update: Fixed the Dashboard collapse behavior on the Retention List page so that toggling to collapsed now correctly displays the Dashboard in a minimized state with the title still visible.
Updates
Team Management
Roster Management (GWU-8584)
Previously: On the Team Management page, the Purchased Player Pack column was displayed regardless of whether a GearUp Team Store Link and GearUp Store ID had been configured for the program, causing the column to appear even when it was not applicable.
Update: Updated the Purchased Player Pack column to only display when both the GearUp Team Store Link and GearUp Store ID are configured on the Team Store page. The column is hidden if neither or only one of the two required fields is set up.
