What's New
Latest updates and improvements to Chesstide.
May 25, 2026
TRF export for non-FIDE tournaments and an "All rounds" option
The TRF export page is now available on individual tournaments that aren't FIDE-rated, so you can produce a TRF file for any external tournament program. An "All rounds" entry has also been added that bundles rounds 1..N in a single file, regardless of how the FIDE event-code ranges are configured.
Completed tournaments stay publicly viewable
Tournament detail, standings, cross-table, and pairings pages used to return 404 for tournaments marked as completed, and the "past" tab on the home and tournament listings hid them entirely β only the API still served them. Finished events are now publicly viewable again across the SSR site, the listings, the public REST endpoint, and the sitemap.
Draft and cancelled tournaments no longer leak participants or statistics
The /participants and /statistics pages skipped the visibility check applied to the other public tournament pages, so an anonymous visitor with a direct link could see the participant list and statistics of a draft or cancelled event. Both pages now respect the same visibility gate as standings, pairings, and cross-table.
Signing out no longer disconnects your other devices
The web logout endpoint was calling Supabase without restricting the scope, which revoked every refresh token in the account family and silently signed out every other browser and tab. Logout now affects only the current session, so other devices stay signed in.
May 23, 2026
Buchholz tiebreak now follows FIDE 03/2026 rules
Buchholz and Sonneborn-Berger now cap the dummy opponent's score per FIDE 03/2026 Article 16.4 β a half-point bye, withdrawal, or forfeit no longer inflates the tiebreak above what the rule allows. Standings of tournaments with unplayed rounds may rank differently than before.
Staying signed in for the full session
A background refresh-token timer in our auth library was silently rotating tokens on the server, so the next browser request would fail with 'Invalid Refresh Token' and sign the user out around an hour after each login. The background timer is now disabled; sessions persist as expected.
Manual pairings: pair and unpair from the cockpit
Rounds set to manual pairing now show a 'Players to pair' (or 'Teams to pair') roster sorted by score, with a click-two-players flow to create pairings, plus an unpair button next to swap-colors on each board. Works for both individual and team tournaments.
Multi-game round-robin (N-fold)
Round-robin tournaments can now be configured with multiple games per pairing (1β10) and a 'cyclic' or 'grouped' distribution. Cyclic plays each game across full Berger cycles with alternating colors; grouped plays each pair's games back-to-back as a mini-match. SWAR imports detect the right distribution automatically.
Self-healing bye and absence lists
Editing a player whose stored bye or absence rounds fell outside the current round count β after the schedule was shortened, the bye cap lowered, or the bye-request feature toggled off β used to fail with a validation error. Now only newly-introduced entries are validated; legacy entries are grandfathered, and the absent/bye lists are trimmed automatically the next time the tournament is saved.
FIDE export defaults to the first range with pending games
The FIDE rating export dialog now annotates each event code with a 'Sent' or 'Pending' badge and pre-selects the first range that still has played-but-unexported games, so you don't have to scan for what's left to submit.
Faster tournament detail page
The check-in button on the public tournament page no longer fetches the full registration list just to decide whether to show itself. A lighter existence check is used instead, noticeably speeding up the page for tournaments with many registrations.
Creating a tournament with an unusual pairing system
Setting the pairing system to 'Other' on the tournament form used to crash the round-creation step. 'Other' is now mapped to 'manual' on rounds, and case/whitespace variants (e.g. 'Swiss' vs 'swiss') are normalized consistently across the app.
Re-importing SWAR tournaments without duplicate-key errors
Re-importing a SWAR file containing players who had previously been inserted without a FIDE ID used to fail with a duplicate-key error. The importer now matches existing players by name and birth date when no FIDE ID is provided.
May 21, 2026
Forbidden pairings
Organizers can now define groups of players who must never be paired together (rotating teams, family members, etc.). The constraint is enforced by the pairing engine, and when the engine has to fall back to a less-strict pass any forced violations are surfaced as warnings on the pairings page.
Self check-in for already-registered players
Players who are already registered for a tournament now see a check-in proposal banner during the on-site confirmation window, so they can confirm attendance themselves instead of waiting for an arbiter to mark them present.
Richer player popover on standings
Clicking a player name in the standings now opens an expanded popover with federation info and additional tournament details β useful when arbiters and spectators want context on a particular result.
"After Round N" badge on standings
Public and cockpit standings pages now display a badge beside the subtitle showing how many rounds have been completed, so it's clear at a glance which round the standings reflect.
Simpler withdrawal model in the cockpit
Withdrawal is no longer a separate state on a player record β a withdrawn player is now simply absent for the remaining rounds. Redundant withdrawal-specific UI in the cockpit has been removed, leaving a single, clearer way to handle players who stop participating partway through a tournament.
Empty date and time fields are now visually distinct
Date and datetime fields throughout the app (tournament dates, check-in window, round times, player birth dates, filters) now show their format hint in muted gray when empty, so it's obvious which optional fields you haven't filled. Partially-typed datetime fields keep their digits dark and gain a red outline to flag that something is still missing.
Club number column on the participants list
The participants list now includes a club number column and lets you sort by it, making it easier to group or find players by their club affiliation.
More accurate rating estimate in mixed-rating events
The tournament performance rating now uses FIDE's published K-factor and the appropriate FIDE-vs-national basis when estimating a player's strength, giving better TPRs when FIDE-rated and nationally-rated players meet.
Faster standings on tournaments with many tied players
Tied-group tiebreak resolution now fetches the round data it needs once per call instead of repeatedly per tie group, noticeably speeding up standings on large events where many players share the same score.
Cleaner print sheets for in-progress rounds
The print pairings view now derives the per-player 'points before round' correctly even when the current round is still in draft, avoiding a stale or misleading points column on freshly-generated round sheets.
Registration is blocked after the tournament end date
It was previously possible to register for a tournament after its end date had passed. The system now rejects late registrations with a clear error.
Reliable tournament auto-completion
Tournaments occasionally stayed in 'in progress' past their end date if the auto-close job missed them. A stale-closer fallback now catches missed tournaments, and organizers can manually mark a tournament complete as a last resort.
French tiebreak terminology corrected
Several tiebreak labels in French were inaccurate or inconsistent with FIDE terminology, and one empty-state hint pointed users 'above' a list when it should have said 'below'. Both are now corrected.
May 17, 2026
Step through rounds with navigation arrows
The public and cockpit pairings pages now have previous/next arrows beside the round selector, so you can move through rounds one at a time without opening the dropdown.
PGN export: board ranges and a remembered selection
The PGN export dialog now accepts a board range like "1-16, 20, 22-24" as a shortcut for ticking games, and remembers which boards you exported per tournament so the same selection is pre-applied on the next round.
Cleaner tournament listing cards
The "View External Tournament" button no longer appears on announcement-only cards in the tournament listing. The external link is still available on the tournament's detail page.
Staying signed in across multiple tabs
Opening the same account in several browser tabs at once could trigger a security check that signed you out of every tab. Simultaneous session refreshes are now coordinated, so multiple tabs stay signed in.
May 15, 2026
Handicap tournaments
Organizers can now run handicap tournaments. A cockpit toggle enables the format and exposes the clock parameters (base white/black minutes, minutes per Elo bucket, maximum shift cap, unrated rating floor). Each player's adjusted thinking time appears as a small badge next to their name on the cockpit, public, and print pairings views, with an amber 'Handicap' chip on the public tournament page.
Choose which games to export to PGN
PGN export now opens a dialog listing the round's games so you can pick exactly which ones to export, with a select-all/none toggle and every game selected by default. Available from both the cockpit and public pairings views.
"Show only remaining" filter on cockpit pairings
A new toolbar toggle hides boards whose results are already in, so arbiters can focus on games still in progress during a round. The choice persists per tournament, and a board that gets a result after the filter is applied stays visible until you re-toggle or refresh, so the result can still be confirmed. Covers individual pairings, team matches, and the tiebreak layout.
Performance rating (TPR) always shown in standings
Standings tables now include a tournament performance rating column whenever the event has at least one rated player, even when TPR is not a configured tiebreak. Ranking still uses only the configured tiebreaks, so the displayed TPR never affects placement.
Per-board game date tucked behind a menu
The manual per-pairing game date (a FIDE edge case for postponed games) now sits behind a three-dot menu instead of an always-visible input, reducing clutter in the pairings table. The cell shows the date when set and offers 'Change game date' and 'Clear date'.
Editing absences after an earlier round is completed
Changing a player's absent or bye rounds no longer fails just because an earlier round has already been completed. Only the rounds you actually add or remove are checked against the completed-round rule.
Half-point bye granted after pairing now counts in standings
A requested half-point bye added after a round's pairings were generated now creates the matching pairing, so the bye point appears in standings and tiebreaks. Removing the bye again deletes it.
Active standings tab scrolled into view on mobile
On the public and cockpit standings pages, selecting a category or board tab from the middle of the scrollable strip on mobile now centers the active tab instead of leaving it off-screen.
Failed cockpit actions no longer leave partial changes
When a cockpit action across pairings, players, teams, the waiting list, or TRF export failed partway through, partial changes could still be saved. Failed actions are now fully rolled back.
May 14, 2026
Birthdate consistency checks against FIDE and national records
Chesstide now compares each player's date of birth against their linked FIDE and national federation records and flags disagreements in three places: a new global-admin report with one-click resolution, a badge next to player names on the cockpit players tab, and a soft warning during individual tournament registration. Detected mismatches are recorded for admin review.
Pairing points include acceleration extras
On printed pairing sheets and the public pairings page, the per-player points column now combines the score from prior rounds with the acceleration extras granted for the current round, so the value matches what was actually used to pair the round.
Sign-in no longer logs out unrelated users
A login, registration, or password reset on one device could silently revoke other users' refresh tokens across all of their devices, surfacing later as 'session expired' on the next page load. Sign-out now affects only the current session.
Print button on cockpit print pages fully clickable
The fixed print button on cockpit print pages was only clickable on its leftmost few pixels because the page header was painting over it. Clicks now register across the whole button.
May 12, 2026
Public pairings page opens on the live round
On a tournament's public pairings page, the default-round selector now picks the earliest published round still being played, so spectators land on the in-progress round instead of round 1. The selector and each option also show the round's scheduled date and time.
Toggling withdrawal updates only the affected row
Switching a player between active and withdrawn in the cockpit players page no longer re-renders the full list. The single row, attendance badge, team title, and active/withdrawn counts swap in place for a smoother check-in flow.
Much faster standings recalc on large tournaments
Tournament-wide score lookups used by Buchholz, Sonneborn-Berger, and Koya are now computed once per recalc instead of once per player. On a 500-player, 11-round, 6-tiebreak event this drops the standings refresh from around 8 seconds to under one. Team board standings get the same speedup.
Unique ranks in crosstable for tied players
When two or more players share a final standings rank, the crosstable (and its CSV export) now assigns them sequential, unique row numbers using TPN as a final tiebreaker. Opponent cell references like '25 W 1' are now unambiguous, and team grids get the same fix using team id.
Empty fields blocked when creating organizations and players
Submitting an organization or player creation form with an empty name, gender, or date of birth is now rejected with a clear error and the form re-rendered, instead of silently creating a blank-name record or showing a generic error page.
Session refresh more reliably preserves login
Improved how the app delivers refreshed login cookies after an automatic session refresh. Previously, due to a FastAPI internal quirk, the refresh ran on the server but the new cookies never reached the browser, which could contribute to premature logouts mid-session.
May 11, 2026
Print pairing sheets for individual tournaments
Two new print views β per-board (wall-poster format) and alphabetical-by-player β alongside the existing result sheets. The alphabetical sheet helps players in large fields find their pairing by name; sort handles accented and non-Latin names correctly.
Koya tiebreak (FIDE TBR 03/2026 Β§9.2)
Sum of points scored against opponents finishing with at least a configurable percentage of the maximum possible score. Forfeit results count when the opponent qualifies; tiebreak rounds are excluded from the threshold calculation.
Download CSV from crosstable
Adds a Download CSV button to both the cockpit results tab and the public cross-table page. Header labels and color codes (W/B, B/N, W/Z) follow the viewer's language, and team views export home/away markers.
One-click payment toggle in the cockpit
Cockpit registrations now show a 44Γ44 β¬-in-circle button next to paid/unpaid rows so admins can flip payment status in a single tap during check-in. The pencil + dropdown remain for partial, waived, and refunded states.
QR codes on printable pages link to the live page
Pairings and standings print pages now show a QR code in the header. Scanning it opens the matching public live page, so spectators viewing a wall poster can follow updates from their phone.
Mobile-responsive cockpit pairings page
Below 1024 px the cockpit pairings page renders as stacked cards (individual, team, and tiebreak), with both player names visible without horizontal scroll and all result-entry buttons meeting the 44Γ44 px touch target. The desktop table is preserved on tablets and larger.
FIDE and national IDs on My Registrations cards
Individual registration cards now show the player's host-country federation id and FIDE id under their name, so participants can confirm at a glance that the right ids are on file.
Cumulative score on individual print pairings
The three cockpit individual print views (boards, alphabetical, result sheets) now show each player's cumulative score from prior completed rounds, so players can locate themselves on the wall sheet by their running total.
Fixed-board pin honored beyond the round's board count
A FIXED_BOARD constraint targeting a board higher than the round's pairing count (e.g. board 30 in a 9-board round, for an accessibility-adapted physical board) is now applied literally instead of being silently dropped.
Direct encounter hidden when tied players never met
When tied players have not all played each other, the Direct Encounter column now renders as `-` and falls through to the next tiebreak, instead of misleadingly showing 0 for everyone (per FIDE 13.13.5).
Final standings rank in TRF (FIDE) export
Positions 86β89 of the 001 player line now carry the final standings rank with tiebreaks applied, as the TRF16 spec requires. The export previously duplicated the starting rank there, which made rating reports inconsistent.
Excluded players' pairings stamped to prevent FIDE catch-up bleed
Pairings involving excluded players (e.g. players without a FIDE id, default-deselected) are now marked as exported so they do not resurface as false catch-up entries in the next FIDE event code's TRF.
Site chrome removed from prizes print page
The cockpit prizes print page no longer renders the global header, navigation, footer, or cookie banner β matching the other print views and producing clean prize-list printouts.
May 8, 2026
Public REST API for tournament data
Public endpoints now expose tournament pairings, players, and live state, so federations and partner sites can pull live tournament data programmatically instead of scraping pages.
API documentation page in the help menu
Users with API access now see an API Docs link in the help menu that renders the full reference inside the app, with no need to track down external documentation.
Mobile-responsive cockpit players page
The cockpit players tab now adapts to phone-sized screens with stacked card layouts instead of a horizontally-scrolling table, making mid-tournament check-in and edits practical from a phone.
Mobile-responsive public pairings page
The public pairings page now uses a card layout on phones so spectators and players can read board pairings without horizontal scrolling.
Mobile-friendly My Registrations cards
The My Registrations page now uses a responsive card layout so registration details, status, and actions are readable on phones.
44px minimum touch targets on icon buttons
Icon-only buttons across the app β including TPN editor controls and player-finder edit actions β now meet the 44px touch-target spec, so taps on phones land reliably.
Cockpit status badge updates after per-player check-in toggle
Toggling a single player's check-in in the cockpit now refreshes the tournament status badge straight away instead of waiting for a page reload.
Requested byes remain visible after player withdrawal
When a player is withdrawn after requesting a bye, their requested-bye entries no longer disappear from the cockpit, preserving the audit trail of what was requested.
Buchholz cut variants render distinctly
Buchholz-cut-1, Buchholz-cut-2 and similar variants now appear as separate columns in the tiebreak settings and standings instead of collapsing into a single ambiguous label.
Progressive tiebreak treats withdrawal rounds correctly
The Progressive (Sonneborn-Berger-style cumulative) tiebreak now records withdrawal rounds as zero-point cumulative entries, so withdrawn players' progressive scores are calculated consistently with the FIDE handling for forfeit rounds.
May 6, 2026
Auto check-in when registering during open window
Players who register while the check-in window is open now go straight to CHECKED_IN, skipping the redundant manual confirmation step. Audit log records the implicit transition.
Re-registering after cancellation reactivates the original entry
Cancelled registrations are reactivated in place when the same player re-registers, instead of failing on the duplicate-entry constraint. Stale per-tournament data (byes, absences, payment notes, TPN, acceleration history) is reset.
No more confirm popup for publish and complete round
Removed the confirmation dialogs before publishing pairings or completing a round β both actions are reversible (unpublish, revert), so the extra click was friction without value.
Card and heading consistency across pages
Organisation, profile, legal, guide and what's-new cards now match the rest of the platform with consistent shadow elevation and borders. Page titles use responsive sizing on mobile so they no longer overflow on narrow phones.
Requested-bye score shown next to BYE label
The crosstable and standings player card now distinguish requested byes (BYE 1, BYE Β½, BYE 0) from pairing byes (plain BYE), so a half-point bye no longer looks identical to a zero-point absence.
Buchholz tiebreak corrected for forfeits and tiebreak rounds
Forfeit wins and pairing-allocated byes are no longer treated as voluntary unplayed rounds in Buchholz cut-1, withdrawals now contribute a dummy opponent, and tiebreak playoff rounds are excluded from regular standings calculations.
SWAR import correctly classifies pairing vs requested byes
Imports now consult AbsentRondes to distinguish player-requested byes from pairing-engine assignments, and bye-request configuration (allowed, points, max count, excluded rounds) is derived from SWAR fields. Future requested byes also materialise as half-point pairings so standings and Buchholz are correct.
Tournament listing pagination
The home page now honours ?page= and ?limit= query params, so clicking page 2 or 3 in the tournament listing actually loads the next page instead of reloading page 1.
Special results dropdown updates after selection
Picking a special result (e.g. forfeit) in the cockpit result editor now correctly updates the dropdown label instead of keeping the chevron showing.
May 2, 2026
Prize calculation page
Compute and display awarded amounts from the configured prize structure and current standings, applying place / shared / Hort splits and the cumulative rule. Team tournaments can also configure per-board prize lists alongside general and per-category lists.
Printable result sheets for individual tournaments
From the cockpit pairings page, organisers can now open a print-friendly view that renders one signed result sheet per pairing β mirroring the existing 'Print Boards' feature for team tournaments.
Reserve alignment mode for team tournaments
Choose how a reserve player slots into the lineup when a higher-board teammate is benched: slide every player up (default) or fill the benched player's exact board.
Waiting list section on participants page
Waitlisted registrations now render in their own dedicated section below the main participants list, with a matching statistics card so totals reconcile at a glance.
Swiss pairing fallback
When bbpPairings cannot find a valid Swiss pairing, the round now falls back to a deterministic last-resort algorithm instead of failing β and a persistent warning banner flags rounds where the fallback was used.
Payment column hidden for free tournaments
Payment column, badges, filter, and bulk payment actions are now hidden across cockpit and public participants pages when the tournament has no entry fee.
Baku acceleration for players added mid-tournament
Players who joined after round 1 used to receive no acceleration virtual points even when their seeding placed them in Group A. The acceleration history is now backfilled and recomputed before each round.
National rating preserved for players without FIDE rating
Players added by club who only have a national federation rating no longer end up with rating 'β' in the cockpit β their national rating is now persisted correctly.
Confirmation dialogs restored on cockpit forms
Federation-refresh and merge-players forms used inline confirmation handlers that were silently dropped by the Content Security Policy. The prompts now appear reliably.
Withdrawn players counted on tournament listings
Withdrawn registrations are now included in the 'registered: N players/teams' count on tournament listings, alongside pending, confirmed and checked-in registrations.
Bulk check-in flips team member flags
In team tournaments, 'Check-in All' / 'Uncheck-in All' now also updates the per-board check-in flags, so the badge and per-board toggles reflect the bulk action.
Pairing byes vs requested byes
Players with a requested bye no longer appear twice on pairings pages. Pairing byes (odd-player-out) now display the awarded points from the tournament configuration, and the public pairings page now shows an absent-players section.
April 28, 2026
Player self check-in for individual tournaments
Registered players can now check themselves in β and undo β from a dedicated check-in page during the active check-in window.
Structured prize configuration
Organisers can define per-place prize amounts for the overall standings and each category, with split method (Place / Shared / Hort) and a cumulative flag. Public detail pages render the structure.
Publish all rounds at once in round-robin tournaments
In round-robin, the Publish action now releases every draft round in one click since the full schedule is generated upfront.
Localised home-screen install
The installable PWA now picks up the right name and labels in English, French and Dutch.
Quicker bye-request workflow
Round-absence now cycles Present β Bye Request β Absent so the more common scored bye is one click away, and Bye R<rounds> badges now sit next to Absent in the Players tab.
Faster team-tournament pairings
Team rating lookups are batched into a single query, removing per-team round-trips during pairing generation.
Accessibility and performance polish
Skip-to-main link, keyboard-focusable language switcher, screen-reader friendly error pages, deferred scripts and explicit image dimensions to reduce layout shift.
Check-in window times shown in your timezone
Cockpit check-in start/end fields now match the other datetime inputs and display in your local timezone.
Any integer Elo accepted in category rating inputs
Thresholds like 1801 or 2001 are now accepted in category and acceleration rating fields β no more 100-step rounding.
Bye request settings now save
The four bye-request configuration fields were silently dropped on save; they now persist correctly to the tournament.
Tournament types simplified
The tournament type list is now the canonical Open, Invitational and School. Legacy values (club, federation, championship) were migrated to Open.
TRF export honors per-tournament birth-date override
Birth-date overrides set on a tournament participant are now reflected in the exported TRF file, alongside the existing title/gender/country/name overrides.
Region-tagged language codes no longer crash
Visiting a page with ?lang=en-US (or similar) no longer crashes country dropdowns; the middleware now normalises to the supported primary subtag.
Pairing generation across check-in resets
Stale tournament pairing numbers are now cleared across registration statuses, so re-pairing after a multi-round check-in reset no longer aborts on a unique-constraint violation.
Participation-mode switch is admin-only and confirmed
Switching a tournament between team and individual modes is now restricted to global admins and prompts for confirmation before deleting registrations.
Self check-in respects privacy
Cross-user check-in attempts now return a generic error instead of revealing details about the target registration.
April 22, 2026
New Chesstide branding
Refreshed logo, favicons, og:image and PWA manifest, giving Chesstide a consistent look across browsers, mobile home screens and link previews.
Export tournaments to SWAR
Individual tournaments can now be exported as a SWAR-compatible CSV ZIP, making it easy for Belgian organizers to keep SWAR in sync with Chesstide.
Refresh player info from federation data
From the cockpit players page, staff can bulk-refresh or per-player refresh date of birth, gender, country and FIDE ID from the latest federation and FIDE data.
Better birth dates for Belgian players
Newly-created Belgian players now pick up their birth year from the federation directly, instead of falling through to a 1900 placeholder.
Gender labels in edit-player modal
The gender select in the cockpit edit-player modal now shows translated labels instead of raw translation keys.
April 20, 2026
Link federation and FIDE IDs from the cockpit
Tournament staff can now link a player's national federation and FIDE ID directly from the cockpit, with automatic FIDE profile lookup as a fallback when an ID is missing.
Haley acceleration for Swiss pairings
Swiss tournaments now support the Haley acceleration system in addition to Baku and manual acceleration.
Richer public participants page
The public participants list now supports sorting and category filtering, shows each player's club, and displays the FIDE federation instead of nationality.
Smarter player and registration search
Player and registration searches are now scoped to the tournament's country federation, so you see the right results for local tournaments.
Faster standings calculation
Tiebreak calculations (Buchholz, Sonneborn-Berger, etc.) are now significantly faster, especially on large tournaments.
Finer youth age categories in statistics
Tournament statistics now break down youth participants into more detailed age groups.
Keyboard navigation in staff search
Navigate the staff search dropdown in the cockpit using the keyboard.
Pairings refuse invalid generation
Pairings generation is now blocked when every TPN holder is absent, and late check-ins after round 4 are correctly assigned a TPN.
Cockpit staff search selection
Clicking a staff search result now correctly selects that person.
Profile refresh after linking chess account
The profile page now reloads properly after linking a chess profile, so the updated data is visible immediately.
Withdrawn participants counted correctly
Withdrawn players are now treated as registered in tournament statistics and the active filter.
Standings respect empty tiebreak config
When no tiebreaks are configured, standings no longer silently apply defaults.
Tournament duplication copies all settings
Duplicating a tournament now correctly copies all execution config fields, not just a subset.
Profile linking forms on production
Resolved an issue that prevented profile link and claim forms from submitting in production.
April 10, 2026
Categories and ranking
Tournaments now support categories with separate rankings, letting organizers group players by age, rating, or custom criteria.
Bye request support
Players can now request a bye (planned absence) and receive configurable points for that round.
My Tournaments filtering
The My Tournaments page now supports filtering by status and date, plus back navigation for easier browsing.
Getting Started Guide
A step-by-step guide to help new organizers get started with Chesstide.
Keyboard shortcuts for results
Use keyboard shortcuts to quickly encode game results in individual tournaments.
What's New page
A changelog page accessible from the help menu so users can discover recent changes.
Accelerated pairings
Tournaments now support Baku and manual acceleration systems for pairings.
Correct Buchholz and SB tiebreaks
Tiebreak calculations now follow FIDE Article 16 rules for unplayed games, fixing incorrect standings in some cases.