~alip/jja

v0.9.1 9 months ago

Release v0.9.1

- upgrade `nix` crate from `0.27` to `0.28`.
- upgrade `tempfile` crate from `3.8` to `3.10`.
- upgrade `rust-embed` crate from `8.1` to `8.4`.
- upgrade `rusqlite` crate from `0.30` to `0.31`.
- upgrade `rayon` crate from `1.8` to `1.10`.
- upgrade `hostname` crate from `0.3` to `0.4`.
- Add support for restoring BrainLearn experience files from Lichess
  evaluations export JSON.
- `TotalPlyCount` PGN tag is now supported in make filters.
- fix `--win,draw,loss-factor` calculation for make
- Add 50-moves detection and 3-position repetition detection to the play
  subcommand.
- upgrade `once_cell` crate from `1.18` to `1.19`.
- upgrade `rayon` crate from `1.7` to `1.8`.
- upgrade `zstd` crate from `0.12` to `0.13`.
- upgrade `rusqlite` crate from `0.29` to `0.30`.
- upgrade `dialoguer` crate from `0.10` to `0.11`.
- upgrade `i18n-embed` crate from `0.13` to `0.14`.
- upgrade `rust-embed` crate from `6.8` to `8.0`.
- upgrade `built` crate from `0.6` to `0.7`.
- fix quote matching at word boundaries when no wildcard characters are given.
- merge learned `-O<u16>, --outlier-threshold=<u16>` to specify an outlier threshold
  where moves with weights higher than the given threshold are filtered out from the
  merged output book. This stands from the fact that if the weight differences of
  the same move in two different books have a high difference, calculating any
  average may not yield meaningful results. The default is 0, which disables this
  feature.
- merge learned `--strategy dynmid` which stands for
  `jja::merge::MergeStrategy::DynamicMidpoint`.
- merge learned `--strategy wdist` which stands for
  `jja::merge::MergeStrategy::WeightedDistance`.
- upgrade `nix` crate from `0.26` to `0.27` and add the `signal` feature.
- merge learned `--strategy wmedian` which stands for
  `jja::merge::MergeStrategy::WeightedMedian`.
- merge learned `--strategy entropy` which stands for
  `jja::merge::MergeStrategy::Entropy`.
- merge learned `--strategy quadratic` which stands for
`jja::merge::MergeStrategy::QuadraticMean`. This strategy merges using the Quadratic
Mean (Root Mean Square) approach. The Quadratic Mean (also known as the Root Mean
Square) is a statistical measure of the magnitude of a set of numbers. It offers a
more balanced view, especially when dealing with numbers of varying magnitudes.
- merge learned `--strategy lavg` which stands for
`jja::merge::MergeStrategy::LogarithmicAverage`. This strategy merges using a
logarithmic averaging approach. Given that logarithmic functions compress large
values and expand small values, we can use them to get a merge strategy that's
sensitive to differences in smaller weights while being more resistant to
disparities in larger weights.
Do not follow this link