| !! latest version !! Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: anematode
Date: Thu Jan 22 19:15:17 2026 +0100 Timestamp: 1769105717 Make PGO builds deterministic again some environment dependent execution (e.g. pid) were being std::hash'ed, and net filenames put in unordered maps. Also uses sprintf instead of std::to_string. Depending on precise content, this could lead to different PGO'ed binaries. This is mitigated by using a basic hash function. This also fixes a potential issue in net filename generation, in cases where std::hash would use invocation dependent salt, which is not the cases today for typical std libraries. Closes https://github.com/official-stockfish/Stockfish/pull/6562 No functional change see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: anematode
Date: Sun Jan 18 08:53:06 2026 +0100 Timestamp: 1768722786 use default signal handler after cleanup With the current setup, on Linux, SIGILL (and SIGSEGV/SIGBUS etc., in the case of a program bug) lead to no feedback if they occur after the signal handlers are installed, they just exit silently. By invoking the default signal handler, we can still get the appropriate feedback. This is particularly important for feedback if someone downloads the wrong SF binary and runs it on Linux. closes https://github.com/official-stockfish/Stockfish/pull/6554 No functional change see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Robert Nurnberg @ elitebook
Date: Thu Jan 15 22:19:50 2026 +0100 Timestamp: 1768511990 update the WDL model This PR updates the internal WDL model, using data from 3.1M games played by the revisions since 44d5467. Note that the normalizing constant increases only moderately from 377 to 385. closes https://github.com/official-stockfish/Stockfish/pull/6549 No functional change see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: anematode
Date: Thu Jan 15 22:17:14 2026 +0100 Timestamp: 1768511834 Skip munmap when exiting via a signal avoid munmap of memory when exiting via signal, which avoids side effects such as triggering asserts or (caught) segfaults while the process exists. closes https://github.com/official-stockfish/Stockfish/pull/6542 No functional change see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Joost VandeVondele
Date: Thu Jan 15 22:13:26 2026 +0100 Timestamp: 1768511606 Fix integer overflow. scaledBonus can reach rather large values, which lead to an int overflow as detected anematode using ubsan. (see https://github.com/official-stockfish/Stockfish/issues/6505#issuecomment-3696988889) It can be fixed by scaling nominator and denominator appropriately, which doesn't change the bench, as long as there is no overflow. First overflow/bench change happens at depth 26 closes https://github.com/official-stockfish/Stockfish/pull/6540 Bench: 2050811 see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 + SSSE3 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Timothy Herchen
Date: Sun Jan 11 09:13:37 2026 +0100 Timestamp: 1768119217 Fix RelationCache on Windows 10 compiles Windows 10 is missing the GroupMasks and GroupCount members, this breaks compiles on Windows 10. Windows 11 builds, including the official ones, run fine on Windows 10/11. To support developers/testers on Windows 10, fallback conditionally to the Windows 10 struct definition. closes https://github.com/official-stockfish/Stockfish/pull/6538 No functional change see source |
| Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: KazApps
Date: Sun Jan 11 09:09:55 2026 +0100 Timestamp: 1768118995 Simplify make_index Refactor index LUT construction to simplify make_index. Passed STC Non-Regression: LLR: 2.93 (-2.94,2.94) <-1.75,0.25> Total: 62432 W: 16193 L: 16006 D: 30233 Elo +1.04 Ptnml(0-2): 189, 6950, 16764, 7111, 202 https://tests.stockfishchess.org/tests/view/6959985ad844c1ce7cc7eac8 closes https://github.com/official-stockfish/Stockfish/pull/6522 No functional change. see source |
| Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: KazApps
Date: Sat Jan 10 16:06:18 2026 +0100 Timestamp: 1768057578 Make enums unsigned Speed up by using unsigned enums. Passed STC: LLR: 2.98 (-2.94,2.94) <0.00,2.00> Total: 49248 W: 12894 L: 12568 D: 23786 Elo +2.30 Ptnml(0-2): 119, 5353, 13397, 5593, 16 https://tests.stockfishchess.org/tests/view/695e3e5002d0182a589fe965 closes https://github.com/official-stockfish/Stockfish/pull/6532 No functional change see source |
| Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: FauziAkram
Date: Sat Jan 10 15:47:11 2026 +0100 Timestamp: 1768056431 Simplify fail high reduction formula Passed STC: LLR: 2.97 (-2.94,2.94) <-1.75,0.25> Total: 165792 W: 42849 L: 42768 D: 80175 Elo +0.17 Ptnml(0-2): 512, 19499, 42800, 19566, 519 https://tests.stockfishchess.org/tests/view/695cdd95912b7ff140de60c2 Passed LTC: LLR: 2.95 (-2.94,2.94) <-1.75,0.25> Total: 80448 W: 20619 L: 20459 D: 39370 Elo +0.69 Ptnml(0-2): 47, 8693, 22596, 8829, 59 https://tests.stockfishchess.org/tests/view/695f7e84ca95f52e4b852536 closes https://github.com/official-stockfish/Stockfish/pull/6535 bench: 2050811 see source |
| Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: anematode
Date: Sat Jan 10 15:46:01 2026 +0100 Timestamp: 1768056361 Make shared history allocation aware of non-uniform cache access Although shared history has been successful overall, it led to some speed issues with large numbers of threads. Originally we just split by NUMA node, but on systems with non-unified L3 caches (most AMD workstation and server CPUs, and some Intel E-core based server CPUs), this can still lead to a speed penalty at the default config. Thus, we decided to further subdivide the shared history based on the L3 cache structure. Based on this test, the original SPRTs, and speed experiments, we decided that grouping L3 domains to reach 32 threads per SharedHistories was a reasonable balance for affected systems – but we may revisit this in the future. See the PR for full details. In an extreme case, a single-socket EPYC 9755 configured with 1 numa domain per socket, the nps increases from: Nodes/second : 182827480 to Nodes/second : 229118365 In many cases, when L3 caches are shared between many threads, or when several numa nodes are already configured per socket, this patch does not influence the default. This default setting can adjusted with the existing NumaPolicy option. closes https://github.com/official-stockfish/Stockfish/pull/6526 No functional change. see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Disservin
Date: Sat Jan 10 15:36:52 2026 +0100 Timestamp: 1768055812 Compiler Check Compiles and Runs Stockfish on all supported gcc & clang compilers. Only linux and avx2 currently. closes https://github.com/official-stockfish/Stockfish/pull/6533 No functional change see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Disservin
Date: Sat Jan 10 15:34:37 2026 +0100 Timestamp: 1768055677 Fix Compiler Warning Only the one on line 158 is actually required but doesn't hurt to add constexpr where applicable here. Warning was "comparison of unsigned expression in '< 0' is always false" closes https://github.com/official-stockfish/Stockfish/pull/6530 No functional change see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Disservin
Date: Sat Jan 10 15:33:36 2026 +0100 Timestamp: 1768055616 Fix Clang Tbprobe Miscompilation Recent changes to the Square enum (reducing it from int32_t to int8_t) now allow the compiler to vectorize loops that were previously too wide for targets below AVX-512. However, this vectorization which Clang performs is not correct and causes a miscompilation. Disable this vectorization. This particular issue was noticable with Clang 15 and Clang 19, on avx2 as well as applie-silicon. Ref: #6063 Original Clang Issue: llvm/llvm-project#80494 First reported by #6528, though misinterpreted. closes #6529 No functional change see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Jakub Ciolek
Date: Tue Jan 6 12:08:08 2026 +0100 Timestamp: 1767697688 qsearch: prevent bestValue from going down The bestValue can sometimes go down. This happens 2% of the time or so. This fix stops it from decreasing. Failed gainer STC: LLR: -2.94 (-2.94,2.94) <0.00,2.00> Total: 146176 W: 37930 L: 37976 D: 70270 Elo -0.11 Ptnml(0-2): 480, 17422, 37366, 17304, 516 https://tests.stockfishchess.org/tests/view/6953be19572093c1986da66a Passed Non-regression LTC: LLR: 2.95 (-2.94,2.94) <-1.75,0.25> Total: 257796 W: 65662 L: 65683 D: 126451 Elo -0.03 Ptnml(0-2): 164, 28247, 72087, 28246, 154 https://tests.stockfishchess.org/tests/view/69554ff0d844c1ce7cc7e333 closes https://github.com/official-stockfish/Stockfish/pull/6520 fixes https://github.com/official-stockfish/Stockfish/issues/6519 Bench: 2477446 see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: anematode
Date: Tue Jan 6 12:02:37 2026 +0100 Timestamp: 1767697357 Network loading refactoring closes https://github.com/official-stockfish/Stockfish/pull/6523 No functional change see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Syine Mineta
Date: Tue Jan 6 12:01:01 2026 +0100 Timestamp: 1767697261 Fix remote access bug across NUMA nodes Ensure that thread-local data is created within the correct NUMA context, so that thread stacks or thread-local storage are allocated to proper NUMA nodes. refs https://github.com/official-stockfish/Stockfish/issues/6516 closes https://github.com/official-stockfish/Stockfish/pull/6518 No functional change see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Joost VandeVondele
Date: Thu Jan 1 16:17:38 2026 +0100 Timestamp: 1767280658 Update of the year Happy New Year! closes https://github.com/official-stockfish/Stockfish/pull/6514 No functional change see source |
| Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: mstembera
Date: Thu Jan 1 16:13:44 2026 +0100 Timestamp: 1767280424 Minor cleanup in full_threats.cpp closes https://github.com/official-stockfish/Stockfish/pull/6509 No functional change see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: FauziAkram
Date: Thu Jan 1 16:12:35 2026 +0100 Timestamp: 1767280355 Replacing nested loops with a single range-based for loop closes https://github.com/official-stockfish/Stockfish/pull/6503 No functional change see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: anematode
Date: Thu Jan 1 16:08:03 2026 +0100 Timestamp: 1767280083 simplify find_nnz a bit This code path is never taken for vector sizes >= 512, so we can simplify it. closes https://github.com/official-stockfish/Stockfish/pull/6501 No functional change see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: ppigazzini
Date: Thu Jan 1 16:06:25 2026 +0100 Timestamp: 1767279985 build: rename WINE_PATH to RUN_PREFIX for wrapper execution WINE_PATH started as a Wine-specific knob, but it’s now used more generally as a command prefix to run the built engine under wrappers like Intel SDE, qemu-user, etc. - Add RUN_PREFIX as the supported “run wrapper/prefix” variable in Makefile - Set WINE_PATH as a deprecated alias - Update CI and scripts to use RUN_PREFIX closes https://github.com/official-stockfish/Stockfish/pull/6500 No functional change see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: anematode
Date: Thu Jan 1 16:04:43 2026 +0100 Timestamp: 1767279883 port get_changed_pieces to ARM NEON passed STC: LLR: 2.94 (-2.94,2.94) <0.00,2.00> Total: 71968 W: 18833 L: 18489 D: 34646 Elo +1.66 Ptnml(0-2): 192, 7310, 20643, 7640, 199 https://tests.stockfishchess.org/tests/view/69509e5c572093c1986d7a0a closes https://github.com/official-stockfish/Stockfish/pull/6512 No functional change see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Michael Chaly
Date: Thu Jan 1 15:53:04 2026 +0100 Timestamp: 1767279184 Adjust main history with every new root position this patch dampens down main history to 3/4 of it value for all possible moves at the start of ID loop, making it partially refresh with every new root position. Passed STC: https://tests.stockfishchess.org/tests/view/694e33ff572093c1986d7234 LLR: 2.93 (-2.94,2.94) <0.00,2.00> Total: 115520 W: 30164 L: 29735 D: 55621 Elo +1.29 Ptnml(0-2): 395, 13192, 30192, 13551, 430 Passed LTC: https://tests.stockfishchess.org/tests/view/6950cbe6572093c1986d816c LLR: 2.95 (-2.94,2.94) <0.50,2.50> Total: 63672 W: 16480 L: 16114 D: 31078 Elo +2.00 Ptnml(0-2): 46, 6524, 18329, 6892, 45 closes https://github.com/official-stockfish/Stockfish/pull/6504 bench 2710946 see source |
| Windows x64 for modern computers + AVX2 Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Steinar H. Gunderson
Date: Thu Jan 1 15:52:01 2026 +0100 Timestamp: 1767279121 Fix feature check Use _POSIX_C_SOURCE to check for PTHREAD_MUTEX_ROBUST support. The latter is a enum, not a defined variable. closes https://github.com/official-stockfish/Stockfish/pull/6510 No functional change see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 + SSSE3 Windows x64 Linux x64 for Haswell CPUs Linux x64 for modern computers + AVX2 Linux x64 for modern computers Linux x64 + SSSE3 Linux x64 | Author: Joost VandeVondele
Date: Thu Jan 1 15:51:09 2026 +0100 Timestamp: 1767279069 Fix incorrect initialization Fixes https://github.com/official-stockfish/Stockfish/issues/6505 Missing initialization seemingly resulting in side effects, as discussed in the issue. Credit to Sopel for spotting the bug. PR used as a testcase for CoPilot, doing the right thing https://github.com/official-stockfish/Stockfish/pull/6478#discussion_r2655467218 closes https://github.com/official-stockfish/Stockfish/pull/6511 No functional change see source |