← Back to ChessPairings.org

What's New

Release notes and updates for ChessPairings.org

v4.2.0 UI Redesign March 30, 2026

Improved

  • Compact tournament header — Tournament info (type, players, time control, round) is now displayed inline next to the title, reducing vertical space by ~100px
  • Breadcrumb stepper — The 4-step progress bar has been replaced with a compact breadcrumb: ✓ Registration → ✓ Start → Round 1/5 → End
  • Inline visibility controls — Tournament visibility and share links are now a single compact row with “Copy link” buttons instead of full-width input fields
  • Round navigation via dropdown — “Round 1 of 5” now includes an inline <select> to jump between rounds instantly, replacing the numbered circles
  • Keyboard hint updated — Quick entry instructions now mention clicking the board number (more precise) and forfeit via dropdown menu
  • Unified color palette — All action buttons use a single primary blue (#2563eb). Removed inconsistent greens, oranges, and gradients across the interface
  • Mobile-optimized tabs — Horizontally scrollable tabs with inline counts instead of badge circles, ensuring all tab names remain fully readable
  • Mobile pairings layout — Save bar stays sticky at the bottom of the screen; “Generate next round” button appears immediately after saving all results

Added

  • Dismissible demo banner — Demo tournament banner can now be closed with × (remembered per session)
  • Mobile bye management hint — An informational message about bye/withdrawal assignment appears above the Player Management section on mobile

Removed

  • “Ready to start!” green box — Replaced with a compact neutral row showing player count, round count, and generate button inline
  • Empty “Round 0 of 5” card — No longer shown before the first round is generated (the placeholder was obvious and wasted ~200px)
v4.1.0 Quick Entry March 30, 2026

Added

  • Keyboard numpad result entry — Arbiters can now enter results using the numeric keypad: press 1 for White wins, 2 for draw, 3 for Black wins. The cursor automatically advances to the next board
  • Row click to activate — Click anywhere on a pairing row to activate keyboard input. The active row is highlighted with a blue border
  • Visual confirmation flash — A brief green flash confirms each result entry, providing clear feedback when entering 20+ results in rapid succession
  • Keyboard navigation — Use arrow keys (↑↓) to move between boards, Delete to clear a result. Bye rows are automatically skipped

Improved

  • Dual input mode — The dropdown menu is fully preserved for special results (forfeit, unrated). Click the dropdown directly to use it as before
v4.0.0 Player Management March 30, 2026

Added

  • Redesigned player management — Replaced the native dropdown with a filterable checkbox list supporting multi-select, real-time search by surname, and A-Z/Elo sort toggle
  • Batch bye assignment — Select multiple players and assign the same bye type to all at once
  • Inline status badges — Each player shows colored badges for current status (Bye 1pt, Bye ½pt, Not Paired, Withdrawn) and scheduled absences (purple “Req” badge with detailed tooltip)
  • Requested Bye (scheduled absences) — New feature to schedule absences for future rounds. The system automatically applies byes when generating the round. Absences are idempotent: deleting and regenerating a round re-applies them correctly

Improved

  • Mobile-first responsive layout — 3-column grid for bye buttons, compact toolbar, ellipsis for long names on small screens
  • Consistent color system — Unified colors across badges and tags (blue=Bye 1pt, gray=Bye ½pt, amber=Not Paired, red=Withdrawn, purple=Requested Bye)
  • Action separation — Arbiter bye, Requested Bye and Withdrawal are visually separated into dedicated sections
  • Smart visibility — Player management section no longer appears on the last round
v3.28.0 Chess-Results March 28, 2026

Fixed

  • Chess-Results upload — Fixed XML upload failing due to unescaped & character in tournament URLs. All uploads now succeed correctly
  • Tiebreak mapping — Corrected Sonneborn-Berger Cut-2 parameter sent to chess-results.com (was incorrectly mapped as median instead of cut-2)

Improved

  • Short URLs on chess-results — Published tournaments now display the short public link instead of the long token-based URL
  • Registration link on chess-results — When online registration is enabled, the chess-results page shows the registration link in the tournament remarks section
  • XML sanitization — All text fields in the chess-results XML are now properly escaped for special characters
v3.27.0 Notifications March 27, 2026

New

  • Registration notifications — Tournament owners now receive an in-app notification whenever a player signs up via the public registration link. The notification includes the player name and a direct link to the tournament
v3.26.0 Product Tour & Demo March 27, 2026

New

  • Interactive Product Tour — Step-by-step guided tour powered by Driver.js on the dashboard, tournament wizard, and tournament page. Highlights key features with contextual tooltips. Available in all 6 languages
  • Demo Tournament — One-click demo at /demo.php creates a Swiss tournament with 10 top FIDE GMs (Carlsen, Nakamura, Firouzja, etc.). Auto-deletes after 48 hours via cron. Limited to 1 demo per user
  • Context-aware wizard tour — The wizard tour adapts to the current step, showing relevant explanations for each of the 5 configuration phases
  • Tournament page tour (3 phases) — Registration phase explains player search, bulk import, and manual entry. Pre-round phase covers round generation, edit pairings toggle, and visibility settings. Pairings phase walks through tabs, result saving, and round actions

Improved

  • Demo banner — Demo tournaments display a yellow informational banner with auto-cleanup notice. No manual deletion needed
  • Tour hidden on mobile — Product Tour buttons are desktop-only to avoid overlay issues on small screens
v3.25.0 UX Redesign March 26, 2026

New

  • Community forum on homepage — Non-logged-in visitors now see the latest 5 forum discussions with post excerpts, reply and view counts directly on the landing page

Improved

  • Hero section hierarchy — Sign Up and Login buttons moved above feature tags for immediate visibility. Feature boxes transformed into lightweight pills
  • Sign Up button visibility — Primary CTA now uses a green accent color that stands out against the dark hero and header
  • Onboarding wizard — Simplified from 5 steps to 3. New flow: Create tournament → Add players (FIDE search first) → Play! Encourages using the FIDE database over manual entry
  • First-access dashboard — Stat cards are hidden when all counters are zero, reducing visual noise for new users
  • Removed video tutorial — The inline video player and "Discover all features" button have been removed from the landing page

Fixed

  • Registration page — Removed debug code left in production and fixed incorrect redirect after login
v3.24.0 Forum Enhancements March 26, 2026

New

  • Image size selector — After inserting an image, click it to choose between Small (300px), Medium (500px), or Original size. A delete button allows quick removal
  • Image lightbox — Clicking any image in a published post opens a full-screen lightbox overlay. Close with the X button, click outside, or press Escape
  • @mentions with notifications — Type @ in the editor to see an autocomplete dropdown of users who participated in the thread. Mentioned users receive an in-app notification with a link to the post
  • SEO hreflang tags — All forum pages now include <link rel="alternate" hreflang="..."> tags for all 6 languages plus x-default, and a self-referencing <link rel="canonical"> per language. Tags are correctly placed inside <head>

Improved

  • Translation display — Forum content is now automatically displayed in the user's selected language. The original language is preserved as the source of truth, and translations are shown seamlessly when switching language via the site header
  • Cleaner thread view — Translation links shown only on the first post of a thread. Removed redundant in-forum language switcher flags from breadcrumbs (the site header language selector is sufficient)
  • Clipboard image handling — Pasting or dropping images is blocked for non-admin users. For admins, pasted images are automatically uploaded instead of being embedded as base64
v3.23.0 Community Forum March 25, 2026

New

  • Community Forum — A new forum at /forum/ where registered users can start discussions, reply to threads, and quote messages. Categories include Announcements, Introductions, General Discussions, Tournaments, Suggestions, Bug Reports, FAQ & Knowledge Base, and Showcase
  • Multilingual forum — Full i18n support in all 6 languages (IT, EN, ES, FR, RU, CS). Each URL includes the language prefix (e.g. /forum/en/). Forum content is automatically translated into all supported languages
  • Rich text editor — Quill.js editor with bold, italic, underline, lists, blockquote, and links. No image or file uploads allowed for security
  • Thread moderation — Admins can pin, close, reopen, and delete discussions. Admin-only categories (Announcements, FAQ) restrict thread creation to staff
  • Quote & reply system — Quote any post when replying, with a preview box and linked reference to the original message
  • Translation links on posts — Each post shows direct links to available translations and the original language version
  • Thread view counter — Each discussion tracks the number of views, displayed in the thread list
  • Admin email alerts — Automatic email notification to admins for every new thread and reply, enabling fast moderation and spam control
  • Forum language switcher — Inline flag-based language selector in the breadcrumb bar, allowing users to switch languages while staying on the same page

Improved

  • Absolute URL paths — All navigation links in header and footer now use absolute paths, fixing broken links when browsing from subdirectories
  • SEO meta tags on forum pages — Title, description, and Open Graph tags on every forum page (home, category, thread) for better search engine indexing and social sharing

Security

  • HTML sanitization — Whitelist-based HTML purifier strips all unsafe tags and attributes. Links are forced to rel="nofollow noopener" with only http/https URLs allowed
  • Rate limiting — Users are limited to 1 new thread per 5 minutes and 10 posts per hour to prevent spam
  • CSRF protection — All forum form submissions are protected with CSRF tokens
  • VPS firewall — UFW enabled with strict rules: SSH, HTTP/HTTPS open to all; database port restricted to a single authorized IP
v3.22.0 Player Edit & Federation March 25, 2026

New

  • Edit enrolled players — Click on a player's name during registration phase to edit their details (name, federation, rating, title, sex). The same modal also allows removing the player with confirmation
  • FIDE ID lookup in edit modal — Enter a FIDE ID to automatically fetch and fill player data from the database, and link the enrollment to the FIDE record
  • Federation selection at registration — New users must now select their chess federation when creating an account, using a searchable dropdown with all FIDE federations
  • Federation gate on tournament creation — Existing users with no federation set are prompted to choose one before accessing the tournament wizard
  • Smart federation default for self-enrolled players — Players who self-enroll via the public page now inherit the tournament's federation instead of "OWN"

Improved

  • Compact player table on mobile — Reduced padding, hidden FIDE IDs, and removed Points/Status columns during registration phase for a cleaner mobile experience
  • Category color on mobile — Category badges are replaced by colored player names on small screens to save space
v3.21.0 Per-Round Draft Mode March 24, 2026

New

  • Per-round draft toggle — Enable or disable draft mode (edit pairings before publishing) on a per-round basis, directly from the tournament page. No need to decide at creation time — just toggle it before generating each round

Improved

  • Simplified tournament creation — Removed the draft mode option from the creation wizard and quick-create form, since it can now be activated at any time during the tournament
v3.20.0 Sharing & Limits March 21, 2026

New

  • Short URLs for sharing — Tournament and registration links now have compact short URLs for easier sharing via WhatsApp, Telegram, and social media. Auto-detects browser language for a localized experience
  • Maximum participants limit — Set a cap on the number of participants when creating a tournament. Public registration is automatically blocked when the limit is reached, while organizers can always add players manually
  • Tournament info on public pages — Public tournament and registration pages now display the tournament type (Swiss, Round Robin) and time control (e.g. Rapid 15'+10")

Improved

  • Registration phase UX — During open registration, public tournament pages only show the participants tab, hiding irrelevant tabs like standings and pairings
  • Post-registration redirect — After completing registration, the "View tournament" link now goes directly to the participants tab
  • Capacity display — When a participant limit is set, both admin and public pages show current enrollment vs. capacity (e.g. 12/20)
v3.19.1 Forfeit Display March 20, 2026

New

  • Forfeit indicators in standings — Cross-table and round-by-round standings now display 1F / 0F for forfeit results, shown in a distinct purple color. Applies to admin view, public page, and PDF/print export

Fixed

  • Tournament wizard access — The new creation wizard is now accessible to all logged-in users, not just admins
v3.19.0 Tournament Wizard March 20, 2026

New

  • Tournament creation wizard — A guided 5-step wizard for creating tournaments: basic info, time control, dates & venue, tiebreak criteria, and advanced options. Intelligent defaults let you create a standard Swiss tournament in just a few clicks
  • Two-level type selection — Choose between Swiss and Round Robin with large cards, then pick Single or Double variant for Swiss. Round Robin shows group calculation examples in real time
  • Smart category presets — Selecting Standard, Rapid, or Blitz auto-fills time control values. A live preview warns if time settings don't match the selected category
  • Pre-submit summary — Review all tournament settings in a compact chip-based overview before confirming creation
  • Session persistence — Wizard state is saved in the browser; if you navigate away and come back, your progress is restored

Improved

  • All "New Tournament" links now open the wizard — The homepage, tournament list, dashboard, and mobile bottom-nav FAB button all point to the new wizard. The classic form remains accessible via a link in the wizard
  • Round Robin group calculation — Fixed an edge case where small remainders (1-2 players) produced unplayable Swiss groups. The system now reduces RR groups to ensure viable group sizes
  • Full i18n for wizard — All wizard text is translatable across all 6 supported languages (EN, IT, ES, FR, RU, CS)
v3.18.0 Public Pages March 19, 2026

New

  • SEO & Open Graph meta tags — Public tournament pages now include full meta descriptions, Open Graph tags, and Twitter Cards. Shared links on WhatsApp, Telegram, Facebook, and X show rich previews with tournament name, location, and participant count
  • Structured data (JSON-LD) — Tournament pages emit schema.org Event markup, helping search engines recognize tournaments as events
  • QR code sharing — A QR code button in the tournament hero generates a scannable code for quick access from phones — ideal for posting in tournament halls
  • Social sharing buttons — One-tap share to WhatsApp, Telegram, Facebook, X, plus a copy-link button with visual feedback

Improved

  • Public pages redesign — Tournament view, player card, and registration form completely restyled with the DM Sans design system: modern hero sections, clean tables with FIDE title badges, animated status indicators, and improved mobile responsiveness
  • Dedicated public stylesheet — Extracted all inline styles into css/public.css, reducing page weight and improving maintainability
  • Dynamic cache busting — Public pages now use APP_VERSION for CSS cache busters instead of hardcoded strings
  • Canonical URLs — Prevents duplicate content issues between token-based and slug-based URLs
  • Full i18n for public pages — Replaced all hardcoded Italian text (BYE, Print, placeholders, error messages) with translatable keys across 6 languages
  • Landing page — Live Tournaments — The homepage at chesspairings.org now shows a "Live Tournaments" section with the latest public tournaments, fetched dynamically from the database
  • Dynamic sitemap — sitemap.xml is now generated dynamically, automatically including all public tournaments and sub-tournaments with appropriate change frequencies and priorities
v3.17.0 Late Entry March 18, 2026

New

  • Late Entry (Swiss tournaments) — New toggle in tournament creation allows adding players after the tournament has started. Late entries receive 0 points for unplayed rounds and are paired from the next round onward (FIDE C.04.2, Art. 2.4). Works with both FIDE database players and club players
  • Late Entry indicators — An informative banner in the Rounds tab links to the Players tab for easy access. Players added late show an "LE" badge with a tooltip indicating their entry round

Improved

  • Bye handling accuracy — Half-point byes (0.5) and zero-point byes (0) are now correctly saved when requested, improving standings accuracy in tournaments where players request partial byes
v3.16.0 Standings March 18, 2026

Improved

  • Standings with partial results — When the current round has incomplete results, standings now show the last fully completed round with an informative banner. If round 1 is incomplete, a provisional rating-ordered list is shown. This prevents inconsistent rankings during result entry
  • Tiebreak sorting accuracy — Players with equal points are now sorted strictly following the tiebreak priority configured by the organizer
  • Tiebreak fallback coverage — Added 11 missing tiebreaks to the local calculation engine (SB Cut-2, Progressive Cut-2, ARO Cut-2, Games Played, and more). Tiebreaks that require the FIDE engine show "-" instead of incorrect values
v3.15.3 UX March 18, 2026

Improved

  • Round Robin ready-to-start info — The "Ready to start" banner now shows specific details about how rounds are calculated (automatic or manual) and explains bye handling for odd numbers of players
  • Reversible workflow — New "Back to registration" link below the Round 1 header (visible before any results are entered) makes it easy to go back and modify registrations
  • Round actions section — The "Delete Round" button is now preceded by a visual separator and "Round actions" label for better discoverability
  • Homepage updated — "How It Works" step descriptions updated to reflect automatic round calculation and the ability to modify registrations at any time
v3.15.2 Improvement March 18, 2026

Improved

  • Simplified Round Robin setup — The "Rounds calculation" selector for Round Robin tournaments now has just 2 clear options: Manual (you choose the rounds, the system creates groups if needed) and Automatic (the system calculates everything based on the number of registered players). Even players: N-1 rounds with no bye. Odd players: N rounds, each player rests one round

Fixed

  • Round generation confirmation message — Fixed a duplicated and untranslated confirmation message that appeared after generating a new round
v3.15.1 Bug Fix March 17, 2026

Fixed

  • My Players: fix SQL error when saving with empty numeric fields — Empty birth year, ELO, FIDE ID, or category fields now correctly save as NULL instead of causing an "Incorrect integer value" database error. Affects both create and update operations
  • My Players: fix orphaned players when deleting a category — Deleting a category now resets the category assignment for all associated players, preventing orphaned foreign key references
  • My Players: fix bulk import error display — Import validation errors with multiple lines now render correctly instead of showing raw <br> tags as text
v3.15.0 Security March 16, 2026

Security

  • Fix JavaScript string injection via i18n translations — Translations containing apostrophes (e.g. Italian “all'avvio”, French “s'affrontent”) could break JavaScript strings when injected via PHP short tags, causing the entire page JS to stop working. Added __js() helper for script contexts and __js_attr() for inline HTML event handlers (onclick, onsubmit). Fixed ~120 instances across 13 files: torneo, tornei, marathon, dashboard, giocatori_circolo, torneo_squadre, simulazione, footer, and all public-facing pages
  • Stop leaking internal error details to users — Registration error messages no longer expose raw PDO exception text ($e->getMessage()). Error details are still logged server-side for debugging
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)