**Version 3.1.0**

- Add `Display` to `Feedback`
- Add support for WASM targets running in a custom runtime

**Version 3.0.1**

- Fix a bug in 3.0.0 where the `Score` enum was private
- Fix a bug where some structs that were intended to implement `Serialize` when the `ser` feature was enabled did not implement it

**Version 3.0.0**

- [Breaking] Avoid the possibility for zxcvbn to error
- [Breaking] Refactor the score into an exhaustive enum
- [Breaking] Change `feedback` to return `Option<&Feedback>`
- Bump `itertools` dependency to 0.13

**Version 2.2.2**

- Fix a possible panic in spatial pattern checker (https://github.com/shssoichiro/zxcvbn-rs/issues/70)[#70]
- Update several dependencies
- Fix several new clippy lints
- Officially specify minimum Rust version requirement
  - The version has not changed, but the requirement has now been added to Cargo.toml

**Version 2.2.1**

- Fixes for building on WASM targets

**Version 2.2.0**

- Fix an issue where a less specific feedback would be given
  when a more specific feedback was available. (https://github.com/shssoichiro/zxcvbn-rs/issues/54)[#54]
- Migrate to Rust edition 2021
- Migrate from `chrono` crate to `time` crate
- Update `fancy-regex` to 0.8

**Version 2.1.1**

- Do not download and build wasm dependencies if not building for wasm

**Version 2.1.0**

- [Feature] Add support for wasm
- Deprecate the usage of builders (it will still work for now, but will be removed in the next major release)
- Various performance improvements and dependency upgrades

**Version 2.0.1**

- Fix overflow bugs that may cause wrong results on very complex passwords
- Fix a panic that could occur on passwords with multibyte unicode characters
- Update `derive_builder` to 0.9

**Version 2.0.0**

- [Breaking] Update CrackTimes interface to be more idiomatic to Rust (https://github.com/shssoichiro/zxcvbn-rs/pull/24)
- Upgrade `derive_builder` to 0.8
- Upgrade `fancy_regex` to 0.2
- Move to 2018 edition
- Various internal improvements

**Version 1.0.2**

- Fix building on Rust 1.36.0 (https://github.com/shssoichiro/zxcvbn-rs/pull/21)
- Cleanup development profiles which are no longer needed
- Remove built-in clippy and prefer using clippy from rustup
- Upgrade `itertools` to 0.8
- Upgrade `derive_builder` to 0.7

**Version 1.0.1**

- Upgrade `regex` to 1.0

**Version 1.0.0**

- [SEMVER_MINOR] Add support for UTF-8 strings (https://github.com/shssoichiro/zxcvbn-rs/issues/4)
- [SEMVER_MAJOR] Remove the `ZxcvbnError::NonAsciiPassword` variant, since this error can no longer occur

**Version 0.7.0**

- [SEMVER_MAJOR] Refactor `Match` to use an enum internally, to avoid cluttering the struct with several `Option` types (https://github.com/shssoichiro/zxcvbn-rs/issues/19)
- Make `Match` public (https://github.com/shssoichiro/zxcvbn-rs/issues/17)

**Version 0.6.3**

- Refactor handling of strings to use streaming of characters. This brings zxcvbn closer to working on UTF-8 inputs.
- Fix an issue that would cause bruteforce scores to be too low (https://github.com/shssoichiro/zxcvbn-rs/issues/15)

**Version 0.6.2**

- Upgrade dependencies and fix linter warnings

**Version 0.6.1**

- Upgrade `derive_builder` to 0.5.0
- Fix a bug that was causing incorrect scoring for some passwords (https://github.com/shssoichiro/zxcvbn-rs/issues/13)

**Version 0.6.0**

- [SEMVER_MAJOR] Change the signature for `zxcvbn` to take `&[]` instead of `Option<&[]>` for `user_inputs` (https://github.com/shssoichiro/zxcvbn-rs/issues/9)
- [SEMVER_MAJOR] Change the signature for `zxcvbn` to return `Result<Entropy, ZxcvbnError>` instead of `Option<Entropy>` (https://github.com/shssoichiro/zxcvbn-rs/issues/11)

**Version 0.5.0**

- Fix for a BC-breaking change in nightly Rust (https://github.com/shssoichiro/zxcvbn-rs/pull/8)
- Upgrade `serde` to 1.0
- Silence a warning from `derive_builder`

**Version 0.4.4**

- Upgrade `itertools` to 0.6

**Version 0.4.3**

- Upgrade to derive_builder 0.4

**Version 0.4.2**

- Remove FFI dependency on oniguruma

**Version 0.4.1**

- Fix more overflow bugs
- Simplify code for handling overflows

**Version 0.4.0**

- Fix bug which caused multiplication overflows on some very strong passwords
- Remove rustc-serialize support (https://github.com/shssoichiro/zxcvbn-rs/issues/5)

**Version 0.3.0**

- Make reference year dynamic
- Performance optimizations
- [SEMVER_MAJOR] Rename "serde" feature to "ser" (required by cargo)
- [SEMVER_MAJOR] Bump required serde and serde_derive version to 0.9.x

**Version 0.2.1**

- Update regex dependency to 0.2.0

**Version 0.2.0**

- [SEMVER_MINOR] Add optional features "rustc-serialize" and "serde" for serialization support.
