Version 1.22.1 of package Cider has just been released in NonGNU ELPA.
You can now find it in M-x list-packages RET.

Cider describes itself as:

  ======================================================
  Clojure Interactive Development Environment that Rocks
  ======================================================

More at https://elpa.nongnu.org/nongnu/cider.html

## Summary:

  Provides a Clojure interactive development environment for Emacs, built on
  top of nREPL.  See https://docs.cider.mx for more details.

## Recent NEWS:

# Changelog

## master (unreleased)

## 1.22.0 (2026-06-16)

### New features

- [#3645](https://github.com/clojure-emacs/cider/issues/3645): Show a spinner 
in the mode line while tests are running.
- [#3865](https://github.com/clojure-emacs/cider/pull/3865): Add default 
session feature to bypass sesman's project-based dispatch 
(`cider-set-default-session`, `cider-clear-default-session`).
- [#3930](https://github.com/clojure-emacs/cider/pull/3930): Inspector: add 
help message with keybindings.
- [#3884](https://github.com/clojure-emacs/cider/pull/3884): 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`.
- [#3888](https://github.com/clojure-emacs/cider/pull/3888): 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.
- [#3890](https://github.com/clojure-emacs/cider/pull/3890): 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.
- [#3929](https://github.com/clojure-emacs/cider/pull/3929): 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`).
- [#3921](https://github.com/clojure-emacs/cider/pull/3921): 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](https://github.com/clojure-emacs/cider/issues/3915)).
- [#3926](https://github.com/clojure-emacs/cider/pull/3926): Recognize 
[let-go](https://github.com/nooga/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)`.
- [#3892](https://github.com/clojure-emacs/cider/pull/3892): Decouple the nREPL 
transport layer from CIDER's UI layer (closes 
[#1099](https://github.com/clojure-emacs/cider/issues/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.
...
...

Reply via email to