lichess.org
Donate

Lichess Changelog - March 2026

Find all changelogs at https://lichess.org/changelog

Mobile updates

  • Add offline play and practice versus computer #2585, #2591, #2594, #2624, #2678, #2680
  • Add Stockfish 18 #2627
  • Add animated native splash logo (Android 12+) #2674
  • Add broadcast server analysis summary #2610
  • Add FEN sharing for opening explorer positions #2632 (thanks r3econ)
  • Add PGN sharing to opening explorer #2664 (thanks r3econ)
  • Add Puzzle Dashboard strengths and improvement areas #2651 (thanks r3econ)
  • Add "unlimited" switch in OTB config bottom sheet for unlimited time game #2344 (thanks nirajk14)
  • Improve user activity widget #2618 (thanks r3econ)
  • Allow to choose color for rated challenges #2598
  • Allow to share games opened from player results or app links #2608
  • Allow split-screen on older android versions #2609
  • Allow opening PGN files with multiple games #2656
  • Make it possible to share FEN of the position in opening explorer #2632 (thanks r3econ)
  • Display player names, titles and rating for imported games #2647
  • Show broadcast tiebreaks in bottom sheet #2604
  • Re-add color to broadcast player results #2601
  • Improve broadcast deeplinks #2597
  • Use BroadcastPlayerWidget where possible #2602
  • Remove padding in analysis board for phones that are not too small #2641
  • Add unit tests verifying app link route resolution #2626 (thanks r3econ)
  • Add a test that verifies that lichess.org/gameid opens analysis #2669 (thanks r3econ)
  • Fix broadcast round eval gauge #2595
  • Fix app logs preference #2596
  • Fix Puzzle Storm restart buttons #2600 (thanks G1Joshi)
  • Fix Telegram URL in profile #2648 (thanks mistmuth)
  • Fix engine evaluation issues #2650

Site updates

  • Add Epaulette Mate puzzle theme with translation and icon #19401
  • Add Swallow's Tail Mate puzzle theme with translation and icon #19402
  • Add tooltip for semantic dates, that shows the date is in UTC #19277
  • Add hover effect to hidden topnav buttons #19299, #19309
  • Add infinite scroll to inbox contacts list #19339 (thanks realJimJin)
  • Add green success flash for blogs on create/edit/delete #19355
  • Add blindfold mode toggle button #19555
  • Add 'h' shortcut to toggle board menu. #19602
  • Add overflow for .box elements where needed #19636
  • Add trophy image for CWC 2025 #19305 (thanks visualdenniss)
  • Add hover styles to checkbox element #19318 (thanks Simek)
  • Add board menu toggle for spectators on mobile #19354 (thanks realJimJin)
  • Add focus outline to radio tabs, update sidenav and header outline #19368 (thanks Simek)
  • Broadcasts: Team leaderboard changes and more #19334
  • Broadcasts: Fix player JSON types #19343
  • Broadcasts: More player and team JSON fixes #19364
  • Broadcasts: Ensure only 1 xhr request per tab load on team leaderboard #19365
  • Broadcasts: Add fideTC migration script #19391
  • Broadcasts: Skip calculating player stats until at least one game is finished #19619
  • Broadcasts: Remove empty-like tag values from source PGN #19622
  • Broadcasts: Improve and align player display #19633 (thanks Simek)
  • Broadcasts: Avoid DOM traversal in relay round select #19394 (thanks Simek)
  • Broadcasts: Fix round info text cutoff at certain widths #19350 (thanks realJimJin)
  • Broadcasts: Fix and improve tour selects #19392 (thanks Simek)
  • Broadcasts: Fix tour tabs keyboard navigation #19396 (thanks Simek)
  • Broadcasts: Fix some inputs in creation form #19516
  • Broadcasts: Fix voice chat display and update document title #19523
  • Study: Add keyboard navigation to study view tabs #19397 (thanks Simek)
  • Study: Add divider, simplify study chapters tabs, #19411 (thanks Simek)
  • Study: Add keyboard shortcuts for edit study, edit chapter, create chapter, and to search for chapters in a study #19577, #19601
  • Study: Fix 'd' and 'g' shortcuts not working #19570
  • Schedule hourly Rapid Arena with Increment #19321 (thanks Frederico-Messa)
  • Extend disconnect timeout with imbalance #19258
  • Enable fast keyboard move typing #19656
  • Implement game stream by oauth origin #19263
  • Implement dynamic default insights metric #19273
  • Update registration email hint #19420
  • Make report game link error message neutral #19483 (thanks SE-Doctor)
  • Refactor forum post layout for mobile #19271 (thanks Sama-004)
  • Scroll extra to daily feed items #19280
  • Scroll extra if the site header might be shown #19293
  • Shift top 50 and top 100 trophies up a bit on the perf page #19308
  • Space out trophy and username on perf page #19310
  • Adjust required horizontal move swiping delta #19324
  • Replace println with logger.info in FidePlayerSync #19331 (thanks realJimJin)
  • More visible NVUI button #19557
  • Restore daily puzzle title styling #19599
  • Do not show opponent left counter in zen mode #19418
  • Prevent puzzle reports from single-move PVs and low-depth searches #19446
  • Remove verification for streamer online check #19540
  • Remove unused chapter 'variant' prop #19276 (thanks PawelPlutaUek20)
  • Standardise checkbox/toggle UX on multiboard and study share #19281 (thanks nkc-137)
  • Streamline markdown textarea tabs appearance #19314 (thanks Simek)
  • Enhance user plan update with color unlock notification #19323 (thanks zonalraid45)
  • Update KOTH WC 2023 trophy with correct icon #19330 (thanks visualdenniss)
  • Do not use links for trophies without href #19335 (thanks Simek)
  • Show scoresheet scrollbar in Chromium browsers #19349 (thanks realJimJin)
  • Order language entries #19569 (thanks itsbilolbek)
  • Improve form elements focus styling #19317 (thanks Simek)
  • Improve mselect focus state, keyboard navigation and a11y #19369 (thanks Simek)
  • Improve lobby dialog keyboard navigation and a11y #19370 (thanks Simek)
  • Improve transition mixin, support multiple props #19376 (thanks Simek)
  • Improve copy-me button styling #19381 (thanks Simek)
  • Improve alignment of user activity timeline entries #19386 (thanks Simek)
  • Improve copy-me component when target is link #19487 (thanks Simek)
  • Improve markdown editor styles, align more with lichess #19649 (thanks Simek)
  • Improve blog cards hover appearance #19650 (thanks Simek)
  • Improve lobby buttons animations #19547 (thanks Simek)
  • Improve readability in picture background mode #19552 (thanks Simek)
  • Improve Puzzle Themes page appearance #19565 (thanks Simek)
  • Improve team tournament table for mobile #19574 (thanks Simek)
  • Improve videos reveal node readability in picture bg mode #19613 (thanks Simek)
  • Improve openings tree appearance #19616 (thanks Simek)
  • Various select-related tweaks #19413 (thanks Simek)
  • Small visual tweaks for forum #19427 (thanks Simek)
  • Visual tweaks for Zen mode #19562 (thanks Simek)
  • Allow opening user menu w keyboard, update links outline #19428 (thanks Simek)
  • Allow focusing home lobby tabs by keyboard #19461 (thanks Simek)
  • Allow keyboard interaction with menu bar #19479 (thanks Simek)
  • Don't allow focusing disabled fbt buttons #19481 (thanks Simek)
  • Only show sitting warning when player is in a losing position #19435 (thanks JustinAWei)
  • Extend sitting feedback fix to SitResign and equal-material positions #19447 (thanks JustinAWei)
  • Cancel stale premoves on game reload #19437 (thanks JustinAWei)
  • Match user profile side height with chart #19443 (thanks Simek)
  • Use default text size in board control menu #19549 (thanks Simek)
  • Align advanced search form appearance #19550 (thanks Simek)
  • Tweak tournament table to fit more content, fix box border radius #19618 (thanks Simek)
  • Tweak kbd appearance, add dark theme support #19627 (thanks Simek)
  • Tweak spacing on the Learn page, more concise display on mobile #19648 (thanks Simek)
  • Tweak tournament streamers link appearance #19469 (thanks Simek)
  • Visual tweaks for the video page #19498 (thanks Simek)
  • Remove commented-out dead code #19448 (thanks JustinAWei)
  • Remove dead linkPopup.ts, duplicated in dialogs.ts #19452 (thanks JustinAWei)
  • Remove padding from team name in tournament #19470 (thanks Simek)
  • Remove useless Bookmark class #19499 (thanks OwenKrawecki)
  • Deduplicate tournament/swiss pagination into shared lib module #19450 (thanks JustinAWei)
  • Deduplicate tournament/swiss search into shared pagination module #19515 (thanks JustinAWei)
  • Use shared shuffle from lib/algo instead of local duplicate #19510 (thanks JustinAWei)
  • Extract shared WikiBooks HTML transforms into lib/wikiBooks #19511 (thanks JustinAWei)
  • Extract shared redirectFirst into lib/view/pagination #19512 (thanks JustinAWei)
  • Convert close buttons from <a> to <button> for keyboard accessibility #19513 (thanks JustinAWei)
  • Avoid querying the same DOM element multiple times #19514 (thanks JustinAWei)
  • Move redirectFirst to lib/tournament #19522 (thanks JustinAWei)
  • Prevent stretching of player tip photo #19583 (thanks Simek)
  • Hide default Edge password input reveal icon #19585 (thanks Simek)
  • Use faded accent color for tabs-horiz border when hovered #19614 (thanks Simek)
  • Make Lobby display mode and filters keyboard accessible #19615 (thanks Simek)
  • Separate eval gauge from mini boards #19626 (thanks Simek)
  • Fix checkbox checkmark positioning #19270 (thanks nkc-137)
  • Fix tablesort CSS #19272
  • Fix study chapter scroll after DOM recreation when the variants differ #19274 (thanks PawelPlutaUek20)
  • Fix board editor castling rights bug #19286 (thanks PawelPlutaUek20)
  • Fix WebKit WASM bug #19298
  • Fix subnav icons alignment #19313 (thanks Simek)
  • Fix markdown textarea shift on "Write" tab focus #19327 (thanks Simek)
  • Fix lobby view toggle not updating immediately #19336 (thanks realJimJin)
  • Fix rating range sliders moving together in lobby settings #19348 (thanks realJimJin)
  • Fix study button data-count badge clipped by overflow #19351 (thanks realJimJin)
  • Fix practice mode not using figurine notation for best move #19352 (thanks realJimJin)
  • Fix patron currency change page reloading #19372 (thanks realJimJin)
  • Fix range input focus outline #19375 (thanks Simek)
  • Fix missing props module in the lobby package #19379 (thanks PawelPlutaUek20)
  • Fix toggle-box keyboard nav and styling #19395 (thanks Simek)
  • Fix viewport width issue on Chrome mobile browser #19400 (thanks sobhihamadi)
  • Fix puzzles not working correctly #19425 (thanks PawelPlutaUek20)
  • Fix using correct Android app ID in StaticContent.scala #19431 (thanks Tarek-9)
  • Fix patron donations in BGN currency not supported, but still present #19433 (thanks Ivan-Shaml)
  • Fix .fbt anchors color #19442 (thanks Simek)
  • Fix keyboard interactions for puzzles #19484 (thanks Simek)
  • Fix misleading import alias in swiss search #19449 (thanks JustinAWei)
  • Fix event listener accumulation and unsafe DOM traversal #19451 (thanks JustinAWei)
  • Fix focus order on the homepage #19460 (thanks Simek)
  • Fix location flag alignment in user profile #19468 (thanks Simek)
  • Fix impossible to select challenge reason #19508 (thanks PawelPlutaUek20)
  • Fix closed accounts not being displayed when listing blocked accounts #19551
  • Fix boxes compositing context in picture background mode #19575 (thanks Simek)
  • Fix game view overflow on very small mobile devices #19576 (thanks Simek)
  • Fix incorrect size of power tips when calculating position #19581 (thanks Simek)
  • Fix game result alignment on player profile #19584 (thanks Simek)
  • Fix user inbox text overflow #19598 (thanks Simek)
  • Fix chapter titles not taking names from PGN, add default name true #19624 (thanks Zinkelburger)
  • Lichobile: End-of-life notice #2583 (thanks jas14)
  • Lila-ws: Replace println with proper logger in RoundCrowd #810 (thanks realJimJin)
  • Lila-ws: Fix grammar in README #809 (thanks realJimJin)
  • Op1: Update README.md to fix a typo #1 (thanks andrewkornder)
  • Pgn-viewer: Set Pane type on corresponding class member #52 (thanks dragunovartem99)
  • Pgn-viewer: Fix disabled elements not firing mouse events #61 (thanks PawelPlutaUek20)
  • Pgn-viewer: Fix cg-custom-below position #62 (thanks PawelPlutaUek20)
  • Scalachess: Fix tiebreak direct encounter calculation and other tweaks #804

API updates

  • API Docs: Fix current game response schema and examples #605
  • API Docs: Add oneOf for other Game endpoints that can be pgn or ndjson #607
  • API Docs: Document broadcast team leaderboard endpoint #608
  • API Docs: Add fideTC for RelayTour.player response #611
  • API Docs: Relay players updates #612 (thanks allanjoseph98)
  • API Docs: Describe user preference fields #616 (thanks bryghtlabs-richard)
  • API Docs: Update api-player-top-nb-perfType.yaml #617 (thanks SE-Doctor)
  • API Docs: Update lichess-api.yaml #618 (thanks SE-Doctor)

Accessibility updates

  • NVUI: Allow ceval on tournament landing page #19664
  • NVUI: Fix renderPlayer #19416
  • Translate common broadcast group names #19268
  • Translate FIDE Federation names #19399
  • Broadcast i18n tweaks and additions #19295
Find all changelogs at https://lichess.org/changelog **Mobile updates** - Add offline play and practice versus computer [#2585](https://github.com/lichess-org/mobile/pull/2585), [#2591](https://github.com/lichess-org/mobile/pull/2591), [#2594](https://github.com/lichess-org/mobile/pull/2594), [#2624](https://github.com/lichess-org/mobile/pull/2624), [#2678](https://github.com/lichess-org/mobile/pull/2678), [#2680](https://github.com/lichess-org/mobile/pull/2680) - Add Stockfish 18 [#2627](https://github.com/lichess-org/mobile/pull/2627) - Add animated native splash logo (Android 12+) [#2674](https://github.com/lichess-org/mobile/pull/2674) - Add broadcast server analysis summary [#2610](https://github.com/lichess-org/mobile/pull/2610) - Add FEN sharing for opening explorer positions [#2632](https://github.com/lichess-org/mobile/pull/2632) (thanks [r3econ](https://github.com/r3econ)) - Add PGN sharing to opening explorer [#2664](https://github.com/lichess-org/mobile/pull/2664) (thanks [r3econ](https://github.com/r3econ)) - Add Puzzle Dashboard strengths and improvement areas [#2651](https://github.com/lichess-org/mobile/pull/2651) (thanks [r3econ](https://github.com/r3econ)) - Add "unlimited" switch in OTB config bottom sheet for unlimited time game [#2344](https://github.com/lichess-org/mobile/pull/2344) (thanks [nirajk14](https://github.com/nirajk14)) - Improve user activity widget [#2618](https://github.com/lichess-org/mobile/pull/2618) (thanks [r3econ](https://github.com/r3econ)) - Allow to choose color for rated challenges [#2598](https://github.com/lichess-org/mobile/pull/2598) - Allow to share games opened from player results or app links [#2608](https://github.com/lichess-org/mobile/pull/2608) - Allow split-screen on older android versions [#2609](https://github.com/lichess-org/mobile/pull/2609) - Allow opening PGN files with multiple games [#2656](https://github.com/lichess-org/mobile/pull/2656) - Make it possible to share FEN of the position in opening explorer [#2632](https://github.com/lichess-org/mobile/pull/2632) (thanks [r3econ](https://github.com/r3econ)) - Display player names, titles and rating for imported games [#2647](https://github.com/lichess-org/mobile/pull/2647) - Show broadcast tiebreaks in bottom sheet [#2604](https://github.com/lichess-org/mobile/pull/2604) - Re-add color to broadcast player results [#2601](https://github.com/lichess-org/mobile/pull/2601) - Improve broadcast deeplinks [#2597](https://github.com/lichess-org/mobile/pull/2597) - Use `BroadcastPlayerWidget` where possible [#2602](https://github.com/lichess-org/mobile/pull/2602) - Remove padding in analysis board for phones that are not too small [#2641](https://github.com/lichess-org/mobile/pull/2641) - Add unit tests verifying app link route resolution [#2626](https://github.com/lichess-org/mobile/pull/2626) (thanks [r3econ](https://github.com/r3econ)) - Add a test that verifies that lichess.org/gameid opens analysis [#2669](https://github.com/lichess-org/mobile/pull/2669) (thanks [r3econ](https://github.com/r3econ)) - Fix broadcast round eval gauge [#2595](https://github.com/lichess-org/mobile/pull/2595) - Fix app logs preference [#2596](https://github.com/lichess-org/mobile/pull/2596) - Fix Puzzle Storm restart buttons [#2600](https://github.com/lichess-org/mobile/pull/2600) (thanks [G1Joshi](https://github.com/G1Joshi)) - Fix Telegram URL in profile [#2648](https://github.com/lichess-org/mobile/pull/2648) (thanks [mistmuth](https://github.com/mistmuth)) - Fix engine evaluation issues [#2650](https://github.com/lichess-org/mobile/pull/2650) **Site updates** - Add Epaulette Mate puzzle theme with translation and icon [#19401](https://github.com/lichess-org/lila/pull/19401) - Add Swallow's Tail Mate puzzle theme with translation and icon [#19402](https://github.com/lichess-org/lila/pull/19402) - Add tooltip for semantic dates, that shows the date is in UTC [#19277](https://github.com/lichess-org/lila/pull/19277) - Add hover effect to hidden topnav buttons [#19299](https://github.com/lichess-org/lila/pull/19299), [#19309](https://github.com/lichess-org/lila/pull/19309) - Add infinite scroll to inbox contacts list [#19339](https://github.com/lichess-org/lila/pull/19339) (thanks [realJimJin](https://github.com/realJimJin)) - Add green success flash for blogs on create/edit/delete [#19355](https://github.com/lichess-org/lila/pull/19355) - Add blindfold mode toggle button [#19555](https://github.com/lichess-org/lila/pull/19555) - Add 'h' shortcut to toggle board menu. [#19602](https://github.com/lichess-org/lila/pull/19602) - Add overflow for `.box` elements where needed [#19636](https://github.com/lichess-org/lila/pull/19636) - Add trophy image for CWC 2025 [#19305](https://github.com/lichess-org/lila/pull/19305) (thanks [visualdenniss](https://github.com/visualdenniss)) - Add hover styles to checkbox element [#19318](https://github.com/lichess-org/lila/pull/19318) (thanks [Simek](https://github.com/Simek)) - Add board menu toggle for spectators on mobile [#19354](https://github.com/lichess-org/lila/pull/19354) (thanks [realJimJin](https://github.com/realJimJin)) - Add focus outline to radio tabs, update sidenav and header outline [#19368](https://github.com/lichess-org/lila/pull/19368) (thanks [Simek](https://github.com/Simek)) - Broadcasts: Team leaderboard changes and more [#19334](https://github.com/lichess-org/lila/pull/19334) - Broadcasts: Fix player JSON types [#19343](https://github.com/lichess-org/lila/pull/19343) - Broadcasts: More player and team JSON fixes [#19364](https://github.com/lichess-org/lila/pull/19364) - Broadcasts: Ensure only 1 xhr request per tab load on team leaderboard [#19365](https://github.com/lichess-org/lila/pull/19365) - Broadcasts: Add `fideTC` migration script [#19391](https://github.com/lichess-org/lila/pull/19391) - Broadcasts: Skip calculating player stats until at least one game is finished [#19619](https://github.com/lichess-org/lila/pull/19619) - Broadcasts: Remove empty-like tag values from source PGN [#19622](https://github.com/lichess-org/lila/pull/19622) - Broadcasts: Improve and align player display [#19633](https://github.com/lichess-org/lila/pull/19633) (thanks [Simek](https://github.com/Simek)) - Broadcasts: Avoid DOM traversal in relay round select [#19394](https://github.com/lichess-org/lila/pull/19394) (thanks [Simek](https://github.com/Simek)) - Broadcasts: Fix round info text cutoff at certain widths [#19350](https://github.com/lichess-org/lila/pull/19350) (thanks [realJimJin](https://github.com/realJimJin)) - Broadcasts: Fix and improve tour selects [#19392](https://github.com/lichess-org/lila/pull/19392) (thanks [Simek](https://github.com/Simek)) - Broadcasts: Fix tour tabs keyboard navigation [#19396](https://github.com/lichess-org/lila/pull/19396) (thanks [Simek](https://github.com/Simek)) - Broadcasts: Fix some inputs in creation form [#19516](https://github.com/lichess-org/lila/pull/19516) - Broadcasts: Fix voice chat display and update document title [#19523](https://github.com/lichess-org/lila/pull/19523) - Study: Add keyboard navigation to study view tabs [#19397](https://github.com/lichess-org/lila/pull/19397) (thanks [Simek](https://github.com/Simek)) - Study: Add divider, simplify study chapters tabs, [#19411](https://github.com/lichess-org/lila/pull/19411) (thanks [Simek](https://github.com/Simek)) - Study: Add keyboard shortcuts for edit study, edit chapter, create chapter, and to search for chapters in a study [#19577](https://github.com/lichess-org/lila/pull/19577), [#19601](https://github.com/lichess-org/lila/pull/19601) - Study: Fix 'd' and 'g' shortcuts not working [#19570](https://github.com/lichess-org/lila/pull/19570) - Schedule hourly Rapid Arena with Increment [#19321](https://github.com/lichess-org/lila/pull/19321) (thanks [Frederico-Messa](https://github.com/Frederico-Messa)) - Extend disconnect timeout with imbalance [#19258](https://github.com/lichess-org/lila/pull/19258) - Enable fast keyboard move typing [#19656](https://github.com/lichess-org/lila/pull/19656) - Implement game stream by oauth origin [#19263](https://github.com/lichess-org/lila/pull/19263) - Implement dynamic default insights metric [#19273](https://github.com/lichess-org/lila/pull/19273) - Update registration email hint [#19420](https://github.com/lichess-org/lila/pull/19420) - Make report game link error message neutral [#19483](https://github.com/lichess-org/lila/pull/19483) (thanks [SE-Doctor](https://github.com/SE-Doctor)) - Refactor forum post layout for mobile [#19271](https://github.com/lichess-org/lila/pull/19271) (thanks [Sama-004](https://github.com/Sama-004)) - Scroll extra to daily feed items [#19280](https://github.com/lichess-org/lila/pull/19280) - Scroll extra if the site header might be shown [#19293](https://github.com/lichess-org/lila/pull/19293) - Shift top 50 and top 100 trophies up a bit on the perf page [#19308](https://github.com/lichess-org/lila/pull/19308) - Space out trophy and username on perf page [#19310](https://github.com/lichess-org/lila/pull/19310) - Adjust required horizontal move swiping delta [#19324](https://github.com/lichess-org/lila/pull/19324) - Replace println with logger.info in FidePlayerSync [#19331](https://github.com/lichess-org/lila/pull/19331) (thanks [realJimJin](https://github.com/realJimJin)) - More visible NVUI button [#19557](https://github.com/lichess-org/lila/pull/19557) - Restore daily puzzle title styling [#19599](https://github.com/lichess-org/lila/pull/19599) - Do not show opponent left counter in zen mode [#19418](https://github.com/lichess-org/lila/pull/19418) - Prevent puzzle reports from single-move PVs and low-depth searches [#19446](https://github.com/lichess-org/lila/pull/19446) - Remove verification for streamer online check [#19540](https://github.com/lichess-org/lila/pull/19540) - Remove unused chapter 'variant' prop [#19276](https://github.com/lichess-org/lila/pull/19276) (thanks [PawelPlutaUek20](https://github.com/PawelPlutaUek20)) - Standardise checkbox/toggle UX on multiboard and study share [#19281](https://github.com/lichess-org/lila/pull/19281) (thanks [nkc-137](https://github.com/nkc-137)) - Streamline markdown textarea tabs appearance [#19314](https://github.com/lichess-org/lila/pull/19314) (thanks [Simek](https://github.com/Simek)) - Enhance user plan update with color unlock notification [#19323](https://github.com/lichess-org/lila/pull/19323) (thanks [zonalraid45](https://github.com/zonalraid45)) - Update KOTH WC 2023 trophy with correct icon [#19330](https://github.com/lichess-org/lila/pull/19330) (thanks [visualdenniss](https://github.com/visualdenniss)) - Do not use links for trophies without `href` [#19335](https://github.com/lichess-org/lila/pull/19335) (thanks [Simek](https://github.com/Simek)) - Show scoresheet scrollbar in Chromium browsers [#19349](https://github.com/lichess-org/lila/pull/19349) (thanks [realJimJin](https://github.com/realJimJin)) - Order language entries [#19569](https://github.com/lichess-org/lila/pull/19569) (thanks [itsbilolbek](https://github.com/itsbilolbek)) - Improve form elements focus styling [#19317](https://github.com/lichess-org/lila/pull/19317) (thanks [Simek](https://github.com/Simek)) - Improve mselect focus state, keyboard navigation and a11y [#19369](https://github.com/lichess-org/lila/pull/19369) (thanks [Simek](https://github.com/Simek)) - Improve lobby dialog keyboard navigation and a11y [#19370](https://github.com/lichess-org/lila/pull/19370) (thanks [Simek](https://github.com/Simek)) - Improve `transition` mixin, support multiple props [#19376](https://github.com/lichess-org/lila/pull/19376) (thanks [Simek](https://github.com/Simek)) - Improve copy-me button styling [#19381](https://github.com/lichess-org/lila/pull/19381) (thanks [Simek](https://github.com/Simek)) - Improve alignment of user activity timeline entries [#19386](https://github.com/lichess-org/lila/pull/19386) (thanks [Simek](https://github.com/Simek)) - Improve copy-me component when target is link [#19487](https://github.com/lichess-org/lila/pull/19487) (thanks [Simek](https://github.com/Simek)) - Improve markdown editor styles, align more with lichess [#19649](https://github.com/lichess-org/lila/pull/19649) (thanks [Simek](https://github.com/Simek)) - Improve blog cards hover appearance [#19650](https://github.com/lichess-org/lila/pull/19650) (thanks [Simek](https://github.com/Simek)) - Improve lobby buttons animations [#19547](https://github.com/lichess-org/lila/pull/19547) (thanks [Simek](https://github.com/Simek)) - Improve readability in picture background mode [#19552](https://github.com/lichess-org/lila/pull/19552) (thanks [Simek](https://github.com/Simek)) - Improve Puzzle Themes page appearance [#19565](https://github.com/lichess-org/lila/pull/19565) (thanks [Simek](https://github.com/Simek)) - Improve team tournament table for mobile [#19574](https://github.com/lichess-org/lila/pull/19574) (thanks [Simek](https://github.com/Simek)) - Improve videos reveal node readability in picture bg mode [#19613](https://github.com/lichess-org/lila/pull/19613) (thanks [Simek](https://github.com/Simek)) - Improve openings tree appearance [#19616](https://github.com/lichess-org/lila/pull/19616) (thanks [Simek](https://github.com/Simek)) - Various select-related tweaks [#19413](https://github.com/lichess-org/lila/pull/19413) (thanks [Simek](https://github.com/Simek)) - Small visual tweaks for forum [#19427](https://github.com/lichess-org/lila/pull/19427) (thanks [Simek](https://github.com/Simek)) - Visual tweaks for Zen mode [#19562](https://github.com/lichess-org/lila/pull/19562) (thanks [Simek](https://github.com/Simek)) - Allow opening user menu w keyboard, update links outline [#19428](https://github.com/lichess-org/lila/pull/19428) (thanks [Simek](https://github.com/Simek)) - Allow focusing home lobby tabs by keyboard [#19461](https://github.com/lichess-org/lila/pull/19461) (thanks [Simek](https://github.com/Simek)) - Allow keyboard interaction with menu bar [#19479](https://github.com/lichess-org/lila/pull/19479) (thanks [Simek](https://github.com/Simek)) - Don't allow focusing disabled fbt buttons [#19481](https://github.com/lichess-org/lila/pull/19481) (thanks [Simek](https://github.com/Simek)) - Only show sitting warning when player is in a losing position [#19435](https://github.com/lichess-org/lila/pull/19435) (thanks [JustinAWei](https://github.com/JustinAWei)) - Extend sitting feedback fix to `SitResign` and equal-material positions [#19447](https://github.com/lichess-org/lila/pull/19447) (thanks [JustinAWei](https://github.com/JustinAWei)) - Cancel stale premoves on game reload [#19437](https://github.com/lichess-org/lila/pull/19437) (thanks [JustinAWei](https://github.com/JustinAWei)) - Match user profile side height with chart [#19443](https://github.com/lichess-org/lila/pull/19443) (thanks [Simek](https://github.com/Simek)) - Use default text size in board control menu [#19549](https://github.com/lichess-org/lila/pull/19549) (thanks [Simek](https://github.com/Simek)) - Align advanced search form appearance [#19550](https://github.com/lichess-org/lila/pull/19550) (thanks [Simek](https://github.com/Simek)) - Tweak tournament table to fit more content, fix box border radius [#19618](https://github.com/lichess-org/lila/pull/19618) (thanks [Simek](https://github.com/Simek)) - Tweak `kbd` appearance, add dark theme support [#19627](https://github.com/lichess-org/lila/pull/19627) (thanks [Simek](https://github.com/Simek)) - Tweak spacing on the Learn page, more concise display on mobile [#19648](https://github.com/lichess-org/lila/pull/19648) (thanks [Simek](https://github.com/Simek)) - Tweak tournament streamers link appearance [#19469](https://github.com/lichess-org/lila/pull/19469) (thanks [Simek](https://github.com/Simek)) - Visual tweaks for the video page [#19498](https://github.com/lichess-org/lila/pull/19498) (thanks [Simek](https://github.com/Simek)) - Remove commented-out dead code [#19448](https://github.com/lichess-org/lila/pull/19448) (thanks [JustinAWei](https://github.com/JustinAWei)) - Remove dead linkPopup.ts, duplicated in dialogs.ts [#19452](https://github.com/lichess-org/lila/pull/19452) (thanks [JustinAWei](https://github.com/JustinAWei)) - Remove padding from team name in tournament [#19470](https://github.com/lichess-org/lila/pull/19470) (thanks [Simek](https://github.com/Simek)) - Remove useless Bookmark class [#19499](https://github.com/lichess-org/lila/pull/19499) (thanks [OwenKrawecki](https://github.com/OwenKrawecki)) - Deduplicate tournament/swiss pagination into shared lib module [#19450](https://github.com/lichess-org/lila/pull/19450) (thanks [JustinAWei](https://github.com/JustinAWei)) - Deduplicate tournament/swiss search into shared pagination module [#19515](https://github.com/lichess-org/lila/pull/19515) (thanks [JustinAWei](https://github.com/JustinAWei)) - Use shared shuffle from lib/algo instead of local duplicate [#19510](https://github.com/lichess-org/lila/pull/19510) (thanks [JustinAWei](https://github.com/JustinAWei)) - Extract shared WikiBooks HTML transforms into lib/wikiBooks [#19511](https://github.com/lichess-org/lila/pull/19511) (thanks [JustinAWei](https://github.com/JustinAWei)) - Extract shared redirectFirst into lib/view/pagination [#19512](https://github.com/lichess-org/lila/pull/19512) (thanks [JustinAWei](https://github.com/JustinAWei)) - Convert close buttons from `<a>` to `<button>` for keyboard accessibility [#19513](https://github.com/lichess-org/lila/pull/19513) (thanks [JustinAWei](https://github.com/JustinAWei)) - Avoid querying the same DOM element multiple times [#19514](https://github.com/lichess-org/lila/pull/19514) (thanks [JustinAWei](https://github.com/JustinAWei)) - Move redirectFirst to lib/tournament [#19522](https://github.com/lichess-org/lila/pull/19522) (thanks [JustinAWei](https://github.com/JustinAWei)) - Prevent stretching of player tip photo [#19583](https://github.com/lichess-org/lila/pull/19583) (thanks [Simek](https://github.com/Simek)) - Hide default Edge password input reveal icon [#19585](https://github.com/lichess-org/lila/pull/19585) (thanks [Simek](https://github.com/Simek)) - Use faded accent color for `tabs-horiz` border when hovered [#19614](https://github.com/lichess-org/lila/pull/19614) (thanks [Simek](https://github.com/Simek)) - Make Lobby display mode and filters keyboard accessible [#19615](https://github.com/lichess-org/lila/pull/19615) (thanks [Simek](https://github.com/Simek)) - Separate eval gauge from mini boards [#19626](https://github.com/lichess-org/lila/pull/19626) (thanks [Simek](https://github.com/Simek)) - Fix checkbox checkmark positioning [#19270](https://github.com/lichess-org/lila/pull/19270) (thanks [nkc-137](https://github.com/nkc-137)) - Fix tablesort CSS [#19272](https://github.com/lichess-org/lila/pull/19272) - Fix study chapter scroll after DOM recreation when the variants differ [#19274](https://github.com/lichess-org/lila/pull/19274) (thanks [PawelPlutaUek20](https://github.com/PawelPlutaUek20)) - Fix board editor castling rights bug [#19286](https://github.com/lichess-org/lila/pull/19286) (thanks [PawelPlutaUek20](https://github.com/PawelPlutaUek20)) - Fix WebKit WASM bug [#19298](https://github.com/lichess-org/lila/pull/19298) - Fix subnav icons alignment [#19313](https://github.com/lichess-org/lila/pull/19313) (thanks [Simek](https://github.com/Simek)) - Fix markdown textarea shift on "Write" tab focus [#19327](https://github.com/lichess-org/lila/pull/19327) (thanks [Simek](https://github.com/Simek)) - Fix lobby view toggle not updating immediately [#19336](https://github.com/lichess-org/lila/pull/19336) (thanks [realJimJin](https://github.com/realJimJin)) - Fix rating range sliders moving together in lobby settings [#19348](https://github.com/lichess-org/lila/pull/19348) (thanks [realJimJin](https://github.com/realJimJin)) - Fix study button data-count badge clipped by overflow [#19351](https://github.com/lichess-org/lila/pull/19351) (thanks [realJimJin](https://github.com/realJimJin)) - Fix practice mode not using figurine notation for best move [#19352](https://github.com/lichess-org/lila/pull/19352) (thanks [realJimJin](https://github.com/realJimJin)) - Fix patron currency change page reloading [#19372](https://github.com/lichess-org/lila/pull/19372) (thanks [realJimJin](https://github.com/realJimJin)) - Fix range input focus outline [#19375](https://github.com/lichess-org/lila/pull/19375) (thanks [Simek](https://github.com/Simek)) - Fix missing props module in the lobby package [#19379](https://github.com/lichess-org/lila/pull/19379) (thanks [PawelPlutaUek20](https://github.com/PawelPlutaUek20)) - Fix toggle-box keyboard nav and styling [#19395](https://github.com/lichess-org/lila/pull/19395) (thanks [Simek](https://github.com/Simek)) - Fix viewport width issue on Chrome mobile browser [#19400](https://github.com/lichess-org/lila/pull/19400) (thanks [sobhihamadi](https://github.com/sobhihamadi)) - Fix puzzles not working correctly [#19425](https://github.com/lichess-org/lila/pull/19425) (thanks [PawelPlutaUek20](https://github.com/PawelPlutaUek20)) - Fix using correct Android app ID in StaticContent.scala [#19431](https://github.com/lichess-org/lila/pull/19431) (thanks [Tarek-9](https://github.com/Tarek-9)) - Fix patron donations in BGN currency not supported, but still present [#19433](https://github.com/lichess-org/lila/pull/19433) (thanks [Ivan-Shaml](https://github.com/Ivan-Shaml)) - Fix `.fbt` anchors color [#19442](https://github.com/lichess-org/lila/pull/19442) (thanks [Simek](https://github.com/Simek)) - Fix keyboard interactions for puzzles [#19484](https://github.com/lichess-org/lila/pull/19484) (thanks [Simek](https://github.com/Simek)) - Fix misleading import alias in swiss search [#19449](https://github.com/lichess-org/lila/pull/19449) (thanks [JustinAWei](https://github.com/JustinAWei)) - Fix event listener accumulation and unsafe DOM traversal [#19451](https://github.com/lichess-org/lila/pull/19451) (thanks [JustinAWei](https://github.com/JustinAWei)) - Fix focus order on the homepage [#19460](https://github.com/lichess-org/lila/pull/19460) (thanks [Simek](https://github.com/Simek)) - Fix location flag alignment in user profile [#19468](https://github.com/lichess-org/lila/pull/19468) (thanks [Simek](https://github.com/Simek)) - Fix impossible to select challenge reason [#19508](https://github.com/lichess-org/lila/pull/19508) (thanks [PawelPlutaUek20](https://github.com/PawelPlutaUek20)) - Fix closed accounts not being displayed when listing blocked accounts [#19551](https://github.com/lichess-org/lila/pull/19551) - Fix boxes compositing context in picture background mode [#19575](https://github.com/lichess-org/lila/pull/19575) (thanks [Simek](https://github.com/Simek)) - Fix game view overflow on very small mobile devices [#19576](https://github.com/lichess-org/lila/pull/19576) (thanks [Simek](https://github.com/Simek)) - Fix incorrect size of power tips when calculating position [#19581](https://github.com/lichess-org/lila/pull/19581) (thanks [Simek](https://github.com/Simek)) - Fix game result alignment on player profile [#19584](https://github.com/lichess-org/lila/pull/19584) (thanks [Simek](https://github.com/Simek)) - Fix user inbox text overflow [#19598](https://github.com/lichess-org/lila/pull/19598) (thanks [Simek](https://github.com/Simek)) - Fix chapter titles not taking names from PGN, add default name `true` [#19624](https://github.com/lichess-org/lila/pull/19624) (thanks [Zinkelburger](https://github.com/Zinkelburger)) - Lichobile: End-of-life notice [#2583](https://github.com/lichess-org/lichobile/pull/2583) (thanks [jas14](https://github.com/jas14)) - Lila-ws: Replace `println` with proper `logger` in RoundCrowd [#810](https://github.com/lichess-org/lila-ws/pull/810) (thanks [realJimJin](https://github.com/realJimJin)) - Lila-ws: Fix grammar in README [#809](https://github.com/lichess-org/lila-ws/pull/809) (thanks [realJimJin](https://github.com/realJimJin)) - Op1: Update README.md to fix a typo [#1](https://github.com/lichess-org/op1/pull/1) (thanks [andrewkornder](https://github.com/andrewkornder)) - Pgn-viewer: Set Pane type on corresponding class member [#52](https://github.com/lichess-org/pgn-viewer/pull/52) (thanks [dragunovartem99](https://github.com/dragunovartem99)) - Pgn-viewer: Fix disabled elements not firing mouse events [#61](https://github.com/lichess-org/pgn-viewer/pull/61) (thanks [PawelPlutaUek20](https://github.com/PawelPlutaUek20)) - Pgn-viewer: Fix `cg-custom-below` position [#62](https://github.com/lichess-org/pgn-viewer/pull/62) (thanks [PawelPlutaUek20](https://github.com/PawelPlutaUek20)) - Scalachess: Fix tiebreak direct encounter calculation and other tweaks [#804](https://github.com/lichess-org/scalachess/pull/804) **API updates** - API Docs: Fix current game response schema and examples [#605](https://github.com/lichess-org/api/pull/605) - API Docs: Add oneOf for other Game endpoints that can be pgn or ndjson [#607](https://github.com/lichess-org/api/pull/607) - API Docs: Document broadcast team leaderboard endpoint [#608](https://github.com/lichess-org/api/pull/608) - API Docs: Add `fideTC` for `RelayTour.player` response [#611](https://github.com/lichess-org/api/pull/611) - API Docs: Relay players updates [#612](https://github.com/lichess-org/api/pull/612) (thanks [allanjoseph98](https://github.com/allanjoseph98)) - API Docs: Describe user preference fields [#616](https://github.com/lichess-org/api/pull/616) (thanks [bryghtlabs-richard](https://github.com/bryghtlabs-richard)) - API Docs: Update api-player-top-nb-perfType.yaml [#617](https://github.com/lichess-org/api/pull/617) (thanks [SE-Doctor](https://github.com/SE-Doctor)) - API Docs: Update lichess-api.yaml [#618](https://github.com/lichess-org/api/pull/618) (thanks [SE-Doctor](https://github.com/SE-Doctor)) **Accessibility updates** - NVUI: Allow ceval on tournament landing page [#19664](https://github.com/lichess-org/lila/pull/19664) - NVUI: Fix `renderPlayer` [#19416](https://github.com/lichess-org/lila/pull/19416) - Translate common broadcast group names [#19268](https://github.com/lichess-org/lila/pull/19268) - Translate FIDE Federation names [#19399](https://github.com/lichess-org/lila/pull/19399) - Broadcast i18n tweaks and additions [#19295](https://github.com/lichess-org/lila/pull/19295)

Cudos to the Lichess team the and the Player's who make this site happen.

This is hard work to do all this is 30 days, test the code make no error's.

Cudos to the Lichess team the and the Player's who make this site happen. This is hard work to do all this is 30 days, test the code make no error's.

I would say the addition that links to a tournament are now a deeplink to the player standing in a tournament is noteworthy.
This applies both to the tournaments mentioned in the player profile as well as the page with the player's recent tournaments.

May be missed because there was only an issue (#19702) and no PR..

I would say the addition that links to a tournament are now a deeplink to the player standing in a tournament is noteworthy. This applies both to the tournaments mentioned in the player profile as well as the page with the player's recent tournaments. May be missed because there was only an [issue (#19702)](https://github.com/lichess-org/lila/issues/19702) and no PR..

Nice changes, but still needs an option to have a game analysis sent to a titled coach for analysis, even if it has to be for a fee. I refuse by principle to rely on engines or any AI (ex. Stockfish).

Nice changes, but still needs an option to have a game analysis sent to a titled coach for analysis, even if it has to be for a fee. I refuse by principle to rely on engines or any AI (ex. Stockfish).

Ah, I completely understand what you mean, but Lichess isn't going to pay coaches to analyze games when Stockfish exists. Stockfish and ChatGPT shouldn't be confused. Don't you have a friend you could show these parts to?

Ah, I completely understand what you mean, but Lichess isn't going to pay coaches to analyze games when Stockfish exists. Stockfish and ChatGPT shouldn't be confused. Don't you have a friend you could show these parts to?

@AmirWassim I'm not confusing them. Both don't have a titled coach at the other end, so they're non-starters. I would sooner face a firing squad than use Stockfish to analyze a game. And no, I'm not letting just anyone do game analysis. It's a titled coach or nothing at all.

@AmirWassim I'm not confusing them. Both don't have a titled coach at the other end, so they're non-starters. I would sooner face a firing squad than use Stockfish to analyze a game. And no, I'm not letting just anyone do game analysis. It's a titled coach or nothing at all.

I will respect your point of view, and in any case, it's none of my business.
What I can tell you, however, is that Stockfish isn't a generative AI; it's just a computer. And would you be willing to tell me why you refuse to use Stockfish? That would help me to understand.

I will respect your point of view, and in any case, it's none of my business. What I can tell you, however, is that Stockfish isn't a generative AI; it's just a computer. And would you be willing to tell me why you refuse to use Stockfish? That would help me to understand.

@AmirWassim With all due respect, it does not matter if it's a computer engine or AI. Neither goes into nitty-gritty details of WHY a move was brilliant or a blunder. Without a plain English explanation from a human, I can look at the position all I want and it still won't make sense unless I am asked point blank what my thought process was or even if I was thinking at all. Engines can't do that, and natural language AI is IMHO untrustable.

That's why my position is that if you want a game analyzed, hire a coach. I will be the first to admit that this sucks for me because I can't afford regular coaching right now, thanks in no small part to a double hip replacement later this year that my insurance does not fully cover and therefore is going to cost me a pretty penny or two. But I will not be caught dead using a computer program that I know I will learn nothing helpful from, and seeing others in the forums developing AI-based analyzers and programs instead of making legitimate efforts to make coaches more accessible for players makes my blood boil.

The way I have reacted to those will likely get me banned from the forums (maybe I should just ask the mods to do it now?), but I am not going to apologize for taking what most people are viewing as a hardline viewpoint when a coach that will use the classical method of game analysis, using computers only as a last resort, is getting increasingly difficult to find but is exactly what I want from a coach.

@AmirWassim With all due respect, it does not matter if it's a computer engine or AI. Neither goes into nitty-gritty details of WHY a move was brilliant or a blunder. Without a plain English explanation from a human, I can look at the position all I want and it still won't make sense unless I am asked point blank what my thought process was or even if I was thinking at all. Engines can't do that, and natural language AI is IMHO untrustable. That's why my position is that if you want a game analyzed, hire a coach. I will be the first to admit that this sucks for me because I can't afford regular coaching right now, thanks in no small part to a double hip replacement later this year that my insurance does not fully cover and therefore is going to cost me a pretty penny or two. But I will not be caught dead using a computer program that I know I will learn nothing helpful from, and seeing others in the forums developing AI-based analyzers and programs instead of making legitimate efforts to make coaches more accessible for players makes my blood boil. The way I have reacted to those will likely get me banned from the forums (maybe I should just ask the mods to do it now?), but I am not going to apologize for taking what most people are viewing as a hardline viewpoint when a coach that will use the classical method of game analysis, using computers only as a last resort, is getting increasingly difficult to find but is exactly what I want from a coach.

No, you don't have to apologize, you have a respectable point of view. Indeed, Stockfish 18 simply gives you the best move, without adding anything else, but there are other programs capable of explaining that move, aren't there? Excuse me, I am indeed a bit heavy.

No, you don't have to apologize, you have a respectable point of view. Indeed, Stockfish 18 simply gives you the best move, without adding anything else, but there are other programs capable of explaining that move, aren't there? Excuse me, I am indeed a bit heavy.

And you don't owe me much respect, I haven't done anything good to you, and I'm just a 13-year-old kid :).

And you don't owe me much respect, I haven't done anything good to you, and I'm just a 13-year-old kid :).