# 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.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.3.3]
### Added
- Added Themes
## [0.3.2]
### Added
- Added new synchronous execution methods `Caprice::get()` and `Caprice::send()`.
- Added new `echo_synchronous` example.
## [0.3.1]
### Fixed
- Fixed `Caprice` thread not blocking correctly on command.
## [0.3.0]
This is a patch release that addresses concurrency and latency issues.
### Changed
- Add `Continue` variant for `CapriceCommand`. At least one command must be
sent to `Caprice` when a keyword is received, otherwise the `Caprice` thread
will block.
- Removed `CapriceError::IO`.
- Validate keywords. Caprice keywords are now validated against the "^[_a-zA-Z][A-Za-z_0-9]*$" regex.
- `Caprice::set_keywords()` will now receive a `Vec` of keywords by value.
## [0.2.5]
### Changed
- Added support for proceeding arguments. (@berdon)
### Fixed
- Various bug fixes around scanner/buffer divergence (@berdon)
## [0.2.4]
### Changed
### Fixed
- Fix print command not moving cursor to new line
- Fix slow printing of keywords using the `/list` command
## [0.2.3] - 2021-03-06
### Changed
### Fixed
- Fix bug when leaving alternate screen.
## [0.2.2] - 2021-03-06
### Changed
### Fixed
- Fixed an extra empty line in terminal after a token is entered by the user
## [0.2.1] - 2020-02-23
### Fixed
- Spelling errors
## [0.2.0] - 2020-02-23
### Added
### Changed
- Change list command to '/list' from '#list' to bypass AZERTY keyboard bug
- Caprice now uses its own CapriceError and not Anyhow::Result
- set_keywords function returns self and should be chained at initialization
### Deprecated
### Removed
### Fixed
- Scrolling behavior in windows terminals
### Security
## [0.1.0] - 2020-01-05
Initial Release