Author(s): Marco Zerbinati (ITA)
Release Date: 2025-01-06
Language(s): C++
Repo Owner: Zerbinati
Repo URL: https://github.com/Zerbinati/JudaS-Plus

JudaS ++ is a free and strong UCI chess engine derived from Stockfish that analyzes chess positions and computes the optimal moves. JudaS ++ does not include a graphical user interface (GUI).

https://github.com/Zerbinati/JudaS-Plus/releases/download/J2.0/windows.builds.7z
https://github.com/Zerbinati/JudaS-Plus/archive/refs/tags/J2.0.zip

Stockfish 17 source:
https://github.com/official-stockfish/Stockfish/archive/refs/tags/sf_17.zip

Author(s): Thorsten Greiner (GER)
Release Date: 2025-01-07
Language(s): C++
Repo Owner: thgreiner
Repo URL: https://github.com/thgreiner/amy

What’s Changed

Full Changelog: v0.9.5…v0.9.6

https://github.com/thgreiner/amy/releases/download/v0.9.6/amy-0.9.6.tar.gz
https://github.com/thgreiner/amy/archive/refs/tags/v0.9.6.zip

Eubos chess is a multi-threaded Java chess engine. Eubos uses a standard alpha-beta negascout algorithm with transposition hashing and quiescence search extension. It uses lazy move generation and lazy evaluation.

The evaluation function takes account of the following factors

  • material balance
  • piece mobility
  • pawn structure
  • king safety
  • tactical threats

It knows about draws by 3-fold repetition and insufficient material.

https://github.com/cjbolt/EubosChess/releases/download/v3.8/Eubos.bat
https://github.com/cjbolt/EubosChess/releases/download/v3.8/Eubos.jar
https://github.com/cjbolt/EubosChess/archive/refs/tags/v3.8.zip

Author(s): Colin Jenkins (GBR)
Release Date: 2025-01-06
Language(s): JavaScript
Repo Owner: op12no2
Repo URL: https://github.com/op12no2/lozza

Lozza was primarily created for use in browsers, but can also be used with traditional chess UIs via Node.js and on pretty-much any platform (see below). Note however that Lozza is relatively slow compared to compiled engines of a similar design, which also makes her relatively weak.


This is a Lozza 4 re-release.

The original Lozza 4 release caused problems for some users. For those that ran it successfully, results (e.g. CCRL Blitz) can stand because no peformative changes have been made. However, please replace with this re-release anyway; thanks.

Please use a recent version of Node if possible (they are always improving performance). The latest stable version is 22.

https://nodejs.org

Changes

Train generation 3 net.
Use ADJACENT, not DIST.
Simplify QS and don’t go into QS if in check.
Scale eval by 1.9. Scale UCI cp by 1.9.
Add perspective (currently unused).
Use the Mersene Twister from cwtch for randoms.
Move futility alpha test to move loop.
Use hash move in QS.
Optmise deferral of accumulator update a bit more.
Fix some web stuff. Add improving indicator (failed to get it to gain so far).
Prune QS with quickSee(). Only count nodes that iterate moves.
Put eval in TT before search.
Optimise castling a bit.
Simplify search recursion.
Allow successive NMP and beta pruning.
Bigger net 768x128x1 srelu.
Make sure all UE updates (e.g. castling) are a single accumulator loops.
Defer UE to after legal check (doh!) and don’t check pre-determined legal moves.
Minor tweaks for datagen + net command.

https://github.com/op12no2/lozza/releases/download/4/lozza4.zip
https://github.com/op12no2/lozza/archive/refs/tags/4.zip

Release Date: 2025-01-01
Repo Owner: rubenkku
Repo URL: https://github.com/rubenkku/PGN-Book-Creator

Changes in this release:

  • Fixed a bug where some moves were not being saved correctly in the BIN book.
  • Fixed an issue with pawn promotions: now, when promoting a pawn, a menu opens allowing you to choose the promotion piece.
  • Improved the speed of pasting a PGN game.
  • Fixed an issue when importing all moves “to current position” in the BIN editor.
  • Resolved a bug where multiple “add move” windows could be opened simultaneously, now only one window can open at a time.
  • Enhanced the UCI protocol by using “startpos” instead of “fen” for sending the position.

https://github.com/rubenkku/PGN-Book-Creator/releases/download/3.1/PGN.Book.Creator.3.1.exe
https://github.com/rubenkku/PGN-Book-Creator/archive/refs/tags/3.1.zip

Author(s): Peter Österlund
Release Date: 2025-01-05
Language(s): C++
Repo Owner: peterosterlund2
Repo URL: https://github.com/peterosterlund2/texel

Neural network improvements:

  • Speed up matrix multiplication for AVX-512.
  • New network based on new training data.
  • Use 4 “heads” (all NN layers except the first) for evaluation. The active head depends on the number of pieces on the board.
  • Increase NN layer 1 output size from 256 to 384.

Tablebases:

  • Measure thinking time more accurately. Useful when TB files are on mechanical disks.
  • Better handling of DTZ scores in search.
  • Avoid expensive (wrong side to move) DTZ probes in search.
  • Add UCI parameter to control required search depth for DTZ probes.
  • Measure time required to perform a TB probe instead of guessing. This avoids time losses in fast games when TB files are on mechanical disks.
  • Allow RTB WDL probes in some cases even if hmc > 0.
  • Change TB swindle depth from 16 to “15+minProbeDepth”, to avoid slowdown in late middlegame/early endgame when TB files are on mechanical disks.

Search:

  • Implement the counter move heuristic.
  • Implement multi-cut pruning based on singular search score.
  • Adjust singular extension search parameters.
  • Allow both extension and reduction in the same search node.
  • Remove no longer useful “recapture” and “going into pawn endgame” extensions.
  • Reduce aspiration window size.

Other:

  • Use multiple threads to initialize the transposition table.
  • Better handling of mate scores in the transposition table.
  • Fix handling of empty strings in UCI string options.

https://github.com/peterosterlund2/texel/releases/download/1.12/texel112.7z
https://github.com/peterosterlund2/texel/archive/refs/tags/1.12.zip

https://www.mediafire.com/file/g5wy1ycjcdz9i6u/LichessDownloader.zip/file

This script will prompt you for beginning and end year/month, then download everything you ask for, extract each one, and filter each one in pgn-extract according to certain criteria that can be changed.

This is what the file pgn-extract-command.txt looks like:

pgn-extract.exe {input} -t tags.txt -R roster.txt --xroster --minmoves 10 --maxmoves 150 --fixresulttags --fixtagstrings --nosetuptags -e --checkmate --plycount --evaluation -D -w9999 -o {output}

Anything from -t to -w can be changed. For instance, if you want to change the minimum and maximum moves — or to take one or both parameters out, here’s the place to do it. If you want to take out the requirement that a game end in checkmate, just take out the –checkmate option. The –evaluation option is what creates those evaluations for each move. The -w9999 is what makes each movelist one line. -D checks for doubles, -e specifies that you want ECO information and opening names. (Which is what eco.pgn is for.) If you want to change the contents of tags.txt, you’d either be changing the minimum Elo for either white or black, or the minimum time control — or taking any of those requirements out. The roster.txt file is a list of tag names, one per line, that define the order those tags go in. Specifying –xroster means that it will remove any tags *not* in the roster, as well as put them in the same order.

Because this script needs pgn-extract.exe to run, it’s necessary to keep the binary and all of its dependent files in the same directory as the script.

https://www.mediafire.com/file/hey6lzegqzzc76z/FilterPGNByElo.zip/file

This is a C program written by ChatGPT o1, at my direction. To be clear, I know nothing about coding, especially in a low-level language. The form that the command takes is:

FilterPGNByElo.exe <input_path> <output_path> <minimum_elo>

For example:

FilterPGNByElo.exe lichess_db_standard_rated_2016-11.pgn lichess-2016-11.pgn 2300

It should be run in the same directory as the executable, at least for the command to take the form above. If you wanted, you could have each path be a full path. If there are any spaces in the path, you should surround it with double quotes.

It should be noted that because this is written in C and optimized for speed, it runs bizarrely fast. It finishes a gigabyte in about two seconds. It should also be noted that for the same reasons, it’s just going to do it, and not check to make sure there’s enough room. So if you are filtering a very large PGN, make sure you have enough space and resources.

Author(s): Fabio Gobbato
Release Date: 2025-01-01
Language(s): C
Repo URL: https://www.revengechess.com/

Changes compared to Revenge 3.0:

  • New and bigger neural network
  • Improved reductions
  • Improved pruning
  • Speed optimizations in search
  • Speed optimizations in neural network calculations
  • Max threads supported increased to 2048
  • Max transposition table size supported increased to 64TB
  • Improved parallel search
  • Better skill levels
  • Added executable for vnni256
  • Added executable for linux armv8.2
  • Improved chess960 play

https://www.revengechess.com/download/Revenge_4.0.7z

https://www.mediafire.com/file/1cxivp3pir0kpcf/PGN2GIF.zip/file

If you simply double-click on the file, it should prompt you for a few things, like the PGN or the path to a directory, for games to convert, the time it takes per move, the color of the board, and… I guess that’s all. Point is, all you need to bring is the path to your PGN(s). It should do the rest. Here is a raw PGN that I’m using as a source in this case:

[Event "Casual game"]
[Site "London ENG"]
[Date "1851.06.21"]
[EventDate "?"]
[Round "?"]
[Result "1-0"]
[White "Adolf Anderssen"]
[Black "Lionel Adalbert Bagration Felix Kieseritzky"]
[ECO "C33"]
[WhiteElo "?"]
[BlackElo "?"]
[Source "La Régence, v3 n7, July 1851, pp221-222"]
[SourceNote "ends 19.Ke2"]
[Source2 "The Chess Player, vol.i no.1, 1851.07.19, p.2"]
[PlyCount "45"]

1.e4 e5 2.f4 exf4 3.Bc4 Qh4+ 4.Kf1 b5 5.Bxb5 Nf6 6.Nf3 Qh6
7.d3 Nh5 8.Nh4 Qg5 9.Nf5 c6 10.g4 Nf6 11.Rg1 cxb5 12.h4 Qg6
13.h5 Qg5 14.Qf3 Ng8 15.Bxf4 Qf6 16.Nc3 Bc5 17.Nd5 Qxb2 18.Bd6
Bxg1 {It is from this move that Black's defeat stems. Wilhelm
Steinitz suggested in 1879 that a better move would be
18... Qxa1+; likely moves to follow are 19. Ke2 Qb2 20. Kd2
Bxg1.} 19. e5 Qxa1+ 20. Ke2 Na6 21.Nxg7+ Kd8 22.Qf6+ Nxf6
23.Be7# 1-0

And here is a GIF produced with this program in green at 1s per move:

Here is that game in blue at 2s per move:

Release Date: 2024-12-30
Language(s): C#
Repo Owner: Dragjon
Repo URL: https://github.com/Dragjon/Nectar

Score of NectarV0.2.2 vs NectarV0.2.1: 151 - 63 - 40  [0.673] 254
...      NectarV0.2.2 playing White: 74 - 28 - 25  [0.681] 127
...      NectarV0.2.2 playing Black: 77 - 35 - 15  [0.665] 127
...      White vs Black: 109 - 105 - 40  [0.508] 254
Elo difference: 125.6 +/- 41.5, LOS: 100.0 %, DrawRatio: 15.7 %
SPRT: llr 2.96 (100.7%), lbound -2.94, ubound 2.94 - H1 was accepted

https://github.com/Dragjon/Nectar/releases/download/V0.2.2/NectarV0.2.2-linux.zip
https://github.com/Dragjon/Nectar/releases/download/V0.2.2/NectarV0.2.2.zip
https://github.com/Dragjon/Nectar/archive/refs/tags/V0.2.2.zip

Author(s): Paolo Iommarini (ITA)
Release Date: 2024-12-29
Language(s): C#
Repo Owner: sakya
Repo URL: https://github.com/sakya/corechess

CoreChess is an open source chess GUI for chess engines.

  • Human vs Engine mode
  • Human vs Human mode.
  • Engine vs Engine mode.

Supported engines

Upgraded avalonia to v11.2.3

https://github.com/sakya/corechess/releases/download/0.18.4.0/CoreChess_setup_0.18.4.0.exe
https://github.com/sakya/corechess/archive/refs/tags/0.18.4.0.zip

Author(s): Semih Özalp (AUT)
Release Date: 2024-12-28
Language(s): C++
Repo Owner: h1me01
Repo URL: https://github.com/h1me01/Astra

Release Notes

History Updates

  • Added 6-Ply Continuation History
  • Added Capture History
  • Added Correction Histories
  • Improved overall move history tracking and updating

Search Improvements

  • Removed Check Extension
  • Improved static evaluation
  • Added history pruning
  • Improved null move pruning
  • Improved singular extension
  • Improved late move pruning
  • Improved delta pruning in quiescence search

Miscellaneous

  • Introduced a new, more flexible move generation
  • More efficient move picker

https://github.com/h1me01/Astra/releases/download/4.1/astra-4.1-avx2.exe
https://github.com/h1me01/Astra/releases/download/4.1/astra-4.1-avx512.exe
https://github.com/h1me01/Astra/releases/download/4.1/nn-768-2×1024-1.nnue
https://github.com/h1me01/Astra/archive/refs/tags/4.1.zip

Author(s): Volodymyr Shcherbyna (UKR)
Release Date: 2024-12-28
Languages: C/C++
Repo Owner: vscherbyna
Repo URL: https://github.com/vshcherbyna/igel

What’s new:

  • extend by 2 in singular extension on non pv move
  • improve low bound condition in singular extension
  • check beta score in probcut condition
  • store in TT in standing pat in qsearch
  • implement iid
  • tune null move depth
  • tune razor depth
  • remove instant moves handling

Regression run against Igel 3.5.0:

Long Time Control With Increment (60s+0.6s)

Elo   | 21.28 +- 3.60 (95%)
Conf  | 60.0+0.60s Threads=1 Hash=64MB
Games | N: 8860 W: 2461 L: 1919 D: 4480
Penta | [7, 798, 2299, 1298, 28]

Short Time Control With Increment (10s+0.1s)

Elo   | 20.07 +- 3.21 (95%)
Conf  | 10.0+0.10s Threads=1 Hash=8MB
Games | N: 13918 W: 3953 L: 3150 D: 6815
Penta | [76, 1392, 3306, 2023, 162]

https://github.com/vshcherbyna/igel/releases/download/3.6.0/igel-x64_bmi2_avx2_3_6_0.exe
https://github.com/vshcherbyna/igel/releases/download/3.6.0/igel-x64_popcnt_avx2_3_6_0.exe
https://github.com/vshcherbyna/igel/archive/refs/tags/3.6.0.zip