# 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). ## [2.1.4](https://github.com/jeertmans/languagetool-rust/compare/v2.1.3...v2.1.4) ### Fixed - Fixed serializing of `interpretAs` in `data`. [#103](https://github.com/jeertmans/languagetool-rust/pull/103) ## [2.1.3](https://github.com/jeertmans/languagetool-rust/compare/v2.1.2...v2.1.3) ### Chore - Moved LanguageTool docker image to service in GitHub action. [#87](https://github.com/jeertmans/languagetool-rust/pull/87) - Added automatic benchmarks comparison to CI. [#89](https://github.com/jeertmans/languagetool-rust/pull/89) - Improving test coverage. [#88](https://github.com/jeertmans/languagetool-rust/pull/88) ### Fixed - Allow text starting with hyphens. [#100](https://github.com/jeertmans/languagetool-rust/pull/100) ## [2.1.2](https://github.com/jeertmans/languagetool-rust/compare/v2.1.1...v2.1.2) 2023-05-29 ### Fixed - Fixed serializing of comma-separated values. [#86](https://github.com/jeertmans/languagetool-rust/pull/86) ## [2.1.1](https://github.com/jeertmans/languagetool-rust/compare/v2.1.0...v2.1.1) 2023-04-07 ### Chore - Added Arch Linux installation ([@Dosx001](https://github.com/Dosx001)). [#77](https://github.com/jeertmans/languagetool-rust/pull/77) ## [2.1.0](https://github.com/jeertmans/languagetool-rust/compare/v2.0.0...v2.1.0) 2023-02-09 ### Added - Added environment variables for login arguments. [#64](https://github.com/jeertmans/languagetool-rust/pull/64) ### Fixed - Fixed words requests. [#64](https://github.com/jeertmans/languagetool-rust/pull/64) ## [2.0.0](https://github.com/jeertmans/languagetool-rust/compare/v1.3.0...v2.0.0) 2023-02-07 ### Chore - Created founding link. [#19](https://github.com/jeertmans/languagetool-rust/pull/19) - Added two related projets. [#21](https://github.com/jeertmans/languagetool-rust/pull/21) - Added release dates. [#31](https://github.com/jeertmans/languagetool-rust/pull/31) - Added `#[must_use]` flag to most structures, to please clippy pendantic. [#29](https://github.com/jeertmans/languagetool-rust/pull/29) - Changed conditional compilation flags to directly point to dependency, e.g., `"clap"` instead of `"cli"`. [#28](https://github.com/jeertmans/languagetool-rust/pull/28) - Use `cargo-nextest` instead of `cargo test` for faster CI testing. [#32](https://github.com/jeertmans/languagetool-rust/pull/32) - Improve CI testing. [#41](https://github.com/jeertmans/languagetool-rust/pull/41) - Added issue templates. [#42](https://github.com/jeertmans/languagetool-rust/pull/42) - Added dependabot config. [#43](https://github.com/jeertmans/languagetool-rust/pull/43) - Added PR template and codecov badge. [#44](https://github.com/jeertmans/languagetool-rust/pull/44) - Added missing `#[must_use]`. [#50](https://github.com/jeertmans/languagetool-rust/pull/50) - Upgraded formatting options, using nightly, and improved documentation. [#55](https://github.com/jeertmans/languagetool-rust/pull/55) - Change example image to be SVG. [#57](https://github.com/jeertmans/languagetool-rust/pull/57) - Added more tests. [#22](https://github.com/jeertmans/languagetool-rust/pull/22) ### Added - Added `cli-complete` feature to generate completion files. [#23](https://github.com/jeertmans/languagetool-rust/pull/23) - Added message when reading from STDIN. [#25](https://github.com/jeertmans/languagetool-rust/pull/25), [#26](https://github.com/jeertmans/languagetool-rust/pull/26) - Added (regex) validator for language code. [#27](https://github.com/jeertmans/languagetool-rust/pull/27) - Added cli requirements for `username`/`api_key` pair. [#16](https://github.com/jeertmans/languagetool-rust/pull/16), [#30](https://github.com/jeertmans/languagetool-rust/pull/30) - Added a `CommandNotFound` error variant for when docker is not found. [#52](https://github.com/jeertmans/languagetool-rust/pull/52) - Added a `split_len` function. [#18](https://github.com/jeertmans/languagetool-rust/pull/18) - Automatically split long text into multiple fragments. [#58](https://github.com/jeertmans/languagetool-rust/pull/58), [#60](https://github.com/jeertmans/languagetool-rust/pull/60) - Add `try_` variants for panicking functions. [#59](https://github.com/jeertmans/languagetool-rust/pull/59) ### Changed - Cancelled effects of [#28](https://github.com/jeertmans/languagetool-rust/pull/28). [#45](https://github.com/jeertmans/languagetool-rust/pull/45) - Removed `regex` and `lazy_static` dependencies. [#51](https://github.com/jeertmans/languagetool-rust/pull/51) - **Breaking** Refactored the CLI by upgrading to Clap v4, added input from filenames and changed the library accordingly. [#53](https://github.com/jeertmans/languagetool-rust/pull/53) ### Fixed - Stopped serializing useless fields. [#17](https://github.com/jeertmans/languagetool-rust/pull/17) ## [1.3.0](https://github.com/jeertmans/languagetool-rust/compare/v1.2.0...v1.3.0) - 2022-08-25 ### Chore - Fixed features flag in `CI.yml` action. [#12](https://github.com/jeertmans/languagetool-rust/pull/12) ### Added - Added basic Docker support. [#12](https://github.com/jeertmans/languagetool-rust/pull/12) ### Fixed - Fixed typo in message when no error was found. [#12](https://github.com/jeertmans/languagetool-rust/pull/12) ## [1.2.0](https://github.com/jeertmans/languagetool-rust/compare/v1.1.1...v1.2.0) - 2022-08-10 ### Chore - Use vendored TLS for release. [#14](https://github.com/jeertmans/languagetool-rust/pull/14) - Fixed PR links in CHANGELOG. [#15](https://github.com/jeertmans/languagetool-rust/pull/15) ### Added - Add 3 new features `native-tls`, `native-tls-vendored` and `full`. [#14](https://github.com/jeertmans/languagetool-rust/pull/14) ## [1.1.1](https://github.com/jeertmans/languagetool-rust/compare/v1.0.1...v1.1.1) - 2022-08-09 ### Chore - Add GitHub action to automate release process. [#12](https://github.com/jeertmans/languagetool-rust/pull/12) ## [1.1.0](https://github.com/jeertmans/languagetool-rust/compare/v1.0.0...v1.1.0) - 2022-08-08 ### Chore - Add some LanguageTool context. - Correct some typos in the various docs ([@kianmeng](https://github.com/kianmeng)). [#4](https://github.com/jeertmans/languagetool-rust/pull/4) - Add lint test for Markdown files ([@kianmeng](https://github.com/kianmeng)). [#5](https://github.com/jeertmans/languagetool-rust/pull/5) - Add grammar check for text-like files. [#6](https://github.com/jeertmans/languagetool-rust/pull/6) - Add compare links to release tags in CHANGELOG. [#9](https://github.com/jeertmans/languagetool-rust/pull/9) - Add action to check if can publish. [#11](https://github.com/jeertmans/languagetool-rust/pull/11) ### Added - Add `get_text` method for `CheckRequest`. [#8](https://github.com/jeertmans/languagetool-rust/pull/8) - Create `CheckResponseWithContext` that enables keeping information about checked text. Hence, mutable and immutable iterators have been created to provide more tools to the end-user. [#10](https://github.com/jeertmans/languagetool-rust/pull/10) - Add `--more-context` option flag to CLI. This enables to add more information in the JSON output. [#10](https://github.com/jeertmans/languagetool-rust/pull/10) - Derive `Eq` for all structs that derive `PartialEq` and with fields that derive `Eq`. [#10](https://github.com/jeertmans/languagetool-rust/pull/10) - Add `from_env` and `from_env_or_default` methods for `ServerCli` and `ServerClient`. [#10](https://github.com/jeertmans/languagetool-rust/pull/10) ### Fixed - Fixed line number in annotated responses. [#8](https://github.com/jeertmans/languagetool-rust/pull/8) - Fixed missing bench path in `Cargo.toml`. [#11](https://github.com/jeertmans/languagetool-rust/pull/11) ## [1.0.0](https://github.com/jeertmans/languagetool-rust/compare/v0.0.18...v1.0.0) - 2022-07-24 ### Chore - Add GitHub actions for MSRV. - Enhance GitHub actions' set by adding more checks. - Add `pre-commit.ci` linting. - Add GitHub action with dockerized LanguageTool server for more advanced tests. - Remove `cliff`'s changelog generation and opt for a manual changelog maintenance. - Create "changelog-bot" that requires pull-requests to contain diffs in CHANGELOG.md. ### Added - Add loading `hostname` and `port` from env. variables if `feature = "cli"` is set. ### Changed - Bump MSRV to 1.57. - Changed some `&str` parameters to `String` when `to_string()` was called inside the function. - Add `[non_exhaustive]` flag to all structures that rely on the LT server API. ### Fixed - Lowered dependency versions and using non-strict versions. - Fix compilation error in `src/lib/error.rs` when `feature = "cli"` was not set. - Remove unused print in `src/lib/server.rs`. > **_NOTE:_** Pre v1.0.0, the changelog was generated using the `cliff` tool that is based on commits. ## [0.0.18](https://github.com/jeertmans/languagetool-rust/compare/v0.0.17...v0.0.18) - 2022-06-22 ### πŸ†• Features - [**cli/lib**] Allow for max. number of suggestions
└─ This feature is very likely to change in the future - [**lib**] Allow to easily convert strings into `Replacement`s ### πŸ–‹οΈ Styling - [**lib**] Rustfmt and unused import ### πŸ—ƒοΈ Miscellaneous Tasks - [**readme**] Fix typo in readme - [**tests**] Added test for errors - [**docs**] 100% of src/lib is now documented ## [0.0.17](https://github.com/jeertmans/languagetool-rust/compare/v0.0.16...v0.0.17) - 2022-06-21 ### πŸ†• Features - [**lib**] Default value to "auto" for language in Default - [**lib**] Clean `DataAnnotation` constructors
└─ Provides simplified constructors for the `DataAnnotation` structure for the different possible cases. - [**lib**] Deriving `PartialEq` for `Data` and `DataAnnotation` - [**lib**] Implement `FromIterator` for `Data` & tests
└─ This allows for an easy construction of requests with markup data. - [**lib**] Implement `From` for `ServerClient` ### πŸ–‹οΈ Styling - [**fmt**] Rustfmt - [**lib**] Rustfmt ### πŸ—ƒοΈ Miscellaneous Tasks - [**clean**] Change `to_string` to `to_owned` - [**lib**] Documentation some add. functions - [**version**] Update version & changelog ## [0.0.16](https://github.com/jeertmans/languagetool-rust/compare/v0.0.15...v0.0.16) - 2022-06-08 ### πŸ†• Features - [**bin**] Allow to read text from stdin
└─ This changes the default behavior where `--text` or `--data` was required. Now, if none are provided, ltrs will read from stdin. ### πŸ–‹οΈ Styling - [**fmt**] Rust fmt - [**lib**] Clippy suggestion ### πŸ—ƒοΈ Miscellaneous Tasks - [**fmt**] Rust fmt - [**diet**] Ran cargo diet to save space - [**cliff**] Enhance changelog appearance
└─ This adds emojis as well a more content to the changelog messages - [**ci**] Updated GitHub action to avoid integration error
└─ See [this issue](https://github.com/actions-rs/clippy-check/issues/2) for example - [**version**] Update version & changelog ## [0.0.15](https://github.com/jeertmans/languagetool-rust/compare/v0.0.14...v0.0.15) - 2022-06-01 ### πŸ—ƒοΈ Miscellaneous Tasks - [**deps**] Reduce necessary dependencies
└─ Reduce the amount of features loaded from `tokio` and only require this feature to be activated for bin and tests. - [**version**] Update version & changelog ### 🩹 Bug Fixes - [**lib**] Avoid panicking on string slices
└─ This fixes the problem that occurred when the string was not made of purely utf-8 chars. E.g.: `ltrs check --text "Un essai de texte en franΓ§ais Γ  controler"` ## [0.0.14](https://github.com/jeertmans/languagetool-rust/compare/v0.0.13...v0.0.14) - 2022-05-31 ### πŸ—ƒοΈ Miscellaneous Tasks - [**readme**] Fix file link in readme - [**version**] Update version & changelog ## [0.0.13](https://github.com/jeertmans/languagetool-rust/compare/v0.0.12...v0.0.13) - 2022-05-31 ### πŸ†• Features - [**cli**] Annotate text from check response ### πŸ—ƒοΈ Miscellaneous Tasks - [**readme**] Document new feature - [**readme**] Fix typo - [**future**] Add some todos - [**cli**] Derive display order - [**version**] Update version & changelog ## [0.0.12](https://github.com/jeertmans/languagetool-rust/compare/v0.0.11...v0.0.12) - 2022-05-31 ### πŸ†• Features - [**src**] Create new "unstable" feature - [**lib**] Make response fields public and add "unstable" attribute ### πŸ—ƒοΈ Miscellaneous Tasks - [**check**] Renaming `with_data` to `with_data_str` - [**readme**] Refactor readme based on clap's readme - [**version**] Update version & changelog ### 🩹 Bug Fixes - [**readme**] Fix changelog link in readme ## [0.0.11](https://github.com/jeertmans/languagetool-rust/compare/v0.0.10...v0.0.11) - 2022-05-24 ### πŸ—ƒοΈ Miscellaneous Tasks - [**doc**] Refactor readme and include it in lib.rs' doc - [**naming**] Renamed server variables to client - [**version**] Update version & changelog ### 🩹 Bug Fixes - [**doc**] Automatic links in docstrings ## [0.0.10](https://github.com/jeertmans/languagetool-rust/compare/v0.0.9...v0.0.10) - 2022-05-23 ### πŸ†• Features - [**lib**] Add (basic) support for add. languages ### πŸ—ƒοΈ Miscellaneous Tasks - [**clean**] Remove useless comments in code - [**doc**] Document config file struct - [**version**] Update version & changelog ### 🩹 Bug Fixes - [**lib**] Now correctly writes arrays in config file - [**test**] Fixing doctest ## [0.0.9](https://github.com/jeertmans/languagetool-rust/compare/v0.0.9-beta...v0.0.9) - 2022-05-20 ### πŸ—ƒοΈ Miscellaneous Tasks - [**doc**] Auto-doc for "feature"-only commands - [**version**] Update version & changelog ## [0.0.9-beta](https://github.com/jeertmans/languagetool-rust/compare/v0.0.9-alpha...v0.0.9-beta) - 2022-05-20 ### πŸ—ƒοΈ Miscellaneous Tasks - [**version**] Update version & changelog ### 🩹 Bug Fixes - [**CI**] Now publish with cli feature ## [0.0.9-alpha](https://github.com/jeertmans/languagetool-rust/compare/v0.0.8...v0.0.9-alpha) - 2022-05-20 ### πŸ—ƒοΈ Miscellaneous Tasks - [**tests**] Add some doctests - [**features**] Remove default features - [**version**] Update version & changelog ## [0.0.8](https://github.com/jeertmans/languagetool-rust/compare/v0.0.7...v0.0.8) - 2022-05-20 ### πŸ†• Features - [**lib**] Derive serialize for words' responses - [**lib**] New errors system
└─ Errors and results are now unified under a common type that can be found inside `lib/error.rs` ### πŸ—ƒοΈ Miscellaneous Tasks - [**lib**] Refactor lib. exposed functions - [**doc**] Update description - [**deps**] Remove unused crate and add thiserror crate - [**version**] Update version & changelog ### 🩹 Bug Fixes - [**cli**] Text takes now 't' as short flag - [**lib**] IDs and categories are String ## [0.0.7](https://github.com/jeertmans/languagetool-rust/compare/v0.0.6...v0.0.7) - 2022-05-18 ### πŸ†• Features - [**errors**] Response errors are now used
└─ But not the body of the error, only the url - [**cli**] Changed language to `auto`
└─ language flag was required, now it defaults to `auto` ### πŸ—ƒοΈ Miscellaneous Tasks - [**errors**] Now exits as usage error for two commands - [**lint**] Rustfmt - [**typo**] Fixed typo in docstring - [**docs**] Split docs for `-h` and `--help` - [**readme**] Update todos & usage - [**version**] Update version & changelog ## [0.0.6](https://github.com/jeertmans/languagetool-rust/compare/v0.0.5...v0.0.6) - 2022-05-18 ### πŸ†• Features - [**cli**] Pretty print json output ### πŸ—ƒοΈ Miscellaneous Tasks - [**doc**] Improve docs - [**refactor**] Server mod and tests - [**clippy**] Removed useless ref. - [**defaults**] Change default hostname api
└─ Now uses online server from LanguageTool - [**version**] Update version & changelog ## [0.0.5](https://github.com/jeertmans/languagetool-rust/compare/v0.0.4...v0.0.5) - 2022-05-17 ### πŸ†• Features - [**cli**] Add ping command ### πŸ—ƒοΈ Miscellaneous Tasks - [**version**] Update version & changelog ## [0.0.4](https://github.com/jeertmans/languagetool-rust/compare/v0.0.3...v0.0.4) - 2022-05-17 ### πŸ†• Features - [**data**] Now correctly uses `data` field + pub fields
└─ `data` field is not correctly serialized for the `check` request ### πŸ—ƒοΈ Miscellaneous Tasks - [**readme**] Update todos - [**version**] Update version & changelog ## [0.0.3](https://github.com/jeertmans/languagetool-rust/compare/v0.0.2...v0.0.3) - 2022-05-17 ### πŸ†• Features - [**cli**] Create a nice cli ### πŸ—ƒοΈ Miscellaneous Tasks - [**readme**] Add new todos - [**version**] Update version & changelog - [**version**] Update version in Cargo.lock ## [0.0.2](https://github.com/jeertmans/languagetool-rust/compare/v0.0.1...v0.0.2) - 2022-05-16 ### πŸ†• Features - [**features**] Now Clap is a feature required for bin ### πŸ—ƒοΈ Miscellaneous Tasks - [**version**] Update version & changelog ### 🩹 Bug Fixes - [**src/lib/api**] Removed empty file ## [0.0.1](https://github.com/jeertmans/languagetool-rust/tree/v0.0.1) - 2022-05-16 ### πŸ†• Features - [**src**] First unstable code version ### πŸ—ƒοΈ Miscellaneous Tasks - [**ci/lint/doc**] Basic GitHub setup - [**changelog**] First changelog