Releases: clojure-emacs/cider
Releases · clojure-emacs/cider
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
Pto inspect an arbitrary expression, it was previously bound topwhich now inspects the current value. - #2729: New cider inspector command
cider-inspector-def-current-vallets you define a var with the current inspector value.
Changes
- #2781: Extend
cider-doc-xref-regexpto 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
userns. - #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-positiondetermining where debugger and inline eval result overlays should be displayed. Current options are 'at-eol and 'at-point. - #2606: Defcustom
cider-path-translationsfor 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-selectorhas 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-pto nil.
Bugs fixed
- #2715: Fix the
shadow-cljspresence 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
suitableused 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-commandis"powershell"to avoid escaping issues. If noclojurecommand is found on Windowscider-clojure-cli-commanddefaults to"powershell". - Allow editing of jack in command with prefix or when
cider-edit-jack-in-commandis 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-tooltipsnow also controls whetherhelp-echois used.cider-print-optionsis now supported by theproption forcider-print-fn. The options will now be also used by interactive eval commands that do not use pretty-printing.spec-listandspec-formrequests send the current namespace for alias resolution.C-c , C-gandC-c C-t C-gcancel 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-aandC-c C-t a.- #2643: (Breaking) Stop using the
cider.tasks/nrepl-servercustom task forcider-jack-inwith Boot. - #2647
cider-repl-require-repl-utilsnow loads cljs specific repl utils in cljs buffers. - #2689
cider-load-buffernow takes an optionalcallbackthat will override the defaultcider-load-file-handler. - #2689
cider-load-file-handlernow takes an optionaldone-handlerlambda that is run once load is complete.
Bug fixes
- #2685: Send
exclude-regexpsin apropos under correct key - Stop cursor moving when initialising the CIDER REPL, when
cider-repl-pop-to-buffer-on-connectis 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-commentcommands. 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 arequireinstead to check if some library is present or not. - #2541: Hook properly CIDER's code completion machinery.
- #2659: Handle
#shadow/envreader tags incider--shadow-get-builds. - #2676: Widen before
cider--file-string, to allowcider-load-bufferto work on narrowed buffers. - Don't disable
cider-modeuntil 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-interruptcommand. - 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-lengthandcider-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 tonilif 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-outputis now obsolete, and the default REPL behaviour has changed to not recenter the window. The built-in variablescroll-conservativelycan 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-fnandcider-pprint-optionsare now obsolete, replaced bycider-print-fnandcider-print-options.cider-debug-print-options,cider-stacktrace-print-options, andcider-repl-pretty-print-widthare now all obsolete, replaced bycider-print-options.- #2546: New defcustom
cider-ns-save-files-on-refresh-modesto control for which bufferscider-ns-refreshshould save before refreshing.
Bug fixes
- Fix values for
cider-preferred-build-toolvariable. - Fix value and safe property for
cider-allow-jack-in-without-projectvariable. cider-ns-save-files-on-refreshwill now save any modified buffers visiting files on the classpath, rather than just in the current project.cider-expected-nsno 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-commentandcider-pprint-eval-defun-to-commentto not insert anything. cider-find-varnow 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
CompilationExceptiondynamic 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-varopens 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
continuedebug 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-erroris 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
continuedebugger 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-xkeys without loading cider first (autoloadcider-start-map). - #2440: Make
cider-check-cljs-repl-requirementstake effect again. - #2439: Remove mentions of
cider-toggle-connection-bufferfrom 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-into::(uselocalhostinstead). - #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-portsto 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-forminto clojure-mode asclojure-toplevel-inside-comment-formsobeginning-of-defunis aware of comment forms. - Add new
cider-session-name-templatevariable for flexible customization of cider session and REPL buffer names. - Bind
C-c M-rtocider-restart. - Add new
cider-start-mapkeymap (C-c C-x) for jack-in and connection commands. - Add new
cider-ns-mapkeymap (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-reloadandcider-ns-reload-allinteractive commands.
Bugs fixed
- #2317: The stdin prompt can now be cancelled.
- #2328: Added
cider-eval-sexp-to-point. - #2310:
cider-format-edn-last-sexpwill 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-tooltipscustom variable works as expected. - #2424: Fallback to
leinas the default jack-in command whenclojureis not present.
Changes
- (Breaking) Move
cider-repl-set-ns, previously onC-c M-n, onC-c M-n (M-)nin thecider-ns-map. - (Breaking) Move
cider-ns-refresh, previously onC-c C-x, onC-c M-n (M-)rin 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-separatorandnrepl-buffer-name-show-port. Seecider-session-name-templateandcider-format-connection-paramsfor how to customize CIDER buffer names. - Rename
cider-eval-defun-to-pointtocider-eval-defun-up-to-point. - Add support for printing to the current buffer to
cider-eval-defun-up-to-point. - Remove
cider-pingcommand. - Remove
cider-visit-error-bufferin favour of usingcider-selector. - Rename
cider-refreshtocider-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-clojurescriptnow creates only a ClojureScript REPL (usecider-jack-in-clj&cljsto 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-sexptoC-c C-v (C-)f (C-)ein thecider-eval-commands-map. - Map
cider-pprint-eval-defun-at-pointtoC-c C-v (C-)f (C-)din 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-versionto track it.
CIDER 0.17 (Andalucía)
New features
- #2248:
cider-replcan now display recognized images in the REPL buffer. - #2172: Render diffs for expected / actual test results.
- #2167: Add new defcustom
cider-jdk-src-paths. Configure it to connect stack trace links to Java source code. - #2161: Add new interactive command
cider-eval-defun-to-pointwhich is bound toC-c C-v (C-)z. It evaluates the current top-level form up to the point. - #2113: Add new interactive commands
cider-eval-last-sexp-in-context(bound toC-c C-v (C-)c) andcider-eval-sexp-at-point-in-context(bound toC-c C-v (C-)b). - Add new interactive command
cider-repl-set-type. - #1976: Add new interactive command
cider-connect-clojurescript. - Add a menu for
cider-browse-ns-mode. - #2160: Make it possible to configure the default
*print-level*and*print-length*via defcustoms (cider-repl-print-levelandcider-repl-print-length). - New interactive command
cider-cheatsheetallows you to browse the Clojure Cheatsheet with an Emacs interface. - #2191: Add support for jacking-in just with the
clojurecommand-line tool andtools.deps. - Make it possible to start a Nashorn ClojureScript REPL.
- #2235: Make the REPL ignore blank input rather than evaluating.
- #2241: Make
cider-test-ediffdiff eval'ed values. - Add support for shadow-cljs to
cider-jack-in. - #2244: Display the REPL type in the modeline.
- #2238: Allow specifying predicates for entries in
cider-jack-in-lein-pluginsandcider-jack-in-nrepl-middlewares. - Add support for test selectors. If test all or all loaded is called with a prefix ask for filter test selectors in the minibuffer and only run those tests in the project which match the filters. Add variation of test namespace which asks for filter selectors the same way and only runs a subset of the namespace tests.
- Add a configuration variable allowing to control whether server output should be redirected to the REPL (
cider-redirect-server-output-to-repl).
Bugs Fixed
- #1913: Fix
cider-toggle-buffer-connectionto allow cycling of connection and restoring all connections in cljc buffers. - #2148: Fix
jump to definitionworking properly when remotecider-jack-inandcider-connect. - Font-lock failed assertions even in tests that were evaluated interactively.
- #2102: Make
cider-format-bufferhandle mismatched parens gracefully.
Changes
- #2163: Add
cider-browse-spec-regex, and changedcider-browse-spec-allto use it. - #2029: Make cider-doc use cider-browse-spec functionality to print the spec part of the doc buffer
- #2151: Improve formatting of spec in
cider-docbuffer. - Remove support for CLJX.
- Fix
cider-eval-regionmaskingclojure-refactor-mapincider-repl-mode. - #2171: Update
See Alsomappings for Clojure 1.9. - #2202: Make
cider-jack-in-clojurescriptprompt from the ClojureScript REPL type to use. - #2202: Don't try to start a ClojureScript REPL before checking whether that's possible or not.
- orchard#24: Inspector now separately renders clickable keys and values when inspecting maps.
- orchard#24: Inspector now remembers the current page of each level of nesting when navigating big and nested collection.
- Require piggieback 0.3 or newer.
- Drops support for Rhino in favour of the modern Nashorn.
CIDER 0.16 (Riga)
New Features
- #2082, cider-nrepl#440: Add specialized stacktraces for clojure.spec assertions.
- #2111: Add
cider-pprint-eval-last-sexp-to-commentandcider-pprint-eval-defun-to-comment. - Add a REPL shortcut for
cider-repl-require-repl-utils(this makes it easy to require common functions likedoc,source, etc. in REPL buffers). - #2112: Add a new interactive command
cider-find-keyword(bound toC-c C-:). - #2144: Create a Docker image to mimic the Travis CI environment.
Changes
cider-switch-to-last-clojure-bufferswitches to most recent relevant Clojure(Script) buffer instead of the last "remembered" buffer.- cider-nrepl#438: Improve startup time by deferring loading CIDER's middleware until the first usage.
- #2078: Improve startup time by bundling together sync requests during startup.
cider-rotate-default-connectionwill warn if you use it with only a single active connection.cider-format-buffertries to preserve the point position.
Bugs Fixed
- #2084: Select correct REPL type (clj or cljs) in
cider-switch-to-repl-bufferconditional on the current buffer. - #2088: Fix functions defined with
defbeing font-locked as vars instead of functions. - #1651, cider-nrepl#445: Fix
cider-expected-nsreturnsnilon boot projects. - #2120: Fix Travis CI build errors for Emacs versions >25.2.
- #2117: Ensure
cider-repl-result-prefixis only inserted before the first result chunk. - #2123: Process properly the Java version in Java 9.
CIDER 0.15.1
New Features
- #2083: New utility function
cider-add-face. - #2083: New utility function
cider-run-chained-hook. - #2083: New
cider-repl-preoutput-hookthat allows custom output processing. - #2083: Highlight clojure.spec keywords in REPL (
cider-repl-highlight-spec-keywordspre-output processor).
Changes
- #2045
*cider-scratch*buffers are no longer automatically killed on connection quit. - #2083: Jump to other window when clicking on location references in REPL.
- #2083: Improve project namespace highlighting in REPLs.
- #2083: Find locations in more cases when clicking on references in REPL.
Bugs Fixed
- #2004, #2039, cider-nrepl#420: Fix namespace issues in instrumentation and debugging commands.
- Project-Only stacktrace filter: hide all other tags when viewing project-only stacktrace.
- Fix interactive evaluation in cljc buffers with only one connection.
- #2058: Don't cache ns-forms in buffers with no such forms.
- #2057: Use
cider--font-lock-ensurefor compatibility with Emacs 24.5. - cider-nrepl#436: Ensure that
*print-right-margin*is not ignored by cider-nrepl middleware. - cider-nrepl#435: Allow debugging of forms with
#?(:cljs ... :clj ..)conditionals. - cider-nrepl#432: Ensure
pprintis afterload-file.