Since you’re here...

We hope you will consider supporting us today. We need your support to continue to exist, because good entries are more and more work time. Every reader contribution, however big or small, is so valuable. Support "Chess Engines Diary" even a small amount– and it only takes a minute. Thank you.
============================== My email: jotes@go2.pl



Franky 1.2.0 - new version chess engine


Franky - UCI Chess Engine (java)
Modern C++20 UCI Chess Engine
Github:https://github.com/frankkopp/FrankyCPP/releases
Author: Frank Kopp

Franky 1.2.0 what's new?

Feature Summary:

  • Configuration Refactor - centralized configuration
  • Best-Move Instability Time Management
  • Add selective check extensions (early move limit) (~+30ELO)
  • PlyInfo/plyStack
  • Singular Extensions (~+27ELO)
  • Triangular PV Table
  • MoveList Static Array Refactor
  • UCI bench Command
  • Arena Bench Integration

PR Content

This pull request introduces several enhancements and documentation updates focused on the configuration system, search algorithm tunables, and CI build reliability for FrankyCPP. The most significant changes are the improved configuration registry system and expanded search parameters, along with more robust CI workflows and updated documentation reflecting recent architectural changes.

Configuration System and Documentation Updates:

  • Introduced a config/ directory and a new ConfigRegistry-based configuration system, which centralizes config definitions and automates YAML/CLI/UCI integration. Updated documentation and usage instructions to reflect this new approach, including compile-time validation and improved discoverability via CLI options. (.github/copilot-instructions.mddocs/Architecture.mdREADME.mddocs/FrankyCPP_Codebase_Review.md) [1] [2] [3] [4] [5] [6] [7]

  • Added and documented new command-line options for configuration discovery and engine control, including --show-config--format--domain, and others. (README.mddocs/Architecture.md) [1] [2]

Search Algorithm Enhancements:

  • Added new search tunables to config/search.yaml, including early check extension limits, singular extensions (with margin, min depth, reduction), and best-move instability time management parameters. These options allow finer control over search behavior and time allocation. (config/search.yaml) [1] [2]

  • Updated documentation to describe new search features, such as per-ply state management with PlyInfo, singular extensions, and best-move instability detection. (docs/Architecture.md) [1] [2] [3]

CI Build Reliability and Caching:

  • Improved GitHub Actions CI workflow for both Windows and Linux:
    • Added explicit export of cache environment variables for vcpkg binary caching.
    • Enabled vcpkg binary caching to GitHub Actions cache for faster builds.
    • Added retry logic to the CMake configure step to handle transient vcpkg/network failures, reducing spurious CI failures. (.github/workflows/ci-build.yml) [1] [2] [3] [4] [5] [6]

Versioning:

  • Bumped project version to 1.2.0 in CMakeLists.txt.

Documentation Formatting and Corrections:

  • Improved formatting in architecture documentation tables for consistency and clarity. (docs/Architecture.md) [1] [2] [3]
  • Updated documentation references and last updated dates. (.github/copilot-instructions.md)

These updates collectively improve the maintainability, configurability, and reliability of the FrankyCPP project.

Comments