Can Ferman Gülmez
Introducing JJA 0.5.0
Bridging the gap between tradition and innovation in the world of chess analysisWe're excited to announce that JJA has reached another milestone with the release of version 0.5.0! Following our previous version 0.4.0, this latest update brings substantial enhancements, critical fixes, and notable new features that are sure to make your chess analysis even more powerful.
Download
- Windows: jja-0.5.0.exe, sha512sum, signature
- Linux GLibc: jja-0.5.0-glibc.bin, sha512sum, signature
- Linux Musl: jja-0.5.0-musl.bin, sha512sum, signature
To install from source, use cargo install jja
.
Core Fixes and Upgrades
The heart of JJA 0.5.0 is a series of important fixes and upgrades. Notably, we've resolved an encoding issue for castling in polyglot books. Previously, we encoded castling as e1g1, e1c1, e8g8, and e8c8, but the correct encoding is actually e1h1, e1a1, e8h8, and e8a8. This fix will undoubtedly make JJA more accurate and consistent in handling game data.
Moreover, in this version, for Git builds, the --version
argument will prioritize the Git version over the package version. This feature brings more transparency for users tracking our repository.
Dependency and Crate Upgrades
Keeping pace with the ever-evolving Rust ecosystem, we've upgraded various crates such as 'clap' (from 4.2 to 4.3), 'ctrlc' (from 3.2 to 3.3), and the 'rocksdb' crate to 0.21.0 which bundles RocksDB-8.1.1.
Documentation and Linting
With our commitment to quality and usability, we've documented all the public code and enabled the lint #[deny(missing_docs)]
. This will make it easier for users and contributors to understand and interact with our codebase.
New Features and Enhancements
A significant addition in JJA 0.5.0 is the introduction of enhanced functionality to the edit
, and find
commands. edit
can now export opening books in PGN format and find
can display lines from the opening book as a table of opening variations reverse-sorted by cumulative weight using the -l
or --line
option.
We have also refined the m̀ake
command with various factors for score calculation, including --win-factor
, --draw-factor
, and --loss-factor
. With defaults set to 2, 1, and 0 respectively, it now closely resembles the original polyglot tool.
The newly introduced merge
command allows users to combine book entries using various strategies such as avg
, wavg
, max
, min
, ours
, and sum
. This feature is quite versatile; for instance, the ours
strategy is functionally identical to the merge-book
command in the Polyglot tool.
Internationalization (i18n) and Crowd-Sourced Translation
In a bid to make JJA more accessible to users worldwide, we've initiated translations into Turkish and German and embedded gettext for i18n. Moreover, i18n support is now a default feature that can be turned off for static linking as needed.
In our commitment to fostering a global community, we're thrilled to announce that the JJA project has been registered on Crowdin. Now, people from all around the world can contribute to translating JJA into their native languages. Your contribution would be invaluable in making JJA more globally accessible.
Conclusion
With these enhancements, fixes, and additions, JJA 0.5.0 is another significant leap towards a more powerful, user-friendly, and globally accessible chess analysis tool. We look forward to your feedback, contributions, and especially, your translations on Crowdin. As always, we're eager to see how you use JJA in your chess analysis. Stay tuned for more updates and keep playing the beautiful game of chess!