Cider Versions Save

The Clojure Interactive Development Environment that Rocks for Emacs

v1.7.0

1 year ago

New features

  • #3314: Detect nrepl+unix sockets (say via lein nrepl :headless :socket nrepl.sock).
  • #3262: Add navigation functionality to n/p/f/b keys inside the data inspector's buffer.
  • #3310: Add ability to use custom coordinates in cider-jack-in-dependencies.
  • cider-nrepl#766: Complete local bindings for ClojureScript files.
  • #3179: Introduce cider-jack-in-universal to support jacking-in without a project from a set of pre-configured Clojure project tools.

Changes

  • Allow using npx nbb as cider-nbb-command.
  • #3281: Replace newline chars with actual newlines in *cider-test-report* buffer, for prettier error messages.
  • Bump the injected cider-nrepl to 0.30.
  • #3219: Disable by default forcing the display of output when the REPL prompt is at the first line of the of the REPL window. This behavior is desirable, but very slow and rarely needed. It can be re-enabled by setting cider-repl-display-output-before-window-boundaries to t.

v1.6.0

1 year ago

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.

v1.5.0

1 year ago

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.

v1.4.1

1 year ago

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.

v1.4.0

2 years ago

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.

v1.3.0

2 years ago

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.

v1.2.0

2 years ago

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.

v1.1.0

3 years ago

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.

v1.0.0

3 years ago

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.

v0.26.1

3 years ago

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.