cider 
- Description
- Clojure Interactive Development Environment that Rocks
- Latest
- cider-1.22.0snapshot0.20260429.215217.tar (.sig), 2026-Apr-30, 1.43 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.0snapshot0.20260429.190630.tar.lz | 2026-Apr-29 | 341 KiB |
| cider-1.22.0snapshot0.20260429.71825.tar.lz | 2026-Apr-29 | 339 KiB |
| cider-1.22.0snapshot0.20260428.84400.tar.lz | 2026-Apr-28 | 338 KiB |
| cider-1.22.0snapshot0.20260417.131818.tar.lz | 2026-Apr-17 | 337 KiB |
| cider-1.22.0snapshot0.20260312.63418.tar.lz | 2026-Mar-12 | 335 KiB |
| cider-1.22.0snapshot0.20260221.61239.tar.lz | 2026-Feb-21 | 244 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 (: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. - 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-levelcider-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.
Bugs fixed
- #3209: Fix
cider-formatdropping non-map cljfmt options (e.g.remove-consecutive-blank-lines?). cider-jack-in-cljnow restores the originating buffer when running its connect callback, matching the behavior ofcider-jack-in-cljsandcider-jack-in-clj&cljs.cider-locate-running-nrepl-portsnow runs itsps/lsofprobes viaprocess-file, so endpoint completion forcider-connectworks correctly from a TRAMP buffer (it inspects the remote host instead of the local one). Same for thelsofhealth check on.nrepl-portfiles.cider-clojure-cli-commandandcider-jack-in-defaultno longer freeze their auto-detection result at package load time. With the newnildefault, CIDER picks the right command/tool at jack-in time, so installing Clojure (or moving it on PATH) no longer requires restarting Emacs.cider--update-project-dirno longer reuses a single*cider-context-buffer*across calls. Each invocation gets a unique hidden buffer, so concurrent or interrupted jack-ins don't stomp each other.nrepl-server-filternow treats wildcard/loopback printed bind addresses (localhost,127.0.0.1,0.0.0.0,::1,::) as "use the calling context", so jacking in over TRAMP to a server that printslocalhostconnects to the TRAMP host instead of the local machine.cider--resolve-commandnow actually verifies command presence on remote hosts viaexecutable-find's remote search, instead of unconditionally trusting the user-supplied command. A missing tool on the remote side now surfaces immediately during jack-in instead of as a server-startup failure later.nrepl--ssh-tunnel-connectno longer routes itssshinvocation through a shell. The tunnel command is now spawned viastart-processwith an explicit arg list, eliminating shell-quoting hazards in user/host components.- Plug five request-id leaks in raw nREPL response handlers (
cider/test-stacktrace,cider/test-var-query,cider/analyze-last-stacktrace,cider/ns-reload,cider/get-state). They never callednrepl--mark-id-completed, so their ids accumulated in the connection'snrepl-pending-requestsfor the lifetime of the session. ... ...