Releases: clojure-emacs/cider
Releases · clojure-emacs/cider
CIDER 1.5 ("Strasbourg")
CIDER 1.5 is dedicated once again to the brave people of Ukraine, who celebrate their Independence Day today, and to their European future. Слава Україні!
New features
- #3226: Populate completions metadata, making it possible to change the style of completion via
completion-category-overrideorcompletion-category-defaults. - #2946: Add custom var
cider-merge-sessionsto allow combining sessions in two different ways: Settingcider-merge-sessionsto'hostwill merge all sessions associated with the same host within a project. Setting it to'projectwill combine all sessions of a project irrespective of their host. - Support Gradle jack-in via the Gradle wrapper (
gradlew), instead of just a globally installedgradleon thePATH. - Gradle projects can now inject dependencies and middleware as with other build tools (dependency injection requires Clojurephant 0.7.0 or higher).
- #3239: Added commands to evaluate and tap last sexp (
cider-tap-last-sexp) and sexp at point (cider-tap-sexp-at-point).
Changes
- Upgrade clojure-mode to 5.15.1.
- Upgrade injected
cider-nreplto 0.28.5. - #3200: Improve cider-browse-ns interface to allow selective hiding of var types as well as grouping options. Include private vars in result list.
- Changed default
cider-gradle-commandto./gradlewto use the Gradle wrapper. - Changed default
cider-gradle-global-optionsto""(empty, formerly--no-daemon). - #3234: Autocomplete multiple available ports on nREPL connect.
Bugs fixed
- #3235: Check
nameis a TRAMP file incider--client-tramp-filenameviatramp-tramp-file-p.
CIDER 1.4.1
CIDER 1.4 ("Kyiv")
New features
- #3188: Add support for
undef-allop, for removing stale vars and conflicting aliases.- Add new command
cider-undef-all. - Existing commands
cider-load-buffer,cider-load-file, andcider-eval-ns-formcan be called withC-uprefix to executeundef-allbefore reloading the ns.
- Add new command
- #3185: Add feature to
cider-eval-in-contextfor automatically extracting parent let bindings when called withC-uprefix argument. - Add new interactive command
cider-inspire-me. It does what you'd expect. - #3162: Save eval results into kill ring and registers.
- Add new customization variable
cider-eval-registerto automatically store the last interactive eval result into the specified register. - Add interactive command
cider-kill-last-resultto manually save the last eval result into kill ring.
- Add new customization variable
Changes
Bugs fixed
- #3170: Skip ensure repl available checks on xref functions. (this improves the interop with
clojure-lsp) - #3173: Locally remove
cider-complete-at-pointfromcompletion-at-point-functionsinstead of killing it as a local variable. - #3172: Restore the long-lost (but critical) inspirational message on connect.
- #3186: An assortment of small fixes.
CIDER 1.3 ("Ukraine")
This release is dedicated to the people of Ukraine, with whom I share a very deep bond. Please, consider supporting them in their time of need.
New features
- #3148: Display error messages in multiline comment eval results, and in result overlays when
cider-show-error-bufferis set tonil. - #3149: Add option
'changetocider-eval-result-duration, allowing multiple eval result overlays to persist until the next change to the buffer.
Changes
- #3127: Strip all exec-opts flags (
-A-M-T-X) if they exist incider-clojure-cli-aliases. Also addresses a duplicate:in the generatedcljcommand. cider-jack-in-lein-pluginsno longer affects non-Leiningen projects.- Third-party packages should rely on
cider-jack-in-dependenciesinstead.
- Third-party packages should rely on
- Upgrade cider-nrepl to 0.28.3.
- Remove
cider-jdk-src-pathsdefcustom since enrich-classpath makes it redundant. - Remove
cider-resolve-java-classfunction since enrich-classpath makes it redundant.
Bugs fixed
- Upgrade enrich-classpath, which fixes various edge cases.
- Remember: at the moment the enrich-classpath is disabled by default. If you wish to try it out, you can customize
cider-enrich-classpathtot. - Also remember: for it to work, on Linux, you'll also have to do something like
sudo apt install openjdk-11-source(depending on your package manager and JDK of choice).
- Remember: at the moment the enrich-classpath is disabled by default. If you wish to try it out, you can customize
- #3145: Allow fallback to other
xrefbackends if cider-nrepl is not loaded. - #3148: Fix eval result overlays at point inheriting the faces of following text.
- #3133: Respect
cider-injected-middleware-version. - #3163:
cider-clojuredocs: prevent redundant prompt for a symbol.
CIDER 1.2 ("Nice")
New features
- Integrate enrich-classpath by default for Leiningen projects.
- This enables functionality related to Java sources, javadocs or parsing thereof.
- This can slightly slow down jack-in for the first time for a given project; later on the related work will be cached.
- The feature is experimental at this point and needs to be enabled with
(setq cider-enrich-classpath t).
- #2831: Add
xrefintegration, configured with customizable variablescider-use-xrefandcider-xref-fn-depth. - #3017: Annotate company completion kinds.
- #3040: Support invoking
cider-clojuredocswithin the*clojuredocs*buffer. - Make it possible to specify the version of
cider-nreplto use withcider-jack-in. Seecider-injected-middleware-version. - Make it possible to specify the version of nREPL to use with
cider-jack-in. Seecider-injected-nrepl-version. - Upgrade
cider-nrepl,Orchardandclj-suitablefor pulling their latest bugfixes. - Add support for babaska projects to
cider-jack-in. - Introduce
cider-jack-in-lein-middlewaresdefcustom. - #3093: Make
see-alsos clickable in ClojureDocs buffers. - #3044: Dynamically upgrade nREPL connection. See
cider-upgrade-nrepl-connection.
Bugs fixed
- #3022: Handle empty stacktraces, pointing users to docs about the
OmitStackTraceInFastThrowJVM optimization. - #3020: Fix session linking on Windows, e.g. when jumping into a library on the classpath.
- #3031: Fix
cider-eval-defun-up-to-pointfailing to match delimiters correctly in some cases, resulting in reader exceptions. - #3039: Allow starting the sideloader for the tooling session.
- #3041: Sideloader: handle binary files, support multiple directories.
- #3047: Fix info/lookup fallback: response has an extra level.
- #2746: Handle gracefully Clojure versions with non-standard qualifiers (e.g.
1.11.0-master-SNAPSHOT). - #3069: Fix cursor color changing when it shouldn't in
evil-mode. - #3071: Use
xrefinstead ofetagsto push point to marker stack. - #3074: Recognize
pwshas apowershellexecutable.
CIDER 1.1 ("Plovdiv")
New features
- #2930: Add new customization variable
cider-test-default-include-selectorsandcider-test-default-exclude-selectorsfor specifying default test selectors when running commands such ascider-test-run-ns-tests. - #2907: Add new customization variable
cider-format-code-optionsto specify options used bycljfmtto format code when running commandscider-format-buffer,cider-format-regionandcider-format-defun. - #3002: [Inspector] Make collection member truncation limits configurable.
Bugs fixed
- #2871: Restore the dynamic code completion (the actual fixes are in
clj-suitableandcider-nrepl). - #2993: Fix bug where calling
cider-repl-set-nsfor a cljs ns whencider-repl-require-ns-on-setistwould fail. - #2983: Update signal description in nrepl server sentinel as a workaround for Emacs bug #46284 affecting v27.1 on Windows.
- #2941: Use main args in alias for clojure cli.
- #2953: Don't font-lock function/macro vars as generic vars.
- #2964: Fix issue with
cider-company-enable-fuzzy-completionand Helm. - #2937: Green fringe produced for extra line in rich comment block.
- #2996: Fix debugger incorrectly locating
#_ignored forms. - Fix a compatibility issue with Java 15 and fetching fresh ClojureDocs data. (fixed in
cider-nrepl0.25.6) - #3004: Use appropriate coding system when unzipping jars.
- #2934: Enable
eldoc-modein existing clojure buffers.
Changes
- Removed
cider-clojure-cli-parametersdue to clojure-cli jack-in changes. - Changed the behaviour of
cider-last-sexpso it returns only the sexp, excluding all whitespace and/or the first newline after.
CIDER 1.0 ("Sofia")
2020 brought us a lot of pain and misery. Time to turn things around!
New features
- #2909: Add new customization variable
cider-inspector-auto-select-bufferto control the auto selection of the inspector buffer. - #2940: Add a new customization variable cider-shadow-watched-builds to allow watching several shadow-cljs builds at the same time.
Bugs fixed
- Fix broken links to the docs in REPL warnings (the REPL links included the full CIDER version, but the docs URLs are without the patch version).
- #2916: Fix ordering of dependencies, global-opts and params for Clojure CLI projects when calling
cider-jack-in. - #2929: Fix handling of reader tags or metadata when calling
cider-eval-last-sexp-and-replace.
Changes
- Bump the injected nREPL version to 0.8.3.
- Bump the injected
cider-nreplversion to 0.25.5. - Bump the injected Piggieback version to 0.5.2. See this issue for details.
- #2897: Translate paths from CIDER to nREPL and vice-versa.
- Set
cider-prompt-for-symboltonilby default.
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
lookupop. - Add support for nREPL 0.7's sideloading functionality (experimental).
- Add support for nREPL 0.8's
ls-middlewareop. - #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 justvarandfnand 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-docbuffers, when you eval fallback to obtain var metadata. - Show eldoc for
.and... - #2860: Don't send blank strings in
eldocrequests. - #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-uninterestingto control whether to skip over nils, numbers and keywords when navigating between values in the inspector buffer. - New defcustom
cider-auto-inspect-after-evalto 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
completionsop. It's used ifcider-nreplis not available. - Add
browserto 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-typesto re-enable it) - #2850: Ensure you're in the middle of a window after commands like
cider-find-var.