# Changelog
Notes significant changes to lexical.
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).
## [Unreleased]
## [4.2.1] 2021-04-21
### Changed
- Updated cfg_if version.
## [4.2.0] 2020-01-27
- Fixed bug in API with improper method order.
## [4.1.0] 2020-01-23
### Added
- Added `format` feature to control parsing integers and floats from number specifications.
- Added the `NumberFormat` bitflags to control Number format specifications. These flags control how a number is parsed, including enabling the use of digit separators, requiring integer or fraction digits, and more.
- Added more values to `ErrorCode` to signify more parse failures.
## [4.0.1] - 2019-10-08
### Changed
- Forced version `0.1.9` for cfg-if to support older Rustc versions.
- Documented dependency versioning and upgrade procedure.
## [4.0.0] - 2019-09-08
### Added
- Added `get/set_exponent_default_char`, `get/set_exponent_backup_char`, and `get/set_float_rounding`, to allow validation logic for config variables.
### Removed
- Removed `EXPONENT_DEFAULT_CHAR`, `EXPONENT_BACKUP_CHAR`, and `FLOAT_ROUNDING`.
# [3.0.0] - 2019-08-20
### Added
- Added unittests for itoa designed to test uniform, sequential, and heterogeneous data, aimed to test both optimal performance and branch prediction misses.
### Changed
- Updated the low-level API lexical-core 0.5.0.
- Updated the benchmarks and graphics.
- Moved lexical::Error to lexical_core::Error. Error is re-exported in lexical.
- Moved lexical::ErrorKind to lexical_core::ErrorCode. ErrorCode is re-exported in lexical.
### Removed
- Remove the unchecked parsers from the public API. `try_parse*` has been replaced with `parse*`.
## [2.2.0] - 2019-06-20
### Added
- Backwards compatible support for Rustc 1.24.0.
- Added `parse_partial*` parsers, which parse until an invalid digit is found, returning the value and number of processed digits.
### Changed
- Changed public trait names for `FromBytes`, `FromBytesLossy`, and `ToBytes` to `FromLexical`, `FromLexicalLossy`, and `ToLexical`.
- Changed method names for trait `ToLexical` from `to_bytes` and `to_bytes_radix` to `to_lexical` and `to_lexical_radix` to avoid conflict with unstable feature [int_to_from_bytes](https://doc.rust-lang.org/1.27.2/unstable-book/library-features/int-to-from-bytes.html#int_to_from_bytes).
- Changed method names for trait `FromLexical` from `from_bytes`, `from_bytes_radix`, `try_from_bytes`, and `try_from_bytes_radix` to `from_lexical`, `from_lexical_radix`, `try_from_lexical`, and `try_from_lexical_radix` to avoid conflict with unstable feature [int_to_from_bytes](https://doc.rust-lang.org/1.27.2/unstable-book/library-features/int-to-from-bytes.html#int_to_from_bytes).
- Changed method names for trait `FromLexicalLossy` from `from_bytes_lossy`, `from_bytes_lossy_radix`, `try_from_bytes_lossy`, and `try_from_bytes_lossy_radix` to `from_lexical_lossy`, `from_lexical_lossy_radix`, `try_from_lexical_lossy`, and `try_from_lexical_lossy_radix` to avoid conflict with unstable feature [int_to_from_bytes](https://doc.rust-lang.org/1.27.2/unstable-book/library-features/int-to-from-bytes.html#int_to_from_bytes).