open_ttt_lib 0.2.2

Library that provides common Tic Tac Toe logic.
Documentation
# Change Log
All notable changes to this project are documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
as described for Rust libraries in
[RFC 1105](https://github.com/rust-lang/rfcs/blob/master/text/1105-api-evolution.md).


## [0.2.2] - 2021-05-22

### Fixed
* Several documentation typos.

### Changed
* Improved `game::Game::do_move()` speed by up to 70%.
* Improved the worst case AI move time by up to 60%.


## [0.2.1] - 2021-02-15

### Added
* Documented the library does not use unsafe code. This is enforced with the
  `#![forbid(unsafe_code)]` attribute. 

### Fixed
* Several documentation typos.


## [0.2.0] - 2020-07-18

### Added
* `ai::Difficulty` enumeration containing predefined AI difficulty levels
  including **Easy**, **Medium**, and **Hard** . The **Custom** variant allows
  full control over the AI opponent's difficulty.
* `ai_difficulties` example shows how the different AI difficulties compare and
  demonstrates how to create custom difficulties.

### Changed
* The `ai::Opponent::new` constructor takes a `ai::Difficulty` variant instead
  of a `mistake_probability` number.
* Improved the worst case AI move time by 150x.


## [0.1.2] - 2020-04-18

### Added
* `single_player` example that shows how to use the library to create a complete
  console based Tic Tac Toe game.
* Include a brief overview on the rules of Tic Tac Toe the library documentation.


## [0.1.1] - 2019-12-22

### Fixed
* The crate's README file not being displayed on crates.io


## [0.1.0] - 2019-12-21
First release!

## Added
* `game::Game` structure for handling management of Tic Tac Toe games.
* `ai::Opponent` structure that provides a computer controlled AI opponent.
* `board` module containing helper types for working with Tic Tac Toe boards.