✨ 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 — 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) — #391
✨ New: Add setting ltex.ltex-ls.languageToolOrgUsername to set username on languagetool.org for Premium API access — #398
✨ New: Add setting ltex.ltex-ls.languageToolOrgApiKey to set API key on languagetool.org for Premium API access — #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 — #390
🐛 Bug fix: Fix LanguageTool reinitialized when running the Add '...' to dictionary quick fix — #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 in LTEX LS
🐛 Bug fix: Fix fallback from German to English i18n in LTEX LS
✨ New: Add support for coc.nvim (Vim/Neovim) — ltex-ls#103
✨ New: Add support for more LATEX commands (\mathop, \overline, \tilde, \alpha, etc.) for automatic vowel detection in formulas in LATEX — ltex-ls#92, Shuhao Cao (@scaomath)
🐛 Bug fix: Fix markup before actual grammar/spelling errors included in errors — #349
🐛 Bug fix: Fix error when checking LATEX documents ending with specific commands — #341
✨ New: Fix name of Portuguese babel language names, add support for Brazilian Portuguese babel language names — ltex-ls#72
🗑 Removal: Remove unnecessary files from packaged extension (reduces size from 570 KB to 160 KB)
🔧 Change: Update LTEX LS to 12.3.0
10.4.0 — “The Walkthrough Implementation” (June 12, 2021)
🔧 Change: Enable LTEX in untrusted workspaces (introduced in VS Code 1.57.0)
✨ New: Add walkthrough for VS Code’s Getting Started page (introduced in VS Code 1.57.0)
10.3.0 — “The Orphan Disintegration” (June 5, 2021)
🔧 Change: Enable LTEX in Jupyter notebooks in VS Code Insiders (as soon as the native notebooks are released by VS Code, this will automatically work in regular VS Code)
✨ New: Add support for \setplength (LATEX)
🐛 Bug fix: Fix LTEX LS not closed when VS Code or workspace is closed — #325
🔧 Change: Update LTEX LS to 12.2.0
10.2.0 — “The Long Document Reverberation” (May 1, 2021)
🔧 Change: Show Use ... quick fixes before other quick fixes — #297
🔧 Change: Limit number of Use ... quick fixes to 5 — #297
🐛 Bug fix: Fix inconsistent titles of German commands
🐛 Bug fix: Hide internal commands in table of keyboard shortcuts to prevent confusion — #282
🔧 Change: Engineering: A running instance of LTEX LS, if it has been started with --server-type=tcpSocket, will be chosen over starting a new instance; this enables simultaneous debugging of vscode-ltex and ltex-ls
🔧 Change: Update LTEX LS to 12.0.0
10.0.0 — “The Unicode Simulation” (April 5, 2021)
🔧 Change: Update required version of VS Code (now 1.52.0 or newer)
9.0.0 — “The HTML Evaporation” (February 12, 2021)
🗑 Removal: Remove support for settings that are deprecated since 8.0.0: ltex.workspaceDictionary, ltex.workspaceFolderDictionary, ltex.workspaceDisabledRules, ltex.workspaceFolderDisabledRules, ltex.workspaceEnabledRules, ltex.workspaceFolderEnabledRules, ltex.ignoreInRuleSentence, ltex.commands.ignore, ltex.commands.dummy, ltex.environments.ignore, ltex.markdown.ignore, and ltex.markdown.dummy
🗑 Removal: Remove support for values for ltex.configurationTarget that are deprecated since 7.0.0 or 8.0.0: "global" (deprecated since 7.0.0), "addToDictionary", "disableRule", and "ignoreRuleInSentence"
✨ New: Add support for magic comments inside HTML comments in Markdown (<!-- ltex: SETTINGS -->)
🔧 Change: Check frame title in argument of LATEX Beamer frames — #239
✨ New: Add LTeX: Check Selection to check text in documents with unsupported code languages
🐛 Bug fix: Fix comment sign before babel commands not recognized — #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
8.4.0 — “The Math Optimization” (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 — #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_A — #221
🐛 Bug fix: Fix BibTEX field seealso not ignored, ignore category and parent — #211
🔧 Change: Disable UPPERCASE_SENTENCE_START in BibTEX files — #211
🔧 Change: Move rule ID to the end of diagnostic messages as VS Code truncates the messages if the Problems panel is narrow — #233
🐛 Bug fix: Fix regression that messages of possible spelling mistakes are not prepended with the respective unknown words — #161
🐛 Bug fix: Fix crash when using \begin or \end without an argument — #236
🔧 Change: Use Title Case for titles of commands
🔧 Change: Update LTEX LS to 9.2.0
8.3.0 — “The BibTEX Experimentation” (January 24, 2021)
✨ New: Add support for BibTEX files (language code bibtex) — #211
✨ New: Add setting ltex.bibtex.fields to control which BibTEX fields should be checked
🔧 Change: Print Flexmark AST of Markdown documents to log when ltex.ltex-ls.logLevel is "finest"
🔧 Change: Update LTEX LS to 9.1.0
8.2.1 — “The Accent Ramification” (January 13, 2021)
🔧 Change: Ignore \pgfmathsetmacro, \setmainfont, and \theoremstyle
🐛 Bug fix: Fix accent commands such as \O in math mode resulting in diagnostics — #216
🔧 Change: Update issue labels when reporting bugs or requesting features
🔧 Change: Update LTEX LS to 9.0.1
8.2.0 — “The Separation Displacement” (January 3, 2021)
🔧 Change: Make versioning of LTEX LS independent of vscode-ltex; see the changelog of vscode-ltex to find out which version of LTEX LS a particular version of vscode-ltex uses
🔧 Change: Replace \dots with Unicode ellipsis … instead of three dots ... to fix some false positives
🔧 Change: Update LTEX LS to 9.0.0
8.1.1 — “The Action Postulate” (November 24, 2020)
🔧 Change: Migrate from Travis CI to GitHub Actions
🔧 Change: Update LTEX LS to 8.1.1
8.1.0 — “The Prepending Annihilation” (November 15, 2020)
🔧 Change: Prepend messages of possible spelling mistakes with the respective unknown words — #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 — #167
🔧 Change: Avoid misleading popup prompting to install Java on Mac, use ltex.java.forceTrySystemWide to force trying a system-wide Java installation — #162
8.0.0 — “The Setting Transformation” (November 1, 2020)
🔧 Change: Upgrade from Java 8 to Java 11 (see announcement) — #39
✨ New: Add workaround to eliminate the need for workspace-specific setting names; ltex.dictionary, ltex.disabledRules, and ltex.enabledRules can now be used in multiple setting scopes (user settings, workspace settings, and workspace folder settings) at the same time without overriding each other; instead, the settings of the different scopes will be properly merged (see documentation)
✨ New: Add userExternalFile, workspaceExternalFile, and workspaceFolderExternalFile enumeration values to ltex.configurationTarget, which enables saving settings to external files (see documentation) — #144, #145
🔧 Change: Change default of ltex.configurationTarget for dictionary, disabledRules, and hiddenFalsePositives to workspaceFolderExternalFile
✨ New: Add ltex.statusBarItem to permanently display LTEX’s status in the status bar — #141
✨ New: Add support for \usepackage[LANGUAGE]{babel} if in the same file as the text to be checked — #140
✨ New: Add support for more BibLATEX commands such as \autocite, \citeauthor, etc. — #143
✨ New: Add support for overriding hard-coded command signatures — ltex-ls#27
✨ New: Add verification for downloaded files (LTEX LS and Java)
🔧 Change: Move handling of external setting files from ltex-ls to vscode-ltex
🔧 Change: Better resolve relative paths to external setting files, either with respect to the .vscode directory of the workspace folder if any, the .vscode directory of the workspace if any, or the global storage directory of the extension (see documentation) — #146
🔧 Change: Slightly change logo
🔧 Change: Improve logging in case of problems with the initialization of ltex-ls
🔧 Change: Increase duration before sentences expire in the result cache to 60 minutes
🐛 Bug fix: Fix many settings changes cleared sentence cache, which led to performance issues, e.g., changing the ltex.enabled setting via magic comments — #134
🗑 Removal: Remove dependency on org.apache.httpcomponents:httpclient by using the HTTP client that comes with Java 11 when connecting to an HTTP LanguageTool server
🔧 Change: Update LTEX LS to 8.0.0
7.3.1 — “The Delay Correlation” (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
🐛 Bug fix: Fix comment in readme
🔧 Change: Update LTEX LS to 7.3.1
7.3.0 — “The Debugging Formulation” (October 10, 2020)
✨ New: Add support for \ell as well as \mathcal, \mathfrak, etc. to vowel detection — #131
✨ New: Add setting ltex.ltex-ls.logLevel to control the verbosity of the server log of LTEX LS
✨ New: Add command ltex.requestFeature to quickly request a new feature in LTEX via VS Code
✨ New: Add button to set ltex.trace.server to "verbose" when reporting a bug
🐛 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
🔧 Change: Update LTEX LS to 7.3.0
7.2.0 — “The LanguageTool Acquisition” (September 27, 2020)
7.1.2 — “The Magic Configuration” (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 — #124
🔧 Change: Update LTEX LS to 7.1.2
7.1.1 — “The Relative Malfunction” (September 20, 2020)
🐛 Bug fix: Fix NullPointerException when supplying relative paths to external dictionary files
🐛 Bug fix: Fix German log messages
🔧 Change: Update LTEX LS to 7.1.1
7.1.0 — “The External Accumulation” (September 20, 2020)
✨ New: Add support for external dictionary files — #118
✨ New: Add support for enabling/disabling LTEX only for specific file types via ltex.enabled — #19
✨ New: Add support for acro commands such as \DeclareAcronym and \ac — #19
✨ 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: Change default of ltex.configurationTarget for addToDictionary to workspaceFolder, i.e., by default, words will now be added to the workspace-folder-specific settings instead of the user-specific settings
✨ New: Rename "global" value for ltex.configurationTarget to "user" ("global" is still supported, but deprecated)
🗑 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)
5.0.0 — “The Rewrite Materialization” (June 1, 2020)
✨ New: Download LTEX LS on demand with all languages already included; this removes the need for language support extensions — #6
🔧 Change: Download Java distribution on demand if no suitable Java installation has been found — #5
🔧 Change: Adhere to Semantic Versioning 2.0.0. This means that the version of LTEX is not tied to the version of LanguageTool anymore, as the version of LanguageTool is not a semantic version. LTEX 5.0.0 uses LanguageTool 4.9.
🔧 Change: Rename ltex.<LANGUAGE>.dictionary → ltex.dictionary (object with <LANGUAGE> keys)
🔧 Change: Rename ltex.<LANGUAGE>.disabledRules → ltex.disabledRules (object with <LANGUAGE> keys)
🔧 Change: Rename ltex.<LANGUAGE>.enabledRules → ltex.enabledRules (object with <LANGUAGE> keys)
✨ New: Support multi-root workspaces, all configuration settings except ltex.enabled are now resource-specific — #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
🔧 Change: Update LTEX LS to 4.7.0
4.6.13 — “The Remote Permeability” (September 26, 2019)
🐛 Bug fix: Fix language extensions not installable on remote machines — #8
🐛 Bug fix: Fix LTEX LS not reinitialized after a language extension has been installed (which was missing during initialization)
🔧 Change: Update LTEX LS to 4.6.13
4.6.12 — “The Interpolation Entanglement” (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
🔧 Change: Update LTEX LS to 4.6.12
4.6.11 — “The Infinite Loop Contraction” (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
🔧 Change: Update LTEX LS to 4.6.11
4.6.10 — “The Plaintext Decay” (September 18, 2019)
🐛 Bug fix: Change default severity from warning to info
✨ New: Add possibility to ignore a LanguageTool rule in a sentence via quick fix
✨ New: Add setting ltex.configurationTarget to control which settings.json to update when using one of the quick fixes
🐛 Bug fix: More commands like \PackageWarning and \addbibresource are ignored
✨ New: Add support for \url and \nolinkurl
✨ New: Add support for more accents (\`, \', \^, \~, \", \=, \., …)
🔧 Change: Command names can now include @ (this assumes that users don’t write something like \example@gmail.com with a command \example, otherwise replace with \example{}@gmail.com)
🔧 Change: Ignore alignment argument of tabular environment
🔧 Change: Update LTEX LS to 4.6.8
4.6.7 — “The Model Combustion” (September 2, 2019)
✨ New: Add possibility to use language model n-gram data, neural network model data, or word2vec model data
🔧 Change:Add to dictionary now always modifies global settings
4.6.6 — “The Timeout Theorem” (September 2, 2019)
🐛 Bug fix: Fix fromPos must be less than toPos LT errors
✨ New: Localization of diagnostics, initially support of English and German
✨ New: Add timeout for latex.AnnotatedTextBuilder; unfortunately this only displays an error, but does not kill the process
✨ New: Add support for \(, \), \[, \]
🔧 Change: Don’t insert spaces before \text in display math
4.6.5 — “The Consistency Integration” (September 2, 2019)
🔧 Change: Make readme and package.json consistent
🐛 Bug fix: Fix second arguments of \(re)newcommand not ignored
4.6.4 — “The Umlaut Expansion” (September 1, 2019)
🔧 Change: Ignore some commands often found in LATEX preambles
✨ New: Support umlauts and eszett
4.6.3 — “The Version Interruption” (September 1, 2019)