Skip to content

Tags: codedeliveryservice/Reckless

Tags

v0.10.0-dev-7300f044

Toggle v0.10.0-dev-7300f044's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Some cleanups in attacks (#957)

No functional change.

Bench: 2982858

v0.10.0-dev-6abcff05

Toggle v0.10.0-dev-6abcff05's commit message
Pin Rust toolchain for releases to 1.93.1

No functional change.

Bench: 3278762

v0.9.0

Toggle v0.9.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Reckless v0.9.0 (#739)

Reckless 0.9.0 is ready! You can download pre-built binaries for Windows,
Linux, and macOS from the GitHub Releases page.

Thanks to everyone who contributed through code, testing, hardware support,
or any other effort. This release came together because of your help.

Update highlights

NNUE

The neuron network has been updated to a modern threat-based architecture.
It models the interactions between pieces, where one piece attacks or defends
another, and extends the existing king-bucketed piece-square-based inputs with
additional features.

Multithreading and NUMA support

NUMA (Non-Uniform Memory Access) support has been added to Reckless. Worker
threads allocate memory and bind to the same NUMA node as the memory they
access, reducing the cross-node memory access latency for high thread counts
on multi-socket systems. Additionally, more improvements have been made
specifically to improve the strength of the multithreading search.

MultiPV support

Reckless now supports MultiPV (Multiple Principal Variations). It can analyze
and display multiple candidate moves, each with its corresponding principal
variation. This feature is particularly useful for these who use Reckless for
chess analysis as it provides a broader view of possibilities.

License

The project is now licensed under the GNU Affero General Public License v3.0.
The AGPL-3.0 grants the right to use, modify, and distribute it, while requiring
that any changes to the source code must be made available under the same license
and that distribution of Reckless, including distribution over a network (such as
providing access via a web application or service), must also include the full
source code (or a pointer to where the source code can be found) to generate
the exact binary being used.

Full Changelog: v0.8.0...v0.9.0

Playing Strength

Reckless v0.9.0 brings a significant Elo gain over the previous version,
including in multithreaded settings and (D)FRC variants. The results of
the progression are as follows:

UHO 40.0+0.40s (https://recklesschess.space/test/11785/)

```
Elo   | 62.40 +- 3.31 (95%)
Conf  | 40.0+0.40s Threads=1 Hash=64MB
Games | N: 10000 W: 3435 L: 1658 D: 4907
Penta | [1, 491, 2275, 2196, 37]
```

DFRC 40.0+0.40s (https://recklesschess.space/test/11787/)

```
Elo   | 68.13 +- 3.39 (95%)
Conf  | 40.0+0.40s Threads=1 Hash=64MB
Games | N: 10020 W: 3351 L: 1411 D: 5258
Penta | [9, 447, 2229, 2245, 80]
```

SMP 20.20+0.20s (https://recklesschess.space/test/11789/)

```
Elo   | 70.91 +- 3.15 (95%)
Conf  | 20.0+0.20s Threads=8 Hash=512MB
Games | N: 10000 W: 3514 L: 1501 D: 4985
Penta | [0, 362, 2279, 2343, 16]
```

New contributors

We are excited to welcome new contributors, who have joined the project and
made this release possible. Each of them invested time, knowledge, and effort
into new features, optimizations, code quality improvements, and Elo gains that
have been invaluable. We are grateful for your contributions and look forward
to seeing more of your amazing work in the future. Thank you!

(in alphabetical order)

- @87flowers
- @cj5716
- @connormcmonigle
- @cosmobobak
- @FauziAkram
- @MrBrain295
- @protonspring
- @SunnyWar

Special thanks to all hardware contributors for supporting Reckless' development
y providing access to their machines, which is crucial for making progress:
https://recklesschess.space/users

Binaries

Pre-built binaries are provided for Windows, Linux, and macOS, with versions
optimized for AVX2, AVX512, and a generic build that runs on virtually all CPUs.

Select the binary that matches your operating system (`-windows`, `-linux`, or `-macos`)
and your CPU capabilities (`-generic`, `-avx2`, or `-avx512`). On macOS, a single
universal build is provided.

- Generic builds are the most portable but are significantly slower than AVX2 or AVX512 builds.
- AVX2 builds are faster and supported on most modern CPUs.
- AVX512 builds are generally the fastest but require a newer CPU.

If you're unsure which to use, you can start with the AVX512 build and fall back
to AVX2 if you encounter issues.

Bench: 3652336

v0.9.0-dev-2a847427

Toggle v0.9.0-dev-2a847427's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Replace ray permuation computation with a look-up table (AVX512) (#660)

Small speedup.

VSTC
Elo   | 1.49 +- 1.19 (95%)
SPRT  | 4.0+0.04s Threads=1 Hash=16MB
LLR   | 3.01 (-2.25, 2.89) [0.00, 3.00]
Games | N: 83942 W: 21477 L: 21117 D: 41348
Penta | [316, 9246, 22551, 9478, 380]
https://recklesschess.space/test/10491/

No functional change.

Bench: 3715752

v0.9.0-dev-0dd5b9ac

Toggle v0.9.0-dev-0dd5b9ac's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Update default network to v50-441ec316.nnue (#619)

STC
Elo   | 6.86 +- 3.50 (95%)
SPRT  | 8.0+0.08s Threads=1 Hash=16MB
LLR   | 2.93 (-2.25, 2.89) [0.00, 3.00]
Games | N: 9872 W: 2551 L: 2356 D: 4965
Penta | [22, 1095, 2515, 1274, 30]
https://recklesschess.space/test/9756/

LTC
Elo   | 5.11 +- 2.91 (95%)
SPRT  | 40.0+0.40s Threads=1 Hash=64MB
LLR   | 2.89 (-2.25, 2.89) [0.00, 3.00]
Games | N: 12862 W: 3223 L: 3034 D: 6605
Penta | [3, 1400, 3437, 1587, 4]
https://recklesschess.space/test/9757/

STC DFRC
Elo   | 6.16 +- 3.11 (95%)
SPRT  | 8.0+0.08s Threads=1 Hash=16MB
LLR   | 3.02 (-2.25, 2.89) [0.00, 3.00]
Games | N: 10264 W: 1763 L: 1581 D: 6920
Penta | [31, 874, 3148, 1040, 39]
https://recklesschess.space/test/9758/

Bench: 3016642

v0.9.0-dev-c5af2cea

Toggle v0.9.0-dev-c5af2cea's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Introduce PCM updates to TT early cutoffs (#615)

Elo   | 2.28 +- 1.75 (95%)
SPRT  | 8.0+0.08s Threads=1 Hash=16MB
LLR   | 2.90 (-2.25, 2.89) [0.00, 3.00]
Games | N: 38936 W: 9854 L: 9599 D: 19483
Penta | [80, 4541, 9964, 4810, 73]
https://recklesschess.space/test/9576/

Bench: 3652331

v0.9.0-dev-fe4d4b3d

Toggle v0.9.0-dev-fe4d4b3d's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Simplify away low impact FDS reduction rules (#567)

STC
Elo   | 3.05 +- 2.76 (95%)
SPRT  | 8.0+0.08s Threads=1 Hash=16MB
LLR   | 2.92 (-2.25, 2.89) [-3.00, 0.00]
Games | N: 15604 W: 3974 L: 3837 D: 7793
Penta | [26, 1816, 3989, 1937, 34]
https://recklesschess.space/test/8941/

LTC
Elo   | 0.80 +- 2.09 (95%)
SPRT  | 40.0+0.40s Threads=1 Hash=64MB
LLR   | 3.00 (-2.25, 2.89) [-4.00, 0.00]
Games | N: 24870 W: 6076 L: 6019 D: 12775
Penta | [8, 2858, 6642, 2923, 4]
https://recklesschess.space/test/8947/

Bench: 3666261

v0.8.0

Toggle v0.8.0's commit message
Release of Reckless v0.8.0 (#474)

Reckless has come a long way since its early days as a solo project.

During the [FIDE & Google Efficient Chess AI Challenge][1], I worked with Shahin (@peregrineshahin) on the team that finished in second place. After the competition in late February 2025, the whole search algorithm started being rebuilt from the ground up. Shortly after, @peregrineshahin joined the project as one of its co-authors, with Styx (@styxdoto) joining a bit later.

Together, we have transformed Reckless into a formidable chess engine, moving far and beyond the capabilities of its predecessor.

We are now releasing Reckless v0.8.0, one of the strongest chess engines in the world and the strongest chess engine written in Rust.

Playing Strength

Reckless v0.8.0 is enormously stronger than the previous release. In practical terms, v0.7.0 is no longer a meaningful opponent of measuring progress. Nevertheless, using a balanced opening book `8moves_v3`, the results of the progression are as follows:

STC 8.0+0.08s
Elo   | 334.77 +- 6.38 (95%)
Conf  | 8.0+0.08s Threads=1 Hash=16MB
Games | N: 10116 W: 7583 L: 38 D: 2495
Penta | [0, 4, 216, 2127, 2711]
https://recklesschess.space/test/7421/

LTC 40.0+0.40s
Elo   | 301.49 +- 8.15 (95%)
Conf  | 40.0+0.40s Threads=1 Hash=64MB
Games | N: 5004 W: 3506 L: 2 D: 1496
Penta | [0, 0, 150, 1200, 1152]
https://recklesschess.space/test/7422/

Update highlights

Syzygy Tablebase Support

We have added support for Syzygy endgame tablebases with up to 7 pieces, thanks to the [Fathom][2] library.

Chess960 Support

Reckless can now play Chess960 (Fischer Random Chess), with full support for castling rules and position setup. It also handles assymmetrical starting positions, commonly referred to as Double Fischer Random Chess (DFRC).

NNUE Improvements

The originally used custom network trainer has been replaced with [Bullet][3], a specialized ML library developed by @jw1912. Over 30 iterations of stronger networks have been merged, leading to a multi-layer NNUE model trained on billions of positions.

Looking Ahead

Since the last release, we have made over 500 commits, and the project remains very much active. We are looking forward to making Reckless better, adding new features, and more!

[1]: https://www.kaggle.com/competitions/fide-google-efficiency-chess-ai-challenge
[2]: https://github.com/jdart1/Fathom
[3]: https://github.com/jw1912/bullet

Bench: 2052487
Co-Authored-By: Shahin M. Shahin <41402573+peregrineshahin@users.noreply.github.com>
Co-Authored-By: Styx <164851643+styxdoto@users.noreply.github.com>

v0.7.0

Toggle v0.7.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Update README.md

Bench: 2696721

v0.6.0

Toggle v0.6.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Update README.md

Bench: 2039493