The Cursive Early Access Program

Here at Cursive we firmly believe that interaction with our users is key to a great product. Following the JetBrains model we're providing access to our development process through an Early Access Program. We'll be sharing development builds here as we work towards our first release and we'd love to hear what you think of them, good and bad.

Warning: It's important to bear in mind that these are development builds, so they may be unstable from time to time. That said, we use them every day and many of our other users are already using Cursive for their daily work. We believe it's as stable as any of the other Clojure editors.

Full instructions for getting started are in our User Guide.

Release history

0.1.72 (December 5)
Notable changes:
  • Bugfix release
No tracker issues.
0.1.71 (November 26)
Notable changes:
  • Bugfix release
  • Support for defui macro
  • Attempting to print the type of a primitive array puts the REPL into an infinite loop #1176
  • Incorrect ArityException #1169
  • Exception when executing leiningen debug/run profile #1167
  • Unhappy smile keyword is throwing REPL into the death loop #1166
  • Indexing error when opening an scala project #1165
  • grammar for defui #1164
  • [bug] Repl crash with infinite commas #1157
  • Cursive 0.1.70 not working in intellij 15 #1153
  • Plugin fails to initialize with IllegalAccessError #1147
0.1.70 (November 8)
Notable changes:
  • Bugfix release
  • REPL printing of namespaced symbols as values in a collection is broken #1146
0.1.69 (November 5)
Notable changes:
  • Adds formatting of REPL return values
  • Fixes more lein issues
  • Clojure REPL freezes IntelliJ when evaluating big maps with Soft Wrap turned on #514
  • Feature request: pp button in REPL #466
0.1.68 (November 2)
Notable changes:
  • Bugfix release fixing more lein issues
  • Jar task makes incorrect jar after 0.1.64 #1128
  • Debug message in the REPL #1120
  • Leiningen not picking up explicit version of a snapshot dependency #1118
  • Project not picking up SNAPSHOT deps #1113
0.1.68 (November 2)
Notable changes:
  • Bugfix release fixing more lein issues
  • Jar task makes incorrect jar after 0.1.64 #1128
  • Debug message in the REPL #1120
  • Leiningen not picking up explicit version of a snapshot dependency #1118
  • Project not picking up SNAPSHOT deps #1113
0.1.67 (October 24)
Notable changes:
  • Bugfix release fixing one problem from 0.1.64
  • Project not picking up SNAPSHOT deps #1113
0.1.66 (October 23)
Notable changes:
  • Bugfix release fixing two further problems from 0.1.64
  • Cannot synchronise leiningen projects when cider-nrepl is in profiles.clj #1114
  • Project not picking up SNAPSHOT deps #1113
0.1.65 (October 22)
Notable changes:
  • Bugfix release fixing a problem in 0.1.64
  • still having problems with lein modules with 0.1.64 #1112
0.1.64 (October 22)
Notable changes:
  • Total re-work of Leiningen integration
  • You can now choose the version of Leiningen you want to use when synchronising and running REPLs.
  • You can now see available profiles and the dependencies tree in the lein tool window. Selecting profiles in the tool window selects the ones that will be used to synchronise dependencies to the project.
  • You can also control the profiles used to run your REPL in your run config, or to run lein commands with the Leiningen run config.
  • You can now debug lein commands.
  • There is much better progress reporting while lein is doing its thing.
  • Lein’s annoying internal memoisation is no longer a problem. In particular, you can update ~/.lein/profiles.clj without restarting IntelliJ.
  • You should now always get the exact same dependencies that you would on the command line.
  • You can now use Cursive for lein plugin projects and run REPLs on them.
  • Cursive now supports a lot of the crazy home-grown versioning schemes based on slurp and spit, and generally handles the fact that it can’t change CWD to match what lein is expecting much better.
  • local-repo is better supported now.
  • Cursive now supports lein middleware, so projects based on things like lein-modules should now work correctly.
  • Better support for different classifier types in dependencies.
  • Better support for pedantic.
  • Synchronize lein project missing from launch steps Leiningen #1109
  • Unable to locate transitive deps [0.1.63] Leiningen #1098
  • Sort / search when selecting module in launch configuration [0.1.62] Run/Compile #1092
  • Order for select projects to import [0.1.62] Leiningen #1091
  • Extra dependencies persent in Cursive, not lein [0.1.62] Leiningen #1090
  • Cursive doesn't detect cycles in Leiningen project dependencies #1083
  • Modules get names converted to use underscores instead of dashes Leiningen #1020
  • Cursive doesn't recognize multiple "classifier" jars from dependencies Leiningen #978
  • Error loading leiningen project.clj Leiningen #968
  • NPE connecting to remote REPL Leiningen REPL #967
  • Failure with project.clj without clojure dependency Leiningen #966
  • Feature request: display dependency tree in 'LeiningenProjects' window. Leiningen #961
  • Setting to override lein `:pedantic?`? Leiningen #957
  • Support for hierarchical projects (with lein-sub plugin) Leiningen #952
  • REPL configuration working dir should understand Intellij path variables Leiningen #906
  • Cljsbuild error when :output-to is outside of module root Leiningen #903
  • External Libraries doesn't match lein Leiningen #891
  • checkouts appear at end of classpath, should be at start Leiningen #883
  • [0.1.54] Can't use newrelic-api jar Leiningen #879
  • Cursive fails with errors on invalid ~/.lein/profile.clj Leiningen #868
  • Cursive fails to parse project.clj Leiningen #846
  • Cursive only recognizes one jar for a group/artifact, if there are multiple classifiers Leiningen #838
  • Leiningen plugin cannot be run in clojure repl Leiningen #815
  • [0.1.46] Different library version in IntelliJ vs. Leiningen Leiningen #765
  • REPL does not honor lein :nrepl-middleware option Leiningen REPL #699
  • NullPointerException on module import Leiningen #666
  • Include leiningen dependencies when project.clj includes :eval-in-leiningen Leiningen #651
  • [0.1.42] Cannot run REPL when more then one Leiningen project is added Leiningen #644
  • Leiningen local repo from :repositories resolves to IDEA bin directory Leiningen #573
  • Leiningen :local-repo relative path resolves to IDEA bin directory Leiningen #572
  • Local REPL working directory configuration doesn't support $MODULE_DIR$ Leiningen #570
  • Partial project import with Cursive 0.1.40 and IntelliJ 12 Leiningen #569
  • Local REPL configuration with leiningen doesn't run :injections from ~/.lein/profiles.clj Leiningen #423
  • :plugin-repositories from ~/.lein/profiles.clj isn't added to classpath Leiningen #412
  • NullPointerException if project.clj specifies unversioned dependency Leiningen #347
  • load-file in project.clj causes project fail to open Leiningen #333
  • Debug for leiningen run configuration does nothing Leiningen #153
  • Synchronise dependencies across lein profiles Leiningen #137
0.1.63 (October 7)
Notable changes:
  • Mainly bugfix release
  • New "Cycle collection type" editing action
  • Move REPL classpath calculation off EDT #1089
  • Breaks Java editor: "Invert 'if' condition" breaks code when 'if' block contains a multi line statement #1087
  • Importing really large projects leads to "Too many events posted" #1084
  • "unknown response keys :state" in REPL #1050
0.1.62 (August 28)
Notable changes:
  • Bugfix release fixing a regression in 0.1.61
  • Intellij freezes completely when running a clojure application with 0.1.61 #1041
0.1.61 (August 28)
Notable changes:
  • Bugfix release
  • String paste escaping should be disabled in regexes #1034
  • Extend selection is funky in other languages in v14 #1031
  • If unable to send statistics, an alert is generated every 10 minutes #1025
  • if-some, when-some indentation should match if-let and when-let #1024
  • Cursive throws an exception when entering `{:12345 :abc}` #1010
  • `if-some`, `when-some` not recognized #1009
0.1.60 (August 10)
Notable changes:
  • Bugfix release
  • Completion doesn't work for args inside method bodies of extend-type #1005
  • synchronizing leiningen resets the 'project' field in repl configuration #1002
  • Don't suggest if template when typing a namespace alias #998
  • Can't apply Clojure keybindings #996
  • Live Template completion is too aggressive #990
  • Cursive parses #_ forms #987
  • Non-existent working dir setting in REPL config kills IDEA on REPL startup #905
0.1.59 (July 27)
Notable changes:
  • Support for IntelliJ 15 EAP
  • Bugfixes from 0.1.58
  • Cursive 0.1.58 breaks selection in some other languages #986
  • IntelliJ 15 EAP Support? #964
  • Slurp forward doesn't work when prefixed with `#?` #894
0.1.58 (July 22)
Notable changes:
  • Many fixes to Structural Editing
  • New Splice Sexp Killing Forwards/Backwards commands
  • Move Form Up/Down now obeys implicit groups (map entries, binding forms etc)
  • Many other bug fixes
  • StringIndexOutOfBounds when opening a project. #958
  • Debugger occasionally doesn't work #954
  • Fix spelling on Clojurescript -> ClojureScript #950
  • StringIndexOutOfBoundsException in cursive addFolding #947
  • Structural Editing behaves inconsistently inside of #_ comment #936
  • "Surround selection on typing..." doesn't work in comments and docstrings Structural Editing #804
  • "Surround selection on typing..." clears the selection after inserting parens Structural Editing #803
  • Splicing near namespace prefix throws NullPointerException Structural Editing #781
  • Extend selection next to a paren selects just that paren Structural Editing #741
  • Structural editing behaves incorrectly in the presence of reader macros (e.g. syntax quotes) Structural Editing #696
  • reader macro block comments (#_) in test namespaces are incorrectly syntax highlighted after running tests #694
  • paredit splice ignores strings Structural Editing #686
  • paredit-close-round should navigate all collections Structural Editing #685
  • Slurp forwards does not work when sexpr is prefixed with something Structural Editing #645
  • NPE in paredit barf command Structural Editing #642
  • structural navigation forward and backward s-expression are inconsistent Structural Editing #585
  • Forms commented out with #_ are not reformatted #582
  • Kill line in REPL throws an internal error Structural Editing #578
  • Structural Editing - Wrap with () doesn't work when there's nothing to wrap Structural Editing #532
  • rainbow coloring going away after run test #496
  • Wrapping in the middle of the word Structural Editing #493
  • Structural editing - Move Form Up Structural Editing #481
  • paren tidy fails over comment line Structural Editing #479
  • paredit-splice-sexp-killing-backward / forward Structural Editing #467
  • Repeatedly throwing exception Structural Editing #443
  • Syntax highlighting with chained “ignore next form” reader macro #_ #390
  • Make it possible for clojure scripts to inherit the "working dir" property from the default clojure script config #383
  • String paste autoescape not working Structural Editing #363
  • Rainbow parens not support for IDEA 13? #276
  • notification when toggling structural editing Structural Editing #260
  • "Wrap with" actions delete the selection Structural Editing #246
  • Move Forward/Backward Into Sexp bug with quoted forms Structural Editing #164
  • Allow structural editing actions to work with strings Structural Editing #93
  • Request - ability to evaluate top-level forms in the REPL commented out with #_ #78
  • Structural select empty list Structural Editing #64
  • Consider making double-clicking on a word extends accross dashes Structural Editing #55
0.1.57 (July 3)
Notable changes:
  • Fix a bug introduced in 0.1.56
  • Compilation problem in 0.1.56 #943
0.1.56 (July 2)
Notable changes:
  • Cursive settings panes are now in the correct locations.
  • Bug fixes to CLJC, introduce variable, debugger seq rendering and more.
  • Various exceptions from the tracker fixed.
  • Can't extract valid expression using Introduce Binding #940
  • java.lang.StackOverflowError #928
  • Extract variable is broken in 0.1.54, IntelliJ 14.0 #857
  • "Only Indent" does not work on defproject #425
0.1.55 (June 10)
Notable changes:
  • Cursive now implements type inference in the editor for Java interop.
  • Completion has been enhanced using the inferred types.
  • Stack traces are automatically tidied using code folding.
  • Fill Paragraph now works for Clojure code.
  • Improvements to CLJS symbol resolution.
  • Various bug fixes.
  • deftest macro symbol resolution in clojurescript #917
  • CLJS - (this-as) binding is not being recognised #914
  • False "method cannot be resolved" error #881
  • Hide the loading message for completion namespace #872
  • Browsing help with autocomplete for JAVA #860
  • Quick Documentation View (^j) for symbol should show symbol's type #855
  • Separate unresolved references into Java interop and other symbols categories #850
  • deftype fields not resolved with referenced with .- #768
  • Autocomplete incorrectly imports public inner classes resulting in an invalid namespace #695
  • Java functions cannot be resolved #640
  • feature request: apply different color for errors in local namespaces #499
0.1.54 (Apr 19)
Notable changes:
  • Values of locals are now painted in the editor when debugging.
  • Hovering over a symbol shows the evaluation of the symbol in a tooltip.
  • Alt-clicking an expression in the editor shows the value of its evaluation in a popup.
  • Various bug fixes.
  • Lein run configs no longer use ANSI colouring #829
0.1.53 (Apr 10)
Notable changes:
  • Bugfixes for Leiningen, reader conditionals and fixing a certificate warning.
  • leiningen tasks error with: "error reading cursive.jar..." #822
  • StartCom Certificates are not trusted by Oracle JVMs by default #745
0.1.52 (Apr 9)
Notable changes:
  • Support for Reader Conditionals and CLJC files.
  • Leiningen project creation support.
  • Fixes to standard project creation.
  • Unused Clojure facet removed.
  • Bugfixes to new REPL functionality.
  • Clojure code should not be allowed to be loaded into CLJS REPLs #816
  • Send top form to REPL doesn't work for CLJS over clojure.main REPLs #814
  • Add support for reader conditionals #811
  • Clojure/Lein Project Type #758
  • Leiningen task config should be in module context, not project #465
  • Leiningen run configurations: use project root as default working directory #236
0.1.51 (Mar 29)
Notable changes:
  • Support for clojure.main REPL.
  • All REPLs can now be restarted, and the toolwindow tab will be reused.
  • Completion for CLJS REPLs taken from the open project, not from the REPL itself.
  • Send top form to REPL now sends forms from within comment blocks.
  • REPL actions are now more context sensitive, and are available from the editor popup menu.
  • New config flag "Add forms sent from editor to REPL history".
  • Copy Reference action will now copy FQNs of symbols and keywords.
  • Fix some bugs.
  • "Read access is allowed from event dispatch thread or inside read-action only" when loading file in REPL. #810
  • Load function in REPL (and context menu) #801
  • Avoid empty ClojureCodeStyleSettings element in .idea/codeStyleSettings.xml #797
  • Update downloadable clojure versions #784
  • File is permantly reindexed #689
  • Creation of remote REPL using leiningen conf is not possible #389
  • Feature Request: Reuse REPL Sessions #318
  • Should REPL tab(tool window) be able to rerun #283
0.1.50 (Mar 17)
Notable changes:
  • Downgraded bundled lein from 2.5.1 to 2.5.0 since several users were having problems.
0.1.49 (Mar 9)
Notable changes:
  • Support for IntelliJ v14.1 (to upgrade, change your plugin repository as described here).
  • Support for v13 is dropped in favour of v13.1.
  • v12 will receive new builds so they don't expire, but no new functionality.
  • Usability enhancements including Keybindings panel, source directories and lein project imports.
  • It's advised to back up your keymaps with File→Export Settings before upgrading, since keymaps will be migrated on upgrade and will not work if you later downgrade.
  • Fix some bugs.
  • REPL language selection combo prevents toolbar being hidden #780
  • CLJS REPL executing forms twice #770
  • REPL font setting stopped working #756
  • New Clojure Namespace with dash names directory incorrectly #733
  • Able to delete parenthesis at end of file with backspace Structural Editing #731
  • starting a new comment by typing the ';' character should generate an undo point #583
  • Cursive doesn't recognize dependencies with classifiers (e.g. test jars) #558
  • Code Style options display issues on IntelliJ 12 #539
  • Provide configuration settings for REPL line height #531
  • NullPointerException when loading multiple projects with :pedantic? :abort #388
  • Dependencies with :classifier not imported correctly #251
  • No Quick Doc for some special forms like "if" or "do" #210
0.1.48 (Feb 20)
  • ClassCastException: clojure.lang.PersistentHashMap cannot be cast to com.intellij.openapi.util.TextRange #754
0.1.47 (Feb 19)
Notable changes:
  • Fix a regression as a result of CLJ-1663.
  • Fix some bugs.
  • NullPointerException in usage statistics code. #749
  • Cannot start a lein REPL in 0.1.46: ClassNotFoundException from PluginClassLoader #748
  • CLJS: Finally is highlighted as a syntax error #746
  • Vectors no longer used for Java class import #744
0.1.46 (Feb 17)
Notable changes:
  • General formatter improvements.
  • Option to align values of binding forms.
  • Option in indent lists by one space rather than two.
  • Configuration options are now searchable.
  • Many exceptions reported through error submitter fixed.
  • StartCom Certificates are not trusted by Oracle JVMs by default #745
  • View Macro Expansion - "java.lang.AssertionError: Wrong line separators" #739
  • Element alignment is sometimes incorrect #738
  • IllegalArgumentException: Cannot search for elements with empty text #737
  • IllegalArgumentException: focusOwner cannot be null #736
  • Error indexing JavaScript #735
  • Editing ClojureScript file freezes editor, memory usage jumps #730
  • dom alias still not recognized in 0.1.45 #729
  • Issue with Evaluate Expression #728
  • No indent options for defmulti #661
  • indent let the same as maps #637
  • REPL sometimes cannot be stopped #561
  • Provide finer grained indent control #444
  • Typing a colon in a multi line docstring indents the line #254
  • Indentation wrong for multi line docstrings #252
0.1.45 (Feb 8)
Notable changes:
  • Resolution support for Prismatic Schema defrecord.
  • Resolution support for Prismatic Plumbing, Om DOM functions & Prismatic Om-Tools.
  • Safeguards for keyword renaming.
  • Error reporter can now send exceptions directly to us.
  • Cursive now sends anonymous usage statistics home.
  • Debugger performance and expression evaluation improvements.
  • Improvements to macroexpander.
  • Rename keywords is utterly terrifying #727
  • incorrect arity warnings when calling a protocol-fn that has destructuring binds #726
  • Macros expanding to non-list things are not correctly handled #720
  • NullPointerException while editing Java code #715
  • :refer-clojure :exclude #714
  • With debugger stopped, code completion doesn't work when using evaluate expression feature #712
  • Invalid ranges during formatting in Language: Clojure #677
  • Issue #544 unfortunately not fixed #673
  • Support for plumbing.core -macros #619
  • Threading macro && Plumbing core => Arity warning #605
  • 'Require namespace' suggestion pops up in REPL when not needed #593
  • Invalid ranges during formatting in Language: Clojure #588
  • arity reporting doesn't support core.typed protocols #543
  • Got an exception #376
  • Support Prismatic Schema #319
0.1.44 (Jan 23)
Notable changes:
  • Debugger breakpoints are now much more reliable.
  • Debugger expression evaluation now works correctly, including breakpoint conditions and watches.
  • New interactive macroexpander.
  • Leiningen integration correctly obeys IntelliJ HTTP proxy settings.
  • REPLs now have a dropdown allowing them to be identified as ClojureScript REPLs.
  • Searching for tests in Java project is slow with Cursive installed #710
  • Java Unit Tests with code coverage run very slow with Cursive enabled. #706
  • Sometimes throw IndexNotReadyException during opening leiningen project. #705
  • Live Templates don't work in CLJS #700
  • Dependency cycle for cljx project #693
  • StackOverflowException in in-ns symbol resolution #691
  • Runner Run is not registered #668
  • Debug REPL session doesn't stop on breakpoint #617
  • Running REPL / Runner Run is not registered #599
  • Plugin seems to ignore Intellij HTTP Proxy settings #510
  • "Sync files in REPL" also loads Clojurescript files in Clojure REPL #506
  • Variable names are altered in the debugger #311
  • Debugger doesn't stop at breakpoints after first Exception #293
  • Breakpoint hit on the wrong file #168
  • Option to keep namespace stable after loading code #111
0.1.43 (Jan 1)
Notable changes:
  • Major improvements to internal handling of classes and namespaces.
  • Added support for definterface and gen-class.
  • Renaming a file renames the ns, but renaming the ns doesn't rename the file #657
  • Tab after typing ns-alias/ should show all vars in the namespace #624
  • Cursive incorrectly parses values returned sorted using custom comparator #589
  • Cursive seems to incorrectly prefer clojurescript's clojure.core.reducers over clojure's when both are present #584
  • AOT compiled namespaces with main methods don't show up in list of runnable classes #574
  • Import of a interface defined by a protocol does not work #566
  • (definterface ...) not correctly handled #541
  • Renaming a namespace doesn't update references #497
  • Renaming a namespace's file doesn't follow underscore -> hyphen convention in migration of namespace itself #457
  • Static inner classes not auto-imported correctly in REPL #441
  • Importing types in namespaces with dashes #440
  • Editor error on Clojure -> Java cross-module dependencies #377
  • :imports should be after :require #349
  • Does not recognise imports of aot-compiled classes in same project #263
0.1.42 (Nov 17)
Notable changes:
  • Unused imports are now marked in ns and import forms, and have a quick-fix to clean them up.
  • Unused aliases from ns, use and require forms are also now marked.
  • Unused vars will also be marked - not 100% accurate but should not produce false positives.
  • Keywords may now be renamed, and Find Usages works for them.
  • Renaming and Find Usages on keywords also works for :keys destructured bindings.
  • Keyword completion is now namespace-aware.
  • Internal error #597
  • Cannot obtain text for binary file type : UNKNOWN #576
  • Rename in destructuring #445
  • :keyword usage highlighting #237
0.1.41 (Oct 23)
Notable changes:
  • Adds support for IntelliJ v14.
0.1.40 (Oct 22)
Notable changes:
  • Fixes several false positives for new arity checking.
  • Rewrite of formatting code to fix several outstanding issues.
  • arity report error on korma's where #545
  • Invalid ranges during formatting in Language: Clojure #544
  • arity reporting doesn't support core.typed protocols #543
  • Arity warning when using thread-last inside of thread-first #542
  • :let and :when in 'for' blocks are incorrectly marked as unused symbols. #540
  • False incorrect arity reporting in require #538
  • "Default" map literal indentation is incorrect #537
  • IDE lockup on complex slurp #517
  • Let bindings in (go-loop) reported as "cannot be resolved" #451
  • Auto-indentation not triggered by return in incomplete expression #9
0.1.39 (Oct 13)
Notable changes:
  • New Incorrect Arity inspection warns on function calls with incorrect number of params.
  • Better support for threading macros.
  • Dependency cycle checking now only checks project code.
  • Warning if cljsbuild :output-to argument is in root of project.
  • Misc bugfixes.
  • indentation settings for regular functions #536
  • Dependency cycle check on namespace load should only check project, not libs #535
  • Show macro indication in popup documentation #533
  • Import does not work with latest ClojureScriptelease #525
  • Recognize map destructuring of namespaced keywords. #511
  • "Shorten references" action breaks constructor calls. #504
  • Quick Fix: Replace unused parameter with _ #491
  • False 'unused local symbol' when using as-> macro #426
  • Feature request: Suggest function creation when using threading #354
  • Odd indentation error #117
0.1.37/0.1.38 (Oct 4)
Notable changes:
  • New Keybindings panel to allow sets of keybindings to be applied together.
  • Various bugfixes to indexing code, in particular making Clojurescript more usable.
  • Error while indexing Pandect 0.4.0 #520
  • ClojureScript indentation goes wrong when you have Javascript interop #519
  • IDE lockup on complex slurp #517
  • ClojureScript get's really slow #516
  • Error while indexing invalid Javascript #458
  • indentation doesn't seem to be working for defn anymore #446
  • IndexNotReadyException #420
0.1.36 (Sep 12)
Notable changes:
  • New popup to auto-require namespaces from unresolved qualified symbols.
  • Better auto-require: fixes for same namespace, and warnings on dependency cycles.
  • REPL history chooser now selects item to REPL editor instead of executing immediately.
  • Settings have been split into Project and IDE settings. Note: you will have to set up your IDE settings under Settings→IDE settings→Clojure if you were using non-default values previously.
  • New setting under Settings→Code Style→Clojure→General to set default indentation to Only Indent.
  • New setting under Settings→IDE settings→Clojure to prevent arrow keys from moving through REPL history.
  • Keybindings for previous/next REPL history item can be customised.
  • ArityException #489
0.1.35 (Sep 1)
Notable changes:
  • New command: Tools→REPL→Search REPL History.
  • Live Templates context for Clojure, and a set of built-in Live Templates.
  • Many bugfixes, around REPL file loading, testing, function creation and stack trace hyperlinks.
  • Loading a file with no namespace into the REPL gives dependency cycle error #380
  • "Load file in REPL" should work on dependencies #345
  • No Clojure context for live templates #332
  • Search in REPL history for previous command #114
0.1.34 (Aug 25)
Notable changes:
  • Bugfix release, fixing two problems with the Extract Variable functionality.
0.1.33 (Aug 23)
Notable changes:
  • New Extract Variable refactoring allows let-bindings to be extracted. It has some limitations:
    1. No understanding of which forms have do-bodies.
    2. Due to the lack of information about syntax, you can easily break your code with this by extracting a form which makes no sense (e.g. a throw block).
    3. Only supports in-place extraction.
  • New Inline refactoring allows let-bindings and do blocks to be inlined.
  • In-place rename now supported for local variables.
  • Create Namespace action allows creation of Clojurescript and CLJX namespaces, and creates required intermediate directories.
  • Refactor: Extract Variable. #88
0.1.32 (Aug 19)
Notable changes:
  • Bugfixes release fixing problems in the new NS synchronisation.
  • Run test under caret in REPL not working. #464
  • "Run Test under Caret in REPL" no longer re-loads modified namespaces. #463
  • Kill sexp only kills namespace portion of qualified symbols. #455
0.1.31 (Aug 16)
Notable changes:
  • Better support for core.typed, requires core.typed 0.2.53+.
  • New Tools→REPL→Type check current NS action checks current NS with core.typed and marks errors in editor.
  • Initial support for Prismatic Schema.
  • New Tools→REPL→Sync files in REPL action loads modified files in REPL.
  • Bugfixes, especially to Structural Editing.
  • IntelliJ freezes when running "Run top form in REPL" inside a comment #447
  • Structural Editing regressions in 0.1.30 #442
  • Potemkined Vars can't be resolved #387
  • Auto-import puts (:import) before docstring in ns form. #322
  • Button in REPL to reload current namespace #302
0.1.30 (Jul 19)
Notable changes:
  • Mostly a bugfix release.
  • Fixes support for IntelliJ 13.1.4 after some API breakage.
  • Better test marking in the editor:
    • Test markup is now persistent.
    • Markup is now added on files other than main test file.
    • Test result tooltips are now on marker in the editor, not on gutter icon.
  • Exception on IntelliJ IDEA 13.1.4 (135.1229) #434
  • ^void flagged as "void cannot be resolved" #430
  • "Head symbol from clojure.core" should apply to cljs.core in .cljs source files. #419
  • StackOverflowError on cljx file #418
  • "PsiDocumentManager.getInstance must not be null" when opening project #416
  • Unresolved symbols for wildcard in protocol implementation #413
  • Indentation of catch clauses #411
  • Autocomplete of Java classes/methods in REPL no longer works in 0.1.28 #410
  • IndexOutOfBoundsException when running test #398
0.1.29 (Jul 1)
Notable changes:
  • Fix some regressions from recent indexing changes.
  • New mechanism to promote Clojure actions in Clojure editors - this will allow for a default keymap at last.
  • New Structural Editing commands: Kill Sexp, Thread/Unthread Form, Move Form Up/Down.
  • Go To Symbol broken in 0.1.28 #409
  • Local binding symbol expansion #407
  • 0.1.28 Breaks separate head symbol highlighting #404
  • File Structure pop-up is empty on namespaces from dependencies #395
  • Structural Movement/Editing problems & get on par with Emacs paredit #359
0.1.28 (Jun 25)
Notable changes:
  • Cursive now has full CLJS resolution support.
  • JS symbols now resolve, including built in ECMA 5 and browser symbols from the Tern definitions files.
  • JS symbol completion.
  • Initial CLJX support.
  • Some minor improvements to Leiningen project syncing.
  • Duplicated symbols when defined in Clojure and ClojureScript #392
  • Auto-complete broken, 'Unexpected Tag' exceptions #385
  • Cursive marks clojurescript macros as undefined symbols when the same namespace is used for macros and functions #351
  • Resolution problem with (let \[...\] (def )) #288
  • ClojureScript: Completion on js/ variables #136
0.1.27 (May 31)
Notable changes:
  • Bugfix release, fixing Show Definition, test failure comparison views and some minor bugs.
  • Custom macro indentation doesn't appear to work #372
  • NullPointerException on startup #327
  • Icons for macros are not differentiated from functions #81
0.1.26 (May 26)
Notable changes:
  • Minor bugfix release, fixing two regressions from 0.1.24.
  • Rename of function used for a defmulti dispatcher didn't get renamed at the defmulti #371
  • Highlight usages of element at caret not working for function names #370
0.1.25 (May 25)
Notable changes:
  • Minor bugfix release, fixing regression in cljs indexing.
0.1.24 (May 25)
Notable changes:
  • Major bugfix release, fixing many bugs with rename functionality.
  • Large overhaul of indexing subsystem.
  • Support for tagged literals.
  • Better formatting in test failure diff views.
  • Refactoring a file to a name with an underscore also refactors the namespace to include and underscore #367
  • cannot resolve symbol from jar with compiled classes #364
  • Renaming a function doesn't update namespaced references. #362
  • Java static inner classes able to import but still marked as not recognized #357
  • Support for #uuid and #inst values #353
  • Renaming namespace doesn't rename file #352
  • Can't rename namespaces #305
  • Record rename incorrectly renames constructors #274
  • New > Clojure Namespace does not add (ns ...) decl #261
  • Renaming a namespace does not update references to it #257
  • exception when renaming file #240
  • Bindings aren't recognized as usages of a name #194
  • Renaming a cljs file adds ".cljs" to the end of the ns #135
  • Tagged literals do not parse/indent correctly #126
  • Request - Rename a required namespace alias - 0.1.04 #76
  • inserts space in #rec{} form bug Formatting #24
  • Can not resolve record factory functions. bug Symbol Resolution #5
0.1.23 (May 4)
Notable changes:
  • Bugfix release fixing some major outstanding bugs.
  • Classes from defrecord and deftype forms are now imported correctly.
  • One known regression with the above: defrecord and deftype forms are not correctly resolved in CLJS code. This will be fixed in the next drop.
  • Indentation settings are persisted properly for non-Project code style schemes.
  • CLJS and CLJX Leiningen projects now have source roots added correctly.
  • Imported Java classes called with a dot, have the dot removed by Cursive #350
  • repl eats the cause of exceptions #344
  • Opening a project overwrites source paths #342
  • Code completion seems to be broken #341
  • Cursive doesn't recognize classes with underscores in package #292
  • Using records from other namespaces should create import statements #291
  • Custom form parameters not saved when restarting IntelliJ #258
  • Cursive is not resolving AOT compiled Clojure dependencies without source files. #243
  • cursiveclojure cannot resolve certain imports with underscores #216
  • Add preference for :import - I prefer vectors but 0.1.05 always uses lists #112
0.1.22 (April 21)
Notable changes:
  • Bugfix release fixing two regressions and some bugs in the new functionality.
  • Fields from defrecord and deftype forms are not marked unresolved.
  • Fixed bugs with use-macros and require-macros in CLJS.
  • Unused symbol detection and records #338
  • Cursive can't resolve any of my imports #337
  • Cursive is not resolving AOT compiled Clojure dependencies without source files. #243
0.1.21 (April 16)
Notable changes:
  • Cursive will now mark unused local bindings, such as let-bindings and function parameters. Bindings whose names begin with an underscore (_) are not marked.
  • Cursive will now automatically add require clauses to the ns on completion. For example, completing (str/tr|) (where | represents the caret) will cause [clojure.string :as str] to be added to the require clause of your ns, or the equivalent require command to be executed in the REPL.
  • REPL completion and symbol resolution is now almost exclusively based on data from the REPL, not the open project.
  • Forward Declarations #108
  • Emacs-style Lisp comment formatting #115
  • The `..` special form/threading macro symbol "cannot be resolved" #235
  • Ctrl+click takes me to project binary instead of source #281
  • handle exceptions better when testing in REPL #314
  • BigDecimal should be imported by default #315
  • Auto Import Exclusions not working or "don't import _" #325
0.1.20 (March 17)
Notable changes:
  • Minor release fixing one small regression.
0.1.19 (March 17)
Notable changes:
  • Cursive now fully supports the new Multiple Carets functionality available in 13.1.
  • Note that 13.1 now requires a different version of the plugin, as described in Installing Cursive.
  • All files are now saved when switching to the REPL.
  • New action to run a single test rather than the whole namespace.
  • Delete and backspace don’t work with multiple cursors or column mode #307
  • Autosave Not Working #309
0.1.18 (March 14)
Notable changes:
  • Minor release fixing one regression and fixing compatibility with the new 13.1 RC.
  • Cursive REPL throwing java.lang.ClassCastException when printing a character or character seq #301
0.1.17 (March 11)
Notable changes:
  • Many usability improvements to REPL:
  • REPL output now much faster when heavily styled with ANSI (for example, using io.aviso:pretty).
  • Stacktrace elements in REPL now contain clickable links.
  • Soft wraps setting and input pane size are now persisted between runs.
  • New REPL toolwindow buttons for printing the last exception and pausing output scrolling.
  • Configurable naming for editor tabs.
  • Better ANSI support.
  • Better font size control in REPL windows.
  • REPL window doesn't respond to "Reset Font Size" command #15
  • REPL font size adjustments #16
  • REPL output is slow #17
  • REPL - input pane should be smaller by default #23
  • Clickable stack traces and compiler errors in the repl #45
  • REPL - Use soft wraps should be sticky, setable via Clojure facet #54
  • Request - Support more ANSI codes #61
  • REPL unresponsive when heavy output #79
  • showing stack trace in the REPL #98
  • Output to *err* does not interpret ANSI codes #191
  • Make stack traces in REPL clickable #204
  • REPL output window scroll locking #215
  • Namespace in tabs: option to revert to old tab naming? #224
  • config option for default value for "use soft wraps" in repl? #249
  • NPE in the REPL #262
  • NPE periodically #296
0.1.16 (Feb 28)
Notable changes:
  • Bugfix release.
  • com.intellij.psi.PsiInvalidElementAccessException #268
  • NullPointerException in the plugin #273
  • Exception in IDEA 13.1 EAP with Cursive 0.1.15 #277
0.1.15 (Feb 12)
Notable changes:
  • Update IntelliJ 13 version to work with latest EAP.
  • Cursive doesn't work with latest Idea 13 EAP #270
0.1.14 (Jan 22)
Notable changes:
  • Mainly a bugfix release.
  • Code using core.typed now handles annotations better and has some basic resolution.
  • print datasets from Incanter does not work in cursive repl #155
  • Null exception when compiling project #239
  • project.clj :resource-paths are added as Java source folder, should be Java resource folder #241
  • Cursive is not resolving AOT compiled Clojure dependencies without source files. #243
  • Cursive should not try to resolve core.typed annotations #250
0.1.13 (Jan 12)
Notable changes:
  • Mainly a bugfix release.
  • Automatic source and javadoc downloading is now disabled by default, since it can make project synchronization extremely slow.
  • When opening a Java class from a library in a Leiningen project without sources attached, the user will be prompted to download them automatically.
  • Fixed a bug in AOT compilation.
  • Symbols no longer appear twice in completions when sources are attached.
  • IntelliJ exception: java.lang.AssertionError: Already disposed #225
  • Synchronizing a project in cursive 0.1.12 takes forever #226
0.1.12 (Jan 7)
Notable changes: Issues:
  • Too many cores #8
  • Inspection: Create the function option when it doesn't exist #91
  • NullPointerException in Cursive during IntelliJ start #197
  • Adding a (Java) dependency to project.clj adds only the binary classes artifact, not the sources #201
  • as-> symbol cannot be resolved #202
  • make nREPL ack wait time configurable #203
  • NullPointerException in annotator.clj using Import Class intention #208
  • Transitive deps functionality shouldn't jump from clj to cljs #211
  • NullPointerException when opening recent project #213
0.1.11 (Dec 22)
Notable changes: Issues:
  • Support the disabling of locals clearing #21
  • :strs and :syms destructuring for maps highlights keys as unresolved #173
  • NullPointerException loading file into REPL in 0.1.10 #175
  • Completion doesn't work over remote REPL with Caribou #185
  • REPL - no message immediately upon using "Load file to REPL" #188
  • Local REPL ignores Clojure facet settings #190
  • Don't show Leiningen/REPL toolwindows for non-Clojure projects #192
0.1.10 (Dec 13)
Notable changes: Issues:
  • Add structural editing option for copy as kill #100
  • Cursive "steals" run/debug in junit java-file #149
  • Run form before cursor not working #150
  • Unable to launch REPL in IntelliJ 13 Mac #159
  • NullPointerException w/ several actions when on 1:1 position in non-empty file #163
  • Unable to search symbols in Java non-Clojure project #165
0.1.09 (Dec 3)
Notable changes:
  • Bugfix release mainly for execution problems with new Leiningen REPLs.
  • Two minor improvements to Leiningen imports with checkout dependencies.
  • "Search for projects recursively" should ignore "checkouts" and hidden directories #120
  • "checkouts" directories should be excluded from module sources #121
  • Running lein goals doesn't work #142
  • `extend-type nil` sends resolve into infinite loop #143
  • Exception in override functionality #144
  • Lein import doesn't work correctly when selecting project.clj as import target. #145
0.1.08 (Dec 3)
Notable changes:
  • Bugfix release for a problem with CWD for Leiningen REPLs.
  • REPL working directory incorrect as of 0.1.07 #140
  • Issue with Ring when using "Run with Leiningen" #139
  • Problem loading environment variables with new "Run with leiningen" run config in 0.1.07 #138
0.1.07 (Dec 2)
Notable changes:
  • Implement/Override Methods is now implemented for proxy, reify, defrecord and deftype.
  • REPLs now use Run Configurations.
  • REPLs may now be run using Leiningen allowing plugins to work correctly.
  • Debug REPLs may now be started by just pressing Debug with a local REPL configuration.
  • REPL history is now persisted across sessions per REPL type.
  • ANSI text inside console output via Logback is stripped out #84
  • Persistent REPL history #113
  • Distinct REPL history #116
  • "Toggle Structural Editing" action broken #118
  • Some plugins listed in project.clj don't work quite right in Cursive REPL. #119
  • lein pedantic with multiple modules can kill IDEA #122
  • Sources of JDK and dependencies should not be included on classpath #125
  • Run and Debug does not work in IDEA 13 RC1 #127
  • Scala class import doesn't work #132
0.1.06 (Nov 18)
Notable changes:
  • Source paths of dependent modules are now added to the classpath when starting a REPL.
  • Basic cljs support - require-macros and use-macros are now supported, and Java-specific IntelliSense features are turned off for cljs files.
  • Structural editing now obeys Settings→Editor→Smart Keys→Surround selection on typing quote or brace. Since this defaults to off, you may need to change that setting.
  • Expression evaluation fixes in the debugger. Expression evaluation still has some problems - fully qualifying symbols helps.
  • Completion suggestion has been improved.
  • Structural Editing widget is only shown when editing Clojure files.
  • Support for letfn #18
  • EDN support #50
  • IntelliJ becomes unresponsive when typing into remote REPL while on a breakpoint #62
  • Completion under namespace aliases #94
  • Preferences for synchronizing the project and compiling the module are backwards. #96
  • recognize deftest macro from clojure.test #97
  • Obey "Surround selection" setting for Structural Editing #102
  • Resolve instance fields #103
  • ClassCastException on.CompletionProgressIndicator #104
  • Wrap with doesn't work on qualified symbols #105
  • Add source paths of dependent modules to classpath #109
0.1.05 (Nov 5)
  • Fixed import of Leiningen multi-module projects
  • Refresh and compile Leiningen projects on Local REPL start
  • Lots of fixes to private symbol handling
  • Null dependencies are not allowed in local repl #7
  • File Structure popup only shows public names - 0.1.02 #42
  • Exception report: NullPointerException while typing a defrecord form #52
  • Changing project.clj sometimes requires a full restart of IntelliJ #58
  • Suggestion: Improvement of import of Leiningen projects #67
  • Parameter Info - further tweaks to improve #70
  • :require vs require in NS - 0.1.04 #71
  • Parameter Info and Documentation doesn't work in REPL #72
  • Parameter Info and defn- within same namespace #80
0.1.04 (Oct 28)
  • "View->Parameter Info" to show function arguments #26
  • Documentation - basics - commands #44
  • Default Keybindings #49
  • Add Quick Definition #53
  • Add Paredit wrap and close-and-newline actions #68
  • *n completion sorting is a little uneven #2
  • Would like completion on namespace prefix #41
  • Unicode and octal char sequences are lexed incorrectly #46
  • Support use of . (period) in a namespace alias #47
  • 'Run form before cursor in REPL' doesn't work if cursor at end of file #48
  • Rename Class and some Debugger functionality broken #59
  • Map alignment style setting is always false after a restart #69
0.1.03 (Oct 20)
  • Many fixes to Leiningen integration stability
  • Much better handling of Leiningen multi-module projects
  • Much better handling of Leiningen/Maven conflicts
  • Allow customising rainbow highlighting colours #25
  • Option to remove Leiningen project files #27
  • Structural addition of code comments #31
  • Surround selection with brackets sometimes fails with strings #33
  • Tools/REPL/Run sexp fails with exception #34
  • Evaluate top level forms not starting with "(" with "Evaluate top-level sexp" #35
  • Leiningen refresh dependencies doesn't work if IntelliJ hasn't saved #37
  • Don't switch functionality based on Facet presence #39
  • Don't require clojure.main/repl-requires unless it exists #40
0.1.02 (Oct 11)
  • Switch REPL ns to current file should load that file #1
  • “Cannot Undo” error in REPL #3
  • Can’t add clojure-jps-plugin.jar to external compiler classpath #4
  • Showing arguments vector in autocompletion. #6
  • REPL icons are confusing #10
  • Incorrect documentation escaping #11
  • Add message in REPL when loading files #12
  • Changeing tab size has no effect #13
  • Toolbar button to clear REPL #19