← Back to ChessPairings.org

What's New

Release notes and updates for ChessPairings.org

v3.14.1 Patch March 13, 2026

Fixed

  • Forfeit games excluded from internal ELO calculation — Forfeit results (1F-0F, 0F-1F, 0F-0F) were incorrectly counted as played games in the internal ELO rating system. Per FIDE Rating Regulations B.02 Art. 5.1, unplayed games must not be rated. A player who received a forfeit loss would lose ELO points for a game they never played. Now only games actually played at the board affect ELO. Performance rating calculation also fixed. Thanks to Jared Oehrlein for reporting
v3.14.0 Major March 13, 2026

Fixed

  • Round Robin color balance completely rewritten — Fixed a critical bug where some players could be assigned the same color (White or Black) in every game of a Round Robin tournament. The old Berger algorithm used a broken color formula tied to board position. Replaced with a hybrid approach: odd N uses an "All Rotate" carousel algorithm (perfect color balance, diff=0), even N uses a Pivot Berger with greedy color balancing (optimal diff=1, max 2 consecutive same color). Validated with 210 automated tests covering N=2 to N=50
  • Round Robin BYE distribution — For odd number of players, the BYE now rotates fairly among all players (exactly 1 BYE each) and never falls on the top-seeded player in round 1
  • Round Robin round count — Auto-calculated rounds now correctly adapt to player parity: N-1 rounds with 0 BYEs for even N, N rounds with 1 BYE per player for odd N. Both "Players - 1" and "Equal to players" modes use the same optimal formula
v3.13.1 Minor March 12, 2026

Improved

  • Duplicate tournament with custom name — When duplicating a tournament, a modal dialog now lets you choose the name for the new tournament instead of automatically appending "(copia)". The suggested suffix is translated in all 6 supported languages. The action also uses POST instead of GET for better safety
v3.13.0 Major March 12, 2026

New

  • Feedback email on tournament completion — When a tournament is concluded, the organizer automatically receives an email asking for feedback. The email is sent in the user's preferred language (6 languages supported) and replies go directly to info@chesspairings.org
  • Final standings attachment — The feedback email includes a standalone HTML file with the complete final standings table, including round-by-round results and all tiebreak values

Fixed

  • Export standings and CSV — Fixed HTTP 500 error on export_classifica.php and export_csv.php caused by missing i18n initialization
v3.12.0 Major March 11, 2026

New

  • chess-results.com open to all users — The chess-results.com integration is now available to all verified users, not just administrators. Every user can publish their tournaments directly to chess-results.com
  • Admin Chess-results.com link — A "manage" link next to the chess-results URL in the tournament page gives organizers direct access to their tournament's admin panel on chess-results.com
  • Upload rate limiting — Daily request quotas per user and global to ensure fair usage of the chess-results.com API

Improved

  • User data in published tournaments — The organizer name and contact email from the user profile are now included in the chess-results.com tournament data
  • Federation pre-selection — When publishing to chess-results.com, the federation code is pre-filled from the user's profile setting, avoiding the need to re-enter it each time
  • Streamlined navigation — Removed Predictor from main navigation menu
v3.11.0 Major March 9, 2026

New

  • chess-results.com integration — Publish tournaments to chess-results.com via XML upload. Encrypted authentication with environment-stored keys
  • Auto-upload — Tournaments are automatically updated on chess-results.com after each round generation, round deletion, and tournament conclusion
  • FIDE federation selector — Dropdown with 191 FIDE federations + sandbox mode (XXX) for testing. The selected federation is saved to the user profile and pre-selected for future tournaments
  • chess-results link in tournament page — When a tournament is published, a direct link to chess-results.com appears in the tournament header with the last upload timestamp
  • Manual upload — A button in the export menu allows forcing an upload to chess-results at any time

Improved

  • Player federation inheritance — Players added manually or from the club roster now inherit the tournament's federation (when set for chess-results) instead of defaulting to OWN/ITA
  • Enriched XML data — Arbiter, organiser, public tournament link on ChessPairings.org, and FIDE ID in the player id field are now included in the upload
  • i18n — All chess-results UI strings translated in 6 languages (it, en, es, fr, ru, cs)
v3.10.1 Patch March 9, 2026

Fixed

  • RR group flow: missing action buttons — "Go to next round" and "Complete Group" buttons were not appearing after saving results in Round Robin sub-tournaments. The full flow now works: save → go to round N+1 → complete group on last round
  • Sequential round enforcement — It was possible to enter results for round 3 without completing round 2. A warning banner now blocks editing until previous rounds are complete
  • False 100% progress for Swiss groups — In the parent dashboard, Swiss groups with no generated games showed as "5/5 rounds complete" because empty rounds counted as complete. Now checks that games actually exist
  • Group navigation bar only on pairings tab — The ← Back to parent / A B C D S navigation bar was only visible on the pairings tab. Moved before tabs so it appears on all tabs (standings, cross-table, players)
  • Group dropdown forced pairings tab — Switching groups via the title dropdown always navigated to the pairings tab. Now preserves the current tab
  • BYE card unreachable on mobile — The last pairing card (always the BYE) was cut off by the mobile browser toolbar. Added bottom padding to the pairings list

Improved

  • "Complete Group" label — Sub-tournaments now show "Complete Group" (translated in 6 languages) instead of "Complete Tournament"
  • Swiss inherits tiebreaks from parent — The Swiss remainder group now inherits the parent tournament's tiebreak configuration instead of using hardcoded defaults
  • Auto-conclude parent — When the last sub-tournament is concluded, the parent tournament is automatically concluded
  • Public group navigation — The public tournament page now shows the group navigation bar with links to sibling groups and back to the parent
v3.10.0 March 8, 2026

New

  • Auto Round Robin Groups — When a Round Robin tournament has more players than fit in a single group, the system automatically splits them into multiple RR groups (+ an optional Swiss group for remainders). Groups are created at tournament start based on player count and available rounds. Players are distributed by rating (Group A gets the strongest). All RR rounds are pre-generated using the Berger algorithm
  • Group navigation — Sub-tournaments include a navigation bar with lettered buttons (A, B, C... S) to quickly switch between groups, plus a dropdown selector in the tournament title. A "Back to parent" link returns to the main tournament dashboard
  • Group dashboard — Parent tournaments show a card-based overview of all groups with progress rings showing how many rounds have results entered

Improved

  • BYE placement — In odd-player Round Robin tournaments, the BYE is now always placed on the last board (previously could appear on board 1). The BYE result is automatically set to PAB (+-- = 1 point)
  • Smart round selection — When entering a pre-generated RR group, the page opens on the first round with missing results instead of the last round
  • Swiss group sizing — The distribution algorithm ensures the Swiss remainder group always has enough players to sustain the required number of rounds (sacrifices an RR group if needed)
v3.9.1 Patch March 8, 2026

Fixed

  • Color abbreviations in standings — The standings page showed Italian color abbreviations ("B" for Bianco, "N" for Nero) regardless of the user's language. Since "B" means White in Italian but Black in English, this was actively misleading. Colors now display correctly in all 6 languages (e.g. W/B in English, B/N in Italian, Б/Ч in Russian)
  • Tiebreak column headers — Several tiebreak abbreviations were hardcoded in Italian ("SD" for Scontro Diretto, "Vit" for Vittorie, "Neri"). They are now translated per language (e.g. "DE" for Direct Encounter, "Win" for Wins in English). Hovering over any tiebreak column now shows a tooltip with the full name

Improved

  • Tiebreak tooltips — All tiebreak column headers across standings, public view, and export pages now show the full tiebreak name on hover, translated in all 6 supported languages
v3.9.0 March 7, 2026

New

  • Manual Pairings / Draft Mode — Arbiters can now review and modify auto-generated pairings before publishing them. Enable "Edit pairings" when creating a tournament to unlock draft mode. Three levels of control: (1) generate pairings then swap players, invert colors, or remove/add games before publishing; (2) create a round entirely from scratch by manually pairing players; (3) mix both approaches. Non-blocking warnings alert the arbiter about repeated opponents, 3+ consecutive same colors, or large point differences
  • Manual Round creation — Start with an empty round and build pairings manually by selecting players. Assign BYE (full, half, or zero-point) to individual players. Useful for special situations where the automatic engine doesn't apply

Improved

  • Data safety — Draft pairings are fully isolated from published data. They never affect tiebreak calculations or standings until explicitly published by the arbiter
  • i18n — All 6 languages (IT, EN, ES, FR, RU, CS) updated with draft-related strings and the new tournament creation toggle
v3.8.3 March 7, 2026

Fixed

  • Cross-table for Round Robin — The cross-table was showing a round-by-round view (columns = rounds) instead of a true player-vs-player grid. In odd-player tournaments, the BYE symbol "+" was placed in the round column, overwriting the real result against the opponent whose rank matched that round number. Now shows a proper cross-table with columns = opponents, diagonal marked "X", and no BYE in the grid
  • Export pages always in Italian — The standings export and cross-table export pages had all labels hardcoded in Italian, ignoring the user's language setting. Now all strings use the i18n system and respect the selected language across all 6 supported languages
v3.8.2 Patch March 6, 2026

Fixed

  • Round Robin duplicate pairings — The Berger algorithm was using a point-based player order that changed between rounds, causing some players to face each other multiple times while never playing others. Now uses a stable order based on board number
v3.8.0 Feature March 3, 2026

New

  • Cross-table (Tabellone) — New tab showing a round-by-round cross-table with color-coded cells (white/black/bye), results, and opponent board numbers. Available in both admin and public views
  • Print-ready exports — Dedicated standalone pages for printing the cross-table and participant list, with orientation toggle and clean layout (like the existing standings export)
  • FIDE ID column — Participant list now shows FIDE IDs with direct links to the FIDE rating profile

Improved

  • Participant filter — Real-time search box to quickly filter participants by name or federation
  • Sortable rating — Click the Rating column header to sort participants by Elo (descending, ascending, or default order)
  • Mobile cross-table — Sticky player name column during horizontal scroll, hidden secondary columns on small screens
v3.7.0 Feature March 2, 2026

New

  • Improved access control — Strengthened permission checks across all tournament operations for better multi-user safety
  • PDF orientation toggle — Choose between landscape and portrait when exporting standings to PDF. Your preference is remembered
  • Smart date default — The tournament creation form now defaults the start date to today

Fixed

  • Club player removal — Removing club players from a tournament after reopening enrollments now works correctly
  • Toast messages — Fixed incorrect success messages appearing after certain tournament actions
v3.6.0 Infrastructure March 2, 2026

Improved

  • New server infrastructure — Migrated to a faster VPS with PHP 8.3, MariaDB 10.11, and SSL certificates for both domains
  • Dynamic version display — The app version is now shown automatically in the footer
v3.5.0 Major March 1, 2026

New

  • FIDE-reference tiebreak engine — Standings are now calculated by the Gacrux TieBreakServer, the official FIDE reference engine validated on 120,000+ tournaments
  • 28 tiebreak criteria — Expanded from 17 to 28 available tiebreaks, including Sonneborn-Berger Cut-2, Tournament Performance Rating (TPR), Perfect Tournament Performance, and more
  • bbpPairings v6 default — New tournaments now use the latest FIDE 2026 pairing engine by default
v3.3.0 Feature February 28, 2026

New

  • Import from Chess-Results — Import existing tournaments from chess-results.com: players, rounds, pairings, results, and colors are all automatically retrieved and imported

Improved

  • Faster bulk enrollment — Enrolling 40-50 players via FIDE ID is now instant instead of timing out
  • Leaner codebase — Tournament creation reduced from 7 queries to 1, duplicate method eliminated with 150 fewer lines of code
v3.2.0 Feature February 24, 2026

New

  • Support page — Submit bug reports, suggestions, and questions directly from the app. Replies go to your email
  • Payment tracking — Optional module to track registration fees: record payments, mark paid in one click, bulk actions, CSV export. Completely isolated from the tournament logic
v3.1.1 Improvement February 24, 2026

New

  • Bulk delete club players — Select multiple club players and remove them all at once with a single confirmation
  • Reopen enrollments — Go back to the enrollment phase after starting a tournament (before generating Round 1) to add forgotten players
v3.1.0 Feature February 24, 2026

New

  • Print pairings — Print-optimized A4 page for posting pairings in the tournament hall. Symmetric layout with board numbers, names, titles, ratings, and points. QR code links to the live public page. Auto-prints on load
v3.0.0 Major February 21, 2026

New

  • Team Tournaments — Complete module for team chess tournaments, both Swiss and Round Robin
    • Configurable boards per match (1 to N) with automatic color alternation
    • Player rosters with FIDE search, lineup management per round, and substitutions
    • Match scoring: 2 pts for win, 1 for draw, plus individual game points
    • 8 team tiebreaks: Game Points, Buchholz MP, SB, Head-to-Head, Wins, ARO, and more
    • Live public standings with 15-second auto-refresh and LIVE indicator
    • Full organizer dashboard with 5 tabs: Teams, Lineups, Pairings, Standings, Settings

Fixed

  • Critical Buchholz fix — Unplayed rounds were incorrectly included in all tiebreak calculations, inflating values
  • Default tiebreak order — New Swiss tournaments now use the standard FIDE order (BH Cut-1, SB, ARO, BH Total, Wins)
v2.0.0 Major February 15, 2026

New

  • Opponent Preparation — Analyze your opponent's opening repertoire using games from chess.com, Lichess, and the FIDE OTB database. Powered by Stockfish + Leela Chess Zero with dual-engine analysis
  • ML Tournament Predictor — Simulate tournament outcomes round by round with animated reveals, upset indicators, and shareable results
v1.9.0 Major February 10, 2026

New

  • Blitz Marathon module — Full round-robin blitz tournaments with QR-code result entry
    • Players scan their personal QR badge to submit results from their phone
    • Double confirmation: both players confirm, automatic dispute detection
    • Three result modes: QR single, QR double confirmation, or arbiter-only
    • Printable badges (6 per A4) with QR code, name, rating, and player guide
    • Live public standings for monitors and TV screens
    • Organizer dashboard with 5 tabs: Players, Pairings, Standings, Badges, Settings
v1.9.3 Feature February 12, 2026

New

  • Redesigned navigation — Clean desktop nav with user dropdown (avatar, profile, settings). Guest users see Login and Register
  • Czech language — Full translation of 1,000+ strings. ChessPairings now supports 6 languages: Italian, English, Spanish, French, Russian, and Czech
  • PNG flag icons — Language selector now uses proper flag images instead of Unicode emoji (which are invisible on Windows)