Revolution-6.40-150926 supersedes
Revolution-6.10-310726 as the current IJCCRL-maintained Revolution release.
The update is substantially larger than an identity change: the maintained source line was advanced
chronologically from the July 26 Stockfish-dev topology to the accepted
September 13, 2026 endpoint
031dfeb437fa6b06cdbdf4ef89dfb82f6b83c4d3, the active NNUE was changed from
nn-ab28990d4ea3.nnue to nn-134a887f4c8f.nnue, multiple search,
time-management, platform and CI changes were integrated, and a historical Windows
std::filesystem prerequisite was finally completed before closing the Universal build.
This is a controlled source-maintenance, topology-integration, release-identity and build-validation release. Every Stockfish block was handled chronologically against the actual Revolution tree rather than by replacing the derivative code wholesale. Revolution-specific Book, Experience, Learning, Zobrist, Dynamic Evaluation, NNUE extensions, Syzygy and Universal-dispatch surfaces were preserved. No Elo gain or tournament superiority is claimed here.
- Release identity: the formal UCI release identity advances from
Revolution-6.10-310726toRevolution-6.40-150926. Architecture-aware informational output continues to identify the compiled target, while the formalid nameremains architecture-independent. - Stockfish topology: the previous HTML stopped at the accepted July 26 topology. The current source closes the chronological update chain through September 13, 2026, ending at
031dfeb437fa6b06cdbdf4ef89dfb82f6b83c4d3. - NNUE authority: the current default network is now
nn-134a887f4c8f.nnue, replacingnn-ab28990d4ea3.nnuefrom Revolution-6.10. - Search maintenance: the update incorporates the accepted aspiration fail-high recovery depth logic, prior-NMP fail-high handling, linear razoring maintenance, quiet-history scaling, continuation-history overflow correction and the other chronological search changes present in the accepted Stockfish blocks.
- Time-management maintenance: the source now includes the accepted cyclic/nodestime corrections, scaled-time clamp, move-horizon handling and time-disadvantage scaling while preserving Revolution’s local centiMTG topology.
- Filesystem and Windows path topology: the historical Stockfish prerequisite
22548cb0c0197079e0c6337b370061addf1d09fawas completed where Revolution still had an oldLogger::start(const std::string&)signature. It now consistently usesconst fs::path&. - Universal build closure: after the path repair, the real Windows/MinGW Universal build compiled all eight embedded x86 slices and linked the final
Revolution-6.40-150926-x86-64-universal.exe. - Release authorship: the public author line is now exactly
Jorge Ruiz Centelles and the Stockfish developers (see AUTHORS file), with no duplicated author or Stockfish credit. - Build quality: both the final Universal build and the standalone SSE4.1/POPCNT profile-build completed with zero warnings, zero compiler errors, zero undefined references/symbols and zero linker blockers.
- Derivative surfaces: Book, Experience, Learning, Zobrist, Dynamic Evaluation, Syzygy, the single public
EvalFileoption and the Universal dispatcher were preserved throughout the update.
| Release property | Previous: 6.10 | Current: 6.40 |
|---|---|---|
| Base identity | Revolution-6.10-310726 | Revolution-6.40-150926 |
| Accepted Stockfish topology | Through Jul 26, 2026 | Through Sep 13, 2026 — 031dfeb4 |
| Active NNUE | nn-ab28990d4ea3.nnue | nn-134a887f4c8f.nnue |
| Formal UCI identity | Revolution-6.10-310726 | Revolution-6.40-150926 |
| Author identity | Jorge Ruiz + Stockfish developers | Jorge Ruiz Centelles + Stockfish developers |
| Validated current Windows binaries | SSE4.1/POPCNT + AVX2 | Universal + SSE4.1/POPCNT |
| Universal public identity | Not documented in previous HTML | Revolution-6.40-150926-universal |
| Windows path topology | Historical mixed string/path state | Logger/start_logger consistently use fs::path |
| Final warning/error state | Zero warnings/errors on documented targets | Zero warnings/errors on Universal and SSE41/POPCNT |
| Reference bench | Previous-release baseline | 1,216,455 nodes |
src/Makefile:
ENGINE_BASENAME = Revolution
RELEASE_TAG = 6.40-150926
Active NNUE:
nn-134a887f4c8f.nnue
Final accepted Stockfish endpoint:
031dfeb437fa6b06cdbdf4ef89dfb82f6b83c4d3
Formal UCI:
id name Revolution-6.40-150926
UCI author:
id author Jorge Ruiz Centelles and the Stockfish developers (see AUTHORS file)
SSE4.1/POPCNT informational identity:
Revolution-6.40-150926-sse41popcnt
Universal informational identity:
Revolution-6.40-150926-universal
Validated Windows binaries:
Revolution-6.40-150926-sse41popcnt.exe
Revolution-6.40-150926-x86-64-universal.exe
The formal UCI engine name intentionally remains architecture-independent. Architecture is exposed
through startup/informational identity and the executable name. For Universal, the public runtime
identity remains -universal even when an optimized internal slice is selected.
- Audit the real Revolution tree: every block was applied against the actual source, preserving Book, Experience, Learning, Zobrist, Dynamic Evaluation, NNUE extensions, Syzygy and Universal-specific code.
- Recover missing historical prerequisites first: where later official commits depended on earlier infrastructure, the exact upstream prerequisite was recovered rather than approximated or skipped.
- Apply Stockfish chronologically: official commits were handled in order and classified as applied, locally adapted, already exact or proven no-op equivalent.
- Adapt only where Revolution topology required it: upstream semantic deltas were preserved without blind whole-file replacement.
- Change NNUE only when required: the final network was closed on
nn-134a887f4c8f.nnue. - Close the Stockfish target before rebranding: the full target was completed through Sep 13 before changing the public Revolution release identity.
- Perform the release-only rebrand: current identity/documentation surfaces changed to
Revolution-6.40-150926. - Revalidate Windows builds: Universal and SSE4.1/POPCNT were built with Clang/LLD and treated as failed if any warning, compiler error or linker blocker appeared.
- Repair the real Universal blocker surgically: the stale Logger string signature was replaced by the official
fs::pathform, with no Makefile, NNUE, search or Universal-dispatch rewrite. - Validate runtime: UCI identity,
isready, NNUE loading and real search were verified on the final binaries.
- completed the historical filesystem/path prerequisite required by later path work
- integrated NativeThread fixes and cleanup
- preserved POSIX thread failure handling
- integrated MSVC warning and valgrind-harness maintenance
- integrated ANSI-path handling
- integrated the accepted seekMate extension/futility changes
- Revolution-specific overlays preserved- PV-extension / nodestime maintenance
- macOS compile fix
- CI cache maintenance
- mmap large aligned allocation support
- contributor metadata update
- optimism-scaling formula update
- no Revolution Book / Experience / Zobrist regression- MAP_FAILED handling
- HalfKAv2_hm cleanup and incremental update work
- cyclic time-control move-horizon fix adapted to Revolution centiMTG
- WDL model update
- continuation-history overflow correction
- cctype undefined-behaviour corrections
- nodestime scaled-time bug fix
- miscellaneous/comment-only official topology preserved where applicable- official Stockfish release marker classified as a protected-derived-identity no-op
- no Revolution source change required
- Revolution release identity remained independent from Stockfish's public version string- nullptr SearchManager topology
- prior NMP fail-high handling
- linear razoring
- time-disadvantage scaling
- MovePicker local accumulator work
- cyclic nodestime update
- debug-return cleanup
- quiet-history scaling
- PawnPushOrAttacks removal with exact Revolution namespace adaptation
- AVX2 compiler CI maintenance
- sanitizer -ftrapv maintenance1. Expand go-mate CI coverage
2. Integrate failHighRecovery aspiration-depth handling
3. Harden reproducibility checks
4. Update active NNUE to nn-134a887f4c8f.nnue
5. Optimize both_attacks_bb()
6. Add explicit <iterator> dependency to NUMA code
7. Remove the unused global constexpr LSB helper while preserving Revolution's active local NNUE helper
Final official endpoint:
031dfeb437fa6b06cdbdf4ef89dfb82f6b83c4d3- rebrand to Revolution-6.40-150926
- exact author identity: Jorge Ruiz Centelles and the Stockfish developers (see AUTHORS file)
- formal UCI id remains architecture-independent
- informational identity remains architecture-aware
- Universal public identity remains -universal
- no chess semantics changed during rebrandObserved blocker:
Logger::start(const std::string&)
received const fs::path& from start_logger()
Historical upstream authority:
22548cb0c0197079e0c6337b370061addf1d09fa
Exact repair:
static void start(const std::string& fname)
->
static void start(const fs::path& fname)
Scope:
src/misc.cpp only
one semantic type change
no search change
no NNUE change
no Makefile change
no Universal-dispatch changeActive default network:
nn-134a887f4c8f.nnue
Validated SHA-256:
134a887f4c8ff7bf7284177a3b3fc6ff9cef95ba89eb8db3079a8e507f7126af
Public UCI surface:
option name EvalFile type string default nn-134a887f4c8f.nnue
EvalFileSmall:
absentTarget:
ARCH=x86-64-universal
Compiler:
x86_64-w64-mingw32-clang++
Linker:
LLD via -fuse-ld=lld
Physical executable:
Revolution-6.40-150926-x86-64-universal.exe
Public informational identity:
Revolution-6.40-150926-universal
Embedded x86 slices:
x86-64
x86-64-sse41-popcnt
x86-64-avx2
x86-64-bmi2
x86-64-avxvnni
x86-64-avx512
x86-64-vnni512
x86-64-avx512icl
Final compiler warnings:
0
Final compiler errors:
0
Undefined references / symbols:
0
Linker blockers:
0
SHA-256:
4fab852d96ed36a0086bfd9b6aed00a1230b942bcc18c641138c734eb8102a81
The Universal package keeps the public -universal identity regardless of which optimized
internal slice is selected at runtime.
Target:
ARCH=x86-64-sse41-popcnt
Compiler:
x86_64-w64-mingw32-clang++
Linker:
LLD via -fuse-ld=lld
Build mode:
profile-build with PGO and full LTO
Physical executable:
Revolution-6.40-150926-sse41popcnt.exe
Informational identity:
Revolution-6.40-150926-sse41popcnt
Final compiler warnings:
0
Final compiler errors:
0
Undefined references / symbols:
0
Linker blockers:
0
SHA-256:
5896132641a6890d04f580fe2899881955b69442d596e561d8f94ff1ac72d5a2Formal UCI:
id name Revolution-6.40-150926
Author:
id author Jorge Ruiz Centelles and the Stockfish developers (see AUTHORS file)
Universal startup / analysis:
Revolution-6.40-150926-universal
SSE4.1/POPCNT startup / analysis:
Revolution-6.40-150926-sse41popcnt
Default NNUE:
option name EvalFile type string default nn-134a887f4c8f.nnue
Protocol:
uciok
readyok
Runtime:
NNUE loaded successfully
bestmove returned successfully
Perft 5 reference:
4,865,609
Bench reference:
1,216,455 nodes
The first-run message Experience file not found: experience.exp is informational when no
local Experience database exists. It is not a compiler, linker, NNUE or runtime failure.
- Book: CTG/BIN Book 1 and Book 2 remain present.
- Experience: enable, file, readonly and Experience Book controls remain present.
- Learning: the established derivative learning/persistence topology remains preserved.
- Zobrist: Position, Experience and Revolution-specific Zobrist surfaces were preserved.
- Dynamic Evaluation: the Revolution option remains present.
- Search controls: Threads, Hash, Ponder, MultiPV, Skill Level and strength limiting remain present.
- Tablebases: Syzygy path, probe depth, 50-move rule and probe limit remain present.
- NNUE: a single public
EvalFilesurface remains active. - Universal dispatcher: preserved with architecture-aware internal selection and stable public
-universalidentity. - Absent surfaces:
EvalFileSmallremains absent.
Windows SSE4.1/POPCNT:
Revolution-6.40-150926-sse41popcnt.exe
Windows Universal physical package:
Revolution-6.40-150926-x86-64-universal.exe
Universal public informational identity:
Revolution-6.40-150926-universal
Generic ordinary-build naming rule:
Revolution-6.40-150926-<compiled-architecture-suffix>
Formal UCI identity for all variants:
id name Revolution-6.40-150926- Derived-engine identity: Revolution remains a Stockfish-derived engine with its own release identity rather than adopting the upstream Stockfish public version string.
- Strict single-net surface: one current default NNUE and one public
EvalFilesurface remain authoritative. - Book / Experience / Learning: the update preserves these derivative facilities rather than replacing them with an upstream-only tree.
- Syzygy and Zobrist: no tablebase contract or Zobrist-identity reset was introduced.
- Universal public identity: the runtime-selected internal slice does not change the public
-universalidentity. - Rating status: source closure and clean compilation are not substitutes for controlled tournament results.
- No Elo gain is claimed without separate controlled IJCCRL rating evidence.
- No new Book, Experience or Learning subsystem is claimed.
- No warning or error was hidden with compiler flags to obtain the final clean build state.
- No post-
031dfeb4Stockfish commit is claimed in this release. - No standalone AVX2/BMI2/AVX512 executable is represented here as a separately validated 6.40 release binary.
- The embedded optimized slices inside the Universal package are part of the validated Universal build, not separate publication binaries.
Revolution-6.40-150926 is the current maintained Revolution release after the
chronological Stockfish-dev update through the accepted September 13, 2026 endpoint
031dfeb437fa6b06cdbdf4ef89dfb82f6b83c4d3, the transition to
nn-134a887f4c8f.nnue, the final September 15 identity rebrand and the isolated P0A17
Windows filesystem-path repair. Compared with Revolution-6.10-310726, the new release
carries substantial search, timing, platform, NNUE and maintenance work while preserving Revolution’s
Book, Experience, Learning, Zobrist, Dynamic Evaluation, Syzygy and Universal architecture. The final
Windows Universal and SSE4.1/POPCNT builds completed with zero warnings, zero compiler errors
and zero linker blockers, and their UCI identity, readyok, NNUE loading and
runtime search checks passed.
