WProofreader core v6.15.0 adds spelling correction support for Thai, introduces the applyAllSuggestions method for applying every suggested correction in one call, and improves suggestion descriptions across the grammar and AI-based proofreading engines. This release also expands dictionaries with 1,200+ new words and terms across nine languages, updates the German spelling, and includes Docker build improvements and fixes for multiple security vulnerabilities.
📝 TL;DR
- Added spelling correction support for Thai.
- Introduced the
applyAllSuggestionsmethod for applying every suggested correction in a document with a single call. - Improved suggestion classification across the grammar and AI proofreading engines, including new style-issue detection.
- Expanded dictionaries with 1,200+ new words and terms across nine languages.
- Missing-period suggestions are now disabled by default in headings and list items.
- Improved Docker build compatibility across Kaniko, Buildah, and the classic Docker builder.
- Security fixes. Updated the Rangy, jackson-databind, and ch.qos.logback libraries to address CVE-2023-26102, CVE-2026-54515, CVE-2026-9828, and CVE-2026-10532.
WProofreader JS core (v3.44.6097)
- Added a new
applyAllSuggestionscommand that accepts every suggested correction in one go, instead of applying them one by one. It’s available now for developers to add to their setup; a ready-to-use button in the interface is coming in a future release. - Missing-period reminders no longer appear in headings and list items by default, cutting down on suggestions that don’t apply in these contexts. Review
disabledRulesPerEnvironmentin the configuration documentation for more information. - Improved how German abbreviations with spaces and capital letters (such as z. B.) are recognized, so they no longer trigger incorrect capitalization suggestions after them.
- Improved handling of the “Ignore domain names” option. Domain names are now consistently skipped, even in cases where they were previously still flagged as spelling mistakes. For more details, review Spelling ignore options documentation.
Application Server
- Removed obsolete hardware validation messages from application server logs. Hardware hasn’t been used for license validation for some time, but the related messages remained and could cause confusion during troubleshooting.
Deployment
- Improved Docker build reliability across Kaniko, Buildah, and the classic Docker builder, including setups that override values with
--build-arg. Build arguments now carry through properly to every stage of a multi-stage build, fixing cases where later stages couldn’t see them.
AI-based proofreading
- Dash-related suggestions from the AI proofreading engine are now easier to identify and turn off, which is useful if your style guide restricts or avoids dashes. For more information on rules, review information on English AI proofreading categories and rules.
- In addition to spelling and grammar, AI proofreading suggestions can now also be classified as style issues, so they’re labeled more accurately. Review English AI proofreading style categories and rules.
- Added curated descriptions for English AI-based proofreading corrections. Our linguistic team prepared these descriptions, making it easier to understand why a suggestion was made.
Grammar
- Suggestions from the third-party grammar engine are now correctly labeled as grammar, spelling, or style issues, so they’re highlighted the right way. Previously, everything from this engine showed up as a grammar issue, even when it wasn’t.
- Updated LanguageTool to the 2026-07-14 release.
- Improved recognition of German words that can function as either a verb or an adjective, such as strukturierte. Previously, some of these were only recognized as a verb, which could cause the comma rule to misread the sentence structure and incorrectly suggest removing a valid comma.
- Improved consistency across rules names so that turning a specific grammar rule on or off now applies the same way, no matter which checking engine handles it.
Spelling
- Dutch now recognizes words with apostrophes, such as ‘s-Hertogenbosch, as correctly spelled.
- Improved spelling suggestions for German abbreviations that need a space between their two parts, such as correcting z.B. to z. B.
- Added 640+ of new words and terms across English, German, Spanish, Ukrainian, Bulgarian, Dutch, Thai, Greek, and Portuguese. They are covering everyday vocabulary as well as specialized fields like science, business, and technology.
- Expanded the shared cross-language dictionary with 30+ new proper names and abbreviations, including companies, products, and organizations, such as Canon, Ltd, and Rakuten. Additionally, added it as an additional dictionary for Greek spell check.
- Added 550 new medical terms for English, German, and Spanish, including abbreviations and procedure names, such as hepatoscopy, Unkovertebralgelenke and USG.
- Expanded English dialect support with 17 new dialectal pairs, such as hematoporphyrin (American) and haematoporphyrin (British).
- Improved 40+ spelling and autocorrect suggestions across English, Spanish, Ukrainian, Bulgarian, Catalan, and the shared cross-language dictionary. Targeting common misspellings, proper names, and abbreviations, such as llm → LLM.
Autocomplete
- Autocomplete now stops any output suggestions when the typed text contains words that can be considered strong swear language.
Languages
- Implemented spelling correction support for the Thai language.
🛡 Security
- Rangy library: We backported the upstream patch for CVE-2023-26102 into our forked Rangy library used in SCAYT3, closing the vulnerability while keeping it compatible with our fork.
- jackson-databind: We updated jackson-databind to 2.18.9 to fix CVE-2026-54515. This affects components that depend on jackson-databind, directly or transitively.
- ch.qos.logback: We updated ch.qos.logback from 1.5.25 to 1.5.35 to fix two deserialization vulnerabilities, CVE-2026-9828 and CVE-2026-10532. This affects components that depend on ch.qos.logback, directly or transitively.
🐞 Bug fixes
- Spelling engine: Elongated words, such as loooooooooooong, produced “No suggestions”
- Spelling engine: Unintelligible letter strings, such as fjkdkdjshkhfdk, produced unrelated real-word suggestions