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)

Bugfix release

0.1.71 (November 26)

Bugfix release

Support for Om.next 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 Om.next 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)

Bugfix release

REPL printing of namespaced symbols as values in a collection is broken #1146

0.1.69 (November 5)

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)

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)

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)

Bugfix release fixing one problem from 0.1.64

Project not picking up SNAPSHOT deps #1113

0.1.66 (October 23)

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)

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)

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)

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)

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)

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)

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)

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)

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)

Fix a bug introduced in 0.1.56

Compilation problem in 0.1.56 #943

0.1.56 (July 2)

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)

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)

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)

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)

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)

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)

Downgraded bundled lein from 2.5.1 to 2.5.0 since several users were having problems.

0.1.49 (Mar 9)

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)

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)

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)

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)

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)

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)

Unused imports are now marked in ns and import forms, and have a quick-fix to clean them up.

and forms, and have a quick-fix to clean them up. Unused aliases from ns , use and require forms are also now marked.

, and 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.

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)

Adds support for IntelliJ v14.

0.1.40 (Oct 22)

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)

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.

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)

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)

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.

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.

0.1.35 (Sep 1)

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)

Bugfix release, fixing two problems with the Extract Variable functionality.

0.1.33 (Aug 23)

New Extract Variable refactoring allows let-bindings to be extracted. It has some limitations: No understanding of which forms have do-bodies. 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). Only supports in-place extraction.

New Inline refactoring allows let-bindings and do blocks to be inlined.

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.

0.1.32 (Aug 19)

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)

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)

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)

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)

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)

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)

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)

Minor bugfix release, fixing regression in cljs indexing.

0.1.24 (May 25)

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)

Bugfix release fixing some major outstanding bugs.

Classes from defrecord and deftype forms are now imported correctly.

and 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.

and 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)

Bugfix release fixing two regressions and some bugs in the new functionality.

Fields from defrecord and deftype forms are not marked unresolved.

and 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)

Cursive will now mark unused local bindings, such as let-bindings and function parameters. Bindings whose names begin with an underscore ( _ ) are not marked.

) 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.

(where represents the caret) will cause 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)

Minor release fixing one small regression.

0.1.19 (March 17)

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)

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)

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)

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)

Update IntelliJ 13 version to work with latest EAP.

Cursive doesn't work with latest Idea 13 EAP #270

0.1.14 (Jan 22)

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)

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)

AOT compilation has received a fairly major overhaul.

Namespace names are displayed in Recent Files list.

New Go To Namespace action.

Function implementations from usage example.

Leiningen dependencies now optionally download sources and javadoc.

Resolution from Clojure API calls in Java code.

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)

Mainly a bugfix release, principally for testing/transitive dependency load functionality.

Debug REPLs are now started with locals clearing disabled, and all REPLs now have a toolbar button to toggle it.

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)

Initial Test Integration.

"Load file in REPL" now calculates out of date dependencies and loads them too.

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)

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)

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)

Implement/Override Methods is now implemented for proxy , reify , defrecord and deftype .

, , and . 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)

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)