Changelog
Here's a summary of user-facing changes. To view all changes, visit the open source repositories Lichess is made of.
May 27, 2023
- New Woodland sound set (thanks Diceroller-is-fire ❤️)
- Improve board layout for tall windows
- Upload images in community blog WYSIWYG editor
- Fix disappearing chess board in puzzles
- Hide subscription button on your own streamer page
- Fix player must have played their last swiss game toggle
- Improve blog thumbnail readability in lobby when background is picture (thanks Tristen Tomczak, Sean T. Dolan ❤️)
- Move delete imported game option from action menu to side (thanks MichD ❤️)
- Fix issue with translations including numbers in certain languages (thanks MichD ❤️)
- Indicate that 3-fold draw is disabled before 30 were played in swiss games (thanks Sean T. Dolan ❤️)
- Always include clock times on game import to study
- Broadcast multiboard now has live clocks
- Timeline notifications now continue for topics with 50+ posts
- Community blog comments no longer archived after 1 month
- Add profile link to streamer overview (thanks Marc Pérez de Tudela ❤️)
- Add background picture gallery (formerly Account menu -> Background -> Transparent)
- Fix puzzle dashboard redirects when voting (thanks Tristen Tomczak ❤️)
- Fix castle rights issue that prevented move in certain positions
- Improve mobile table layout for various lichess pages
- Add voice recognition mode to puzzles and rounds
- Add Copy to clipboard buttons on broadcast share tab (thanks Tarcan Gul ❤️)
API updates
- Allow pending simul retrieval when authenticated
- Use timed delay for move streams
April 2023
- Fix Copy PGN tab navigation (thanks lsap ❤️)
- Fix Copy PGN issue on Chrome and Safari
- Add rating restrictions to Simuls (thanks Denys Rybalka ❤️)
- Fix description rendering issue on Broadcast page
- Show provisional rating indicator on create game modal (thanks Trevor ❤️)
- Hide puzzle difficulty control for anonymous players
- Do not close modal when dragging outside of it (thanks Tristen Tomczak ❤️)
- Fix Crazyhouse mate issue
- Add new mpchess piece set (thanks Maxime Chupin ❤️)
- Create unrated tournaments via the tournament manager
- Only send one correspondence email per day
- Remove alert on completion of replayed puzzles (thanks Enrique Betancourt ❤️)
- Add new kiwen suwi piece set (thanks Koko ❤️)
- Remember puzzle difficulty (thanks piyushj ❤️)
- Fix issues with user-drawn arrows and circles
- Choose external engine with URL
- Fix embedded PGN viewer with transparent background (thanks Tristen Tomczak ❤️)
- Disallow rating ranges on seeks by provisionally rated users
- Fix correspondence clock in RTL languages
API updates
- Add ratingDiff to /api/stream/event (thanks Trevor ❤️)
- Add /api/study/{id}/{chapter}.pgn alias to download study chapters with CORS
- Add start position to swiss api endpoint
March 2023
- Fix correspondence email notification
- Allow additional time per player on simul clocks
- Screen no longer glitches on engine toggle (thanks TheMadSword ❤️)
- Fix Paypal subscription issues
- Redirect truncated study comment to full (thanks Calvin Josenhans ❤️)
- Fix loss result handling for PGN imports
- Fix Screenshot current position error
- Fix multiple overlay issues involving analysis hamburger (thanks TheMadSword ❤️)
- Close manual pairings swiss exploit
- Lower minimum player rating from 600 to 400
- Show more time button on smaller screens
- Link daily puzzle puzzle theme/opening
- Fix negative votes in puzzle DB
- Learn menu button now links to Chess basics
API updates
- Expose declined team join requests via api
February 2023
- Fix issue with Learn from your mistakes on checkmate
- Adjust draw move thresholds for variants
- Mention '?' keyboard shortcut in FAQ (thanks TheMadSword ❤️)
- Block particularly weak passwords on signup and login. If you are affected, you will have to request a password reset or login via email and change your password. If you are using a weak password or the same password as on other services, strongly consider changing it. You can also enable two-factor authentication for additional security.
- The new mobile app is seeing steady progress and has opened up for contributions. If you are interested, check out 'good first issue' or join the #lichess-mobile-app channel on Discord.
API updates:
- Endpoint to autocomplete users
- The streamer endpoint now includes the streamer's image
- Correct API responses and send full FEN for /api/stream/game/{id}. (thanks Erdogan Seref ❤️)
- Fix issue with concurrent API streams
- Include player info in /api/stream/game/{id}
- Expose declined team join requests via api
January 2023
- Improve speed and safety of the chess library used by Lichess, and fix subsequent bugs
- Tutor improvements (still work-in-progress, not released)
- Fix rematches of anonymous players playing against bots
- Improve support for RTL (Right To Left) languages
- Show number of team messages remaining to team leaders
- Link the BETA opening viewer in the top "tools" menu (replaces the "Opening Explorer" link)
- Fix bug when games where not rendered on old Lichess blogs
- Split Overview, Schedule, and Leaderboard on broadcasts into separate tabs
- Add preference to disable the notification bell sound
- Don't expand game links in PGNs posted in the forum
- Approved streamers going live on YouTube will now be detected more quickly and reliably
API updates:
- Game export endpoints serve more games per second
- Allow to filter swiss games by player name
- Optionally fetch the accuracy of a game
- JSON Game exports now optionally provide clock times with centisecond precision
- Study exports now optionally include non-standard PGN tags to specify the study orientation and URL
- The arena results endpoint now optionally provides the exact points history
- The team members endpoint now includes the member's join date
December 2022
- Stabilise and fix many bugs introduced by the Scala3 migration
- Update the Fantasy and Spatial piece sets
- Add the Celtic piece set
- Allow syncing dark mode with the device setting
- Insights now include Correspondence games
- Improve developer experience by increasing client build speed. For more information refer to our end of year blog post
- The new notification preferences now allow precise control over which notifications you want to receive and how
- You can now subscribe to streamers on their streamer page (click the microphone on their profile) or the streamer overview to get notifications when they start streaming
- The opening explorer now includes all rated Lichess games (instead of just a sample)
- Insights can now be viewed in mobile browsers
- Team messages no longer impact the inbox contact list
API updates:
- The oauth endpoint now allows specifying a username hint
- Add an endpoint to withdraw from or pause a swiss tournament
November 2022
- Upgrade the version of Scala (the programming language that much of Lichess uses). For more information refer to our end of year blog post
- Coordinate trainer: allow to only practice on a subset of the board
- Better translation for Broadcasts
API updates:
- Disallow kicking team creator (sync with the GUI)
- Allow username (instead of id) in kick API
October 2022
- Add Disguised piece set (makes all pieces look the same)
- Bulk work on the BETA opening viewer
- Better translation for the API access token page, where you can see which application you have connected to with your Lichess account
- Introduce the notion of game accuracy, visible on analysed games
- Swiss tournaments now allow manually specifying the exact pairings for each round
- Importing a game on the analysis board now imports sidelines
- The analysis graph below games now highlight inaccuracies, mistakes, and blunders with colored dots when hovering over their count
- Add keyboard shortcuts (numbers 1 to 6) for glyph annotation in studies. Press "?" to see all keyboard shortcuts.
- Adjust draw streaks thresholds for variants
- Improve accessibility of puzzles
API updates:
- Add puzzle by ID endpoint. If you need to access more than a few hundred puzzles, download the puzzle database instead.
- Swiss tournaments now allow specifying the exact pairings for each round
- Bulk pairings now support custom positions
- Add endpoint to berserk in tournaments
- The board state endpoint now indicates when the opponent disconnected and a win may be claimed
- Add endpoint for the popularity history of a position (used by the BETA opening viewer)
- Remove online status from user endpoints. Use the real-time users status endpoint instead.
September 2022
- Revoke all push notifications on password change and 2 Factor Activation, which we strongly suggest to toggle on your account
- Only allow draw in swiss games starting from 30 moves
- Tweaks to pair small tournaments more often
- Added Home/End keyboard shortcuts to go the the start/end of a game
- The quote button in the forum now only quotes the selected text
- Add allow-list option to arena and swiss tournaments
- The team introduction shown in the teams list is now separate from the team description
API updates:
- Switch to the Alpha 2 version of our external chess engine protocol for analysis
- Add options to forbid aborts, rematches, giving time, and claiming wins for API created games
- Allow restricting which users can join an open-ended challenge
- Add endpoint to follow the status of multiple games at once
- Allow pairing API users in tournaments using the join endpoint with the "pairMeAsap" parameter
August 2022
- Preserve orientations for study chapters across page navigations
- Translate the swiss tournament presentation page
- Keyboard input now supports ICCF notation and voting on puzzles using "upv" and "downv". You can activate keyboard input on the Game Behaviour preference page.
- Fix crashes when using the local Stockfish
- Support many more languages when displaying dates and duration
- Send patron donation receipts to the correct email after it was changed
- Respect the piece set and theme when exporting a game as GIF (with a hard G)
API updates:
- The user endpoint now supports oauth to get the follow and block relation with the user
July 2022
- Remove leader status when they quit their team
- The coordinate trainer now has an untimed mode and allows hiding coordinates and pieces
- Let Anonymous players choose the puzzle color
- Many improvements to the not-yet-released Tutor feature.
- Improve support for RTL (Right To Left) languages
- Hide non-public team forum posts from user profile activity
- Add transgender flag
- Client-side optimisations
- Expand user blog links to games using our new pgn viewer
- Fix xss in advanced search form (found by codeql)
API updates:
- Add more simul data to API output
- Add follow:read scope
- Add endpoint to create and join a puzzle race
July 4th, 2022
- Add puzzles by openings and allow selecting the color when playing opening puzzles
- Allow using an external chess engine for analysis (still in alpha, ask us about it in discord)
- Add support for Right-To-Left languages (try out Arabic for instance)
- New Insights metric: Accuracy%, based on Stockfish evaluations. Example: Accuracy by game phase
- New Insights metric and dimension: Time Pressure. Example: Accuracy by time pressure
- New Insights opening family dimension. Example: Tactical awareness by opening family during the opening and middlegame, when playing white
- New Insights opening variation dimension. Example: Performance in Sicilian Defense variations when playing black
- Add a new page to list team members
- Redesign game analysis tabs and make computer analysis more prominent
- Add more share options and image exports in game analysis and studies
- Add premoves to blind mode (non-visual UI)
- Improve analysis and study in blind mode
- Honor rating visibility preference on challenge pages
- Show fewer captchas whenever possible
- Better handle chat/notes input focus
- Add clone chapter button to studies
- Remember which study is in REC state
- Let all study contributors delete each other comments
- Fix automatic orientation in study PGN imports
- Fix frontpage featuring of variant tournaments
- Improve frontpage game creation dialogs
- Fix retry on stalemate in practice exercises
- Add keyboard shortcuts to puzzles (press ? for a help dialog)
- Fix clock start in mini-boards
- Add last puzzle to history in Puzzle Racer
- Move archived classes to a distinct page
- Reduce all animations when requested by the browser
- Suggest other languages from the user's country (using request headers, not IP)
- Schedule monthly 3-check tournaments
- Various API improvements (and more fixes and new endpoints)
- Plenty of tweaks, fixes and performance improvements
- New and improved moderation tools
- Published more games and puzzles
May 7th, 2022
- Upgrade server analysis to stockfish 15
- Make browser javascript even smaller and faster
- New lobby UI code
- Improve scroll wheel to browse moves
- Improve PGN parsing and game import
- Fully support Microsoft Edge 91+
- Better hide ratings in studies
- Remove join requests from closed teams
- Fix class student invite form
- Add class translations
- Fix team forum reactions
- Add team forum permissions
- Add official variant teams
- Improve practice translations
- User blog Atom RSS feeds
- Allow commenting on user blogs
- Bot accounts can no longer use private messaging
- Allow creating broadcasts up to 12 months in advance
- Allow markdown with tables in team descriptions
- Rewrite and improve the coordinate trainer
- Add new mode "name square" to the coordinate trainer
- Add realtime clock in analysis board during realtime replay
- Improve appeal process
- Apply Mark Glickman fix on Glicko2 implementation
- Make user tournaments more visible
- Upgrade main server hardware
- Improve opening explorer
- Link personal opening explorer from profile pages
- Always show swiss tournament creator
- Allow up to 128 user study topics
- Rewrite all charts code
- Add setting to allow challenges from anonymous players
- Add keyboard shortcuts and keyboard input to puzzles
- Donate with the new PayPal API
- Remove recent forum posts from homepage
- Remove completion rate from user profiles
- Improve Android push notifications
- Improve accessibility with "tab" and "tablist" roles
- Tweak and improve the position editor
- Add puzzle history view to puzzle racer
- Notify players that a tournament is about to start
- Increase login rate limits for classrooms, add client-side limiting
- Infinite scroll for forum topic lists
- Add help modal to game pages (press ?)
- Add new chess set "Anarchy chess candy"
- Show rating distribution for any player
- Lots of new translations via Crowdin
- Lots of bugfixes and optimizations
- Moderation tools upgrades
API updates:
- Allow canceling API games from API
- Serve up to 300 incoming challenges
- Fix bot/board challenge rematches
- Allow bot accounts to challenge AI from UI
- Read user notes
- Add initial player time to TV broadcast message
- Swiss tournament stats
- Allow exporting user games with literate flag
- New moderation APIs
March 1st, 2022
- Scale the tournament system to allow even larger tournaments
- Add correspondence email notifications
- Quicker note writing on player profiles
- Fix simul host status and profile activity timeline
- Improve lag compensation
- Better detect, counter and ban lag tampering
- Improve PGN parsing
- Make insights translatable
- New machine learning anti-cheat assistant
- Show date of opening explorer last update
- Add broadcast calendar and menu
- Stable ordering of ratings in user popups
- New practice lessons
- Better user blog ranking
- Improve communication moderation
- Allow correspondence open challenges
- Remove min games requirement for hourly variant arenas
- Add a "Next chapter" button in studies
- Fix puzzle streak can continue after failure
- Combine buttons for claiming threefold repetitions and offering draws
- Fix copying PGN in blind mode
- Add new API endpoints for team join requests
- Improve front page layout when ratings are hidden
- Improve keyboard move input
- Allow creating personal tournament access codes
- Add homepage language URLs such as lichess.org/es
- Allow deleting all variations in a study chapter
- Disallow canceling API games
- Always show the creator of a tournament
- Fix bypass of markdown image whitelist (Thanks to red0xe for reporting)
- Add official variant teams and link them in variant tournaments
- Allow keyboard move in puzzles
- Improve scrolling moves for touchpads
- Quickly select game players in the opening explorer
- Add Swiss API endpoint
- Lots of new translations
- Lots of small bugfixes and optimizations
December 31st, 2021
- Play vs AI now uses the Lichess opening database for more varied and natural openings on the respective level and time control. Watch out for bullet tricks!
- Preview colors and positions of challenges
- Optimize and carefully parallelize tournament handling
- Fix a way that attackers could use to misrepresent their OAuth app origin (Thanks to Sam Curry for reporting)
- Redesign opening explorer preferences and allow selecting date ranges for the masters and Lichess database
- Update masters database of the opening explorer
- Release fishnet 2.5.0, updated to provide Stockfish 14.1 for server-side analysis
- Fix "hide all ratings" setting not respected in some places
- Fix color balancing leading to long white/black streaks in some cases
- Work around (mostly mobile) browsers sometimes not loading board images
- Improve daily puzzle selection
- Select dark theme by default for new users
- Increase move limit for server side analysis
- Increase maximum hash table size for local analysis
- Show unread messages from moderators instead of the lobby, if any
- Lots of new translations
- Lots of small bugfixes and optimizations
- Update Terms of Service, codifying our evolved policies and practises throughout the years
API updates:
- Add access token bulk testing endpoint
- Add API for participant to leave a tournament
- Allow editing Swiss tournaments via the API
- Fix /api/bot/online
- Make OAuth authorization prompt compatible with otherwise unsupported browsers
October 22nd, 2021
- Personal opening explorer (also works on other players)
- Improve Masters and Lichess opening explorers
- New setting to hide all ratings on the entire site
- Increase deep server analysis limit per user to 40 per day and 200 per week
- Show textual knowledge in the analysis board using WikiBooks
- Allow casual (unrated) puzzle play
- Better display tournament lanes
- Allow clearing notifications
- Better order featured blog posts
- Highlight original poster name in forum threads
- Allow downloading all arena and swiss tournament games of a single player
- Fix arena tournament pagination bounds
- Add arrows when hovering possible moves in analysis
- Fix analysis threat mode should not play variations
- Add a close button to analysis "learn from your mistakes" section
- Fix game page board displacement on first move in mobile view
- Fix first game not being counted in a play streak
- Immediately revert last move that didn't reach the server before flagging
- Only play notification sounds once over all tabs
- Allow chess unicode symbols in text fields
- Allow some fancy unicode symbols in study annotations
- Respect click vs drag pieces setting in analysis
- Fix tablebase must be disallowed in correspondence analysis
- Enable markdown table in class news
- Fix insights mini-boards
- New DMCA / I.P. Takedown Notice form
- Lots of new translations
- Updates on moderation tools
- Lots of bugfixes and optimizations
API updates:
- Fix challenge accept API endpoint when challenge was canceled
- Serve more current tournaments
- Update the broadcast streaming endpoint on tag change
- Add "verified" flag to user APIs
- Include closed user accounts in /api/users (with minimum info)
- Add "player" filter to arena games download endpoint
- Add sort parameter to user games export
- Add ongoing games to user games export (with some delay to prevent cheat usage)
September 23rd, 2021
- User blogs
- Use an animated Lichess logo instead of loading spinner
- Upgrade the AI opponent to Fairy-Stockfish 14
- Hide the followers count on user profiles
- Recompute swiss sheets after ToS violation
- Keep board zoom after logging out
- Better avoid similar entries in timelines
- Better clean up user inputs to filter out weird characters
- Host user images (blogs, streamers, coaches) on a new server
- Keep track of declined team requests
- Fix YouTube embeds
- Improve study embeds
- Allow downloading all rounds of a broadcast as PGN
- Improve featuring of swiss tournaments on homepage
- Improve the tablebase explorer
- Prevent a team creator from being kicked by another leader
- Prevent changing the tournament game type after start
- Prevent arena berserk in extreme time controls
- Better validate imported PGNs with ambiguous moves
- Improve homepage lobby on mobile devices
- Fix 3D pieces dragging elevation
- Let closed accounts export their studies
- Even more puzzles generated
- Lots of new translations
- Updates on moderation tools
- Lots of bugfixes and optimizations
API updates:
- Download all rounds of a broadcast as PGN
- Download one round of a broadcast as PGN
- Add games to the broadcast round JSON API
- Broadcast streaming endpoint, the best way to get updates about a tournament
- Filter tournaments of a user by state: created, started, finished
- Flag to get ongoing games in the games by users endpoint
- Expose authenticated user language in preference API
- No longer expose online status of users. Use real-time user status instead
August 28th, 2021
- Upgrade to Stockfish 14 with smolnet for local analysis
- Show current position stats in the opening explorer
- Make it easier to fully enable/disable computer analysis
- Fix trophy display on profile pages
- Display game result in analysis list of moves
- Show piece promotion in chess captchas
- Add forum quoting feature
- Fix rare double-game issues with mobile app
- Add a "Board" PGN tag to studies
- Display the reason why a game was drawn
- Show material diff in analysis and study pages
- Prevent device sleep on ongoing game pages
- Add marathon top 500 trophy
- Add study deletion confirmation
- Add study staff picks page
- Improve accessibility of studies and gameplay
- Improve accessibility and keyboard control in dialogs
- Generate 24 tournaments a day for the Lichess Swiss team
- Improve game and study embeds in the forum
- Search for players by rank in tournaments
- Improve team administration UI
- Add a team forum visibility setting
- Remove the team location field
- Limit team messages to 7 per week
- Make it easier to unsubscribe from team messages
- Fix chess bot rematch
- Improve visibility and feedback of the rematch button
- Rewrite the videos updater
- Fix multiboard view of broadcasts
- Fix 3D board arrows
- Prevent crazy unicode symbols in some user texts
- Replace finished games with new ones in the games pages
- Make flags design more consistent
- Fix continuation bug in Puzzle Streak
- Lots of new translations
- Lots of updates on moderation tools
- Lots of bugfixes and optimizations
API updates:
- New endpoint: list of challenges
- New endpoint: list of online bots
- New endpoint: claim victory when opponent leaves
- New endpoint: join a Swiss tournament
- New endpoint: fetch the game chat
- New endpoints: follow and unfollow players
- Add a keepAliveStream flag to the challenge endpoint
- Allow the board API to play Blitz games in direct challenges or vs AI
- Add wdraw, bdraw, wtakeback and btakeback flags to bot/board game states
- No longer publish the language in the user object
July 23rd, 2021
- Upgrade to Stockfish 14+
- Improve accessibility of the analysis board and the opening explorer
- Improve keyboard navigation
- Highlight own messages in chats
- Add Zen mode to Puzzle Storm & Puzzle Racer
- Fast piece animation for Puzzle Storm & Puzzle Racer
- Fix little bugs in study interactive lessons
- Improve simul responsiveness
- New OAuth PKCE API (examples)
- Add user performance API endpoint
- Let the bot/board API accept open challenges
- Fix piece set choice in game embeds
- Fix nested tooltips
- Add evaluation range to Chess Insights
- Fix coordinates trainer graph
- Show piece color in challenges widget
- Add manual currency selector to /patron
- Improve correspondence rematches
- Replace slack with zulip
- Improve broadcasts UI
- Remind coaches, streamers and teachers to use 2FA
- Improve moderation tools
- Many fixes and optimizations all around
- Tons of new translations via Crowdin
June 29th, 2021
- Improve board display to avoid blurriness and missing images on some setups
- ZEN mode remains after the game completes
- Show puzzle themes in replay mode
- Correspondence seeks for the board API
- Support PKCE for the API authentication, allowing new clients without a server
- Allow team leaders to send up to 6 PMs to all their members every day
- Let class teachers close accounts of managed students
- Add Zulip integration
- Improve coordinate trainer transitions
- Filter coaches by country
- Better display long usernames around mini-boards
- Fix style of user games advanced search
- Fully translate swiss tournaments
- Fix analysis chart bugs
- Hide evaluation bar on checkmate in puzzles
- Allow markdown in team descriptions
- Include missed mates in "Learn from your mistakes"
- Add endgame positions to the board editor
- Manually start private races
- Make the puzzle selector more resilient
- Allow disabling move navigation by scrolling on the board
- Exclude bots from the active players leaderboard
- Many bug fixes, optimizations and source code improvements
- New translations via Crowdin
June 16th, 2021
- Show material difference in responsive mobile view
- Fix puzzle streak infinite tries bug
- Allow browser extensions to interact with the analysis module
- Allow setting orientation in multi-PGN study chapter import
- Fix board orientation in Racing Kings correspondence analysis
- Add flip board for puzzle storm, puzzle streak and puzzle racer
- Fix double tap on Safari
- Enforce 2FA for all moderators
- Improve speech synthesis
- Improve non-visual user interface (blind mode)
- Allow donations in native currencies
- Allow gifting Patron wings to other players
- Automatically close accounts of ragequitters after some warnings
- Fix lobby filters for anonymous players
- Upgrade server-side and client-side Stockfish to halfkav2 NNUE
- Make the coordinate trainer board resizable
- Lots of improvements on moderation tools
- Add UI for downloading a user's games
- Fix chess captcha race condition
- Improve zen mode and add it to puzzles (press z)
- Fixes and improvements on the learn module
- Better select daily puzzles
- Allow players to opt out of forum mentions
- Improve language detection
- Better prevent duplicate forum topics
- Show clock states in analysis move-time charts
- Show game note snippets on user game lists
- Move all icon font characters to unicode private area
- New set of API endpoints for managing broadcasts
- Tons of tweaks and fixes and optimizations all around
- New translations via Crowdin.
May 17th, 2021
- Optimized javascripts for faster page load.
- Removed google fonts entirely.
- Team battles can now be password protected.
- Better mitigate zalgo text.
- Improved moderation tools.
- Fixed username automatic links.
- Cherry-picked puzzles accessed by direct link should now be unrated.
- Improved the arena and swiss tournaments requirements display.
- Fixed user rating history API.
- Allowed administrators to re-open closed teams.
- New API to stream real-time moves of any game.
- Add support for prefers-reduced-motion: reduce.
- Added Catalan flag.
- Improved accessibility.
- Improved spectator lists and chat viewers.
- Added berserk icon next to username in real time.
- Fixed a bug with a large number of events promoted on homepage
- Fixed Safari bug with double-tap zooming.
- Let simul hosts timeout players in their own chats.
- Fixed image sizing in team descriptions.
- Added keyboard shortcuts for next/previous chapters (n/p) in studies
- Allowed scrolling with the mouse scroll wheel on Stockfish live analysis variations.
- Better handle downloads of arena/swiss exports.
- Remove gap in the lobby when no simul is available.
- Fixed broadcast description XSS.
- Added distinct OAuth scope for moderator endpoints.
- Ensured that tournament from position is casual.
- Fixed missing first move sound on some mobile devices.
- Fixed a bug with player points in the swiss API.
- Prevented overlapping hyper/ultra bullet tournaments.
- Allowed showing 0 engine lines in client-side analysis.
- Added mongodb index script to improve dev onboarding.
- Fixed correspondence variant challenges can't be rated.
- Made study glyphs descriptions translatable.
- Fixed sound preloads when silent is selected.
- Only show actually started games in broadcast multiboards.
- Added DSB rating to user profile.
- Fixed BOT API draw response.
- Added optional estimated start time for simuls.
- Fixed accessibility blind mode cookie duration.
- Always show official Lichess tournaments on swiss homepage.
- Better handle deleted accounts.
- Misc style and performance tweaks.
- New translations via Crowdin.
April 29th, 2021
- Rewrite the broadcast module, to organize rounds by tournaments
- Improve Puzzle Streak sounds
- Add Puzzle Storm/Racer/Streak events to user profile activity
- Add best Puzzle Storm/Racer/Streak scores to user profile
- Make the current Puzzle Streak persistent
- Fix Puzzle Streak scoring bug
- Fix mobile app unread messages count
- Many, many new moderation tools
- Allow hiding team members and forum from non-members
- Add and improve API endpoints
- Improve the appeal process
- Improve the puzzle rating system
- Allow kids of the same class to send messages to each other
- Stop using mailgun to send emails
- Fix race condition in study description updates
- Fix featuring of titled players simuls
- Fix analysis annotation on castling
- Fix flipping the board editor
- Better hide author of deleted forum posts
- Internal vendors and libraries upgrades
- Misc server-side optimizations
- Misc user interface tweaks and fixes
- Translate notifications
- Add Zen mode to puzzle and coordinate training
- Redesign coordinate training
- Improve typescript typing and strictness
- Improve personal data export
- Automatically close accounts on worse cases of poor in-game behaviour
- Replace reCaptcha with hCaptcha
- Allow reporting a forum post
- Redirect streamer profiles to twitch/youtube directly when streaming
- Raise server-side analysis limits: 35/day and 160/week
- Better scrub user data upon GDPR erasure request
- Add RCF and CFC ratings to user profiles
- Lock swiss variant and clock after tournament start
- Improve swiss homepage
- Fix chat input persistence
- Fix tablebase display of 8 piece game end positions
- Improve language selector
- Allow importing up to 32 PGN study chapters at once
- Automatically set chapter orientation in study PGN imports
- Improve homepage event system
- Improve on-site documentation
- Remove team join requests on account closure
- Fix learn UI bugs
- Better puzzles for provisional players
- Allow sorting own studies alphabetically
- Many new translations
March 29th, 2021
- New feature! Puzzle Streak
Solve progressively harder puzzles and build a win streak. There is no clock, so take your time. One wrong move, and it's game over! But you can skip one move per session. - Fully restore the opening explorer which was lost in a data center fire
- Analyse games of official broadcasts automatically
- List all Swiss tournament pairings by round
- Add download links to Swiss tournament: TRF file, games, and results
- Add download links to Arena tournaments: games and results
- Improve class students random name generator
- Allow former students to become class teachers
- Fix Puzzle Racer highscore in profile activity
- Improve moderation tools
- Link the Patron page from the top menu
- Improve texts on the appeal page
- Fix updating a player profile bio
- Better normalize and handle IP addresses
- Fix self-XSS in Oauth App form
- Detect and negate puzzle cheaters
- Reporting Lichess redirects to the contact page
- Fix links on the tournament schedule
- Tweak Arena tournament UI to save space
- No longer feature off-topic forum posts on homepage
- Allow Swiss tournaments to start with just 3 or even 2 players
- Fix display bug when a Swiss tournament has as many rounds as it has players
- Add failed premove detection to Puzzle Storm and Puzzle Racer
- Fix the Study export API endpoint
- Improve the programmatic API documentation
- Improve selection of the daily puzzle
- New translations via Crowdin
March 22nd, 2021
- The result of finished games is now visible in the game list of a broadcast.
- Users can now delete their own forum posts.
- Streamer links for ongoing streams will now lead directly to the Twitch/YouTube stream instead of the Lichess streamer page. This includes: 1. Front page streamer links, 2. Profile Streamer links, 3. Links on lichess.org/streamer.
- BOT accounts no longer allowed to make broadcasts.
- Broadcast games will now reload upon a game starting or finishing.
- In an ongoing broadcast if new moves arrive, they will automatically become the mainline and any other moves the player entered will become a variation.
- Updating broadcast meta-data will no longer stop the broadcast.
- Tournament IDs now included in games downloaded via the API.
- Tweak to the "wrong move" sound in puzzle racer.
- Tweaks to the Puzzle Storm and Puzzle Racer streak interface
- The maximum puzzle racer score is now 135.
- Tweaks to the Alpha piece set.
- Puzzle racer activity now appears in the user activity feed on profiles.
- Open challenges created via the API can now be rated.
- The patron page now mentions that Lichess is registered with Benevity.
- "Marathon Survivor" trophy removed from profiles.
- Puzzle Storm and Puzzle Racer now tell you which color pieces you will use for the run at the beginning.
- New API endpoint for the daily puzzle.
- Moves that have arrows are now marked as such in the move list of studies/broadcasts.
- Fixed a typo in the FAQ.
- New translations via Crowdin.
March 17th, 2021
- New feature: Puzzle Racer (read more about it)
- Show which games are ongoing in broadcasts
- Fix some broadcast sources
- Improve moderation tools
- Server performance optimizations
- PV line toggler in analysis board
- Improve Lisp sound set
- Fix lobby UI when playing more than 100 games
- Default to rated seeks for new users
- New API endpoint to download all studies of a user
- Translations via Crowdin.
March 13th, 2021
- Deal with a data center fire
- Display and export all draw offers
- Show board previews in local analysis lines
- Fix some opening names
- Add Stockfish NNUE setting in analysis board
- Upgrade Stockfish NNUE
- Improve style of analysis annotations
- Improve moderation tooling
- Fix main navigation menu on setups with touch screen and pointer
- Add "slow" filter to Puzzle Storm history page
- Add FAQ history of lichess creation
- New sound theme "Lisp" by EdinburghCollective
- Tweak Puzzle Storm sounds
- Study fixes
- Private team descriptions
- Documentation for streamers, broadcasts, appeals and reports
- Better cache local Stockfish binary
- Fix Arena user links on touchscreen
- BOT accounts no longer allowed to post coach reviews.
- Translations via Crowdin.
March 4th, 2021
- Fix DGT integration connectivity issue when reloading the page
- Allow importing PGN with non-standard annotations
- Improve and add new moderation tools
- Fix link to castling explanations
- Improve design of the contact page
- Add new appeal page
- Fix enpassant square in from-position rematch
- Fix translation in user activity feed
- Add links to chat etiquette and forum etiquette
- Fix color-scheme on transparent theme
- Disable on-the-board annotations when computer analysis is disabled
- Fix FEN validation when creating a game from position
- Fix victory screen on lichess.org/learn
- Fix in-browser stockfish analysis of Atomic games
- Improve memory management of in-browser stockfish
- Fix disabled rematch button was sometimes still clickable
- Remove legacy onesignal push notifications
- Forum database optimizations (removed f_categ.pos index)
- Upgrade to latest scala 2.13.5
- Automatic twitch API token renewal (better stream detection)
- Fix chat timeout message
- Streamline kicking several members out of a team
- New translations
- Analyse more games automatically for cheat detection
- Optimize homepage seeks
- Translations via Crowdin.
February 28th, 2021
- Added small circular icons that appear over the pieces that reflect a inaccuracy/mistake/blunder on a game analysis page. They can be toggled on and off in the settings.
- The color of moves in the movelist will change to reflect an inaccuracy/mistake/blunder.
- Added a new stand-alone page to team battles that shows team information such as players, score, performance, etc. Accessible at https://lichess.org/tournament/[Tourney ID]/team/[Team name]
- Fixed a link on lichess.org/contact that explained castling.
- Fixed a bug that caused Casual swiss tournaments to not appear in user activity
- Fixed a bug that was breaking some user's custom backgrounds.
- You will have to hover over one of the menu buttons at the top of every Lichess page to open it. This will hopefully prevent accidentally opening it while playing a game, doing a puzzle storm run, etc.
- Team forum post will now be slower to auto-archive.
- Translations via Crowdin.
February 23rd, 2021
- Stockfish 13 implemented for local analysis. Note that some browsers will default to a previous version. More details are available here.
- fishnet v2.2.5 released, which now uses Stockfish 13.
- Zen mode is now possible for puzzles.
- Team leaders will now see a link to a team etiquette page on team pages.
- Established accounts can now only join 50 teams. New accounts will have a maximum of 15 that slowly rises over time. More info here.
- It's now possible to enter Lichess game IDs as the source for a broadcast. Up to a maximum of 64 can be entered.
- Daily puzzles will now be more difficult.
- A privacy preferences menu option for receiving PMs was changed from "never" to "only existing conversations" to better communicate what it does.
- Deleting a private message thread now prevents new posts if the user's preferences are set to "only existing conversations."
- The text that appears to explain puzzle up/down voting will no longer appear once the user's puzzle rating is established.
- Fixed a small bug with the practice icon for "Checkmate Patters IV."
- Fixed a bug with the 3-move delay on live game API exports that was causing new moves to arrive inconsistently.
- Added support for non-standard "won on time" termination tags in chess.com PGNs.
- Fixed a bug with chat timeouts.
- Data from a user's Puzzle Storm dashboard can now be accessed via the API.
- The Patron page was changed to make it clear that if a user donates while logged in their patron status will be public.
- Fixed a bug with the patron page where users were not redirected back after logging in to donate.
- Bot accounts will now get a "Bots can't join tournaments" message if they try to join.
- Fixed a bug with insights movetime filters.
- New translations via Crowdin.
February 9th, 2021
- Added Horsey Piece Set and board.
- Fixed a bug that was briefly giving the wrong result for games that ended with one player running out of time. More info here.
- Failed puzzles will now be filtered to the top of the puzzle storm ending page.
- Fixed a bug that was showing the wrong color for BOT titles on puzzles.
- Fixed a bug with selecting the time control in anonymous games.
- Fixed a bug with game completion percentage.
- Only BOT accounts will now be able to use the BOT-related reasons for declining a challenge.
- The API to start the clocks of games can now only start API created games.
- It's now possible to start all the clocks of a bulk API challenge at once.
- It's now possible to send a custom private message along with the API call that makes a challenge for a user.
- Entering an incorrect password to join a tournament will now show a message saying "incorrect password."
- Fixed a bug that was causing the ratings tags of imported games to not import.
- Added official under-1300 Hourly tournaments.
- Fixed a bug that caused the capture sound to not play for the opponents moves during Puzzle Storm.
- Forum posts in team forums will now be featured for longer.
- Fixed a rare bug that could occur when both players offered a draw during a three-fold-repetition.
- The board resize handle is now hidden after a Puzzle Storm run begins.
- It's now possible to cancel a team join request.
- Fixed a bug with the "playing" filter on broadcasts.
- Fixed a bug that was causing fishnet nodes to crash.
- Tweaked server analysis to make it more efficient.
- BOT accounts now able to play API bulk-challenged games.
- Bulk paired API games no longer count for sandbagging detection.
- Character limit for team descriptions raised to 4000 from 2000.
- New translations via Crowdin.
February 5th, 2021
- Reworked studies entirely to work around a MongoDB bug that had forced us to disable them. The study changes broke multi-board previews but they will be fixed with the next site update. Requested analysis will also be fixed.
- Bulk pairings now possible with the API. More than one challenge can be sent with a single API call.
- Weekly analysis limits raised to 150 from 120.
- New API endpoint to update team battles.
- The page that finds puzzles taken from the games of a certain user will no longer show puzzles from closed accounts.
- Fixed a bug with the "go deeper" button on computer analysis.
- Sped up the ending animation for Puzzle Storm.
- Games served via the API should now arrive 50% faster.
- Ongoing games will now be given for all game exporting APIs with a small move delay.
- Puzzle Storm runs now expire after 2 minutes if not started.
- The message that users receive when they look for puzzles from their games and find none will now include "You have no puzzles in the database, but Lichess still loves you very much."
- Fixed a bug with mouse wheel scrolling in puzzles.
- Fixed a bug that was giving incorrect team performances for team battles.
- Added a link to a page about different ratings systems to the FAQ section about what rating system Lichess uses.
- Small change in wording for the description of the "Discovered Attack" Motif.
- Added a link to the BOTs blog post to the page for community BOTs.
- Clicking on a user's puzzle rating no longer takes you to your own puzzle dashboard.
- Closing a team now automatically denies all open join requests.
- Puzzles arrived at via a direct link are now unrated.
- Removed the Bongcloud Trophy.
- New Translation via Crowdin.
January 28th, 2021
- New Feature: "Puzzle Storm."
- A new drop-down menu on the homepage called "Puzzles" featuring Puzzle Storm and the Puzzle Dashboard. Regular Puzzles have also been moved to this section from "Learn."
- Puzzle Storm attempts added to user activity feed.
- Fixed an XSS vulnerability in the study topic tagger. (Thanks to bhavi at Hackerone)
- Fixed an authentication bypass in study sockets. (Thanks to bhavi at Hackerone)
- The API now sends a complete list of teams for team battles.
- New translations via Crowdin.
January 23rd, 2021
- The maximum number of teams in a team battle has been raised to 200. This should be considered a public beta, we don't know how stable these bigger tournaments are yet.
- The team battle interface has been changed to accommodate more teams. You will now only see the top 10 teams and your own team (if playing) on the tournament page with a link to another page with the full standings.
- The puzzle dashboard is now linked on a user's profile. You can click on the puzzle rating to open it.
- Bots can now show a reason for declining challenges.
- Fixed a bug where hovering over your opponent's clock did not show the correct tooltip.
- Fixed poor wording on the contact page explaining how to file a user report.
- Swiss tournaments will now show notifications for any streamers currently playing.
- The puzzle dashboard no longer says "Train these to optimize your progress!" when no puzzles has been attempted. It now says "Nothing to show, go play some puzzles first!"
- Tournaments linked on the homepage now have a maximum countdown time of 24 hours.
- New Translations via Crowdin.
January 20th, 2021
- Mobile app version 7.7.0 released.
- Stockfish 12 now available on the app for standard chess and all variants.
- Fixed the OTB clock display in the app.
- Added The California piece set to the app, updated the Maestro and Cardinal set.
- Updated app translations.
- NNUE toggle added to the app analysis board.
- Fixed multi-board view for broadcasts.
- More Checkmate puzzles themes; "Arabian Mate," "Boden's Mate," etc.
- New Translations via Crowdin.
January 15th, 2021
- New Puzzle Dashboard added at https://lichess.org/training/dashboard/30/dashboard with "Improvement areas," "Strengths," and a full puzzle history.
- Added 3 new puzzle themes; "Master," "Master vs. Master" and "Super GM."
- Added a "play with the machine" button after a puzzle attempt is made. This allows you to play out the position against Stockfish.
- New puzzles added, now over 1 million puzzles in the database.
- Fixed a bug where puzzle history was stored locally after logging out.
- Fixed some bugs with Puzzles on the app.
- Team Leaders can now set a password to allow joining a team.
- Added a section for featured bots on https://lichess.org/player/bots.
- Improvements to which games are chosen for "top game" on https://lichess.org/tv.
- Added Chess960 variant tournaments and tweaked variant tournament scheduling to make more hourly variant tournaments.
- Self-mentions (with "@") are no longer possible in chat.
- Fixed a bug where BOT accounts were incorrectly shown offline.
- New Translations via Crowdin.
- Fixed session fixation with magic login links and added an OAuth scope to create login links.
- Added text shadow when using a transparent background to make the text more readable.
- The privacy policy has been updated and a link is now included on the signup page and the email confirming a new account.
- Fixed a bug that caused some lag when passing 120,000 concurrent users.
- Released fishnet 2.2.1 The minimum required version necessary for fishnet clients is now 2.1.3, so all standard games are now analysed using NNUE.
- Fixed a bug that had broken embedded interactive lesson chapters in studies.
- "Can I change my username?" added to FAQ.
- Added a logout URL for users with very old browsers that cannot access the menus on the homepage.
- Fixed a bug with anonymous correspondence seeks.
- New URL for the changelog: https://lichess.org/changelog. The changelog is also now linked on the website in other documentation like Lichess.org/about.
- Improvements to the non-visual user interface for blind users.
- The maximum amount of study topics is bumped up to 64 from 32
- The maximum number of cores for local analysis has been raised to 32 from 16.
- Added language that clarifies that playing (for example) Stockfish level 8 is still using Stockfish version 12.
December 30th, 2020
- Added a list of upcoming or ongoing tournaments that each user has registered for. It can be reached by going to your profile and clicking on "tournament points," then "upcoming."
- The swiss tournaments featured on https://lichess.org/swiss will now be more recent tournaments and exclude tournaments with manually scheduled rounds.
- Numerous tweaks and fixes to the puzzle system. (The site has been updated 6 times since the last changelog entry, mostly with small changes to the new puzzle system)
- It is now against Lichess rules to offer a pdf file or software as the prize in a tournament. Please report this with lichess.org/report if you see it happening.
- Fishnet 2.2.0 is Live!
- The small orange circle that appeared in the lower right corner of each chessboard has been removed. (It's still possible to resize the board this way)
- Fixed a bug where the chat presets weren't appearing for anonymous games.
- Fixed a bug where it was sometimes possible to chat in anonymous games that come from the lobby.
- Fixed a bug where the Racing Kings preview image was flipped for players when they played black.
- Piece animation durations have been simplified and normalized.
- New volunteer translations via Crowdin.
December 22nd, 2020
- The long awaited new Lichess puzzle system is live.
- Both the new Lichess puzzle set and the previous one are now available for download.
- New volunteer translations via Crowdin.
- Mods can now set kid mode for users.
- A slight gradient was added to capture indicators.
- Added three new Variant World Champion 2020 Trophies.
December 16th, 2020
- Upgraded all local analysis to Stockfish 12; the analysis board, studies, and broadcasts.
- "Request Analysis" limits raised back to old levels. You now receive 30 per day/120 per week.
- Fixed a bug where some users were able to use chat in an anonymous game started from the lobby. Chat is only supposed to be possible in anonymous games from direct challenges.
- Various changes to the new puzzle system beta.
- A new permission that allows some users to make Oauth challenges for any other user without an Oauth token.
- Removed the captcha on team join requests.
- New translations via Crowdin.
December 11th, 2020
- The open beta for the new puzzle system is now available on our testing site.
- A welcome email will only be sent to new accounts if there is no confirmation email sent.
- New Translations via Crowdin.
- Fixed a bug where some thematic tournaments were using the wrong FEN start position.
- Fixed a bug where Lichess was not able to send system DMs to users without an associated Email address.
- Minor edits to the Fishnet acceptance message.
November 30th, 2020
- A big update to Fishnet, the software that handles automated game analysis on Lichess. It will now use Stockfish 12 NNUE and provide better analysis faster.
- "Close" button in team settings changed to "Close Team" for clarity. It was also made bigger, redder, and scarier to avoid accidental team closings.
- Password Complexity meter added to the password reset form.
- Limit on players in Swiss tournaments raised to 4000. (Previously 2000)
- Now possible to abort a simul from the edit simul page.
- New Crowdin translations.
November 25th, 2020
- Fixed a bug on the swiss tournament form where the 90 second interval was labeled as "one minute"
- Added a text warning on the change password form for when the 2 entered passwords don't match.
- Improvements to the Oauth API system.
- Fixed a bug where user's requested analysis was counted twice.
- Updated the opening names database.
November 16th, 2020
- Fixed a bug that sometimes caused a "bad request" error for Stripe payments.
- New Crowdin translations.
- The search fields previously removed from the games search page have now been returned.
- Fixed a bug that sometimes caused banned users to not be removed from tournaments standings.
- Mods can now edit simuls.
- The new account creation screen now has a password complexity meter.
November 9th, 2020
- Stricter limits on the amount of Fishnet game analysis that users can request. 25 per day/100 per week now allowed per account. (These limits subject to change)
- Requesting analysis on the games of others now counts twice as much as your own games against the limit.
- An account is now required to request analysis.
- Homepage preset seek pairings tweaked to be more efficient.
- Changing the associated Twitch or YouTube channel for a streamer page now requires mod approval.
- The new Chess.com API for live games can now be used as a source for broadcast pages.
- Fixed a small bug with DGT board text-to-speech.
- Tournament creation limits doubled for tournament managers.
- Some fields on https://lichess.org/games/search removed.
- BOT accounts no longer allowed to post links.
- Fixed a bug with team leaders timing out users in their team chat.
- The banned IP address is now shown on the page that says a user is IP blacklisted.
- Small fix to the Tournament form.
- New Crowdin translations.
October 20, 2020
- It is now possible to start a swiss tournament, arena tournament or simul from any legal chess position by entering a FEN.
- Added a setting to event pages. (The big buttons on the homepage that usually link to streams or events) It's now possible to give a countdown for an upcoming event or simply redirect to the intended URL immediately. (Event pages can only be created by admins)
- New selectable icons added to homepage event buttons. A microphone, A trophy, The Lichess Logo and the Offerspill logo.
- Added links to Lichess.org/dgt. The Lichess/dgt board integration feature.
- Added support for playing multiple concurrent games with a dgt board
- Added a new API endpoint for downloading the results of a swiss tournament.
- Fixed a bug with the patron lifetime amount display.
- Minor visual improvements to the Swiss tournament FAQ
- Improved the "help" link to captchas on new forum posts, new account registrations and other pages.
- New translations via Crowdin
October 16, 2020
- Tweaks to markdown text on event and broadcast pages.
- Lichess.org/support now redirects to lichess.org/contact.
- Fixed a bug where zen mode would move the board slightly.
- Tweaks to the ban appeal interface.
- Banned users with shield trophies will now have them removed automatically for 30 days.
- While choosing players, the simul user interface now shows the number of players currently selected to play.
- Users are now allowed to re-try the "request computer analysis" button on a study or broadcast every 5 minutes.
- Banned users are now greyed out on swiss tournament podiums.
- New translations added via crowdin.
- Removed unused css.
- Added "Dark board" theme.
Distant past
We started to maintain this less technical changelog only 10 years after Lichess saw the light of day, so there is plenty more history in the commit logs of all the source repositories.