Find my board — search your name on the Pairings tab to jump straight to your board instead of scrolling the full list
Player search on the public Players tab
The venue/address on the public page now links to Google Maps
Registration deadline now shows urgency copy ("Registration closes in 2 days") when the deadline is close, instead of just a date
v03.142026-07-05
Added
Guided Setup for brand-new tournaments — the setup checklist now walks first-time TDs through Basics, Registration & Capacity, Sections, Payments, Player Communication, Public Page, and Final Pre-flight one stage at a time; experienced TDs (or anyone who's already filled in the basics) still see the familiar all-at-once checklist, and the choice is remembered per tournament
The Event Day Command Center's unpaid/not-checked-in/missing-federation-ID/bye-request counts are now expandable — click to see the actual player names, plus a one-click "Send reminder" for unpaid and not-checked-in players
"Export event-day sheet" — a one-click CSV (name, section, check-in, payment, board) for a printed backup on tournament day
A plain-language note next to the entry-fee field explaining that payments go directly to the organizer's own Stripe account, not to Torneo
Fixed
The registration status page now says "Payment received — the organizer must review your registration" instead of a generic pending-review message when payment succeeded but the tournament was at capacity for auto-approval
v03.132026-07-05
Fixed
Retrying a paid registration after the organizer connects Stripe (or fixes payment configuration) no longer gets blocked — previously a failed attempt left a stuck row that blocked the same email from ever registering again
The registration status page no longer generates a new Stripe payment link every time it's viewed or refreshed — the existing link is reused, and a fresh one is only created on demand when the player clicks Pay
Abandoned checkout cleanup now correctly finds and clears stale payment sessions for organizers using their own connected Stripe account
The checkout success page now accurately says "You are registered" when payment auto-approves a registration, instead of always saying approval is still pending; the player also now gets a confirmation email when this happens
v03.122026-07-05
Changed
Payments now settle directly to organizers, not Torneo — every tournament director and club manager connects their own Stripe account once (Club Settings → Payment Processing) before collecting entry fees or dues; every charge settles straight to that account with no platform fee
v03.112026-07-04
Added
Event Day panel — the tournament Overview tab now shows per-section registered/checked-in/paid/unpaid counts, plus tournament-wide counts for missing federation IDs, current-round bye requests, and the waitlist, once a tournament is in progress
Refund policy, check-in instructions, and a registration deadline — new tournament settings shown to registrants on the public tournament page and their registration status page; the setup checklist now flags a missing refund policy or check-in instructions and unconfigured payment processing on paid tournaments
Fixed
Sectioned tournaments' Rounds tab showed duplicate section headers and duplicate bye rows — could repeat the same bye many times over on one round when pairings arrived out of section order
"Generate Round" button only appeared above the round history, forcing a scroll to the top after entering results — added a matching button below the list
Pairing sheet printed with faint gray text instead of black, and the text was a size too small
Password strength requirements weren't checked until after submitting on registration, invite-accept, and profile password changes — now shown upfront and validated before submit
An assistant organizer could be invited with no permissions granted at all
v03.102026-07-01
Added
Registration form completeness — the public registration form now collects first/last name and date of birth, plus conditional parent/guardian contact fields for scholastic tournaments
Requested half-point byes — players can pre-declare a round they can't play when registering; the pairing engine sits them out for 0.5 points and re-derives the reactive bye for whoever's left
Pairing-software registration export — export a clean player list before rounds start (generic CSV, SwissSys, or WinTD format), filterable by section and payment status
Active sessions on your profile page — view all active logins with device/IP/last-used info and revoke any of them individually
Expanded tournament setup checklist and pairing warnings — more gaps are flagged before you generate pairings or open registration
Fixed
Bot verification (Turnstile) was silently blocked on login, register, and public registration in production due to a missing security policy allowance
v03.92026-06-30
Added
Rating verification badges on registrations — when a player self-registers with a FIDE or USCF ID, Torneo cross-checks it against the federation supplement and shows a Verified / Mismatch / Inactive / Unverified badge next to their rating in your registrations review panel
Fixed
About page incorrectly described the pairing engine as 'Dutch-system' and FIDE C.04.3 compliant — corrected to 'Swiss-style pairings' until formal certification is complete
v03.82026-06-28
Added
Contact Email field on tournaments — a public-facing email address for players to reach the TD; shown on the public tournament page
Additional Info field on tournaments — up to 250 characters of freeform notes (parking, dress code, etc.); shown on the public tournament page
FIDE Rated flag on tournaments — mark a tournament as FIDE-rated; badge displayed on the public page
Back navigation on the public tournament page — 'Torneo / All tournaments' breadcrumb in the page header links back to the tournament calendar
Fixed
Mobile header no longer crowds on small screens — Admin link is now icon-only on mobile, and a sign-out icon button is always visible in the top-right header
Admin panel breadcrumb ('/ Admin') is hidden on mobile to give the Torneo logo and wordmark full breathing room
v03.72026-06-26
Added
Location search on the tournament calendar — filter by city, state, or venue using the search bar
External tournament listings — admins can add non-Torneo tournaments to the public discovery calendar; external cards link directly to the tournament's own website
Password reset security email — you receive an automatic notification when your password is changed
Fixed
Logged-in users visiting public pages (/tournaments, /guide) no longer get forced to re-login when returning to the dashboard
Logo now loads correctly on all mobile browsers — was serving a 1.2 MB image at 32 px
Audit log resource column now shows human-readable names instead of raw IDs
Login page spacing — more breathing room between the password field and the sign-in button
Footer wraps cleanly on narrow screens
v03.62026-06-25
Added
Email verification — new accounts receive a 6-digit code by email; your account activates only after you enter it
Password reset — 'Forgot password?' link on the login page sends a reset link to your email
Show / hide password toggle on all password fields (login, register, reset password)
Confirm password field on the register form to catch typos before submitting
Account lockout message now shows the actual reason when your account is temporarily locked after 5 failed attempts
Support email (support@torneo.org) added to the footer of every page
Admin: send a password reset email to any user from the Users table
Admin: grant superadmin access to any user from the user Details panel
Fixed
Tournaments with sections no longer create an empty round when players are not assigned to sections — a clear error is shown instead
Rounds tab now shows an amber warning when active players are unassigned to sections, before you attempt to generate pairings
v03.52026-06-25
Added
Bot protection — Cloudflare Turnstile on the login, register, and player login forms
Admin: send a test email or SMS directly from the Platform Settings panel to verify delivery
Changelog page — this page, linked from the login screen
v03.42026-06-24
Added
SMS notifications — players receive a board assignment SMS when pairings are posted, and a reminder SMS 24 hours before the tournament starts
Per-player SMS opt-out — one tap from any SMS opts the player out permanently; no account required
Organizer SMS toggle — enable or disable SMS notifications per tournament from the Registrations tab
Platform settings — superadmin controls for organizer registration, email and SMS toggles, and maintenance mode
System health dashboard — on-demand platform health checks accessible from the admin overview
Maintenance mode — administrators can take the platform offline for all non-admin users without a restart
Fixed
Paid registrations now auto-approve immediately on successful Stripe payment — no manual TD approval step required
Stuck payments can be recovered via a 'Recheck payment' button in the registrations tab
Public registration form now uses a dropdown for federation (FIDE / USCF / None) instead of a free-text field
Admin member CSV export now respects the active search and status filters
v03.32026-06-23
Added
Kiosk PIN strength increased and brute-force protection added
Check-in QR codes can now be regenerated per-tournament to invalidate old links
Assistant organizer permissions tightened — each permission type now strictly controls what actions are allowed
Fixed
24-hour reminder emails were silently failing — now fixed
Tournament venue and address fields were not being saved on creation — now saved correctly
Stripe checkout failure no longer leaves registrations permanently stuck in 'Awaiting payment'
v03.22026-06-23
Added
Player phone number — captured on registration forms and pre-filled from club member roster
Drag-to-reorder sections — drag the handle on any section row to reorder; saved immediately
Bulk assign membership type — select multiple members and assign a type in one step
24-hour tournament reminder email — approved players receive a reminder the day before their tournament
Per-section FIDE / US Chess exports — generate a section-scoped TRF or cross-table file
Fixed
Section filter selection now persists when switching between Pairings, Standings, and Players tabs
v03.12026-06-23
Added
Club membership: phone number, birth year, and gender fields
Club membership: warning when adding a member to a paid club without an email address
Club membership: bulk actions — remove, restore, or change status across multiple members at once
Club membership: sortable table — click any column header to sort
Organizer CRM — cross-tournament player roster with attendance stats, return rate, and contact history
Fixed
CSV member import now accepts MM/DD/YYYY in addition to YYYY-MM-DD
CSV import no longer aborts when a single row has bad data — valid rows still import
Error messages from failed API calls now show readable text instead of blank toasts
Expired membership badge is now red; all status badges use filled colours for legibility
v03.02026-06-22
Added
Tournament websites — enable a branded public event page per tournament with accent colour, sponsor listings, a news/announcements tab, and live auto-refreshing pairings and standings
Sponsors — add sponsor logos, names, and links to any tournament
Announcements — post news updates on the public tournament page with an unread count badge
v02.22026-06-01
Added
FIDE TRF export (FIDE Handbook C.04.3 format)
US Chess cross-table export (plain-text grid)
Export readiness validation with inline warnings
Submission links to ratings.fide.com and uschess.org