Releases: clojure-emacs/cider
Releases · clojure-emacs/cider
CIDER 0.26.1
CIDER 0.26 (Nesebar)
New features
- Add first class support for Babashka (no more warnings when you connect to
babashka.nrepl
). - Add support for nREPL 0.8's
lookup
op. - Add support for nREPL 0.7's sideloading functionality (experimental).
- Add support for nREPL 0.8's
ls-middleware
op. - #2861: Add support for the Krell REPL.
- #2881: Add command to evaluate list around point (
cider-eval-list-at-point
).
Changes
- #2527: Enable auto-clear of REPL buffer by setting a limit to the max buffer size.
- #2852: Convert 1-based column numbers in response map to Emacs' 0-based system.
- Differentiate between more types in
cider-eldoc
. They used to be justvar
andfn
and now we have additional handling for
macros, special forms and methods. - No longer fetches ClojureDocs data on first run (it's now bundled with
cider-nrepl
). - No longer updates the ClojureDocs data automatically on startup (it has to be updated explicitly using
M-x cider-clojuredocs-refresh-cache
). - Use nREPL 0.8 by default (when doing
cider-jack-in
).
Bugs fixed
- Handle properly missing file metadata in
cider-doc
buffers, when you eval fallback to obtain var metadata. - Show eldoc for
.
and..
. - #2860: Don't send blank strings in
eldoc
requests. - #2718: When calling
cider-pprint-eval-last-sexp-to-comment
, avoid printing empty comment if eval throws error. - #2796: Closing CIDER connection will disable the debug minor mode on clojure buffers.
CIDER 0.25 (Bergamo)
My (Bozhidar's) work on this release was sponsored by Clojurists Together. They deserve a very special thanks for their continued support of CIDER and its Orchard!
New features
- #2482: Improvements to CIDER Inspector.
- New defcustom
cider-inspector-skip-uninteresting
to control whether to skip over nils, numbers and keywords when navigating between values in the inspector buffer. - New defcustom
cider-auto-inspect-after-eval
to control whether a visible inspector buffer is updated with the last evaluated result.
- New defcustom
- #2833: Save command history for jack-in with universal arg.
- #2828: Bind "L" to toggle display of locals during a debug session.
- #2800: Add support for force-out debugger command.
- Add support for nREPL 0.8
completions
op. It's used ifcider-nrepl
is not available. - Add
browser
to the list of supported ClojureScript REPL types. - Add an interactive command to toggle Clojure font-locking in the REPL (
cider-repl-toggle-clojure-font-lock
). - Add a defcustom controlling nREPL's print buffer size (
cider-print-buffer-size
). It's set to 4K by default, nREPL own default is 1k.
Changes
- #2826: Add support for symbols with quotes and resolving of ns-aliased keywords in
cider-symbol-at-point
. - #2617: Add menu bar entry for
Insert last sexp in REPL
. - Removed support for the Nashorn ClojureScript REPL. (it was removed upstream in ClojureScript)
- #2825: Disable support for displaying images in the REPL. (set
cider-repl-use-content-types
to re-enable it) - #2850: Ensure you're in the middle of a window after commands like
cider-find-var
.
Bugs fixed
CIDER 0.24 (India)
New features
- #2744: Add startup commands to repl banner.
- #2499: Add
cider-jump-to-pop-to-buffer-actions
. - #2738: Add ability to lookup a function symbol when cursor is at the opening paren.
- #2735: New debugger command
P
to inspect an arbitrary expression, it was previously bound top
which now inspects the current value. - #2729: New cider inspector command
cider-inspector-def-current-val
lets you define a var with the current inspector value.
Changes
- #2781: Extend
cider-doc-xref-regexp
to recognize[[var]]
syntax and fully qualified symbols as xref links in cider-doc buffers. - #2731: Make the in-buffer debugging menu customizable via
cider-debug-prompt-commands
.
Bugs fixed
- #2787: Fix nrepl process naming collision when using
nrepl-hide-special-buffers
. - #2739: Start built-in shadow-cljs build profiles correctly (node-repl, browser-repl).
- #2730: Require repl utilities into current namespace not just
user
ns. - #2614: Fix error highlighting in source buffers for Clojure 1.10.
- #2733: Restore compatibility with Emacs 25.3.
CIDER 0.23 (Lima)
New features
- New configuration variable
cider-result-overlay-position
determining where debugger and inline eval result overlays should be displayed. Current options are 'at-eol and 'at-point. - #2606: Defcustom
cider-path-translations
for translating paths from nREPL messages (useful where a file appears to be somewhere, but it's actually somewhere else). - #2698: Infer figwheel builds automatically.
- New command
cider-clojuredocs-refresh-cache
.
Changes
- #2711:
cider-selector
has more robust handling for edge cases. - #2572: Make it possible to a start a one off ClojureScript REPL without defining a new REPL type.
- Dynamic cljs completions (via suitable) can be disable by setting
cider-enhanced-cljs-completion-p
to nil.
Bugs fixed
- #2715: Fix the
shadow-cljs
presence check. - #2705: Middleware version check looks at only at the minor version for comparison (when the major version is 0) and ensures a matching major and a minor >= required otherwise.
- Fixed some bugs related to the new suitable-powered ClojureScript code completion (this was fixed by upgrading the
suitable
used bycider-nrepl
). - Remove a misplaced error message when doing
clojuredocs-lookup
. - #2721: Handle properly symbols ending in
.
(e.g.SomeRecord.
).
CIDER 0.22 (São Paulo)
New features
- #2656: Base64 encode clojure command and arguments on jack-in when
cider-clojure-cli-command
is"powershell"
to avoid escaping issues. If noclojure
command is found on Windowscider-clojure-cli-command
defaults to"powershell"
. - Allow editing of jack in command with prefix or when
cider-edit-jack-in-command
is truthy. - New defcustom
cider-repl-require-ns-on-set
: Set it to make cider require the namespace before setting it, when callingcider-repl-set-ns
. - #2611: Add
eval
-based classpath lookup fallback. It's used when cider-nrepl is not present. - #2611: Add
eval
-based var info lookup fallback. It's used when cider-nrepl is not present. - #1840: Add a command to find runtime function references (
cider-xref-fn-refs
). - Add a command to find runtime function dependencies (
cider-xref-fn-deps
). - Add a menu to the inspector.
- Add completion of shadow-cljs build names in the minibuffer when connecting or jacking in.
Changes
cider-use-tooltips
now also controls whetherhelp-echo
is used.cider-print-options
is now supported by thepr
option forcider-print-fn
. The options will now be also used by interactive eval commands that do not use pretty-printing.spec-list
andspec-form
requests send the current namespace for alias resolution.C-c , C-g
andC-c C-t C-g
cancel the key chord instead of rerunning the last test. The respective command has been moved toC-c , C-a
,C-c , a
,C-c C-t C-a
andC-c C-t a
.- #2643: (Breaking) Stop using the
cider.tasks/nrepl-server
custom task forcider-jack-in
with Boot. - #2647
cider-repl-require-repl-utils
now loads cljs specific repl utils in cljs buffers. - #2689
cider-load-buffer
now takes an optionalcallback
that will override the defaultcider-load-file-handler
. - #2689
cider-load-file-handler
now takes an optionaldone-handler
lambda that is run once load is complete.
Bug fixes
- #2685: Send
exclude-regexps
in apropos under correct key - Stop cursor moving when initialising the CIDER REPL, when
cider-repl-pop-to-buffer-on-connect
is nil. This fixes a bug introduced by commit e0aca78b. - #2577: Ensure user friendly error messages if a repl connection is expected but none was found in certain situations.
- #2593: The REPL's initial namespace is now set correctly if configured in another tool (e.g. Leiningen's
:init-ns
). - #2607: Use markers for specifying insertion point for
cider-eval-*-to-comment
commands. This fixes a bug where editing the buffer during a pending evaluation resulted in comments appearing in unintended locations. - #2308: Don't rely on the classpath in
cider-library-present-p
. Now it does arequire
instead to check if some library is present or not. - #2541: Hook properly CIDER's code completion machinery.
- #2659: Handle
#shadow/env
reader tags incider--shadow-get-builds
. - #2676: Widen before
cider--file-string
, to allowcider-load-buffer
to work on narrowed buffers. - Don't disable
cider-mode
until all CIDER sessions have been closed.
CIDER 0.21 (New York)
New features
- The
cider-test-run-*
andcider-ns-refresh-*
commands are now interruptible by thecider-interrupt
command. - Many commands now stream printed results back to the client incrementally – meaning it's now possible to, for example, interrupt evaluations while their result is being rendered.
- New option:
cider-repl-init-code
. This is a list of strings containing Clojure code to evaluate when the REPL starts (with bindings for anyset!
-able vars in place). Replacescider-print-length
andcider-print-level
, which are now obsolete. - New option:
cider-print-quota
. This is a hard limit on the number of bytes that will be returned by any printing operation. This defaults to one megabyte and can be set tonil
if no limit is desired.
Changes
- (Breaking) Upgrade to nREPL 0.6.0. This is now the minimum required version.
- (Breaking) Upgrade to piggieback 0.4.0. This is now the minimum required version.
- (Breaking) Remove
cider.nrepl.middleware.pprint
. All functionality has been replaced by the built-in printing support in nREPL 0.6. - Option
cider-repl-scroll-on-output
is now obsolete, and the default REPL behaviour has changed to not recenter the window. The built-in variablescroll-conservatively
can be set to 101 (either globally or locally in the REPL buffer) to restore the old behaviour. This change has a dramatic positive effect on REPL performance. cider-pprint-fn
andcider-pprint-options
are now obsolete, replaced bycider-print-fn
andcider-print-options
.cider-debug-print-options
,cider-stacktrace-print-options
, andcider-repl-pretty-print-width
are now all obsolete, replaced bycider-print-options
.- #2546: New defcustom
cider-ns-save-files-on-refresh-modes
to control for which bufferscider-ns-refresh
should save before refreshing.
Bug fixes
- Fix values for
cider-preferred-build-tool
variable. - Fix value and safe property for
cider-allow-jack-in-without-project
variable. cider-ns-save-files-on-refresh
will now save any modified buffers visiting files on the classpath, rather than just in the current project.cider-expected-ns
no longer requires an absolute path as its argument, and now internally handles paths canonically and consistently.- Fixed a bug causing REPL output to be inserted after the prompt.
- Fixed a bug causing
cider-pprint-eval-last-sexp-to-comment
andcider-pprint-eval-defun-to-comment
to not insert anything. cider-find-var
now correctly uses a new window when passed a prefix of-
or a double prefix argument.
CIDER 0.20 (Oslo)
New features
- Make it possible to pass an options map to the currently selected pprint function via
cider-pprint-options
. - Add support for zprint.
- Make it possible to eval and pprint in the scratch buffer using
C-u C-j
. - #2532: Add support for
CompilationException
dynamic source location discovery.
Changes
- #2496: Replace CIDER's pprint implementation with nREPL 0.5's built-in pprint support.
- #2558: Load clj, cljc, & cljs (if cljs repl available) files on
cider-load-all-files
(C-c C-M-l
). Previously, this only loaded clj files. - Enable pretty-printing in the REPL by default.
Bug fixes
CIDER 0.19 (Raleigh)
0.19.0 (2019-01-01)
New features
- #2430:
cider-find-var
opens archive files inside AVFS folders if AVFS is detected. - #2446: Implement Sesman friendly sessions to allow for on-the-fly association with sessions from dependency projects and jars.
- #2253: Split
continue
debug command into "continue till next breakpoint" (c
) and "continue non stop" (C
) commands.
Bug fixes
- #2474: Fix incorrect detection of output and out-of-order printing.
- #2514: Don't auto-jump to warnings when
cider-auto-jump-to-error
is set to 'errors-only. - #2453: Make it possible to debug deftype methods by direct insertion of #dbg and #break readers into the deftype methods.
- #1869,cider-nrepl#460: Fix
continue
debugger command which was stopping entering debugger on repeated invocations. - #2444: Reuse dead REPL buffers on new connections.
- #2441: Make it possible to use
C-c C-x
keys without loading cider first (autoloadcider-start-map
). - #2440: Make
cider-check-cljs-repl-requirements
take effect again. - #2439: Remove mentions of
cider-toggle-connection-buffer
from the docs. - #2435: Remove killed REPLs from sessions in client sentinel.
- Fix jack-in from inside of remote buffers.
- #2454: Fix erratic inspector behavior when multiple REPLs are connected
- #2467: Make generic CIDER ops use any available nREPL connection.
- #2105: Fix no comment syntax defined message when loading buffer after running a failing test.
- #2115: Reset the current buffer after
display-buffer
.
Changes
- #2482: Don't bind nREPL server started by
cider-jack-in
to::
(uselocalhost
instead). - #2484: Fix issues where some functionality in REPL buffers (like eldoc) was broken.
- #2484: REPL types are now symbols instead of strings.
- #1544: Add a new defcustom
cider-infer-remote-nrepl-ports
to control whether we use tramp/ssh to infer remote ports. Now defaulting tonil
(previously it always tried to infer).
CIDER 0.18 (Saigon)
New features
- #2375: Move
cider-eval-toplevel-inside-comment-form
into clojure-mode asclojure-toplevel-inside-comment-form
sobeginning-of-defun
is aware of comment forms. - Add new
cider-session-name-template
variable for flexible customization of cider session and REPL buffer names. - Bind
C-c M-r
tocider-restart
. - Add new
cider-start-map
keymap (C-c C-x
) for jack-in and connection commands. - Add new
cider-ns-map
keymap (C-c M-n
) for namespace related functionality. - Allow evaling top level forms in a comment form rather than the entire comment form with
cider-eval-toplevel-inside-comment-form
. - Create keymap for inserting forms into the repl at
C-c C-j
. - Add new defcustom
cider-invert-insert-eval-p
: Set to cause insert-to-repl commands to eval the forms by default when inserted. - Add new defcustom
cider-switch-to-repl-after-insert-p
: Set to prevent cursor from going to the repl when inserting a form in the repl with the insert-to-repl commands. - Inject piggieback automatically on
cider-jack-in-clojurescript
. - Introduce a new command named
cider
(C-c M-x
) that acts as a simple wrapper around all commands for starting/connecting to REPLs. - #2305: Make it possible to disable the REPL type auto-detection by customizing
cider-repl-auto-detect-type
. - #2373: Make it possible to configure the welcome message displayed in scratch buffers via
cider-scratch-initial-message
. - Add the ability to jump to the profiler buffer using
cider-selector
. - #1980: Echo back missing namespace name on interactive eval (requires nREPL 0.4.3+).
- #2397: Add shadow-select CLJS REPL type.
- #2314: Add
cider-ns-reload
andcider-ns-reload-all
interactive commands.
Bugs fixed
- #2317: The stdin prompt can now be cancelled.
- #2328: Added
cider-eval-sexp-to-point
. - #2310:
cider-format-edn-last-sexp
will format the last sexp. - #2294: Fix setting default stacktrace filters.
- #2286: Fix eldoc issue with images in the REPL.
- #2307: Use a better error when a cljs repl form cannot be found.
- Fix the broken test selector functionality.
- #2291:
cider-use-tooltips
custom variable works as expected. - #2424: Fallback to
lein
as the default jack-in command whenclojure
is not present.
Changes
- (Breaking) Move
cider-repl-set-ns
, previously onC-c M-n
, onC-c M-n (M-)n
in thecider-ns-map
. - (Breaking) Move
cider-ns-refresh
, previously onC-c C-x
, onC-c M-n (M-)r
in thecider-ns-map
. - (Breaking) Bump the minimum required Emacs version to 25.1.
- (Breaking) Drop support for Java 7 and Clojure(Script) 1.7.
- (Breaking) Use session name as part of CIDER buffers names (REPL, server, messages), and obsolete
nrepl-buffer-name-separator
andnrepl-buffer-name-show-port
. Seecider-session-name-template
andcider-format-connection-params
for how to customize CIDER buffer names. - Rename
cider-eval-defun-to-point
tocider-eval-defun-up-to-point
. - Add support for printing to the current buffer to
cider-eval-defun-up-to-point
. - Remove
cider-ping
command. - Remove
cider-visit-error-buffer
in favour of usingcider-selector
. - Rename
cider-refresh
tocider-ns-refresh
(and all the related defcustoms). - (Breaking) Rewrote connection management (see http://docs.cider.mx/en/latest/managing_connections/ for details).
- (Breaking)
cider-jack-in-clojurescript
now creates only a ClojureScript REPL (usecider-jack-in-clj&cljs
to create both REPLs). - #2357: Support both keywords and strings as test selectors (previously it was only strings).
- #2378: Add autoloads target to Makefile.
- Map
cider-pprint-eval-last-sexp
toC-c C-v (C-)f (C-)e
in thecider-eval-commands-map
. - Map
cider-pprint-eval-defun-at-point
toC-c C-v (C-)f (C-)d
in thecider-eval-commands-map
. - Accept bare figwheel-main build names (e.g.,
dev
). Previously, a keyword (e.g.,:dev
) was required. - Stop releasing CIDER and cider-nrepl together. cider-nrepl now has its own release cycle and CIDER introduces
cider-required-middleware-version
to track it.