Release notes

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

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, badgeOffsetZ (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.

v5.25.0

Breaking changes

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

  • Added a new parameter / tag called CheckKit. It allows flexibly configuring the language settings.
  • Renamed a list of the existing tags in the AppServer.X.xml 
    • GrammarCheckProvider → GrammarCheck
    • SpellEngineOptions → SpellCheck
    • FullPath → Path (it can work in both sides with a absolute path and relative path)
    • SpellCheckEnginePriority → SpellCheckPriority
    • AutoCompleteCheckProviderOptions → Autocomplete + <Locale>en</Locale>
    • AutoCorrect → Autocorrect

Enhancements

  • BETA. English dialects support AI-based English under the hood. Implemented for next dialects:  American, British, Canadian and Australian English. By default it’s disabled but you can enable it as follows:
    • HTTP API: add “enforce_ai=true” to a query string;
    • WProofreader SDK integration: add “enforceAI: true” option to the configuration script.
  • New version of WProofreader core v3.7.4760
    • Added option/parameter to turn ON/OFF enhanced text checking powered by AI.
    • Updated the default path for the WProofreader core for the cloud product version from “servicePath”: “spellcheck31/script/ssrv.cgi” to “servicePath”: “api”.
  • Released v2.2.0 of the WProofreader plugin for CKEditor 5.  Added support of the Restricted editing mode.
  • Improved AI-based English proofreading mechanism. Better handling cases with hyphenated compound words (e.g. mother-in-law), various typographical symbols and punctuation, contraction of verbs (e.g. “it’s”).    
  • [On-premise product version] Updated the demo samples inside the package  to match the online version. By default the path to access the demos as follows: http: localhost/wscservice/samples/

Bug fixes

  • [WP-4399] WProofreader core: Styles were broken in the title of the JIRA issue [detected using browser extension]
  • [WP-4428] WProofreader core: Disabled autocorrect feature for Slate.js
  • [WP-4418] WProofreader core: Focus state shifted in Google Chat  [detected using browser extension]
  • [WP-4405] AppServer: “System exception“ error occurred during license activation
  • [WP-4442] [Cloud] BrE spelling: “tired” word marked as misspelled
  • [WP-4451] [Cloud] BrE spelling: “benifitting”/”benifitted” words are marked as misspelled
  • [WP-4443] AI engine: Incorrect handling suggestions to errors with zero length
  • [WP-4411] HTTP API: Checking text with “%” causes BAD URI syntax error

v5.24.0

Enhancements

Updated WProofreader core v3.6.4736

  • Changed the badge behavior and view. By default, it starts in a small size and has a few states: orange – all is OK, no suggestions found; red – some suggestions found. On hover, users can check the exact number of alerts/suggestions detected. To return it to a large size use the option fullSizeBadge: true.
  • Implemented the 1st version of the global badge under globalBadge option name. If enabled, there will be only one global badge on the page that aggregates all the suggestions on the page instead of having separate badges for each field.  By default, it’s disabled: globalBadge: false.
  • Changed the default state of the suggestion popup view by enabling additional actions like: proofread in dialog, settings, toggle.
  • Deprecated the badge pulsation effect and related disableBadgePulsing​​ option. Also, with the introduction of the small badge, removed the mechanism with the dynamic badge-size depending on the content and the text field.
  • Learn more in the updated version of WProofreader API documentation.

Languages

Updated the sources of the Hunspell dictionaries for the next languages:

Other

  • [On-Premise product version] HTTP API demo added to the demo samples, the same as we have in our public demos.

Bug fixes

  • [WP-4384,GitHub#32] WProofreader plugin for CKEditor 5: Accessibility concerns related to WProofreader badge element
  • [WP-4388] WProofreader core: Autocorrect messes up corrected words
  • [WP-4392] Spelling: Portuguese and Brazilian Portuguese don’t handle words with “ções”and “não” ending

Breaking changes

[On-premise product version] Updated Docker configuration:

  • Settings (e.g. protocol, domain, web-port, etc.) can now be changed on the container run. More details in README.
  • Application server (AppServer) logs are now linked to stdout, so they can be found in docker logs. Note that the license activation logs that are generated during image creation are stored in Logs/img_build_logs.tar.gz.
  • config.ini and configSSL.ini were removed, all build parameters are now ARGs in the Dockerfile and also can be set as ENV variables.

v5.23.0

Enhancements

Languages/Engines:

  • AI-based German. Integrated version 2 of the AI German language model with improved processing quality, F0.5 score increased by 0.05 points. Now the model produces fewer false positive results (incorrect suggestions).
  • Grammar engine. Updated 3rd party engine, LanguageTool, to version 5.8.0
    • Added and improved grammar rules for the next languages: Catalan, English, German, French, Polish, Portuguese, Russian, Spanish, Ukrainian.
    • Updated 3rd party component to fix vulnerability: CVE 2022-25647. Removed vulnerable Jetty libraries from the package. 
  • Dictionaries. Extended the German and English medical dictionaries with new terms reported by the clients (e.g. COVID-19, Moderna, AstraZeneca).

Custom dictionary API:

  • Words added to custom dictionaries can be divided by next separators: \n, Space, Tab, comma.
  • Formed the list of supported characters that can be added to the dictionary (letters, digits and some punctuation marks). Words containing only digits or punctuation as well as their combinations are not supported.

Bug fixes

  • [WP-4349, GitHub #11951] WProofreader core: The caret moves to a different block when pressing space after a word with grammar error in CKEditor 5
  • [WP-4352] WProofreader core: Incorrect behavior of cursor restore during autocorrect in Draft.js

Breaking changes

[On-premise product version] Updated the automated install script:

  • Updated web_server_type values : 1 – Apache HTTP Server, 2 – NGINX, 3 – Other
  • Renamed web server related parameters:
    • restart_apacherestart_web_server
    • apache_config_dirweb_server_config_dir

v5.19.2

Note! Both cloud and on-premise product versions release. The cloud version includes everything from v5.19.1 and the updated grammar check engine to version 5.7.

Enhancements

  • Grammar engine. Updated 3rd party engine, LanguageTool, to version 5.7. Added and improved grammar rules for the next languages: Catalan, French, German, Polish, Portuguese, Russian, Spanish and Ukrainian. It also includes updated versions of dependencies #6423 and fix for multithreading issue #6423 in v5.6.

v5.19.1

Note! On-premise product release only.

Enhancements

  • HTTP API. Added text splitting for the parameter text of check API command in case of AI-based languages such as English, German and Spanish. Initially only token parameter could be used where text was manually divided into sentences.
  • Java-based grammar engine troubleshooting. Extended logging mechanism with full stack trace in case of exceptions in the Java grammar module.
  • Increased default allocated memory value for Java Virtual Machine (JVM) from 512 MB to 700 MB.
  • Improvised security. Excluded from the build vulnerable versions of 3rd party dependencies in the grammar engine module: logback-core:1.2, protobuf-java:3.17.2, jackson-databind:2.12.0.

Bug fixes

  • [WP-3967] WProofreader core: Vertical scroll inside <input> element
  • [WP-4210] WProofreader core: Broken styles for ‘ckeditor5’, ‘gray’ and ‘dark’ themes
  • [WP-4213] WProofreader core: Vertical scroll is shown in the <input> element
  • [WP-4214] WProofreader core: Horizontal scroll comes up after initialization in Google Chat editable area
  • [WP-4220] WProofreader core: Underlines are shifted when vertical scroll overlaps the content of <textarea> element

v5.19.0

Note! Only on-premise product version was released. The cloud product version is still in progress. We had to postpone the release due to Russia’s aggressive military invasion in Ukraine (WebSpellChecker is made by Ukrainians & in Ukraine).

Enhancements

  • Autocomplete suggestions (beta). Brand new functionality is implemented and added to WProofreader-based products – autocomplete suggestions while typing for English. It suggests only a word or short phrase, suggestion can be accepted using the left arrow “>”on the keyboard. Going forward it will be extended to more comprehensive phrases or common sentences. The feature is disabled by default, it can be easily enabled from the user interface by end users or added by developer to the configuration using autocomplete option.
  • Grammar engine. Updated 3rd party engine, LanguageTool, to version 5.6. Added and improved grammar rules for the next languages: Catalan, Dutch, English, French, German, Portuguese, Russian, Spanish and Ukrainian.
  • Security improvements. Updated LanguageTool grammar engine with all its dependencies to eliminate common vulnerabilities. 
  • WProofreader core. The version is updated to v3.5.xxx with the release of autocomplete suggestions. Disabled badge pulsation effect: “disableBadgePulsing: true”.

Bug fixes

  • [WP-4176] Incorrect words count is recorded usage statistics for the cloud product version
  • [WP-4181] WProofreader core: Broken CSS styles in a client environment
  • [WP-4171] WProofreader core: Markup fails in texareas with more than 65 535 characters [Chrome]

v5.17.0

Enhancements

  • [Cloud] Speed up the process of the service activation after the subscription. Previously it took around 5-10 minutes for the subscription to be activated. Now the service starts working right away.
  • Enable English, Spanish, French medical dictionaries for appropriate languages and their dialects. 
  • Enable dictionary-based spell check engine priority for AI-based Spanish and German. 

Breaking changes

  • The list of supported languages was shortened from 160+ to approximately 80+ languages. Only unpopular and unused languages were removed. However, clients who use on-premise product versions have an option to add missing languages manually (Hunspell spell check engine). The updated list of supported languages.
  • Withdrawn the limit on the number of languages that can be used within cloud or on-premise product versions. The on-premise version package is shipped with all supported languages. However, some of them are in the disabled state. They can be easily enabled using the instructions in the following guide. 

Bug fixes

  • [WP-4140] Words with apostrophe can’t be added to user dictionary

v5.16.2

Enhancements

  • Improved configuration of reverse proxy modules for Windows IIS deployments: added links to the required modules and added validation if modules are not installed.

v5.16.1.1

Bug fixes

  • [WP-4051] AI-based engine: Suggestion is broken when >1 byte symbols are inserted into text
  • [WP-4052] AI-based engine: Misleading error message when large requests fail if not split into tokens and send using text parameter
  • [WP-4053]: AppServer: ‘canRemoveBranding: true’ doesn’t work for Linux-based installations

v5.16.1

Enhancements

Installers

  • Automate configuration of reverse proxy in Windows installer for IIS to avoid exposing a custom 2880 port.

Note! Reverse proxy server can be configured on top of a web server or Java application server allows our customers to avoid the configuration of SSL connection directly for application server (AppServer) / licensing server or exposing 2880 port.

Grammar engine

  • Updated 3rd party engine, LanguageTool, to version 5.5. Added and improved grammar rules for the next languages: Catalan, Dutch, English, French, German, Portuguese, Russian, Spanish and Ukrainian.

Breaking changes

  • Removed support of Apache HTTP Server and Java Application Servers (Apache Tomcat, Oracle Weblogic) for Windows-based installation. However, there is still Other option which can be used for manual configuration (not recommended). 

Bug fixes

  • [WP-4036, WP-4040] Web API and WProofreader have offsets problems with zero-width spaces

v5.16.0

Enhancements

Licensing

  • The application server (AppServer) will not be stopped and show correct response to all API commands if there is any issue with the license. Previously if the license is absent or expired the AppServer stops working and it was unclean what is the root of the problem if not examine the AppSever logs.

Languages

Security improvements

  • As a part of security improvements we reviewed allowed HTTP methods for the cloud-based service. Allowed: POST, GET and OPTIONS.
  • Added the X-Frame-Options HTTP response header to avoid clickjacking attacks by ensuring that content is not embedded into other sites.
  • Added Strict-Transport-Security HTTP header to instruct the browser to only communicate via HTTPS. This will be enforced by the browser even if the user requests a HTTP resource on the same server.

Bug fixes

  • [WP-3983] Autocorrect: Incorrect replacement for “hte” in the English dialects.