Skip to content

Releases: clojure-emacs/cider

CIDER 1.6 ("Buenos Aires")

21 Dec 09:30

Choose a tag to compare

New features

  • #3278: Introduce integration tests, which also fix a long standing issue with orphaned process on MS-Windows by contracting taskkill, if available, to properly kill the nREPL server process tree.
  • #3061: Add support for nbb.
  • #3249: Add support for Clojure Spec 2.
  • #3247: Add the cider-stacktrace-analyze-at-point and cider-stacktrace-analyze-in-region commands to view printed exceptions in the stacktrace inspector.

Changes

  • Bump the injected nREPL version to 1.0.
  • #3061: Allow to use cider-connect-clj for self-hosted cljs repls (e.g. nbb).
  • #3291: Remove the 'cljs-pending repl-type. It is replaced by cider-repl-cljs-upgrade-pending.
  • #3261: If user is connecting to nREPL from a TRAMP buffer, use its connection parameters (port, username) for establishing SSH tunnel.

Bugs fixed

  • Remove needless quotes from the choices of cider-jack-in-auto-inject-clojure.
  • #2561: Disable undo in *cider-test-report* buffers.
  • #3251: Disable undo in *cider-stacktrace* buffers.
  • Consecutive overlays will not be spuriously deleted.
  • #3260: Scroll REPL buffer in other frame.
  • #3293: Can't jack in to more than one bb projects.

CIDER 1.5 ("Strasbourg")

24 Aug 06:57

Choose a tag to compare

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-override or completion-category-defaults.
  • #2946: Add custom var cider-merge-sessions to allow combining sessions in two different ways: Setting cider-merge-sessions to 'host will merge all sessions associated with the same host within a project. Setting it to 'project will combine all sessions of a project irrespective of their host.
  • Support Gradle jack-in via the Gradle wrapper (gradlew), instead of just a globally installed gradle on the PATH.
  • 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-nrepl to 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-command to ./gradlew to use the Gradle wrapper.
  • Changed default cider-gradle-global-options to "" (empty, formerly --no-daemon).
  • #3234: Autocomplete multiple available ports on nREPL connect.

Bugs fixed

  • #3235: Check name is a TRAMP file in cider--client-tramp-filename via tramp-tramp-file-p.

CIDER 1.4.1

26 May 05:25

Choose a tag to compare

1.4.1 (2022-05-25)

Changes

  • Upgrade cider-nrepl to 0.28.4.

Bugs fixed

  • #3195: Revert the change that resulted in (error "Cyclic keymap inheritance") on cider-test-run-test.
  • #3182: Don't try to invoke JVM-specific code outside of JVM Clojure.
  • #3202: Fix cider-eval-ns-form
    • Do not always perform undef-all. Undef only with C-u prefix.
    • Fix extraction of namespace name.

CIDER 1.4 ("Kyiv")

02 May 09:06

Choose a tag to compare

New features

  • #3188: Add support for undef-all op, for removing stale vars and conflicting aliases.
    • Add new command cider-undef-all.
    • Existing commands cider-load-buffer, cider-load-file, and cider-eval-ns-form can be called with C-u prefix to execute undef-all before reloading the ns.
  • #3185: Add feature to cider-eval-in-context for automatically extracting parent let bindings when called with C-u prefix 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-register to automatically store the last interactive eval result into the specified register.
    • Add interactive command cider-kill-last-result to manually save the last eval result into kill ring.

Changes

  • #3177: Apply ANSI colorization to test assertion output.
  • Use clojure-mode 5.14.0.

Bugs fixed

  • #3170: Skip ensure repl available checks on xref functions. (this improves the interop with clojure-lsp)
  • #3173: Locally remove cider-complete-at-point from completion-at-point-functions instead 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")

07 Mar 07:31

Choose a tag to compare

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-buffer is set to nil.
  • #3149: Add option 'change to cider-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 in cider-clojure-cli-aliases. Also addresses a duplicate : in the generated clj command.
  • cider-jack-in-lein-plugins no longer affects non-Leiningen projects.
    • Third-party packages should rely on cider-jack-in-dependencies instead.
  • Upgrade cider-nrepl to 0.28.3.
  • Remove cider-jdk-src-paths defcustom since enrich-classpath makes it redundant.
  • Remove cider-resolve-java-class function 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-classpath to t.
    • 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).
  • #3145: Allow fallback to other xref backends 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")

22 Dec 14:24

Choose a tag to compare

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 xref integration, configured with customizable variables cider-use-xref and cider-xref-fn-depth.
  • #3017: Annotate company completion kinds.
  • #3040: Support invoking cider-clojuredocs within the *clojuredocs* buffer.
  • Make it possible to specify the version of cider-nrepl to use with cider-jack-in. See cider-injected-middleware-version.
  • Make it possible to specify the version of nREPL to use with cider-jack-in. See cider-injected-nrepl-version.
  • Upgrade cider-nrepl, Orchard and clj-suitable for pulling their latest bugfixes.
  • Add support for babaska projects to cider-jack-in.
  • Introduce cider-jack-in-lein-middlewares defcustom.
  • #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 OmitStackTraceInFastThrow JVM optimization.
  • #3020: Fix session linking on Windows, e.g. when jumping into a library on the classpath.
  • #3031: Fix cider-eval-defun-up-to-point failing 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 xref instead of etags to push point to marker stack.
  • #3074: Recognize pwsh as a powershell executable.

CIDER 1.1 ("Plovdiv")

22 Apr 08:04

Choose a tag to compare

New features

  • #2930: Add new customization variable cider-test-default-include-selectors and cider-test-default-exclude-selectors for specifying default test selectors when running commands such as cider-test-run-ns-tests.
  • #2907: Add new customization variable cider-format-code-options to specify options used by cljfmt to format code when running commands cider-format-buffer, cider-format-region and cider-format-defun.
  • #3002: [Inspector] Make collection member truncation limits configurable.

Bugs fixed

  • #2871: Restore the dynamic code completion (the actual fixes are in clj-suitable and cider-nrepl).
  • #2993: Fix bug where calling cider-repl-set-ns for a cljs ns when cider-repl-require-ns-on-set is t would 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-completion and 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-nrepl 0.25.6)
  • #3004: Use appropriate coding system when unzipping jars.
  • #2934: Enable eldoc-mode in existing clojure buffers.

Changes

  • Removed cider-clojure-cli-parameters due to clojure-cli jack-in changes.
  • Changed the behaviour of cider-last-sexp so it returns only the sexp, excluding all whitespace and/or the first newline after.

CIDER 1.0 ("Sofia")

28 Dec 08:48

Choose a tag to compare

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-buffer to 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-nrepl version 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-symbol to nil by default.

CIDER 0.26.1

17 Oct 09:18

Choose a tag to compare

Bugs fixed

  • #2886: Don't check for node's presence before starting a browser REPL.
  • #2889: Fix a typo in cider-info-form.

Changes

  • Bump the injected piggieback version to 0.5.1.

CIDER 0.26 (Nesebar)

03 Aug 08:32

Choose a tag to compare

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 just var and fn 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.