18.5.0 (upcoming)

18.4.0 (December 23, 2024)

18.3.0 (November 27, 2024)

  • New: Add support for Typst (LSP language ID typst) — ltex-ls-plus#39, vscode-ltex-plus#49
  • New: Add support for MDX (LSP language ID mdx) — vscode-ltex-plus#88
  • New: Add Dockerfile
  • 🐛 Bug fix: Bundled ltex-cli-plus did not start due to a wrong setting .lsp-cli.json — #40
  • 🔧 Change: Update ltex-cli from https://github.com/valentjn/lsp-cli to https://github.com/ltex-plus/lsp-cli-plus
  • 🐛 Bug fix: Fix spelling errors for Swedish dummies — vscode-ltex-plus#89

18.2.0 (October 19, 2024)

18.1.0 (September 28, 2024)

18.0.0 (September 17, 2024)

  • 🔧 Change: Update from Java 11 to 21. Be aware: Starting from LTEX+ LS 18.0.0, Java 21 or higher is required!
  • New: Add arm64/aarch64 Java runtimes for Linux (e.g. Raspberry Pi), macOS (Apple M1 SoC and its successors) and Windows on ARM.

17.0.1 (August 29, 2024)

  • 🐛 Bug fix: Silence output to stdout caused by LanguageTool. This issue caused a crash of LTEX+ LS on Linux systems. It’s a similar issue to https://github.com/valentjn/vscode-ltex/issues/68

17.0.0 (August 24, 2024)

  • 🔧 Change: Rename to LTEX+ LS
  • 🔧 Change: Update bundled Java runtime to 11.0.24+8

16.0.0 (March 19, 2023)

15.2.0 (November 28, 2021)

15.1.0 (November 5, 2021)

  • New: Add support for some aliases of LSP language IDs: bib for bibtex, plaintex for latex, xhtml for html
  • 🐛 Bug fix: Fix LTEX LS sometimes not properly terminated when using LTEX CLI — valentjn/ltex-ls#117
  • 🐛 Bug fix: Fix error when running ltex-cli from a different directory than bin/

15.0.0 (October 30, 2021)

14.1.0 (October 19, 2021)

14.0.0 (October 14, 2021)

  • 🔧 Change: Update LanguageTool to 5.5 (see LT 5.5 release notes)
  • 🔧 Change: Refactor CLI into ltex-cli; --input-documents and --setings-file are deprecated and will be removed in a future release
  • New: Add support for automatic language detection via language short code auto; language variants like en-US are not detected, only generic languages like en; this will result in spelling errors not being reported — valentjn/ltex-ls#103
  • New: Provide ID of LanguageTool rule via diagnostics code, not as part of diagnostics message
  • New: Link diagnostics to LanguageTool website with more information
  • New: Add support for the main option of the babel package (LATEX) — valentjn/vscode-ltex#391
  • New: Add setting ltex.ltex-ls.languageToolOrgUsername to set username on languagetool.org for Premium API access — valentjn/vscode-ltex#398
  • New: Add setting ltex.ltex-ls.languageToolOrgApiKey to set API key on languagetool.org for Premium API access — valentjn/vscode-ltex#398
  • New: Add support for ltex.dictionary when using a LanguageTool HTTP server
  • 🔧 Change: Handle disabled rules ourselves to prevent reinitialization of LanguageTool when running the Disable rule quick fix — valentjn/vscode-ltex#390
  • 🐛 Bug fix: Fix LanguageTool reinitialized when running the Add '...' to dictionary quick fix — valentjn/vscode-ltex#390
  • 🐛 Bug fix: Fix wrong parsing of inline math formulas in Markdown when using dollar signs as delimiters and containing only one character (e.g., $a$)
  • 🐛 Bug fix: Fix used i18n keys removed
  • 🐛 Bug fix: Fix fallback from German to English i18n
  • 🔧 Change: For binary archives, migrate from AdoptOpenJDK JREs to own Java runtime generated from Eclipse Adoptium JDKs
  • 🔧 Change: Update bundled Java runtime to 11.0.12+7 (see list of OpenJDK fixes)

13.0.0 (August 11, 2021)

12.3.0 (July 12, 2021)

12.2.0 (June 5, 2021)

  • New: Add support for \setplength (LATEX)
  • New: Add --log-file option to tee server/client communication and server log to a file
  • 🐛 Bug fix: Fix LTEX LS not terminating if input stream is end-of-file — valentjn/vscode-ltex#325
  • 🔧 Change: Bundle Java for platform-dependent, standalone archives — valentjn/ltex-ls#70

12.1.0 (May 1, 2021)

  • New: Add support for cancellation of checking requests — valentjn/vscode-ltex#253
  • 🔧 Change: Show Use ... quick fixes before other quick fixes — valentjn/vscode-ltex#297
  • 🔧 Change: Limit number of Use ... quick fixes to 5 — valentjn/vscode-ltex#297
  • New: Add isChecking and documentUriBeingChecked fields to result of _ltex.getServerStatus
  • New: Add support for \phantom, \hphantom, and \vphantom (LATEX)
  • 🐛 Bug fix: Fix wrong underlining of words starting with markup — valentjn/ltex-ls#69

12.0.0 (April 18, 2021)

  • 🔧 Change: Prefix all command names with an underscore to mark them as internal (for hiding them from the user in some clients)
  • 🔧 Change: Rename ltex.addToDictionary_ltex.addToDictionary
  • 🔧 Change: Rename ltex.disableRules_ltex.disableRules
  • 🔧 Change: Rename ltex.hideFalsePositives_ltex.hideFalsePositives
  • 🔧 Change: Rename ltex.checkDocument_ltex.checkDocument
  • 🔧 Change: Rename ltex.getServerStatus_ltex.getServerStatus
  • New: Add support for Org; use the code language ID orgvalentjn/vscode-ltex#277
  • New: Add basic support for reStructuredText; use the code language ID restructuredtextvalentjn/vscode-ltex#32
  • New: Add --server-type=tcpSocket option to communicate over a TCP socket
  • New: Add --host and --port options to control host and port of the TCP socket
  • New: Add --[no-]endless option to keep the server alive when the client terminates the connection
  • New: Add -h and --help options to show help message
  • New: Add -V option as alias for --version
  • 🗑 Removal: Remove support of single CR characters as line endings
  • 🐛 Bug fix: Fix .Rnw not recognized for R Sweave documents when running _ltex.checkDocument
  • 🐛 Bug fix: Fix newlines accepted as whitespace in magic comments
  • 🔧 Change: Use picocli for parsing of command-line arguments

11.0.0 (April 5, 2021)

10.0.0 (February 12, 2021)

  • 🗑 Removal: Remove support for settings that are deprecated since 8.0.0: ltex.ignoreInRuleSentence, ltex.commands.ignore, ltex.commands.dummy, ltex.environments.ignore, ltex.markdown.ignore, and ltex.markdown.dummy
  • 🔧 Change: Replace ltex/serverStatus request with ltex.getServerStatus command
  • New: Add support for magic comments inside HTML comments in Markdown (<!-- ltex: SETTINGS -->)
  • 🔧 Change: Check frame title in argument of LATEX Beamer frames — valentjn/vscode-ltex#239
  • New: Add range argument to ltex.checkDocument
  • New: Check documents even if their code language is not supported
  • 🐛 Bug fix: Fix comment sign before babel commands not recognized — valentjn/vscode-ltex#245
  • 🐛 Bug fix: Fix removing items in settings with a hyphen prefix sometimes not working
  • 🐛 Bug fix: Fix space not added between two arguments of LATEX commands
  • 🐛 Bug fix: Fix manually checking BibTEX documents not working
  • 🐛 Bug fix: Fix words in dictionary containing markup not recognized

9.2.0 (January 29, 2021)

  • New: Add support for Pandoc-style inline math ($...$) and display math ($$...$$ with $$ being at the beginning/end of a Markdown block) to Markdown parser — valentjn/vscode-ltex#210
  • 🐛 Bug fix: Fix false positives for words added by Add to dictionary for Slovak rule IDs MUZSKY_ROD_NEZIV_A, ZENSKY_ROD_A, and STREDNY_ROD_Avalentjn/vscode-ltex#221
  • 🐛 Bug fix: Fix BibTEX field seealso not ignored, ignore category and parentvalentjn/vscode-ltex#211
  • 🔧 Change: Disable UPPERCASE_SENTENCE_START in BibTEX files — valentjn/vscode-ltex#211
  • 🔧 Change: Move rule ID to the end of diagnostic messages as VS Code truncates the messages if the Problems panel is narrow — valentjn/vscode-ltex#233
  • 🐛 Bug fix: Fix regression that messages of possible spelling mistakes are not prepended with the respective unknown words — valentjn/vscode-ltex#161
  • 🐛 Bug fix: Fix crash when using \begin or \end without an argument — valentjn/vscode-ltex#236
  • 🔧 Change: Change $/progress tokens to include a UUID instead of a counter

9.1.0 (January 24, 2021)

  • New: Add support for BibTEX files (language code bibtex) — valentjn/vscode-ltex#211
  • New: Add setting ltex.bibtex.fields to control which BibTEX fields should be checked
  • New: Add support for GitLab Flavored Markdown, especially inline math (e.g., $`E = mc^2`$) — valentjn/vscode-ltex#210
  • New: Add support for Markdown tables as in GitHub Flavored Markdownvalentjn/vscode-ltex#218
  • New: Add support for more commands of the glossaries LATEX package
  • 🔧 Change: Enable Add to dictionary quick fix for Slovak rule IDs MUZSKY_ROD_NEZIV_A, ZENSKY_ROD_A, and STREDNY_ROD_Avalentjn/vscode-ltex#221
  • 🗑 Removal: Remove superfluous spaces in messages of diagnostics
  • 🐛 Bug fix: Fix handling of \r\n (Windows) line terminators in Markdown
  • 🔧 Change: Use Flexmark’s YAML Front Matter extension to ignore YAML front matter in Markdown instead of own handling
  • 🔧 Change: Print Flexmark AST of Markdown documents to log when ltex.ltex-ls.logLevel is "finest"

9.0.1 (January 13, 2021)

  • 🔧 Change: Ignore \pgfmathsetmacro, \setmainfont, and \theoremstyle
  • 🐛 Bug fix: Fix accent commands such as \O in math mode resulting in diagnostics — valentjn/vscode-ltex#216

9.0.0 (January 3, 2021)

  • 🔧 Change: Make versioning independent of vscode-ltex; LTEX LS now adheres to Semantic Versioning 2.0.0
  • New: Require support of LSP 3.15
  • 🔧 Change: Update LanguageTool to 5.2 (see LT 5.2 release notes)
  • New: Add ltex.additionalRules.enablePickyRules to still be able to detect false friends after the update of LanguageTool (default: false)
  • 🔧 Change: Replace ltex/progress with $/progressvalentjn/ltex-ls#34
  • New: Add customCapabilities in InitializeParams.initializationOptions
  • 🗑 Removal: Remove unneeded command arguments type and command
  • 🔧 Change: Replace \dots with Unicode ellipsis &#x2026; instead of three dots ... to fix some false positives
  • New: Add documentation

8.1.1 (November 24, 2020)

  • 🔧 Change: Migrate from Travis CI to GitHub Actions

8.1.0 (November 15, 2020)

  • 🔧 Change: Prepend messages of possible spelling mistakes with the respective unknown words — valentjn/vscode-ltex#161
  • New: Add support for optional arguments of \newtheorem
  • 🐛 Bug fix: Fix wrong position of diagnostics when using a recognized LATEX command with a non-recognized set of arguments due to an infinite loop — valentjn/vscode-ltex#167
  • 🔧 Change: Update LSP4J to 0.10.0

8.0.0 (November 1, 2020)

7.3.1 (October 12, 2020)

  • 🐛 Bug fix: Fix delayed publication of diagnostics by adding workaround to guess the caret position
  • 🐛 Bug fix: Fix recheck being triggered when generating list of quick fixes; this should improve speed

7.3.0 (October 10, 2020)

  • New: Add support for \ell as well as \mathcal, \mathfrak, etc. to vowel detection — valentjn/vscode-ltex#131
  • New: Add setting ltex.ltex-ls.logLevel to control the verbosity of the server log
  • 🐛 Bug fix: Fix diagnostics sometimes not lined up with the text with switching back from incremental to full document updates; unfortunately, this disables the delayed publication of diagnostics at the caret position
  • 🔧 Change: Restructure and simplify internal quick fix and command structure, removing the need for pseudo-telemetry notifications

7.2.0 (September 27, 2020)

  • 🔧 Change: Update LanguageTool to 5.1 (see LT 5.1 release notes)
  • New: Add support for HTML entities such as &auml; and &copy; in Markdown
  • 🐛 Bug fix: Fix missing tilde expansion for external dictionary files
  • 🔧 Change: Improve logging

7.1.2 (September 22, 2020)

  • 🐛 Bug fix: Fix performance issue with multiple languages in one document via magic comments due to LanguageTool being reinitialized on each keystroke — valentjn/vscode-ltex#124

7.1.1 (September 20, 2020)

  • 🐛 Bug fix: Fix NullPointerException when supplying relative paths to external dictionary files
  • 🐛 Bug fix: Fix German log messages

7.1.0 (September 20, 2020)

7.0.0 (September 13, 2020)

  • 🔧 Change: Change scope of ltex.dictionary, ltex.disabledRules, and ltex.enabledRules to application; these are now user-specific settings that can only be configured in user settings
  • New: Add settings ltex.workspaceDictionary, ltex.workspaceDisabledRules, and ltex.workspaceEnabledRules with window scope to amend the corresponding user-specific settings; these are workspace-specific settings that should be configured in workspace settings
  • New: Add settings ltex.workspaceFolderDictionary, ltex.workspaceFolderDisabledRules, and ltex.workspaceFolderEnabledRules with resource scope to amend the corresponding user-specific and workspace-specific settings; these are workspace-folder-specific settings that should be configured in workspace folder settings
  • 🔧 Change: Rename globaluser in ltex.configurationTarget
  • 🗑 Removal: Remove deprecated settings ltex.javaHome, ltex.performance.initialJavaHeapSize, ltex.performance.maximumJavaHeapSize, ltex.performance.sentenceCacheSize, ltex.*.dictionary, ltex.*.enabledRules, and ltex.*.disabledRules (deprecation since 5.0.0)
  • 🔧 Change: Update LanguageTool to 5.0.2 (see LT 5.0.2 release notes)
  • 🐛 Bug fix: Fix skipping of YAML front matter — valentjn/vscode-ltex#104

6.3.0 (August 22, 2020)

6.2.0 (August 7, 2020)

6.1.1 (July 26, 2020)

6.1.0 (July 26, 2020)

6.0.2 (July 11, 2020)

6.0.1 (July 2, 2020)

6.0.0 (June 28, 2020)

  • 🔧 Change: Update LanguageTool to 5.0 (see LT 5.0 release notes)
  • 🔧 Change: Delay diagnostics at the current caret position (e.g., incomplete word or sentence) until the user has finished typing — valentjn/vscode-ltex#46
  • New: Add enabled to magic comments — valentjn/vscode-ltex#67
  • 🐛 Bug fix: Fix \todo couldn’t be ignored — valentjn/vscode-ltex#63
  • 🐛 Bug fix: Fix wrong language-dependent settings used for magic comments
  • 🐛 Bug fix: Fix add to dictionary and disable rule quick fixes using wrong language when used with magic comments
  • 🐛 Bug fix: Improve code quality by fixing hundreds of Checkstyle, SpotBugs, and Checker Framework warnings
  • 🔧 Change: Migrate from Gradle to Maven
  • 🔧 Change: Update Maven dependencies

5.0.0 (June 1, 2020)

  • New: Include all languages in LTEX LS; this removes the need for language support extensions — valentjn/vscode-ltex#6
  • 🔧 Change: Adhere to semantic versioning. This means that the version of LTEX LS is not tied to the version of LanguageTool anymore, as the version of LanguageTool is not a semantic version. LTEX LS 5.0.0 uses LanguageTool 4.9.
  • 🔧 Change: Rename ltex.<LANGUAGE>.dictionaryltex.dictionary (object with <LANGUAGE> keys)
  • 🔧 Change: Rename ltex.<LANGUAGE>.disabledRulesltex.disabledRules (object with <LANGUAGE> keys)
  • 🔧 Change: Rename ltex.<LANGUAGE>.enabledRulesltex.enabledRules (object with <LANGUAGE> keys)
  • 🔧 Change: Rename ltex.javaHomeltex.java.path
  • 🔧 Change: Rename ltex.performance.initialJavaHeapSizeltex.java.initialHeapSize
  • 🔧 Change: Rename ltex.performance.maximumJavaHeapSizeltex.java.maximumHeapSize
  • 🔧 Change: Rename ltex.performance.sentenceCacheSizeltex.sentenceCacheSize
  • New: Add support for external LanguageTool HTTP servers — valentjn/vscode-ltex#36
  • New: Add support for magic comments, enables changing the language in the middle of documents — valentjn/vscode-ltex#21
  • 🐛 Bug fix: Check \footnote and \todo contents separately, preventing “double period” warnings — valentjn/vscode-ltex#42
  • New: Add support for more BibLATEX citation commands, add support for plural dummies, add support for \eg, \egc, \ie, \iecvalentjn/vscode-ltex#43
  • New: Add visual feedback in status bar during startup and checks that take a long time
  • 🗑 Removal: Remove null types and default values from settings, use empty string/array/object instead — valentjn/vscode-ltex#41
  • 🔧 Change: Use proper server/client model for language server/client
  • 🔧 Change: Make documentation of vscode-ltex more extensive, put it on own website

4.9.3 (May 7, 2020)

  • 🔧 Change: Revert to Java 8
  • 🗑 Removal: Remove support for external LanguageTool HTTP servers

4.9.2 (May 6, 2020)

  • 🔧 Change: Update required version of Java (now 11 or newer)
  • New: Add support for external LanguageTool HTTP servers — valentjn/vscode-ltex#36
  • New: Add support for \autoref, \pageref, \autopagerefvalentjn/vscode-ltex#37

4.9.1 (May 1, 2020)

4.9.0 (March 28, 2020)

  • 🔧 Change: Update LanguageTool to 4.9 (see LT 4.9 release notes)
  • 🔧 Change: Update other Java dependencies
  • 🔧 Change: Reduce file size (omitting unneeded dependencies)

4.7.10 (March 12, 2020)

  • 🐛 Bug fix: Fix spelling errors for French dummies — valentjn/vscode-ltex#27
  • 🐛 Bug fix: Fix \dots in math mode being interpreted as ...

4.7.9 (February 29, 2020)

  • 🔧 Change: Update Markdown parser Flexmark to 0.60.2; this increases the speed of parsing Markdown
  • New: Add possibility to ignore Markdown elements or replace them by dummy words via ltex.markdown.ignore and ltex.markdown.dummyvalentjn/vscode-ltex#26
  • 🔧 Change: Ignore Markdown code blocks by default
  • 🔧 Change: Replace auto-links and inline Markdown code with dummy words by default
  • 🐛 Bug fix: Fix match positions were sometimes off by one, especially in Markdown documents
  • 🔧 Change: Rewrite MarkdownAnnotatedTextBuilder

4.7.8 (February 16, 2020)

4.7.7 (November 23, 2019)

  • 🔧 Change: No changes, dummy release

4.7.6 (November 10, 2019)

  • New: Add ltex.performance settings to give users more control over Java’s RAM usage
  • 🔧 Change: Change default initial Java heap size to 64 MB
  • 🔧 Change: Change default maximum Java heap size to 512 MB
  • 🔧 Change: Change default sentence cache size from 10000 to 2000 sentences

4.7.5 (October 22, 2019)

  • 🔧 Change: Enable ignoring environments such as lstlisting and verbatim
  • New: Add ltex.environments.ignore setting for defining own environments to ignore

4.7.4 (October 15, 2019)

  • New: Add disabledRules and enabledRules settings (requires update of language extensions)
  • New: Add disable rule quick fix
  • 🐛 Bug fix: Fix a bug where the codeAction request gets stuck in infinite loop
  • 🐛 Bug fix: Fix another NullPointerException for word2vec

4.7.3 (October 7, 2019)

4.7.2 (October 2, 2019)

  • New: Add missing error message if legacy false friends could not be loaded

4.7.1 (October 2, 2019)

4.7.0 (October 1, 2019)

  • 🔧 Change: Update LanguageTool to 4.7 (see LT 4.7 release notes)
  • New: Support multi-root workspaces, all configuration settings except ltex.enabled are now resource-specific — valentjn/vscode-ltex#7
  • 🔧 Change: Save dictionary settings under full language short code (e.g., en-US instead of en). If you already have a dictionary under ltex.en.dictionary and use en-US as language (not en), you have to rename the settings name to ltex.en-US.dictionary (similarly for other languages).
  • 🗑 Removal: Remove diagnostics when a file is closed
  • 🐛 Bug fix: Prevent insertion of text in TikZ mode
  • New: Add support for more commands such as \newenvironment, \newgeometry, and \pagenumbering

4.6.13 (September 26, 2019)

  • 🐛 Bug fix: Fix LTEX LS not reinitialized after a language extension has been installed (which was missing during initialization)

4.6.12 (September 25, 2019)

  • 🐛 Bug fix: Patch LanguageTool’s AnnotatedText with linear interpolation to hopefully fix the fromPos must be less than toPos LT errors for good
  • 🐛 Bug fix: Fix \footnote in math mode messed up text mode and math mode
  • 🔧 Change: Increase robustness in case locale or settings are not provided
  • 🔧 Change: Ignore all brace and bracket arguments after \begin{environment} (tabular, array, etc.)
  • New: Add support for some more commands and environments such as \pagestyle and eqnarray

4.6.11 (September 23, 2019)

  • 🐛 Bug fix: Detect and prevent infinite loops in LatexAnnotatedTextBuilder
  • 🐛 Bug fix: Fix infinite loop with other line endings than \n
  • 🐛 Bug fix: Fix some more fromPos must be less than toPos LT errors
  • 🔧 Change: Check for interrupts to avoid 100% CPU usage on timeout (this doesn’t fix any bugs though)
  • New: Add support for \email, \href, and \verb|...|
  • New: Add support for more citation commands (\citep, \citet, etc.)
  • New: Add support for float/theorem definition commands and starred sectioning commands

4.6.10 (September 18, 2019)

  • 🐛 Bug fix: Fix NullPointerException if LanguageTool has not been initialized — valentjn/ltex-ls#1

4.6.9 (September 8, 2019)

  • 🐛 Bug fix: Fix NullPointerException in main

4.6.8 (September 7, 2019)

  • New: Initial release