Changes between 08/10/26 - 08/14/26
This release is anchored by a ground-up rewrite of the Registration System. Entry creation and eligibility checking, previously scattered across many small code paths with inconsistent rules, now run through a single unified engine — making registration noticeably faster (Dynamic Event entries that once took seconds now complete in a fraction of a second) and applying entry limits consistently across solo, partnered, regular, and dynamic events. On top of that rewrite, the registration UI for both Athlete and Studio accounts has been updated for consistent behavior across account types, and competition registration links are now shareable: selecting a competition puts its ID in the URL, so organizers can hand out a direct link that drops recipients straight into the right registration form. The rest of the release is a broad sweep of bug fixes across solo entry display, TBA entry handling, scheduling, and the Skating System.
System
- Fixed an issue in the Password Changed email.
- Fixed an issue in Skating System engine where R11's tabulation result did not retain the scores of contenders other than the final winner.
- Once an Athlete or Studio account selects a competition on their registration page, the resulting link can be shared for quick sign-up. Recipients who are already signed in go straight to that competition's registration page in their Athlete or Studio context; recipients who aren't are sent to sign in first, then redirected to the right registration page with the competition pre-selected. See the Athlete and Studio sections for details.
- Several dependency and security updates.
Registration System Redesign
The Registration System has been redesigned to handle a wider variety of situations. Previously, registration logic was scattered across many small code paths with no unified processing, even though most registrations — solo or partnered, regular or dynamic — follow very similar flows. Event eligibility rules were also hard-coded in several places and weren't always checked consistently. This rewrite consolidates all eligibility checking into one engine.
Notable changes:
- Registration is noticeably more responsive. Creating entries for Dynamic Events previously took a couple of seconds; it now completes in a fraction of a second.
- Existing event entry rules are now fully enforced:
- Maximum entries per athlete. Counts every entry the athlete is involved in across the competition — solo entries and partnered entries as either lead or follow. Team and formation entries are not counted.
- Maximum entries per partnership. Applies to partnered events only. Team and formation entries are not counted.
- Unique entry enforcement, on by default. An athlete can only enter a given event once, preventing the same person from signing up for it with several different partners. This now works correctly for Dynamic Events, and a bug where regular events were skipped during the double-entry check has been fixed. Organizers running non-elimination competitions can turn this off in Competition Settings ("Allow Multiple Entries per Event") so a dancer can compete in the same event with multiple partners — those events are then run as Flights rather than elimination Rounds.
- The Max Entries per Athlete and Max Entries per Partnership settings are now active in Competition Settings.
- The Enforce Age Requirement setting has been hidden from Competition Settings for now.
- Fixed an issue when matching events by their exact combination of styles and dances.
- Bib carrier reconciliation now runs as a downstream action of registration: when an entry is created, the relevant athlete is promoted to bib carrier and assigned the next available bib number — but only if the competition has already generated bib numbers. Failing to create a bib number will also fail to create their first Round Entries.
The registration UI for both Athlete and Studio accounts has been updated for more consistent behavior and experience. For Regular Event registration:
- Once a competition is selected, if the organizer has enabled TBA entries, both Athlete and Studio users see an As TBA option. For an Athlete user, the system assumes the entry is for themselves; a Studio user must select a managed dancer.
- Once a competition is selected, all existing entries of regular events for that competition are listed and grouped by partnership or dancer.
- If the competition allows TBA entries, existing TBA entries are also retrieved and listed in their own section, grouped by dancer.
- Selecting a partnership to sign up, or selecting a dancer to enter as TBA, refreshes the list of available events, recalculated specifically for that partnership or dancer.
Athlete
- Selecting a competition now appends the competition's ID to the URL, making registration links easy for organizers to share. Opening such a link pre-populates the registration form with that competition, provided it exists and is open to registration.
- [Bug Fix] Fixed an issue where the Add Event button in the TBA entry form was only enabled if a partnership was selected before checking the TBA entry checkbox.
Adjudicator
- Tab heights have been adjusted for a more consistent layout.
Scrutineer
- Restart has been renamed to Re-run in Round Control, to better reflect that the round is being run again rather than reset.
- Tab heights have been adjusted for a more consistent layout.
- [Bug Fix] Fixed an issue where Solo Entry dancers' names were not displayed in Round Entries.
Organizer
- Some button widths have been corrected on the Bib Management, Dynamic Event, and Adjudicator Assignment pages.
- The TBA matchmaking UI is now disabled once an event is In Progress, Completed, or Canceled, with an explanatory message.
- [Bug Fix] Fixed an error that could display the wrong number of partnerships for a competition on the Dashboard — entries without a partnership were previously counted as one.
- [Bug Fix] Fixed an error where the starting time was missing from a manually created Schedule Item. Heat number is now saved as well.
- [Bug Fix] Fixed an issue where Solo Entry dancers' names were not displayed in the Round List.
Deck Captain
- Tab heights have been adjusted for a more consistent layout.
Studio
- Selecting a competition now appends the competition's ID to the URL, making registration links easy for organizers to share. Opening such a link pre-populates the registration form with that competition, provided it exists.
- TBA entry handling for Studio accounts has been brought in line with personal accounts: a Studio user selects a managed dancer and a role, and existing TBA entries are listed separately from regular entries, grouped by dancer.
- [Bug Fix] Fixed an issue in Studio accounts where solo entries were not grouped by dancer and available events were incorrectly calculated for the selected dancer.
