| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| sunfish-2026.1-py3-none-any.whl | 2026-08-27 | 66.2 kB | |
| sunfish-2026.1.tar.gz | 2026-08-27 | 187.8 kB | |
| sunfish-classic-4k.sh | 2026-08-27 | 3.3 kB | |
| sunfish-nnue-4k.sh | 2026-08-27 | 3.9 kB | |
| README.md | 2026-08-27 | 7.3 kB | |
| sunfish v2026.1 source code.tar.gz | 2026-08-27 | 6.6 MB | |
| sunfish v2026.1 source code.zip | 2026-08-27 | 6.7 MB | |
| Totals: 7 Items | 13.5 MB | 3 | |
What's Changed
- nnue_4k: the packed big-int NNUE engine by @thomasahle in https://github.com/thomasahle/sunfish/pull/166
- nnue_4k: rename sunfish_packed.py to sunfish_nnue.py by @thomasahle in https://github.com/thomasahle/sunfish/pull/167
- Trainer: compensation-class oversampling (--compboost) by @thomasahle in https://github.com/thomasahle/sunfish/pull/168
- Cap null moves at static evaluation by @thomasahle in https://github.com/thomasahle/sunfish/pull/169
- Paper: post-release results and the capped-null epilogue by @thomasahle in https://github.com/thomasahle/sunfish/pull/170
- Skip ineffective depth-zero IID probe by @thomasahle in https://github.com/thomasahle/sunfish/pull/174
- Mate scores carry their distance (issue [#11]) by @thomasahle in https://github.com/thomasahle/sunfish/pull/172
- Fix CI: derive the repo root from file, not a hard-coded path by @thomasahle in https://github.com/thomasahle/sunfish/pull/176
- Require an ELO measurement in the PR template by @thomasahle in https://github.com/thomasahle/sunfish/pull/175
- Warn that a queued quit turns go depth N into depth 2 by @thomasahle in https://github.com/thomasahle/sunfish/pull/179
- Distance-to-mate optimality in both directions, and why the frontier premise cannot be dropped by @thomasahle in https://github.com/thomasahle/sunfish/pull/178
- Eventual trichotomy: NMC eliminated, fuel-oracle null, and the finiteness theorem by @thomasahle in https://github.com/thomasahle/sunfish/pull/192
- Budget the classic builtin clock with no constant that carries a unit by @thomasahle in https://github.com/thomasahle/sunfish/pull/196
- Time management, consolidated: the pool becomes the classic driver's default by @thomasahle in https://github.com/thomasahle/sunfish/pull/204
- Cap shallow quiet moves and prove the lazy tail by @thomasahle in https://github.com/thomasahle/sunfish/pull/193
- Land tuned null shaping and intrinsic LMR by @thomasahle in https://github.com/thomasahle/sunfish/pull/205
- Restore the shallow mate floor by @thomasahle in https://github.com/thomasahle/sunfish/pull/206
- Add an adaptive UCI game-parameter tuner by @thomasahle in https://github.com/thomasahle/sunfish/pull/208
- Restore the null score guard by @thomasahle in https://github.com/thomasahle/sunfish/pull/207
- ctwin: build the driver's two-ply FEN history (twin searched a different tree from black-to-move openings) by @thomasahle in https://github.com/thomasahle/sunfish/pull/210
- Anchor the joint tuner to the current null guard by @thomasahle in https://github.com/thomasahle/sunfish/pull/212
- ctwin: record that the fidelity gate is interpreter-invariant (pypy3 vs CPython 3.9.19) by @thomasahle in https://github.com/thomasahle/sunfish/pull/211
- Cap every shallow move by static gain by @thomasahle in https://github.com/thomasahle/sunfish/pull/213
- Unify shallow pruning under lazy caps by @thomasahle in https://github.com/thomasahle/sunfish/pull/215
- Record [#215] timed confirmation by @thomasahle in https://github.com/thomasahle/sunfish/pull/216
- Unify real-move scoring and resolve captures statically by @thomasahle in https://github.com/thomasahle/sunfish/pull/218
- Three measurement-surface fixes: PV fifty-move stop, promotion cap coverage, python-chess drift by @thomasahle in https://github.com/thomasahle/sunfish/pull/219
- Sharp mate-depth accounting: 3k+4 -> 3k+1, with sharpness certificates by @thomasahle in https://github.com/thomasahle/sunfish/pull/214
- Refute the cheap instance of the mate-depth menu's 3k row by @thomasahle in https://github.com/thomasahle/sunfish/pull/226
- Spend the proved mate depths in CI: 7/13/19 -> 4/10/16 by @thomasahle in https://github.com/thomasahle/sunfish/pull/223
- Organize tuning tools by method by @thomasahle in https://github.com/thomasahle/sunfish/pull/222
- Refute the band weakening of the king-capture clauses by @thomasahle in https://github.com/thomasahle/sunfish/pull/233
- Evaluate shallow caps as one lazy tail by @thomasahle in https://github.com/thomasahle/sunfish/pull/230
- Sync the model's QS admission with the shipped one, and cash it in by @thomasahle in https://github.com/thomasahle/sunfish/pull/234
- Fix red master: re-pin the null-probe citations after the target -> t rename by @thomasahle in https://github.com/thomasahle/sunfish/pull/235
- Use pentanomial SPRT for Elo decisions by @thomasahle in https://github.com/thomasahle/sunfish/pull/231
- The classic builtin clock becomes a per-move budget: soft, a five-fold wall, and no movetime by @thomasahle in https://github.com/thomasahle/sunfish/pull/217
- The budget form's measurements, and the last movetime in CI by @thomasahle in https://github.com/thomasahle/sunfish/pull/239
- tools/book: measure an opening book, and reweight it under a written rule by @thomasahle in https://github.com/thomasahle/sunfish/pull/242
- Measure the per-move overhead the venue actually charges by @thomasahle in https://github.com/thomasahle/sunfish/pull/238
- The final fold: (value, move) pairs, ceiling-gated killer, break at the first settled cap by @thomasahle in https://github.com/thomasahle/sunfish/pull/236
- Skip a ponder go instead of forgetting the move before it by @thomasahle in https://github.com/thomasahle/sunfish/pull/244
- pack.sh: restore --no-hoist-literals + shebang strip by @thomasahle in https://github.com/thomasahle/sunfish/pull/246
- tools/book: build a REPERTOIRE book from the CC0 lichess export by @thomasahle in https://github.com/thomasahle/sunfish/pull/245
- formal: the null reduction becomes a free parameter — dtm_optimal at every NULL_RED in [3..10] by @thomasahle in https://github.com/thomasahle/sunfish/pull/248
- Collect all tuning tools under tools/tune by @thomasahle in https://github.com/thomasahle/sunfish/pull/249
- lichess bridge: reconnect the game stream when it drops mid-game by @thomasahle in https://github.com/thomasahle/sunfish/pull/250
- Use learned intercept in GP reports by @thomasahle in https://github.com/thomasahle/sunfish/pull/252
- Keep gated GP recommendations in the accepted design by @thomasahle in https://github.com/thomasahle/sunfish/pull/253
- Speed up informative opponent selection by @thomasahle in https://github.com/thomasahle/sunfish/pull/254
- ctwin: make the interpreter cross-check reproducible by @thomasahle in https://github.com/thomasahle/sunfish/pull/256
- Make five-tuner comparisons reproducible and crash-safe by @thomasahle in https://github.com/thomasahle/sunfish/pull/259
- Ship the packed engine as compressed.py at the repo root by @thomasahle in https://github.com/thomasahle/sunfish/pull/257
- Check the README line count against compressed.py by @thomasahle in https://github.com/thomasahle/sunfish/pull/260
- Make global search tuning reproducible by @thomasahle in https://github.com/thomasahle/sunfish/pull/261
- Harden global search tuning by @thomasahle in https://github.com/thomasahle/sunfish/pull/263
- Tune shallow search jointly by @thomasahle in https://github.com/thomasahle/sunfish/pull/264
- Recompute tuning consensus before validation by @thomasahle in https://github.com/thomasahle/sunfish/pull/262
- Prepare sunfish 2026.1 by @thomasahle in https://github.com/thomasahle/sunfish/pull/266
Full Changelog: https://github.com/thomasahle/sunfish/compare/v2026...v2026.1