# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [0.1.0] - 2026-07-11
### Added
- Complete standard Yahtzee rules under the official forced-joker
convention, with `State` as the single legality-and-valuation
authority shared by the scorecard, the game, and the solver: joker
forcing, joker values (Full House 25, straights 30/40, the rest the
dice total), the 35-point upper bonus, and unlimited 100-point
Yahtzee bonuses gated on the Yahtzee box holding 50.
- A multiplayer `Game` state machine with deterministic dice injection
(`roll`) and RNG convenience (`roll_with`, feature `rand`); illegal
moves are rejected without changing the game.
- The `Strategy` trait with a `View` decision context, plus `play_turn`
and `play_game` drivers (feature `rand`).
- `HeuristicBot`: deterministic rules of thumb averaging 216.0 points
over 10 000 seeded solo games.
- `Solver`: an exact expectimax solver over all scorecard states, with
full (`solve`), tier-stepped (`solve_tier`), and lazy per-cone
(`value`) evaluation, and per-decision queries (`best_action`,
`best_category`, `keep_ev`, `category_ev`). The empty card is worth
254.5877 points under the implemented rules; lifting the joker
forcing reproduces Verhoeff's 254.5896 exactly. `OptimalBot` plays
it as a `Strategy`.
- A `parallel` cargo feature (off by default): scorecard tiers solve
across the CPU cores via rayon, bit-identical to the serial build.
- Examples: `solve` (full table + optimal EV), `play` (human vs the
heuristic bot in the terminal), and `arena` (bot strength
measurement).
- `web/`: a browser front end on WebAssembly — click to hold, score on
the card, with the exact solver as a live advisor built tier by tier
in a web worker; deployed to GitHub Pages.
[Unreleased]: https://github.com/jdh8/yahtzee-engine/compare/0.1.0...HEAD
[0.1.0]: https://github.com/jdh8/yahtzee-engine/releases/tag/0.1.0