Release notes

View the up to date information of the product enhancements, bug fixes and new features added with each release.

v5.32.0

Enhancements

  • Named entity recognition (NER). Implemented a new functionality for seamless identification of entities such as names, locations and organizations. This functionality ensures that named entities are correctly identified and not flagged as misspellings.
    • Available for English, Spanish, German languages and their dialects.
    • Enabled by default for English, while for Spanish and German, it’s in a disabled state.
    • [On-premise] In the on-premise package, the NER functionality is added as a separate NERModel tag with “Enabled”, “Path”, ”ProbabilityThreshold” settings inside the respective language configuration of the AppServerX.xml file. Using “Enabled” attribute the feature can be enabled or disabled.
    • [On-premise] Adding NER affects minimal hardware requirements. If any of the English, Spanish, German languages is chosen to install, an appropriate NER model will be automatically downloaded. Each NER model requires around ~350 MB.
  • Spelling & grammar engine
    • The AI-powered engine is enabled for the following language configurations:
      • American English (en_US) and New Zealand English (en_NZ). The AI-powered configuration is enabled by default for all clients using the cloud service. It can’t be disabled in WProofreader SDK using the “enforceAI:false” parameter.  
      • Mexican Spanish (es_MX). The AI-powered configuration isn’t enabled by default but can be turned on by using the “enforceAI:true” parameter or “enforce_ai=true” for API requests.
      • [On-premise] If Spanish, German and/or English AI language models are selected to install, the AI-powered engine will be added to the language configuration along with the algorithmic spelling and grammar engines. But this can be updated manually in the AppServerX.xml file. 
    • 3rd party grammar engine. Updated vulnerable versions of Jetty/Netty libraries shipped with LanguageTool package. 

Bug fixes

  • [WP-5163] WProofreader core: Misleading error message when language code is not available
  • [WP-5230] WProofreader core/Google Docs: Highlighted error are merged into one and are not divided into parts
  • [WP-5152] AI German: Post-processing adds excessive spaces in suggestions with quotes
  • [WP-5242] AI English: Post-processing provides broken suggestions for numbers with commas
  • [WP-5166] [On-premise] WProofreader SDK demos: Error when working with enforceAI if model isn’t installed
  • [WP-5195] [On-premise] Web server is not configured properly after installation
  • [WP-5193] [On-premise] Linux installer/Docker: Abort build if language files were not downloaded
  • [WP-5245] Spelling autocorrect: 400 error when American English (en_US) language is not enabled
  • [WP-5253] Autocomplete parameter is set to “true” if respective model is not installed
  • [WP-5258] [On-premise] AppServerX.xml: Incorrect left-to-right (LTR) mode is used for Urdu (ur_PK) language
  • [WP-5228] English medical dictionaries: Incorrect word ‘Helicobactor’ is present in dictionaries

v5.31.0

Enhancements

  • WProofreader core v3.10.5196
    • Added functionality to accept autocomplete suggestions using the “Tab” key, in addition to the “Right arrow” key.
    • Introduced a boolean “cache” option to reduce requests to the backend, disabled by default. Particularly beneficial for Google Docs integration by avoiding repeated checks of already verified text. This cache resets after 24 hours.
    • Published a new NPM package – WProofreader SDK JavaScript. Simplifies integration into JavaScript frameworks like Vue.js, React.js, and Angular. Includes demo samples for integrating WProofreader into popular editors (CKEditor 4, TinyMCE, Quill, Froala).
  • Autocomplete suggestions
    • Implemented filters to exclude irrelevant suggestions with inappropriate punctuation or repeated words.
  • Spelling & grammar engines
    • The AI-powered engine is enabled for the following language configurations:
      • British English (en_GB), Canadian English (en_CA) and Australian English (en_AU). The AI-powered configuration is enabled by default for all clients using the cloud service. It can’t be disabled in WProofreader SDK using the “enforceAI:false” parameter.  
      • German (de_DE) and Spanish (es_ES). The AI-powered configuration isn’t enabled by default but can be turned on by using the “enforceAI:true” parameter or “enforce_ai=true” for API requests.
      • [On-premise] English, German, Spanish AI language models will be offered to be installed during the installation if corresponding language codes are selected: “en_US”, “en_GB”, “en_CA”, “en_AU”, “es_ES”, “de_DE”. In this case, the AI-powered engine will be added to the language configuration along with the algorithmic spelling and grammar engines. But this can be updated manually in the AppServerX.xml file. 
    • Updated 3rd party engine, LanguageTool, to version 6.2.0. Added and improved grammar rules for the following languages: Catalan, Dutch, English, French, German, Portuguese, Spanish, Ukrainian, Galician, Belarusian, Esperanto, Arabic, and Russian.
    • Updated the sources of the Hunspell dictionaries for the next languages:
    • Allowed rules list for grammar and style guide engines. This feature allows enabling the specific rules and rule categories, complementing the disabled rules list introduced in previous versions. To utilize this, the desired rules should be specified in the “allowedRules.json” file within the /WebSpellChecker/AppServer directory. And further enabled by setting the “UseAllowedRules” tag to “true” for a specific language in the corresponding section of the AppServerX.xml file.
  • [On-premise] Updated Windows installer
    • The Windows installer has been updated to mirror the Linux installation approach. This includes adding two steps: selecting desired languages and AI language models for installation. Language IDs, such as “en_US” for American English, need to be specified during installation. Depending on the selected languages, AI language models for enhanced text correction and assistance, available for English, German, and Spanish, are then offered as subsequent steps.
  • [On-premise] ARM architecture support (Linux)
    • A separate installation package is now available for applications on servers with ARM architecture running Linux-based OS, expanding compatibility.
    • Docker configurations and build steps have been updated to ensure proper image creation for ARM architecture servers. These updates consider the unique requirements of the environment where the image is built. For more detailed information and step-by-step guidance, refer to the updated README.

Bug fixes

  • [WP-5119] WProofreader core: Disconnecting of dictionary works incorrectly with several editable fields
  • [WP-5088] WProofreader core: “Ignore all” doesn’t work properly with several editable fields
  • [WP-4216] AI English doesn’t respect spelling ignore options
  • [WP-5105] AI engine doesn’t respect medical or legal terms
  • [WP-5150] Windows installer: “Activate license” checkbox is checked for re-installation

v5.30.0

Enhancements

  • Spelling & grammar engine
  • Service security. [Cloud] Enabled support of TLS 1.3 for all service requests.
  • WProofreader core v3.9.5107
    • Improved Google Docs integration. Added support for RTL mode and minor bug fixes.

Bug fixes

  • [WP-4965] WProofreader core: Pop-up menu opens in the wrong place after drag- and- drop action in Google Docs
  • [WP-5020] WProofreader core: disableOptionsStorage has no effect on options under General section
  • [WP-4954] WProofreader core: .wsc-generaloptions__list does not have global ARIA attribute [Accessibility]
  • [WP-4990] Spelling: Words “install”, ”installs” are reported as incorrect in English
  • [WP-4953] Licensing: Misleading message about license absence when it expired
  • [WP-4960] Custom dictionary: Words from the dictionary are marked as misspelled if duplicated in dialect files

Breaking changes [On-premise]

  • Application Server (AppServer)
    • AppServerX.xml configuration file: Deprecated “SpellCheck” and “GrammarCheck” parameters and introduced new ones named by engine types respectively in AppServer.X.xml. Each new engine tag contains arguments such as “Enabled”, “Priority” and “Locale”. Spell check type engines contain additional sub-tags for dictionaries and settings. Style guide functionality as well added as a separate tag to “CheckKit” with arguments such as “Enabled”, “Priority” and “Locale”.
    • Deprecated the AI-based language codes: AI-based English (en_AI), German (de_AI) and Spanish (es_AI). These language codes were made up as a temporary solution until the full adoption of the AI engines under the hood. If installed and configured properly, the enhanced text correction with the AI engine can be enabled using the special parameter: “enforceAI:true” in the WProofreader configuration or “enforce_ai=true” for API. Also, there is an option to make changes to the language configuration in the AppServerX.xml configuration file (not recommended).
    • Updated location for the external resources such as language dictionaries for Hunspell spelling engine.
    • Renamed service directory on Linux from “/var/lib/wsc” to: “/var/lib/WebSpellChecker” and on Windows respectively: “C:\ProgramData\WebSpellChecker”.
  • Updated Linux installer
    • Added two new steps: select languages and AI language models to be installed. Now IDs of the desired languages need to be specified during the installation (e.g. “en_US” for American English). The AI language models for comprehensive text correction and assistance will be offered as the next steps depending on the selected languages. The AI language models are available for English, German and Spanish.
    • Renamed the installation directory from “/opt/WSC” to “/opt/WebSpellChecker”.
    • Updated “languages_to_install.pl” script mirror changes in the main installer to allow clients install additional languages on top of the ones installed initially, including AI language models.
  • Updated Docker configurations
    • Updated application installation parameters in Dockerfile:
      • “LANGUAGES_TO_INSTALL” is deprecated.
      • Added new “LANGUAGES” and “AI_MODELS” parameters that specify which languages and AI language models to be installed respectively. The models are offered for English, Spanish and German.
    • Updated the language configuration of the default Docker image.
      • Installed languages: American English, British English, Canadian and Australian English. In the Dockerfile: “LANGUAGES=en_US,en_GB,en_CA,en_AU”.
      • Installed AI language modes: English AI language model, English autocomplete model. In the Dockerfile: “AI_MODELS=1,2”.

v5.27.3

Bug fixes

  • [WP-4675] Korean correct words are unrecognized and underlined as misspellings

v5.27.2

Enhancements

AppServer

v5.27.1

Enhancements

Bug fixes

  • [WP-4640] User dictionary API: Incorrect error message on ‘addword’ with unsupported characters
  • [WP-4641] Custom dictionary API: Words followed by Windows carriage return are ignored
  • [WP-4614] AppServer: ‘compileCustDict’ parameter doesn’t work*

* ‘compileCustDict’ parameter that was used for compilation of global custom dictionaries is deprecated. File compilation is no longer needed, just plain text files with appropriate formatting. 

v5.27.0.1

Bug fixes

  • [WP-4636] WPR core: Slovenian (sl_SI) flag is missing on UI after language code change
  • [WP-4644] Words from user dictionary ignored during check for short serviceIds

v5.27.0

Enhancements

  • Language engines:
    • Updated language resources for the Hunspell spell check engine: British English, French, Indonesian, Dutch, Polish, Ukrainian, Mexican Spanish, Danish, German, Swiss German, Bulgarian, Czech, Chilean Spanish.
    • Slovenian language code was changed from sl_SL to sl_SI. This change affected the 2nd part of the locale ID with the country code. It’s SI (Slovenia). The old language code will still work for the existing clients. However, it’s recommended to make changes in the configuration and migrate to the correct language code.
    • Prioritized grammar type suggestions if the spelling engine gives “No suggestions”. In other cases, spelling suggestions will supersede.
    • [On-premise] Updated the structure of the folders/directories with resources such as language files and additional wordlists.
  • User-level custom dictionary. Conducted a complete refactoring of user custom dictionary functionality including its HTTP API command “user_dictionary”. Its behavior and validation mechanisms now are adapted to a company-level or global custom dictionary. 
    • Input validation for newly added words and dictionary name. For example, words with special characters, punctuation marks or spaces can no longer be added to the dictionary. 
    • Updated error messages to be more precise and clear. Validated error codes returned for API responses.
    • Restricted input to a single word for addword and deleteword actions with word parameter. In upcoming releases, wordlist parameter will be added for actions with many words. 
  • WProofreader core:
    • Added UI localization for Indonesian language “id”. It can be enabled by adding the “localization: id” option to the config script.
    • Updated Spanish localization “es” for “Autocomplete suggestions” to ”Texto predictivo”.
  • Other:

Bug fixes

  • [WP-4593] Spelling: The word ”pay” is flagged as a misspelling in AmE
  • [WP-4543] Spelling: Capitalized forms of British words are present in the AmE dictionary (e.g. Colour, Fibre, Paediatric, Aesthetic)
  • [WP-4495] WProofreader core: isUserDictionaryExist method doesn’t corresponds its name
  • [WP-4564] User dictionary HTTP API: Incorrect status code when “word” isn’t deleted
  • [WP-4603] User dictionary HTTP API: Action to delete non-existent dictionary returns 200 OK
  • [WP-4539] HTTP API: Invalid encoded URI returns BAD URI syntax
  • [WP-4396] Specific words can’t be deleted using exclude functionality

v5.26.3

Enhancement

AppServer

  • Updated Hunspell spell check engine to version 1.7.1.
  • Updated POCO C++ library to version 1.11.5.

Bug fixes

  • [WP-4557] HTTP API: The same check requests with enabled custom dictionary for American and British English returns different suggestions [Cloud product version]
  • [WP-4566] HTTP API: Сheck request with custom_dictionary parameter returns error related to unsupported language Id [Cloud product version]*

*This fix will be applied on December 27, 2022 once the involved component is updated.

v5.26.2

Hot fix release for the issue with AI requests that randomly lead to the application crash.

v5.26.1

Note! We had to roll back the ICU changes made in v5.26.0 due to the issues that led to the application crashes causing 5xx errors. This change is applied in both cloud and on-premise product versions.

  • Replaced sentence tokenization mechanism. The old custom sentence tokenization mechanism was replaced with the ICU word break iterator tool to improve processing of words that contain dots (abbreviations), hyphens, apostrophes, special symbols, shortening with one dot, possessions, etc. This approach is implemented for all languages that are based on the Hunspell spelling check engine.

Bug fixes

  • [WP-4180] Spelling check engine: Incorrect processing of words with trailing hyphens in German

v5.26.0

Note! Only the on-premise product version was fully released. The cloud one is still in progress. We had to roll back the cloud release, specifically changes in the backend component, due to the issues that led to the application crashes causing 5xx errors. However, all the changes introduced in the WProofreader core are available in the cloud version as well.

Enhancements

Updated WProofreader core v3.8.4782:

  • Global badge v2. Rethought the conception and behavior of the global badge. This badge no longer is tied to text fields but is global on the page. By default, it’s disabled globalBadge:false but if enabled it will be placed in the bottom right corner of the page. Its position can be regulated using the following options: badgeOffsetX, badgeOffsetY, badgeZIndex (by default, badgeOffsetX = 20, badgeOffsetY = 20, badgeZIndex = 1000).  

Grammar engine. Updated 3rd party engine, LanguageTool, to version 5.9.0.

  • Added and improved grammar rules for the next languages: Catalan, Dutch, English, German, French, Polish, Portuguese, Russian, Spanish, Ukrainian.
  • Updated 3rd party components to fix vulnerabilities in .jar libraries: CVE-2022-42003, CVE-2022-42004, CVE-2022-3171, CVE-2022-42889

Replaced sentence tokenization mechanism.

The old custom sentence tokenization mechanism was replaced with the ICU word break iterator tool to improve processing of words that contain dots (abbreviations), hyphens, apostrophes, special symbols, shortening with one dot, possessions, etc. This approach is implemented for all languages that are based on the Hunspell spelling check engine.

Bug fixes

  • [WP-4447] WProofreader core: No markup when user opens Full screen view in Google Gmail [detected using browser extension]
  • [WP-4477] WProofreader core: No flag icon for Valencian (cat_ES) language
  • [WP-4476] WProofreader core: Apostrophe (‘) is not allowed symbol for adding to the dictionary from UI
  • [WP-4484] WProofreader core: WProofreader doesn’t work properly in IE11 in textareas
  • [WP-4180] Spelling check engine: Incorrect processing of words with trailing hyphens in German
  • [WP-4519] HTTP API: If set to “true”, ignore_mixed_case also affects and enables ignore_all_caps
  • [WP-4501] Dictionaries: Some medical terms are recognized as incorrect words (e.g. AAOMR, ABthrax, ACTHoma, ALternaGEL)
  • [WP-4491, WP-4524] Spelling: Words “filter”, “practice” and “groin” are flagged as misspellings in British English
  • [WP-4452] AI engine: Misspelled words in quotes are recognized and underlined as grammar mistakes

Breaking changes

[On-premise product version] Updated the application server (AppServer) configuration file, AppServer.X.xml:

  • Updated existing tags as follows:
    • Replaced Enabled tag for SpellCheck to Enabled attribute: <SpellCheck Enabled="true">
    • Added boolean Enabled attribute for Model, GrammarCheck, Autocomplete and Autocorrect tags.
  • Added MaxInputSize parameter which is responsible for setting the max number of input tokens for AI language models in AppServer.X.xml. It adds flexibility in controlling model input size.