# Changelog

## master (unreleased)

### 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`).

### Bugs fixed

- [#3209](https://github.com/clojure-emacs/cider/issues/3209): Fix `cider-format` dropping non-map cljfmt options (e.g. `remove-consecutive-blank-lines?`).

### Changes

- [#710](https://github.com/clojure-emacs/cider-nrepl/issues/710): Use namespaced nREPL ops (e.g. `cider/info` instead of `info`) to match cider-nrepl 0.59+.
- Bump the injected `nrepl` to [1.7.0](https://github.com/nrepl/nrepl/blob/master/CHANGELOG.md#170-2026-04-14).
- Bump the injected `cider-nrepl` to [0.59.0](https://github.com/clojure-emacs/cider-nrepl/blob/master/CHANGELOG.md#0590-2026-04-14).
- [#3788](https://github.com/clojure-emacs/cider/issues/3788): Remove the `cider-info-form` eval fallback for `cider-var-info`. The `info` and `lookup` nREPL ops are now required.
- Bump the injected nREPL version to 1.6.
- Convert modern tuple-format indent specs (e.g. `[[:block 1] [:inner 0]]`) to legacy format for compatibility with older clojure-mode versions.
- Rename `cider-eval-spinner-type`, `cider-show-eval-spinner`, and `cider-eval-spinner-delay` to `cider-spinner-type`, `cider-show-spinner`, and `cider-spinner-delay`.  The old names are kept as obsolete aliases.

## 1.21.0 (2026-02-07)

### Changes

- [#3854](https://github.com/clojure-emacs/cider/pull/3854): Use buttons for items in `cider-ns-browser` to allow clicking and evil's `RET` to navigate.
- Drop support for Emacs 27.
  - This was prompted by upstream deps dropping support for it.
- Remove deprecated `cider-*-global-opts`.
- Move Emacs Lisp code under `lisp/` folder to improve the structure of the repo.
  - That's not a user-visible change, but might affect the packaging depending on how you're installing CIDER.

### Bugs fixed

- [#3853](https://github.com/clojure-emacs/cider/issues/3853): Fix mangling of printed representations.
  - This was caused by a bug in nREPL, that was addressed in nREPL 1.5.2

## 1.20.0 (2025-11-05)

### New features

- [#3847](https://github.com/clojure-emacs/cider/issues/3847): Inspector: tidy up namespaced-qualified keywords.

### Changes

- Bump the injected `nrepl` to [1.5.1](https://github.com/nrepl/nrepl/blob/master/CHANGELOG.md#151-2025-10-18).
  - * [nrepl#385](https://github.com/nrepl/nrepl/pull/385): Preserve filename in functions compiled during regular eval.
- Bump the injected `piggieback` to [0.6.1](https://github.com/nrepl/piggieback/blob/master/CHANGES.md#061-2025-12-31).
- Bump the injected `cider-nrepl` to [0.58.0](https://github.com/clojure-emacs/cider-nrepl/blob/master/CHANGELOG.md#0580-2025-10-16).
  - * [cider-nrepl#951](https://github.com/clojure-emacs/cider-nrepl/pull/951): Debug: correctly process `#dbg` tag during `load-file`.
- [#3834](https://github.com/clojure-emacs/cider/issues/3834): Change `cider-ns-refresh` to always use Clojure REPL.

### Bugs fixed

- [#3832](https://github.com/clojure-emacs/cider/issues/3832): Fix `nrepl--eval-request` sending duplicate info.
- [#3837](https://github.com/clojure-emacs/cider/issues/3837): Fix broken stacktrace response when `C-c C-p` throws an exception.
- [orchard#353](https://github.com/clojure-emacs/orchard/pull/353): Stacktrace: flag Clojure functions as duplicate.
- [orchard#355](https://github.com/clojure-emacs/orchard/pull/355): Java: resolve source files for non-base JDK classes.
- [#3834](https://github.com/clojure-emacs/cider/issues/3834): Fix `cider-ns-refresh` throwing an error when a Clojure REPL exists, but `cider-current-repl` does not support the required operations.
- [#3848](https://github.com/clojure-emacs/cider/issues/3848): Format: fix `cider-format` crashing when format options are set.

## 1.19.0 (2025-07-10)
...
...
