Skip to content




  • Avoid removing whole require if unused refer but with used alias during clean-ns. #447
  • Bump cljfmt 0.7.0 -> 0.8.0. Fixes #266
  • Bump clj-kondo 2021.06.01 -> 2021.06.18


  • Improve source paths discoverability for deps.edn projects. Adds :source-aliases for customization. For more information, check the settings section.


  • Fix graalvm issue on completionItem InsertTextMode
  • Bump clj-kondo and rewrite-clj to latest releases.


  • Fix corner case error with project paths with spaces or other special characters. #437
  • Drastically improve didOpen performance, improving kondo findings parsing and making linting async avoiding blocking some editors. #435
  • Fix :auto-add-ns-to-new-files? flag always being considered as true. #436


  • Fix completion item kind of clojure core items. Fixes #426
  • Fix graalvm reflect config for SublimeText - #430
  • Improve code lens for segregated code lens when on test files.


  • Include non full qualified vars on unused-public-var exclude filter.
  • Improve hover documentation: use correct markdown for docstrings; remove unnecessary new lines; add link to filename location.
  • Rollback full text changes on last release and change approach for a temporary fix. #424


  • Quick fix full text changes to handle it sync for semantic tokens
  • Segregate main references from test references with option to disable via lens-segregate-test-references


  • Significantly improve the performance of workspace symbol filtering/searching. See relevant commit.
  • Always sort refers when clean-ns.
  • Add support for installing with homebrew on Linux.
  • Bump clj-kondo to 2021.04.24-20210426.144134-2 adding support for finding re-frame by keyword. Fixes #411
  • Fix find definition going to declare - Fixes #340
  • Remove common already known clojure macros from Resolve macro as code action.


  • Improve resolve-macro-as command to check and log if couldn't resolve the macro.
  • Improve workspace symbol filtering/searching. Now, the sole candidates shown are guaranteed to include all the characters contained in the filter/search string.
  • Add more tokens to semantic tokens: keywords, functions/var usages, java classes, local variables.
  • Bump Graalvm from 21.0.0 to 21.1.0
  • Bump clj-kondo to 2021.04.23 fixing some keywords corner cases.


  • Add common snippets on completion. Check all available snippets here.
  • Add support for custom snippets via :additional-snippets. Check here for more information. - Fixes #403
  • Bump lsp4j from 0.11.0 -> 0.12.0


  • Fix renaming keywords in cljc files producing duplicate edits.
  • After project startup, publish all project only diagnostics. This is a approach done by other LSPs to make work features like Project errors. Feature flag via lint-project-files-after-startup? with default true.
  • Add experimental support for aarch64 linux native binary
  • Fix formatting issues with a regression introduced on a previous release. - Fixes #339 and #396


  • Fix textDocument/workspaceSymbols filter not working on native binaries.
  • Report duplicate linters as default, can be disabled via :linters :clj-kondo :report-duplicates - Fixes #390
  • Bump rewrite-clj to 1.0.605-alpha to fix exceptions when on clojure files with babashka interpreter on first line.
  • Bump clj-kondo 2021.04.01-20210402.215253-6 to fix bug


  • Bump clj-londo 2021.03.22-20210327.192113-4 - Fixes #385
  • Add support for outgoing call hierarchy - Fixes #384
  • Improve and fix missing completion item kinds.


  • Bump clj-kondo 2021.03.22-20210324.110254-3 - Fixes #382
  • [graalvm] Fixes Unable to invoke no-args constructor for class org.eclipse.lsp4j.ShowDocumentCapabilities error.
  • Fix/enhance keyword rename - #383


  • Migrate from lein to deps.edn
  • Bump clj-kondo to 2021.03.22
  • Fix clean-ns sorting according to symbols not brackets - Fixes #380
  • Fix missing graalvm reflect config for CompletionItemTextEdit - Fixes #381


  • Add code action 'resolve macro as', it requires client to fill the chosen macro and clj-kondo config file.
  • Bump rewrite-clj to 1.0.594-alpha
  • Bump data.json to 2.0.1
  • Bump lsp4j to 0.11.0


  • Add support for diagnostic tags: deprecated and unnecessary.
  • Fix wrong textDocument/documentHighlight for function local-usages.
  • Use new clj-kondo copy-configs flag to copy hooks during lint.
  • Bunp clj-kondo to fix unused public linter check for :exclude-when-defined-by


  • Fix server not analyzing after a wrong code on cljs files - #367
  • Rollback incremental didChange adding a new :text-document-sync-kind setting with :full as default.


  • Fix completion inside refers, re-add support for it - Fixes #364
  • Change range of expression functions clj-kondo diagnostics to avoid collision with function signature.


  • Fix incremental didChange, debouncing distincting by uri, fixing some inconsistent file changes when multiple files are changed at same time (rename, iedit, etc).
  • Make unused-public-var ignore -main public functions.
  • Add :exclude-when-defined-by option to unused-public-var linter, check settings documentation for more information.


  • Fix clojure-lsp lint crash when analyzing specific macros with clj-kondo hooks.
  • Fix didChange for Nvim client.
  • Add new clojure-lsp linter: unused-public-var - Fixes #359
  • Add option to disable clj-kondo linter, check settings documentation for more details.


  • Bump clj-kondo fixing issues on require form not being analyzed.
  • Fix textDocument/workspaceSymbols to use the query sent by client.


  • Add support to complete full qualified namespaces - Fixes #337
  • Add :log-path setting to log to a custom file.
  • Avoid exception on code actions when on cljc reader macros - Related to #346


  • Improve clojure-lsp config search checking always home dir considering XDG_CONFIG_HOME and project root up to system root (/) - Fixes #339.
  • Handle incremental text changes on textDocument/didChange notifications following LSP protocol, improving performance for huge files.
  • Add clj-kondo version to --version and server-info.
  • Add new create private function code action.


  • Improve completion performance resolving the item only when documentation is requested
  • Add new thread first/last all code actions


  • Implement support for textDocument/signatureHelp - Fixes #324
  • Disable notify-references on didChange with a flag notify-references-on-change.
  • Fix completion not working when reader macro on file - Fixes #332


  • Fix duplicated symbols for cljc files on textDocument/documentSymbols - Fixes #328
  • Add namespace require when completing a unimported namespace - Fixes #309
  • Fix completion not working for cljc files


  • Fix completion of invalid clojure core (e.g. foo/) - Fixes #270


  • Allow find all references across the project of simple keywords
  • Allow specify custom sqlite.db location with sqlite-db-path, default to <project>/.lsp/sqlite.db


  • Removing false positive logs from invalid analysis from clj-kondo macro expand analysis
  • Fix call hierarchy when the reference was not open yet in the editor.
  • Smart re-analyze variable/function references when arguments of the definition were updated.
  • Rollback Macos native image compress until it works for MacOS Big Sur - #322


  • Bump clj-kondo to fix false-positive unresolved-vars
  • Prioritize project analysis on all analysis during find definition - Fixes #318
  • Compress native binaries with UPX decreasing binary size.


  • Fix completion issues with graalvm native linux binaries when completing local variables.
  • Fix completion exception when completing numbers - Fixes #310
  • Completion inside a require suggests all available namespaces
  • Change log pattern to /tmp/clojure-lsp.<TIMESTAMP>.out use default temp file. Should fix issues with permissions on tmp folder.


  • Fix auto add ns not working for projects.
  • New code action: Move to let
  • New code action: Change coll to map, list, set or vector


  • Fix config passed to clj-kondo during analysis - Fixes #308


  • Fix auto add ns to check project root and source paths
  • Add alias on copmletion items - Fix completion items for Calva client


  • Fix script - #304
  • Fix clojure-lsp re-analysing classpath when project contains a keyword starting with a number - #305
  • Allow clj-kondo to pick up config correctly in mono repos - #303


  • Make release's native binaries executable by default - #299
  • Improve completion removing the necessity to call completion/resolveItem - #292
  • New code action: Add suggested alias to namespaces - #302


  • Add support for keyword analysis (definition, references, completion, rename, hover)
  • Reduce jar and binaries size excluding some dependencies (Need to fix a lein issue yet)


  • Fix --version on graalvm native compiled binaries


  • Add integration tests to release process


  • Fix clojure-lsp embedded jar binary during release CI
  • Fix duplicate references on cljc files


  • Add to known requires - #291
  • Add manual System/gc after first classpath scan, it should decrease memory after the first startup
  • Add support for Windows GraalVM compiled native binary


  • Add native binaries for Linux and MacOS compiled with GraalVM #267 (Experimental)


  • Fix clj-kondo batch analysis when merging batchs - Fix #284


  • Fix missing printlng and avoid errors for next time (this was causing issues in clients like vim coc)


  • Fix document-symbol after #261 - Fixes #276
  • Reduce memory usage on startup batch analyzing classpath via clj-kondo. - Fixes #268


  • Do not remove document on textDocument/didClose, related to #264.
  • Fix default project-specs for shadow-cljs to use npx prefix.
  • Fix range of textDocument/hover for definition usages.
  • Fix completionItem/resolve broken after #261.


  • Remove references code-lens from deftest forms
  • Fix completion for alias ns from external deps - Fixes #269


Huge refactor which uses clj-kondo analysis/ findings output to almost all clojure-lsp features.

  • Should significantly increase performance and startup time
  • Should fix almost all bugs/issues with windows Users since we now rely on clj-kondo analysis
  • Remove all lint configs from clojure-lsp including macro-defs, they should be configured on clj-kondo side now via .clj-kondo/config.edn
  • Move file path on documentation to bottom


  • Fixes args for extract-function refactoring - Fixes #263


  • Check for defintions when finding references with includeDeclaration as true - Fixes #260
  • Add custom command cursor-info to debugging clojure-lsp.
  • Fix unnecessary new-lines on imports when executing clean-ns


  • Check for the whole line to add-miising-* code actions instead of expect the cursor at the ns to be required/imported - Fixes #258
  • Return all possible add-missing-* code actions to the same line.


  • Fix add missing import code actions after refactor


  • Fixes #208


  • LSP 3.16: Add support for codeAction/resolve improving performance if client supports it
  • Bump extend lib
  • [CI] Remove auto release, next releases should contain more than one PR/fix

Last update: June 21, 2021