cider 
- Description
- Clojure Interactive Development Environment that Rocks
- Latest
- cider-1.22.0.20260604.152.tar (.sig), 2026-Jun-04, 1.47 MiB
- Maintainer
- Bozhidar Batsov <bozhidar@batsov.dev>
- Website
- https://www.github.com/clojure-emacs/cider
- Browse ELPA's repository
- CGit or Gitweb
- All Dependencies
- clojure-mode (.tar), compat (.tar), parseedn (.tar), queue (.tar), spinner (.tar), seq (.tar), sesman (.tar), transient (.tar)
- Badge
To install this package from Emacs, use package-install or list-packages.
Full description
Provides a Clojure interactive development environment for Emacs, built on top of nREPL. See https://docs.cider.mx for more details.
Old versions
| cider-1.22.0.20260602.150.tar.lz | 2026-Jun-02 | 350 KiB |
| cider-1.22.0.20260529.146.tar.lz | 2026-May-29 | 350 KiB |
| cider-1.22.0.20260520.71350.tar.lz | 2026-May-20 | 346 KiB |
| cider-1.22.0.20260518.211619.tar.lz | 2026-May-19 | 346 KiB |
| cider-1.22.0snapshot0.20260518.211619.tar.lz | 2026-May-19 | 346 KiB |
| cider-1.22.0snapshot0.20260429.215217.tar.lz | 2026-Apr-30 | 341 KiB |
| cider-1.21.0snapshot0.20260128.165118.tar.lz | 2026-Jan-28 | 236 KiB |
| cider-1.19.0snapshot0.20250710.72009.tar.lz | 2025-Jul-10 | 235 KiB |
| cider-1.9.0.0.20231024.195502.tar.lz | 2023-Oct-24 | 228 KiB |
| cider-1.2.0.0.20220104.100235.tar.lz | 2022-Jan-04 | 189 KiB |
News
Changelog
master (unreleased)
New features
- #3645: Show a spinner in the mode line while tests are running.
- #3865: Add default session feature to bypass sesman's project-based dispatch (
cider-set-default-session,cider-clear-default-session). - Introduce
cider-jack-in-toolsandcider-register-jack-in-toolso third-party packages can register new project tools forcider-jack-inandcider-jack-in-universal. - Cache the result of
cider--running-nrepl-paths(used bycider-locate-running-nrepl-ports) forcider-running-nrepl-paths-cache-ttlseconds (default 5). Repeatedcider-connectcompletions no longer re-spawn a fresh round ofps/lsofsubprocesses each time.cider-clear-running-nrepl-paths-cachediscards the cache on demand. - New
nrepl-make-eval-handlerwith a keyword-arg API:- Keyword slots:
:on-value,:on-stdout,:on-stderr,:on-done,:on-eval-error,:on-content-type,:on-truncated. - Sub-handlers no longer take a buffer argument; they close over whatever they need.
nrepl-make-response-handler, the legacy 7-positional-arg form, is preserved as an obsolete shim that adapts the old(buffer x)lambdas to the new(x)lambdas, so existing extensions keep working.
- Keyword slots:
- Keyword-argument forms for several low-level request APIs, so callers no longer pad arguments with
nilto reach a later one. In every case the legacy positional function is kept as a thin shim that delegates to the new one, so existing callers (including third-party packages) keep working unchanged:- Eval requests:
nrepl-send-eval-request(shim:nrepl-request:eval) andcider-nrepl-send-eval-request(shim:cider-nrepl-request:eval), with:ns,:line,:column,:additional-params, plus:toolingat the nREPL level and:connectionat the CIDER level. - Sync requests:
nrepl-sync-request(shim:nrepl-send-sync-request) andcider-nrepl-sync-request(shim:cider-nrepl-send-sync-request), with:abort-on-input,:tooling/:connection, and:callback. - Op helpers:
cider-info-request(shim:cider-sync-request:info),cider-eldoc-request(shim:cider-sync-request:eldoc),cider-apropos-request(shim:cider-sync-request:apropos), andcider-load-file-request(shim:cider-request:load-file).
- Eval requests:
- New
cider-repl-history-doctorcommand: walkscider-repl-input-historylooking for entries whose parens don't balance under Clojure syntax, shows each in a side buffer, and asks whether to delete it. When done, rewritescider-repl-history-fileif one is configured. Useful for cleaning up history after a typo got committed that breakscider-repl-historyrendering (see #3915). - Recognize let-go (a Clojure dialect implemented in Go) as a known nREPL runtime.
cider-runtimereturnslet-gofor these connections and the connection info line shows the runtime version, e.g.CLJ project@localhost:2137 (let-go 1.0). - Decouple the nREPL transport layer from CIDER's UI layer (closes #1099):
nrepl-make-eval-handleris now CIDER-agnostic. It no longer referencesnrepl-namespace-handler-function,nrepl-err-handler-function,nrepl-need-input-handler-function, or any hardcoded UI strings.- New
:on-nsand:on-statuskeyword slots let any consumer wire up their own namespace tracking and status handling. - The editor-level
cider-make-eval-handlerwraps it with CIDER's UI behavior (ns tracking, default error handler, need-input prompt, "Evaluation interrupted." / "Namespace not found." messages). In-tree callers all use it.
- New nREPL message log commands:
nrepl-show-messagespops up the messages buffer (prompting when there are multiple connections), andcinnrepl-messages-moderuns the newnrepl-clear-messagesto wipe the buffer. Auto-follow on new entries now leaves windows alone if you've scrolled back to read history; only windows already at end-of-buffer get scrolled to the latest message. ... ...