Skip to content

Releases: clojure-lsp/clojure-lsp


01 Feb 14:33
Choose a tag to compare
  • General

    • Fix binary not wokring on some aarch64 linux. #1748
    • Add new Project tree feature via the clojure/workspace/projectTree/nodes custom method. #1752
    • Fix --log-path setting to work with listen/empty arg, starting clojure-lsp server and logging properly.
  • Editor

    • Fix didChangeConfiguration throwing exception. #1749
    • Fix rename of ns causing wrong ns names because of duplicate rename actions. #1751
    • Fix range-formatting throwing exceptions when unbalanced parens are sent from client. #1758
    • Fix rename functions need to clean up LSP state or restart in some clients implementing LSP method didRenameFiles. #1755
    • Fix thread last all failed after comment form #_(...). #1745


30 Dec 14:56
Choose a tag to compare
  • General

    • Fix deep-merge of client settings with project settings.
    • Fix max-line-length on clean-ns feature not respecting some lines when contains a lot of refers. #1729
    • Bump cljfmt to 0.12.0.
    • Bump clj-kondo to 2023.12.15.
  • Editor

    • Fix edn tree visualization for keys with same name in the same level. #1558
    • Make clear when hover feature is in a calling and not in a specific symbol. #1281
    • Exclude keys that are already included in the function call from completion suggestions. #1720

    • Drastically improves performance of format task matching cljfmt, avoiding analyzing the project. #1723


31 Oct 11:24
Choose a tag to compare
  • General

    • Bump clj-kondo to 2023.10.21-20231022.204832-4.
    • Fix move-to-let/expand-let bug for multi-arity functions #1283
    • Fix :dependency-scheme setting for .java files from jars #1653
    • Bump graalvm to 21.
    • Improve overall performance using GraalVM 21 PGO (Profile-Guided Optimizations).
    • Extract the responsibility for merging clj-depend config #1265
    • Support passing configurations to clj-depend via CLI #1694
    • Bump clj-depend to 0.9.2
    • Performance: remove keyword-usages elements from external analysis as they are not used for any feature and for big projects may affect memory. #1700
  • Editor

    • New paredit refactorings:
      • forward-slurp
      • forward-barf
      • backward-slurp
      • backward-barf
      • raise
      • kill
    • Improve rename to avoid internal errors and show proper error messages. #1691
    • Exclude unused-public-vars when inside a comment block.
    • Add :analysis-summary field to serverInfo command to get information about project for performance analysis.
    • Add :analysis settings, with options to disable specific analysis for better performance on huge projects. #1700


06 Aug 12:41
Choose a tag to compare
  • General

    • Fix truncation of namespaced keywords #1640
    • Add rewrite-clj node to cursor-info.
    • Fixing semantic-tokens, collons not managed by lsp anymore. #1550
    • Fix :paths-ignore-regex setting to consider settings reload.
    • Bump clj-kondo to 2023.07.14-20230717.090255-3. #1624
    • Fix inconsistencies with :defined-by->lint-as.
    • Improve memory usage during cache save, avoiding "Out of memory" exceptions.
    • Prevent file rename when a namespace is defined in multiple files #1574
    • Fix user formatting setting being override by :style/indent metadata in macros.
    • Bump cljfmt to 0.11.2. #1634
    • Bump lsp4clj to 1.8.1.
  • Editor

    • Avoid returning all known keywords on empty keywords completion for performance reasons.

    • Improve mem/cpu usage using less analysis for tasks.


02 Jul 01:22
Choose a tag to compare
  • General

    • Update flake.nix to build with babashka. #1373
    • Bump clj-kondo to 2023.06.02-20230630.144012-16.
    • Improve support for ClojureDart .cljd files. #1589
    • Slightly reduce OutOfMemory exceptions that may happen with the JVM version.
    • Support ignore unused-public-vars via :linters :clojure-lsp/unused-public-var :exclude-when-contains-meta clj-kondo setting.
    • Fix restructure-keys when map has an :or. #1583
    • Bump lsp4clj to 1.8.0.
    • Add post startup tasks progress feedbacks, like "Generating stubs", "Analyzing JDK source" and "Fetching Clojars".
    • Bump cljfmt to 0.10.6. #1605
  • Editor

    • New code actions: Replace ':refer :all' with ':refer [my-refer]' and Replace ':refer :all' with alias. #1575
    • Enhance java support for hover and completion of static class members.
    • Improve :paths-ignore-regex to ignore features avoiding impact in huge files that are intented to be excluded.
    • Fixed semantic-tokens for full qualified namespace
    • Add score to completion items for a better completion client sorting. #1595
    • Revamp keyword completion. #1599
    • Avoid LSP errors when cleaning a file without namespaces. #1603

    • New feature: Find all references via API and CLI. #1572


05 May 11:55
Choose a tag to compare
  • General

    • Bump clj-kondo to 2023.04.15-20230503.152749-8
  • Editor

    • Fix edn tree to consider symbols. #1556
    • Fix edn tree to consider vector root nodes. #1557
    • Fix edn tree to handle invalid edn code and not throw exceptions while typing code.

    • Avoid enabling unecessary analysis features for API/CLI lint, improving memory usage.


19 Apr 16:25
Choose a tag to compare
  • General

    • Fix reflection issue in JDK19 with Thread/sleep #1520
    • Bump clj-kondo to 2023.04.15-20230418.173453-3, fixing analysis inconsistencies with schema.core
    • Ignore vars defined wrongly via config. #1510
    • Add support for :output {:langs true} in clj-kondo config to show .cljc language contexts
  • Editor

    • Fix classpath issue message to properly ignore or retry after user input. #1500
    • Decreate debounce time for calculating changes and diagnostics, improving UX in cost of performance, it doesn't seem to highly affect performance though.
    • Add new setting to change diagnostics range type. #1530
    • Spec compliance: avoid registering client capabilities if dynamic registration is not set. #1535
    • Improve java support: using new java-member-definitions analysis, first feature is the allow completion of static members (fields and methods) for java classes.
    • Show edn tree when in edn files via documentSymbol feature.
    • Improve java db cache consistency + analysis performance.


27 Feb 15:39
Choose a tag to compare
  • Editor
    • Fix exception on hover feature on graal images.


27 Feb 12:15
Choose a tag to compare
  • General

    • Add new setting :paths-ignore-regex to allow ignore analyzing/linting specific paths, useful if you have folders or files that are not relevant to be linted and are huge which may affect performance.
    • Bump clj-kondo. Fixes missing lint class constructors, making clojure-lsp show add import code action always.
    • Fix wrong ns rename for cljc files. #1508
  • Editor

    • Fix cache issue: wrong external dependencies analysis when running clojure-lsp in editor after running on CLI, affecting navigation. #1473
    • Bump lsp4clj fixing progress notifications during initialization for Calva.
    • Allow go to definition of namespace even when the var is not known. Ex: clojure.string/foo will go to the definition of clojure.string. This is useful for cases where the var was not created yet but user wants to go to the ns to check the available functions or check the correct name of the function.
    • Avoid basing results on old analysis.
    • Add new setting :completion :analysis-type to choose between :fast-but-stale(default) or :slow-but-accurate, this should define whether completion should wait for changes that may still happening, this by default reverts the behavior introduced after #1425. #1487
    • Fix textDocument/hover issue when doc metadata isn't a string literal.
    • Follow references to other vars in doc metadata for use in textDocument/hover.
    • Support :arglists meta when finding docs of functions via hover feature. #1504
    • Enhance hover to search clojuredocs on CLJS. #1506


26 Jan 12:42
Choose a tag to compare
  • General

    • Bump clj-kondo to 2023.01.20
    • Avoid false-positives of unused-public-var for functions used in :gen-class that starts with - as convention. #1443
    • New jar available on releases: clojure-lsp-server.jar, an Uberjar not aot-ed containing both clojure-lsp core + server code, improving startup time for JVM clients, for example for lein-clojure-lsp. Any lib using clojure-lsp-standalone.jar should consider switch to this new jar.
    • Change :source-paths-ignore-regex default value to ["target.*"], removing resource folders. #1452
    • Bump cljfmt to 0.9.2
    • Bump lsp4clj to 1.7.0
  • Editor

    • Fix add missing import code action when there are multiple options. #1422
    • Only show completion items if no changed code is being processed, avoiding wrong completion items. #1425
    • Improve semantic tokens for defprotocol, definterface coloring as interface tokens.
    • Include reffered vars in completion. #1440
    • Allow rename alias of function calls, renaming properly both function usages and alias definition.
    • Add support for keyword analysis in edn files, allowing find-references, document highlight and other lsp features to keywords.
    • find-definition and references for quoted symbols like 'clojure.core/inc and symbols mentioned in .edn files. #1446
    • Show error messages when can't apply edits after commands. #1448

    • Make diagnostics command print as json or edn. #1419
    • Make possible starting a chan server with clojure-lsp components, useful to other clients extend.
    • Consider edn files when linting project, allowing to format edn files. #1452
    • Report diagnostics lines and columns as 1 based, not 0 like LSP, following clj-kondo standard. #1459