diff --git a/CHANGELOG.md b/CHANGELOG.md index 64a560dd..f68a0e81 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,17 +6,36 @@ 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). -## [Unreleased] +## [2.2.0] - 2019-03-19 ### Added -- Added build System CMake +- Added build System CMake. Supports building as shared library. + +### Changed +- Public API changed again, last for v2: + - `Dictionary::suggest()` return data inside simple `vector`. + `List_Strings` is not used anymore. + - Constructors of class `Dictionary` like `Dictionary::load_from_path()` + throw `Dictionary_Loading_Error` on error. Previously they were throwing + `ios_base::failure`. +- Boost::Locale is not dependency of library Nuspell anymore. It is still a + dependency of the CLI tool. The library depends directly on ICU. Internally, + all string now are in Unicode (UTF-8 or UTF-32, it depends of the need). ### Removed -- Removed old autotools build system +- Removed old Autotools build system. +- Removed `NOSUGGEST_MODE` in CLI tool. It was very similar to + `MISSPELLED_WORDS_MODE`. +- Class `Finder` does not search for Myspell dictionaries on the file-system + anymore. ### Fixed - Support compiling with GCC 5. Previously GCC 7 was needed. +- Faster dictionary loading and better internal error handing when parsing a + dictionary file. +- Faster spellchecking as a consequence of faster case classification, which + in turn, is a consequence of all string being Unicode and directly using ICU. -## [2.1.0] +## [2.1.0] - 2019-01-03 ### Changed - Public API classes are inside inline namespace v2 - `List_Strings` is renamed to just `List_Strings`. Affects client code. @@ -30,6 +49,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Spelling error detection (checking) is closely matching Hunspell - Support for spelling error correction (suggestions) -[Unreleased]: https://github.com/nuspell/nuspell/compare/v2.0.0...HEAD -[2.0.0]: https://github.com/nuspell/nuspell/compare/v1.6.2...v2.0.0 +[2.2.0]: https://github.com/nuspell/nuspell/compare/v2.1.0...v2.2.0 [2.1.0]: https://github.com/nuspell/nuspell/compare/v2.0.0...v2.1.0 +[2.0.0]: https://github.com/nuspell/nuspell/compare/v1.6.2...v2.0.0 diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt index 8c1da827..ba4ffe1b 100644 --- a/docs/CMakeLists.txt +++ b/docs/CMakeLists.txt @@ -6,5 +6,6 @@ add_custom_command(OUTPUT nuspell.1 MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/nuspell.1.md COMMENT "Building manpage nuspell.1") add_custom_target(nuspell-man-pages ALL DEPENDS nuspell.1) -install(FILES nuspell.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/nuspell.1 + DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) endif() diff --git a/src/nuspell/dictionary.cxx b/src/nuspell/dictionary.cxx index f6e5ce8c..ba98c784 100644 --- a/src/nuspell/dictionary.cxx +++ b/src/nuspell/dictionary.cxx @@ -2065,6 +2065,7 @@ Dictionary::Dictionary() * @param aff The iostream of the .aff file * @param dic The iostream of the .dic file * @return Dictionary object + * @throws Dictionary_Loading_Error on error */ auto Dictionary::load_from_aff_dic(std::istream& aff, std::istream& dic) -> Dictionary @@ -2076,6 +2077,7 @@ auto Dictionary::load_from_aff_dic(std::istream& aff, std::istream& dic) * @brief Create a dictionary from files * @param file path without extensions * @return Dictionary object + * @throws Dictionary_Loading_Error on error */ auto Dictionary::load_from_path(const std::string& file_path_without_extension) -> Dictionary