cider Atom Feed

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.lz2026-Jun-02 350 KiB
cider-1.22.0.20260529.146.tar.lz2026-May-29 350 KiB
cider-1.22.0.20260520.71350.tar.lz2026-May-20 346 KiB
cider-1.22.0.20260518.211619.tar.lz2026-May-19 346 KiB
cider-1.22.0snapshot0.20260518.211619.tar.lz2026-May-19 346 KiB
cider-1.22.0snapshot0.20260429.215217.tar.lz2026-Apr-30 341 KiB
cider-1.21.0snapshot0.20260128.165118.tar.lz2026-Jan-28 236 KiB
cider-1.19.0snapshot0.20250710.72009.tar.lz2025-Jul-10 235 KiB
cider-1.9.0.0.20231024.195502.tar.lz2023-Oct-24 228 KiB
cider-1.2.0.0.20220104.100235.tar.lz2022-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-tools and cider-register-jack-in-tool so third-party packages can register new project tools for cider-jack-in and cider-jack-in-universal.
  • Cache the result of cider--running-nrepl-paths (used by cider-locate-running-nrepl-ports) for cider-running-nrepl-paths-cache-ttl seconds (default 5). Repeated cider-connect completions no longer re-spawn a fresh round of ps/lsof subprocesses each time. cider-clear-running-nrepl-paths-cache discards the cache on demand.
  • New nrepl-make-eval-handler with 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-argument forms for several low-level request APIs, so callers no longer pad arguments with nil to 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) and cider-nrepl-send-eval-request (shim: cider-nrepl-request:eval), with :ns, :line, :column, :additional-params, plus :tooling at the nREPL level and :connection at the CIDER level.
    • Sync requests: nrepl-sync-request (shim: nrepl-send-sync-request) and cider-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), and cider-load-file-request (shim: cider-request:load-file).
  • New cider-repl-history-doctor command: walks cider-repl-input-history looking for entries whose parens don't balance under Clojure syntax, shows each in a side buffer, and asks whether to delete it. When done, rewrites cider-repl-history-file if one is configured. Useful for cleaning up history after a typo got committed that breaks cider-repl-history rendering (see #3915).
  • Recognize let-go (a Clojure dialect implemented in Go) as a known nREPL runtime. cider-runtime returns let-go for 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-handler is now CIDER-agnostic. It no longer references nrepl-namespace-handler-function, nrepl-err-handler-function, nrepl-need-input-handler-function, or any hardcoded UI strings.
    • New :on-ns and :on-status keyword slots let any consumer wire up their own namespace tracking and status handling.
    • The editor-level cider-make-eval-handler wraps 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-messages pops up the messages buffer (prompting when there are multiple connections), and c in nrepl-messages-mode runs the new nrepl-clear-messages to 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. ... ...