## ltex-plus/ltex-ls-plus — 18.6.1…18.7.0

_111 commits._

### Features
- **Add PR references to 18.7.0 changelog entries** (63d0e28)
- **Add paragraphCacheEnabled; rename cache settings** (fcf2fb7)
- **Add FINER cache-stats log line for fragment caching** (bab1172)
- **Add AnnotatedTextSlicer to split built text into paragraphs** (9e73a76)
- **Add per-fragment result cache for incremental checking** (0a092fb)
- **Add tripwire tests for auto+preferredVariants on both LT backends** (72bf868)
- **measureLspLatency: add --chunk-size and --client-config** (0250b1b)
- **Add Premium integration tests gated on env var secrets** (d8ced07)
- **Add tools/measureLspLatency.py** (5c6ce33)
- **Add permissions for get-version job in CI workflow** (a981a47)
- **Add get-version step to ci.yml** (7fbd218)
- **Add support for #grid() in TypstFragmentizer.kt** (7b7dfda)
- **support builtins from usrguide version 2025-05-01** (7e4566b)

### Fixes
- **Fix release-notes generation in deploy job: use gh --notes-file** (79ad38a)
- **Fix unbalanced backticks in Emacs quoted-identifier changelog entry** (fd8a1c4)
- **Fix AnnotatedTextSlicer inserting an empty MARKUP** (0d488d0)
- **Fix silent hang on bare trailing line-comment markers** (35ae776)
- **Fix StringIndexOutOfBoundsException in addComment shadow offset mapping** (842db5d)
- **Fix: per-language dictionary/disabledRules ignored on auto+HTTP path** (185f4b9)
- **Fix: lowercase variant subtag in canonicalizeLanguageTag** (0405446)
- **Fix: merge ltex.preferredVariants with defaults instead of replacing** (266aa5b)
- **Fix: ltex.language=auto silently disabled spell-check on HTTP LT backend** (f54cf8b)
- **Fix: "Add to dictionary" for Premium/HTTP and SIMPLE_REPLACE rules** (0ad1cbc)
- **Fix: normalize ltex.language (regional variants, "auto" casing, whitespace)** (56e0b92)
- **Fix: spell-check text in org-mode #+CAPTION affiliated keyword** (78b8d8e)
- **Fix flaky TCP socket test on Windows by polling for listener readiness (#151)** (088c400)
- **Fix TypstFragmentizer.kt** (9e92649)
- **Fix table parsing in Typst** (2329fe1)
- **Fix table parsing in Typst** (ca03e5c)
- **Fix conditional hyphen in Typst** (6d256d1)
- **Fix several Typst parsing issues** (0617a24)
- **Fix linter issue created by #131** (553f025)
- **Fix #131** (2d61267)
- **Remove duplicate variables from TypstAnnotatedTextBuilder.kt and fix variable visibility** (7958c77)
- **Fix parsing of conditionals and loops in Typst** (3ddabf4)
- **Fix linter issues** (45204e5)
- **Fix #128** (5f69dac)
- **Fix several Typst parsing issues** (eacb151)
- **Fix parsing of #let in Typst** (22c71dd)
- **Fix #122** (139dc9d)
- **Fix spelling errors for Polish dummies** (b021aca)
- **Fix square brackets issue in Typst** (a3430ee)

### Backend
- **Bump to 18.7.0** (a2ceee8)
- **Stage GitHub releases as drafts instead of publishing directly** (972e159)
- **Bump org.jacoco:jacoco-maven-plugin in the all-dependencies group** (a1ade5b)
- **Pin Kotlin to 2.3.21 for CodeQL extractor compatibility** (9fc81c6)
- **Bump lsp-cli-plus to 2.3.0** (e813d0b)
- **Resolve languageToolOrg credentials from ${ENV_VAR} references** (914e6ca)
- **Refactor AnnotatedTextSlicer to slice and merge through one shared path** (c641ea2)
- **Bump the all-dependencies group with 9 updates** (2dd2aae)
- **Chain to super.setSettings in MarkdownAnnotatedTextBuilder** (c8b7f54)
- **Forward setSettings to the inner builder in Program/Elisp builders** (a0b6423)
- **Make Emacs Lisp fragmentization self-standing and regex-free** (dea4135)
- **Check trailing/inline Emacs Lisp comments** (c103aec)
- **Check Emacs Lisp docstrings, not just comments** (0269cd0)
- **Stamp build version from git and expose it via LSP serverInfo** (7ebc2cf)
- **Disable LanguageTool's internal sentence cache by default** (3cc9488)
- **Batch contiguous cache misses into one LanguageTool request** (87fd6dd)
- **Honor minFragmentSize by coalescing adjacent paragraphs** (d6ef8d0)
- **Slice LaTeX into paragraphs after build instead of scanning source** (c2511a1)
- **Slice Org into paragraphs after build instead of scanning source** (d600778)
- **Slice Markdown into paragraphs after build instead of scanning blocks** (dfa5ddc)
- **Slice plaintext into paragraphs after build instead of in fragmentizer** (9106aa3)
- **Clamp Premium orthography ranges to their originating TEXT segment** (7ff5093)
- **Recognize Emacs `name' quoted-identifier convention in elisp comments** (b18fef0)
- **workflows: expose LanguageTool Premium credentials on all mvn build steps** (ef7107f)
- **Accept elisp and emacs-lisp as codeLanguageId aliases** (519dea9)
- **Normalize punctuation in dictionary adds and check-path lookups** (cadea8a)
- **Document the meaning of isUnknownWordRule** (d1be27e)
- **Update changelog.xml** (3cb0e05)
- **Bump the all-dependencies group with 3 updates** (9077802)
- **Removed sentence from changelog that leaked from a development branch** (282c536)
- **Fixed missing entries in the changelog.xml** (fdcfb5f)
- **Advertise non-empty completionProvider with resolveProvider: false** (bfb4fbf)
- **Org: spell-check description-list terms** (b39bb90)
- **Org: keep wrapped list-item continuation in same paragraph** (dfb31b4)
- **Avoid O(N^2) substring allocation in matchFromPosition (#165)** (ff55be0)
- **Skip parsing for fragments that the check phase will skip** (276bc04)
- **Return CompletionList instead of bare array for empty completions** (a87170b)
- **Bump the all-dependencies group with 5 updates** (fdf635e)
- **Set CompletionItemKind.Text on dictionary completion items** (033aa97)
- **Allow completion at the very end of a document** (d7c7cca)
- **Markdown: accept spaces and backslashes in angle-bracketed link URLs** (201915b)
- **Hardcode ltex-plus org/repo in common.py instead of inferring from origin** (1427c4d)
- **Bump bundled Java runtime from to 21.0.10+7** (8d6015f)
- **Bump lsp-cli-plus to 2.2.2** (aba4c13)
- **Advertise workspace folders capability in initialize** (177ca78)
- **Bump docker/build-push-action from 6 to 7** (7616816)
- **Update changelog.xml** (ba580e4)
- **Enable deploying image manually to registry** (ae91ebe)
- **Deploy docker image to registry on release** (c8644c5)
- **Enable building from source in Dockerfile** (7cca374)
- **Bump the all-dependencies group across 1 directory with 7 updates** (6720065)
- **Bump Kotlin to 2.3.0** (d2ee335)
- **Remove redundant code from TypstFragmentizer.kt** (51c64d0)
- **Revert "Bump Kotlin to 2.3.0"** (33d47a4)
- **Revert Kotlin to 2.2.21** (96ab123)
- **Bump Kotlin to 2.3.0** (cf70ddb)
- **Update changelog.xml** (48ae97f)
- **added actions to use** (7c2c12a)
- **fixed basic commands** (3a0c874)
- **Merge pull request #124 from ltex-plus/dependabot/github_actions/actions/checkout-6** (ff27e2a)
- **Merge pull request #125 from ltex-plus/dependabot/maven/all-dependencies-45eac0eee4** (9ae605c)
- **Bump the all-dependencies group with 2 updates** (8def2f4)
- **Bump actions/checkout from 5 to 6** (9f45aed)
- **Update to Ktlint 1.8.0** (3041f21)
- **Remove incremental compilation option for Kotlin in pom.xml** (e7024ce)
- **Update setup instructions in CONTRIBUTING.md** (67b501a)
- **Merge pull request #121 from ltex-plus/dependabot/maven/all-dependencies-5a3a4ac98a** (8afafe2)
- **Bump the all-dependencies group with 5 updates** (a2b2f4b)
- **Bump to 18.7.0** (2fb51ac)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/ltex-plus/ltex-ls-plus?utm_source=github-action)._