Changelog
- a6edb5f Merge pull request #1295 from adriandeleon/chore/release-prep-0.23.0
- 029eec6 chore: prepare release 0.23.0
- cf2b5b0 Merge pull request #1291 from adriandeleon/fix/file-info-word-count
- 7432733 Merge remote-tracking branch 'origin/master' into fix/file-info-word-count
- 2a03e92 Merge pull request #1294 from adriandeleon/fix/macos-kotlin-debug-test
- 7be3731 Test AdapterStderr directly so com.editora.dap's coverage stops depending on timing
- 71e6e8c Fix JVM debugging after a Kotlin 2.4.10 script ran: an unreadable SMAP is no source info
- ced421b Merge pull request #1293 from adriandeleon/ci/tiered-runs
- eb2e37f CI: a fast lane on pull requests, the Windows/macOS suites and probes daily and before a release
- 0800667 Merge pull request #1290 from adriandeleon/feat/scala-jvm
- ba64903 Merge pull request #1288 from adriandeleon/feat/clojure-jvm
- 15d8cf0 Merge feat/clojure-jvm (Clojure #1288, which has master's Kotlin #1289) into feat/scala-jvm
- 4128cb0 Merge origin/master (Kotlin #1289) into feat/clojure-jvm
- 4775acd fix(fileinfo): count words as the status bar does
- 457822a Cover Scala's debug launches on CI (com.editora.dap coverage floor)
- ac4966c Fix the Clojure CI failures: dap coverage on a runner without Clojure, ClojureRunTest on Windows
- a1bb770 Merge pull request #1289 from adriandeleon/feat/kotlin-jvm
- 76fedcf Merge pull request #1275 from adriandeleon/fix/polling-watch-windows-test
- 7c8488f Merge remote-tracking branch 'origin/master' into claude/feat-scala-jvm-7a382b
- 7368168 Format: wrap the suggested script-configuration type
- ffe0123 Merge remote-tracking branch 'origin/master' into claude/feat-clojure-jvm-122c87
- 23ebdfc Merge remote-tracking branch 'origin/master' into claude/feat-kotlin-jvm-de6174
- 018e4ed Merge pull request #1285 from adriandeleon/feat/groovy-jvm
- b09dcd2 Test the Clojure CLI, Leiningen and Babashka build tools' parse, launch and settings
- 18427ba Merge remote-tracking branch 'origin/feat/groovy-jvm' into claude/feat-scala-jvm-7a382b
- 54f4ddf Merge origin/feat/groovy-jvm into feat/kotlin-jvm
- 715ed32 Merge remote-tracking branch 'origin/feat/groovy-jvm' into claude/feat-clojure-jvm-122c87
- df8e9a4 Merge origin/master into feat/groovy-jvm
- 6f7b5d0 Merge pull request #1283 from adriandeleon/fix/node
- 9702dd9 Merge remote-tracking branch 'origin/feat/groovy-jvm' into claude/feat-scala-jvm-7a382b
- 04bac19 Merge remote-tracking branch 'origin/feat/groovy-jvm' into claude/feat-clojure-jvm-122c87
- f885996 Merge origin/feat/groovy-jvm into feat/kotlin-jvm
- 873aecb Merge origin/master into feat/groovy-jvm
- ce59ce0 Merge origin/master into fix/node (encrypted files took Settings v136: Node fields move to v137)
- 77f2740 Merge pull request #1272 from adriandeleon/feat/encrypted-files
- f8977a9 Merge origin/master into fix/node (Scala and Clojure editor support)
- 9a9e8a1 Merge origin/master into feat/encrypted-files
- fe20073 Merge origin/master into feat/groovy-jvm
- d27d201 Merge pull request #1284 from adriandeleon/feat/jvm-languages-editor
- 32a06f0 fix(lsp): server progress lines keep the program's name after the status-narrator merge
- bd275e3 Merge origin/master into feat/encrypted-files
- e483a1e Merge origin/master into feat/groovy-jvm
- 3fd1402 Merge remote-tracking branch 'origin/master' into feat/jvm-languages-editor
- 26bc7d6 Merge remote-tracking branch 'origin/feat/groovy-jvm' into claude/feat-clojure-jvm-122c87
- 5cc12e2 Merge origin/feat/groovy-jvm into feat/kotlin-jvm
- ba28fa0 Merge remote-tracking branch 'origin/feat/groovy-jvm' into claude/feat-scala-jvm-7a382b
- dc1ed4d Merge origin/master into fix/node (plugin review)
- 7a6498a Merge pull request #1282 from adriandeleon/fix/plugin-review
- 99e2ade Merge origin/master into feat/encrypted-files
- 0957ab1 Merge origin/master into feat/groovy-jvm
- 85e5aa5 Merge origin/master into fix/node (deployments, LSP status narrator, scripts in Java)
- ac1c162 Merge remote-tracking branch 'origin/master' into feat/jvm-languages-editor
- 6f5849e Merge pull request #1281 from adriandeleon/fix/breakpoint-form-width
- 5fd6f5a Merge pull request #1279 from adriandeleon/fix/dialog-advanced-title
- 7657c2d Merge pull request #1277 from adriandeleon/fix/lsp-ready-message
- 2a64e08 Merge pull request #1286 from adriandeleon/feat/java-snippets
- 071a578 Merge pull request #1287 from adriandeleon/chore/scripts-to-java
- dfd8b61 Merge pull request #1271 from adriandeleon/feat/deployment
- e9aaca9 Merge remote-tracking branch 'origin/feat/groovy-jvm' into claude/feat-scala-jvm-7a382b
- feaa521 Scala: Metals, sbt/Mill/Scala CLI, Run and Debug
- fa49f4c CI: allow the Kotlin tests to skip where kotlinc is not installed
- b553d17 Merge remote-tracking branch 'origin/feat/groovy-jvm' into claude/feat-kotlin-jvm-de6174
- 8e014d4 Kotlin: Rerun recompiles an edited program; debugViaBuild test key
- 085f1cf Clojure: clojure-lsp, deps/lein/bb, Run, Debug
- 57d4a0b Merge remote-tracking branch 'origin/feat/groovy-jvm' into claude/feat-clojure-jvm-122c87
- c676eff Kotlin: docs, probe, attach routing test
- e90798d Kotlin: JetBrains Kotlin LSP, pinned install (WIP)
- 489d290 WIP Clojure: clojure-lsp, deps/lein/bb, Run, Debug
- 5edafc4 Kotlin: Run/Debug window test
- 95ddd67 Kotlin: Debug on the JVM adapter, attach (WIP)
- 36ebf86 Kotlin: Run for scripts and programs (WIP)
- bb58d81 docs: name CheckRelease.java in the release pipeline reference
- d07d17b Merge branch 'chore/scripts-java-native' into chore/scripts-to-java
- d311296 CI: allow the Groovy tests to skip where Groovy is not installed
- de49611 scripts: port the native-image scripts to Java (scripts/nativeimage)
- 89e1646 Java snippets: fix broken bodies, add modern Java, hide jdtls duplicates
- 27ad92a Merge origin/feat/jvm-languages-editor into feat/clojure-jvm
- e0243b1 Merge origin/feat/jvm-languages-editor into feat/scala-jvm
- 0af2adf Merge branch 'chore/scripts-java-packaging' into chore/scripts-to-java
- 6f0631b CI: run the Java scripts and their tests instead of Python
- 765169c scripts: port the packaging tests and the typing-study probe to Java
- fd583d0 scripts: port the CI and release checks from Python to Java
- 1248acf BeforeLaunchGateFxTest: the blocker sleeps instead of reading stdin
- 3941ff6 Encryption menu in Tools: the File menu is at the screen's height
- 53ac0b4 Merge origin/master into feat/groovy-jvm
- 0046e7b scripts: shared JSON, process and test helpers for Java scripts
- c7603af Groovy: language server, Run and Debug, on a JVM foundation
- 1b2f799 Merge origin/master into feat/encrypted-files
- 224ce69 Merge origin/master into fix/node (terminal review took Settings v135: Node fields move to v136)
- 003992c Merge origin/master into feat/deployment
- 3f6e7d5 Merge pull request #1278 from adriandeleon/fix/terminal-review
- 934bc91 Merge remote-tracking branch 'origin/master' into fix/polling-watch-windows-test
- de4f2de Merge pull request #1276 from adriandeleon/fix/polling-watch-windows-replace
- c9091b3 feat(languages): editor support for Scala and Clojure, plus Groovy's index and icon
- e323b91 test(node): the TypeScript walk test roots itself at the real root (a replace had made it refer to itself)
- cc06dc7 test(node): absolute test paths on Windows for the Node walks
- a3f9a7b test(debug): wait for the breakpoint form to be laid out before measuring
- 8cce44f Plugins: cover the plugin package's edge paths (coverage gate)
- aa4d71c test(debug): the js-debug probe installs the process reaper, so its adapter does not outlive the fork
- 4e0914d test(debug): the js-debug probe waits for the step to run instead of expecting RUNNING at the click
- ed77952 The detached-job test runs on Linux only: on macOS CI the nohup job ends with the shell (B15 partly)
- 66f255b test(debug): wait for the code-change notice, not just the new output
- 8bc942a test: list the new Node version probes in the locale policy; template golden takes TypeScript 6
- 188877b Merge origin/master into fix/plugin-review
- 6c54308 Plugins: fix the 2026-10-18 plugin-system review
- 1c31f17 CI fixes: settings-controls entries for the new terminal switches; a shell is hung up by closing its pty only (pty4j's destroy signalled the group, ending nohup jobs on macOS); Windows test without the integration rule and the ConPTY child check; link test rows
- 137badb Debug: keep the Edit Breakpoint form at its fields' width
- 27501e7 fix(ui): Advanced title in dialog forms reads at label size
- 961418a Merge origin/master into fix/node
- 67b3802 docs(changelog): Node.js fix pass — JavaScript editing
- 3df7764 Merge branch 'fix/node-editing' into fix/node (A1–A18)
- b2e3dac Structure: JSX elements are not listed as declarations (A5 follow-up)
- f607388 Auto-close: a quote inside a regex still being typed is not paired (A13)
- c73ad41 docs(changelog): Node.js fix pass — one Node, TypeScript server, debugging, search
- 24f654b Settings shape pin for v135; Open Terminal Here with an unsaved file opens a terminal
- dfd5ce5 Merge branch 'fix/node-debug' into fix/node (debug node and npm run configurations)
- 1779446 debug(js): debug node and npm run configurations the way Run starts them
- bfe002b Current-line highlight: dispose RichTextFX's line selection; hold it back while loading (A2)
- 49f52ef LSP: end server startup with a clear "ready" line
- caacd41 Many long lines open in long-line mode; a long line gets only the budget left (A1)
- 4703dd1 Merge branch 'fix/node-lsp' into fix/node (B1–B10, A9, E4, E5, E7)
- cda4e26 test(node): a crash-looped server is not restarted by a tab until Restart Language Servers (E5)
- 4a0b8bb Merge branch 'fix/node-run' into fix/node (Run console gap after a flood)
- d6d8b82 run: after a flood the Run console's newest 200,000 characters have no gap
- b9766f9 fix(node): Doctor and Settings show the TypeScript the server runs, and type acquisition
- c5e31dc fix(node): TypeScript server runs a tsserver Editora chose, says why it c ...