New engine releases & news H1 2026

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

ChickenMan4236
Posts: 23
Joined: Wed Oct 01, 2025 8:55 pm
Location: Poland
Full name: Jakub Szczerbiński

Re: New engine releases & news H1 2026

Post by ChickenMan4236 »

ChickenMan4236
Posts: 23
Joined: Wed Oct 01, 2025 8:55 pm
Location: Poland
Full name: Jakub Szczerbiński

Re: New engine releases & news H1 2026

Post by ChickenMan4236 »

Zeppelin v1.4.1
Some minor improvements in move ordering and skipping moves with low SEE in quiescence

https://zeppelin.bot.nu
https://github.com/jszczerbinsky/zeppel ... tag/v1.4.1
https://codeberg.org/jszczerbinsky/zepp ... tag/v1.4.1
ZlomenyMesic
Posts: 7
Joined: Sun Nov 09, 2025 12:33 pm
Full name: Daniel Michna

Re: New engine releases & news H1 2026

Post by ZlomenyMesic »

Aleks Peshkov
Posts: 988
Joined: Sun Nov 19, 2006 9:16 pm
Location: Russia
Full name: Aleks Peshkov

Re: New engine releases & news H1 2026

Post by Aleks Peshkov »

Petrel 3.4 (NNUE), Petrel 2.4 (PeSTO)

https://github.com/AleksPeshkov/petrel/ ... s/tag/v3.4
https://github.com/AleksPeshkov/petrel/ ... s/tag/v2.4

Modest strength increase (~30 Elo) but I hope this release is more stable as previous one had several issues.
User avatar
Gabor Szots
Posts: 1534
Joined: Sat Jul 21, 2018 7:43 am
Location: Budapest, Hungary
Full name: Gabor Szots

Re: New engine releases & news H1 2026

Post by Gabor Szots »

Aleks Peshkov wrote: Fri Mar 20, 2026 12:15 am Petrel 3.4 (NNUE), Petrel 2.4 (PeSTO)

https://github.com/AleksPeshkov/petrel/ ... s/tag/v3.4
https://github.com/AleksPeshkov/petrel/ ... s/tag/v2.4

Modest strength increase (~30 Elo) but I hope this release is more stable as previous one had several issues.
Alex, please exes for Windows.
Gabor Szots
CCRL testing group
ChickenMan4236
Posts: 23
Joined: Wed Oct 01, 2025 8:55 pm
Location: Poland
Full name: Jakub Szczerbiński

Re: New engine releases & news H1 2026

Post by ChickenMan4236 »

User avatar
CMCanavessi
Posts: 1143
Joined: Thu Dec 28, 2017 4:06 pm
Location: Argentina

Re: New engine releases & news H1 2026

Post by CMCanavessi »

Facón 1.2 - Rojo Vivo
https://github.com/CMCanavessi/facon/releases/tag/v1.2

+330 Elo over 1.1 (Ordo ~1690, confirmed across two gauntlets totaling 2080 games at 2min+1sec)

Pre-work bug fixes:
unmake_move() hash corruption: hash = st.hash was placed before the piece operations, which XOR the hash incrementally. The restored hash was immediately re-corrupted after every unmake. Latent bug since 1.0 — affected TT hit rates, repetition detection, and PV display. Fixed by moving hash = st.hash to the last line of unmake_move().
make_null_move() full-move counter corruption: unmake_null_move() decremented full_move_number when Black made a null move, but make_null_move() never incremented it. Fixed.
Double generate_all_moves() in TT probe path: eliminated by moving a single generation before the TT probe and reusing it. ~2-5% nps improvement.

Search:
Null Move Pruning (NMP): if the side to move can pass their turn and the resulting reduced-depth search still exceeds beta, prune immediately. Guards: not in check, ply > 0, non-pawn material present (zugzwang guard), depth >= 3. Reduction R = 3. Largest single search improvement in Facon's history: +5.6 average depth over 1.1 at long time controls.
Triangular PV array: replaced TT-based PV retrieval with an explicit pv_table_[MAX_PLY][MAX_PLY] updated on every alpha raise. Eliminates stale PV lines and the "PV continues after threefold repetition" GUI warning.
PV repetition detection: the PV walk seeds a seen[] array with game history hashes and stops if any resulting position was seen before.

Evaluation:
Mopup evaluation: in pawnless endings with a decisive advantage (≥300cp), rewards pushing the losing king toward corners and keeping the winning king close. Guides conversion of technically won positions that standard PSTs cannot resolve.

Infrastructure:
UCI threading: go now launches the search in a dedicated thread. The UCI loop returns immediately and can process stop while searching. Previously stop was silently ignored during search.
isatty()-gated output: startup banner, TT info, and interactive prompt are suppressed when launched by a GUI or automated tool.
TT silent constructor: no output is emitted during static initialization; print_info() is called explicitly from main() after the banner.

Time Management:
Time forfeit fix: engine was losing games on time. Fixed: HARD_FACTOR 3.0 → 2.0, SAFETY_FACTOR 0.95 → 0.90, OVERHEAD_MS = 100 subtracted upfront, hard limit capped at remaining/3, 100ms grace buffer before expiry. Zero time forfeit losses across 2080 gauntlet games.
extend_time() reason parameter: time extension events are logged with a human-readable reason string ("PV change", "score drop").
start() allocation report: soft and hard limits for each move are emitted as info string for TM diagnostics at long time controls.

Observability:
currmove/currmovenumber: each root move emits a standard UCI info currmove line as it begins searching.
New-best SAN info string: when the best move at the root changes relative to the previous iteration, emits a human-readable info string with move in SAN, score, depth, and timestamp.
Heartbeat: if no output has been emitted for 5 minutes, a standard info line plus a status string are emitted. Distinguishes a deep search from a crash at long time controls.

Code audit fixes:
Quiescence time check: quiescence() checked stats_.nodes (negamax-only counter) for its periodic time check. During deep capture sequences the check never fired. Fixed: uses stats_.qnodes.
Nodes / NPS reporting: all UCI output reported only negamax nodes, excluding quiescence. In tactical positions this caused severe underreporting. Fixed: all output now uses stats_.nodes + stats_.qnodes.
PV seen[] array size: off-by-one in the theoretical worst case. Fixed: seen[MAX_GAME_HISTORY + MAX_PLY + 2].


I feel like this is the first version of Facón that I'm really happy with. I've done extensive testing and haven't seen any bugs, no time loses, no illegal moves, and it plays very consistent. It still has a lot of areas that need improvement, new features to be added, etc. But the TT bug that I found that was present since 1.0 was horrible. Basically, Facón was playing 50% intended moves, 50% random moves :lol: :lol: :lol: Almost 50% of the elo improvement comes from that fix alone. The rest comes from NMP and mopup.

Really looking forward to the CCRL testing of this version :thumbsup:

https://github.com/CMCanavessi/facon
Follow my tournament and some Leela gauntlets live at http://twitch.tv/ccls