Skip to content

Releases: sb2bg/sykora

Sykora 3.1

Choose a tag to compare

@github-actions github-actions released this 15 Jul 02:16

Sykora 3.1 is a performance and search-stability release.

Changed

  • Optimized SYKNNUE7 dot products and added exact fast-path parity coverage.
  • Accelerated move generation, history scoring, incremental NNUE updates, and search hot paths.
  • Adapted the soft time limit to root best-move stability and score trends.

Expected gain is around 80 Elo.

Full changelog: v3.0...v3.1

Sykora 3.0

Choose a tag to compare

@github-actions github-actions released this 12 Jul 09:15

Sykora 3.0 is a major NNUE and search release, with safer real-clock behavior.

Changed

  • Promoted the embedded NNUE from the mature v3_512 checkpoint run_20260323T063759Z-600 to the SYKNNUE7 pairwise-MLP candidate v7_20260710T055911Z-800.
  • Added sectioned SYKNNUE7 export and loading while retaining older net formats for regression tests and external-net compatibility.
  • Added transposition-table probing/storage inside quiescence search.
  • Reworked search move ordering with continuation-history heuristics for quieter move scoring and better follow-up awareness.
  • Added singular extension logic and TT-aware multicut handling to sharpen tactical search around strong transposition-table moves.
  • Simplified repetition detection with a cheap halfmove fast path and early exit on first match.
  • Retired Texel/HCE tuning from the default workflow and documentation.
  • Standardized experiment execution around archived history.py selfplay and sprt runs with mandatory summaries, metadata, and stdout/stderr logs.
  • Moved selfplay ratings and graph generation to consume archived history.py selfplay runs only.
  • Reworked the Bullet checkpoint gate to use selfplay-only promotion instead of STS-based ranking.
  • Fixed the release SPRT workflow and changed the engine version string to 3.0.

Fixed

  • Added absolute search deadlines and overflow-safe clock budgeting so runaway iterations cannot consume substantially more time than requested.
  • Added a configurable Move Overhead reserve for clock-managed games while preserving the full budget for explicit go movetime searches.
  • Corrected self-play draw adjudication to stop on an actual third repetition rather than a position where a third repetition could merely be claimed on the next move.

Full changelog: v0.2.2...v3.0

v0.2.2

Choose a tag to compare

@github-actions github-actions released this 23 Mar 07:34

[0.2.2] - 2026-03-23

Added

  • Added Bullet bootstrap and runner utilities to make NNUE training setup more repeatable.

Changed

  • Moved the engine to a stronger embedded NNUE setup with SYKNNUE3 support, retained SYKNNUE2 compatibility, and shipped a much larger network.
  • Reworked search internals with a static evaluation stack, pruning cleanups, SIMD-oriented NNUE updates, and harder SMP synchronization.
  • Refreshed the README and release/testing documentation around NNUE workflows and regression checks.

Fixed

  • Fixed a pruning regression after an Internal Iterative Reduction experiment was reverted.
  • Fixed king-bucket perspective handling in NNUE evaluation.
  • Fixed CI tag resolution and release-test workflow behavior.

v0.2.1

Choose a tag to compare

@sb2bg sb2bg released this 02 Mar 22:49

[0.2.1] - 2026-03-02

Added

  • First release with NNUE support in the shipped engine.
  • Added a full Texel tuning toolchain, including a native tuner, dataset builders, large-run orchestration scripts, and parameter application helpers.
  • Added gensfen, Lichess PGN extraction, and parallel self-play tooling for generating NNUE training data.
  • Added incremental NNUE accumulator support in search to make embedded NNUE practical during play.

Changed

  • Made embedded NNUE the default evaluator and shipped the first successful SYKNNUE2 network with updated training/export scripts.
  • Retuned the classical evaluator with Texel-generated parameters, updated mobility tables, and cleanup across evaluation utilities.
  • Expanded the README to describe engine features, tuning, and NNUE workflows in more operational detail.

Fixed

  • Fixed search history handling so the current position is tracked correctly for repetition logic.
  • Hardened dataset generation, Stockfish annotation retries, and cross-platform script behavior.
  • Tightened option handling and parameter extraction in evaluation/tuning utilities.

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 17 Feb 10:44

[0.1.0] - 2026-02-17

Added

  • First tagged release of the Zig-based Sykora UCI engine.
  • Added the core engine stack: bitboards, magic move generation, legal move validation, perft/divide tooling, alpha-beta search, transposition tables, and clock-aware search control.
  • Added a classical evaluation pipeline with pawn-structure, mobility, king-safety, and endgame terms.
  • Added developer tooling for STS, self-play, benchmark/NPS runs, history tracking, automated tuning, and Lichess bot play/challenges.
  • Added multi-target GitHub release automation for shipping binaries across Linux, macOS, and Windows.

Changed

  • Improved move generation, hashing, undo support, null-move handling, repetition detection, and search heuristics throughout the initial development cycle.
  • Expanded project documentation to cover engine usage, testing, tuning, and experiment history.
  • Broadened build support for additional CPU architectures and optimized release build commands.

Fixed

  • Fixed castling, en passant, capture handling, move legality edge cases, transposition-table scoring issues, and early search stability problems.
  • Fixed cleanup and shutdown behavior around search threads, bot sessions, and Zig 0.16 compatibility.