# Changelog

<!-- Entries are one line per item and section headings repeat for every release,
     so the line-length and duplicate-heading rules don't fit this file. -->
<!-- markdownlint-disable MD013 MD024 -->

## master (unreleased)

### New features

- [#4179](https://github.com/clojure-emacs/cider/pull/4179): Add `cider-flash-evaluated-region` (off by default), which briefly flashes the region an evaluation command sent, so you can see which form it picked.
- [#4176](https://github.com/clojure-emacs/cider/pull/4176): Add `cider-inspect-menu` (`C-c C-i`), listing every way to start an inspection (last sexp, sexp at point, defun, last result, or an expression you type), so they're no longer reachable only by counting prefix arguments to `cider-inspect`.
- [#4173](https://github.com/clojure-emacs/cider/pull/4173): Give the rest of the form commands an "at point" variant, as evaluation and tap already had: `cider-inspect-sexp-at-point`, `cider-pprint-eval-sexp-at-point`, `cider-macroexpand-1-at-point`, `cider-macroexpand-all-at-point`, `cider-format-edn-sexp-at-point` and `cider-insert-sexp-at-point-in-repl`, so you no longer have to move point after a form to act on it.
- [#4164](https://github.com/clojure-emacs/cider/pull/4164): Resolve container-published nREPL ports: `cider-connect` suggestions from a `/docker:`/`/podman:` buffer are translated to the host ports they're published on, and jack-in over tramp-container connects back through the published port instead of failing on the unreachable container name.
- [#4142](https://github.com/clojure-emacs/cider/pull/4142): Bring CIDER's dynamic font-locking (highlighting REPL-defined macros, functions, vars and deprecated/instrumented/traced symbols) to `clojure-ts-mode` buffers via tree-sitter; previously it only worked under `clojure-mode`.
- [#4145](https://github.com/clojure-emacs/cider/pull/4145): Add `cider-preferred-clojure-mode` (default `auto`) controlling which Clojure major mode CIDER uses to font-lock the code it renders (REPL input/results, doc examples, overlays, xref labels, etc.); when set to (or auto-detecting) `clojure-ts-mode`, those snippets get tree-sitter highlighting instead of `clojure-mode`'s.
- [#4146](https://github.com/clojure-emacs/cider/pull/4146): Have CIDER's own Clojure display buffers (macroexpansion, evaluation results, tracing) honor `cider-preferred-clojure-mode` too, so they open in `clojure-ts-mode` when that's your preference instead of always `clojure-mode`.
- [#4143](https://github.com/clojure-emacs/cider/pull/4143): Highlight the `#break`/`#dbg`/`#light` debugging reader tags in `clojure-ts-mode` buffers too.
- [#4117](https://github.com/clojure-emacs/cider/pull/4117): Add `cider-use-completing-read-for-symbol` (off by default): when enabled, symbol prompts (e.g. `cider-doc`, `cider-find-var`) read through `completing-read` over a lazy, runtime-backed collection, so they work with `completing-read` UIs (Vertico, Ivy, Helm) and annotate candidates with their type and namespace; `cider-completion-symbol-prompt-min-length` (default 2) sets how much you type before the runtime is queried.
- [#4129](https://github.com/clojure-emacs/cider/pull/4129): Render completion annotations as an aligned type/namespace column (via an `affixation-function`) in UIs that support it, such as the built-in `*Completions*`, Corfu and Vertico.

### Changes

- [#4184](https://github.com/clojure-emacs/cider/pull/4184): Move `cider-jump-to-comment` from `C-c C-j v` to `C-c C-j j`, so `v` under the insert prefix is `cider-insert-sexp-at-point-in-repl` like the other at-point commands; the macroexpand and pretty-print at-point variants are now also in the plain `cider-macroexpand-map`/`cider-eval-pprint-commands-map`, not just the menus.
- [#4177](https://github.com/clojure-emacs/cider/pull/4177): Rename `cider-format-defun` to `cider-format-defun-at-point` and `cider-send-to-comment` to `cider-send-defun-to-comment`, so they name the form they operate on like the rest of the form commands; the old names remain as obsolete aliases.
...
...
