Nightcode Changelog

What's new in Nightcode 2.8.3

Dec 23, 2019
  • This release adds a portable .zip package for windows. I don't know if other windows users still run apps that way but it gives me nostalgia for the days when i ran apps off of a USB drive in my college's computer labs. Those were the days...

New in Nightcode 2.8.2 (Dec 22, 2019)

  • Starting with this release i'm now building native packages again. I haven't done this since version 2.6.0 which was like a year and a half ago, because javapackager was removed from the JDK. Luckily it's being re-added as jpackage in JDK 14 so i just used an early access version to make the packages.
  • For linux, in addition to a deb package, there is now an AppImage, which is a really nice format that is becoming popular now. I'm not building a native package for Mac OS for now, so mac users will need to use the jar. I don't want to pay apple $100 just to be able to sign the damn thing. I gave my mac to my sister anyway, so it's a pain to even build for it.
  • I also updated the templates. The game template now creates a play-cljc project, instead of play-cljs (my old library). I also updated quil in the graphics template so it should actually work on modern JDKs now. Lastly, i fixed a problem where the horizontal scroll bar would cover up the last line of the file, making it impossible to see.

New in Nightcode 2.8.1 (Sep 23, 2019)

  • Remove native libraries

New in Nightcode 2.8.0 (Sep 22, 2019)

  • This release updates javafx to 13 and clojure to 1.10.1. I also tried to fix issues with viewing/editing non-clojure files. Previously they were using codemirror but now all files (clojure and non-clojure) use paren-soup, so they should behave consistently now. Unfortunately it looks like the jpackage tool is still under development so for now i can only update the jar link on the website.

New in Nightcode 2.7.1 (Sep 21, 2019)

  • This release updates javafx to 13 and clojure to 1.10.1. I also tried to fix issues with viewing/editing non-clojure files. Previously they were using codemirror but now all files (clojure and non-clojure) use paren-soup, so they should behave consistently now. Unfortunately it looks like the jpackage tool is still under development so for now i can only update the jar link on the website.

New in Nightcode 2.7.0 (Jan 22, 2019)

  • This release updates Clojure to 1.10 along with many other libraries, and fixes several editor bugs. It also uses the new external version of JavaFX. Starting with Java 11, JavaFX has been extracted out of the JDK and distributed as a library. I think this is a good thing, even though it significantly increased the size of Nightcode's jar.
  • The bad news is that Java 11 no longer includes the javapackager tool, so I can't build native installers. There is a successor in the works, but it looks like we won't get it until Java 13 (which should be this year if they release every 6 months). I decided to cut a release now, but only the JAR link on the website will have the new version. The native installers will still be 2.6.0 until the new packager is released.

New in Nightcode 2.6.0 (Apr 16, 2018)

  • Apparently this is the 100th release of nightcode...dear god what have i done with my life. 60 of those were the 1.x version and the rest are 2.x. It's my oldest active project...the 0.0.1 release was August 2013! I remember that version had some kind of infinite loop bug that would max out your CPU...good times.
  • Three years later I released the rewrite...but admittedly it was extremely rough and took a very long time to stabilize. Probably the worst issue was my mother of all bugs which i am sure bit a lot of people and dissuaded them from trying nightcode again. I think it's become pretty decent since then, but lately I've almost exclusively used Nightlight as my editor. These days nightcode is basically in maintenance mode because I'm not dogfooding it as much.
  • Anyway, this release brings fixes for the "Run with REPL" feature. On Windows it was broken in Boot projects, and in the Linux deb/rpm versions I think it was just broken across the board. I'm now using Boot's newish task called bare-repl which works much better. If you see an error about the task not existing, you probably have an old version of Boot installed and should update it with boot -u.
  • I also improved the editor in non-Clojure files. I also added carp to the list of file extensions that are treated as Clojure files, so you can edit Carp projects in Nightcode. Lastly the music template is updated to the latest version of edna. Keep in mind that even though Nightcode's instaREPL doesn't work with most 3rd party libraries, it actually does work with edna! I cheated and made Nightcode keep a copy of the library internally.

New in Nightcode 2.5.11 (Apr 10, 2018)

  • This release brings the same instaREPL improves as are in Nightlight: reader conditionals now don't throw errors, and long results are truncated. New project names are sanitized much better now. It also updates a bunch of templates. The new ones for play-cljs and edna are significantly better.

New in Nightcode 2.5.10 (Apr 1, 2018)

  • This release updates the edna template. I also fixed the flaw in the linux packages that prevented them from running lein/boot processes.

New in Nightcode 2.5.9 (Mar 30, 2018)

  • In the last release, I made the editor scroll to your cursor when you undo/redo. I didn't realize until after release that the scrolling happened before the undo/redo operation, so it wouldn't necessarily scroll to the right place.
  • As I mentioned before, I also updated the internal JRE to 10 and replaced the old Audio template with a new one called Music that uses my new library, edna.

New in Nightcode 2.5.8 (Mar 29, 2018)

  • This release adds another feature that every other editor on the planet has: When you undo/redo and your cursor isn't visible, it scrolls to it. I also updated the internal JRE to 10 and replaced the old Audio template with a new one called Music that uses my new library, edna.

New in Nightcode 2.5.7 (Jan 28, 2018)

  • This release updates the internal JRE version to 9.0.4 for the mac/windows installers. On Windows I think you will need to uninstall your existing Nightcode first - if you try to install it on top of an existing installation, it won't launch. This apparently is always necessary when I update the internal JRE. I have no idea why.

New in Nightcode 2.5.6 (Jan 14, 2018)

  • This release adds support for selecting the nearest form with alt+arrow up and alt+arrow down. On macs, this is the option key.

New in Nightcode 2.5.4 (Dec 17, 2017)

  • This release updates Nightcode and all the built-in templates to use Clojure 1.9! I also tried my best to make the templates work with Java 9 (I think the only one that doesn't is the graphics template, but the issue appears to only be fixable in the quil library itself).

New in Nightcode 2.5.3 (Nov 16, 2017)

  • This release fixes a problem that caused the lein build commands to break.

New in Nightcode 2.5.2 (Nov 9, 2017)

  • Have you ever pasted a block of code from Github and was frustrated to find it all ended up on one line? Yeah...sorry about that. This has been a longstanding problem caused by an idiosyncrasy with browser-based editing. Unfortunately I think it's still an issue on Windows, so this will need more debugging work to resolve there.

New in Nightcode 2.5.1 (Oct 30, 2017)

  • This is an emergency release to fix a bug that sometimes caused the file you edit to be evaluated even when the instarepl was not turned on. Most of the time you wouldn't even notice, but I wanted to get the fix out because that can clearly cause issues depending on what your code is doing.

New in Nightcode 2.5.0 (Oct 27, 2017)

  • This release finally adds a feature that every other IDE on the planet has: detecting when open files have been modified by an external program. If it happens, you'll see a modal dialog giving you the option to reload the file. This finally closes an issue from almost 4 years ago. I like to take my time.
  • It also adds a feature that was in Nightcode 1.x, but never made it over when I rewrote it. When a directory is selected, a file grid is displayed. It's a nicer way to click through nested directories because the click targets are so big, and I even show special icons for some file types. See the screenshot.

New in Nightcode 2.4.0 (Oct 2, 2017)

  • This release updates the Mac and Windows installers to bundle the newly-released JRE 9! The Linux installers are still bundled with JRE 8 until I figure out how to configure 9 on my system. The biggest improvement this brings is that I can now use the new Java 9 Process API, which finally allows me to fix the longstanding problem on Windows where the "Stop" button didn't actually work. This has been a painful problem since the beginning, because when you kill a process on Windows, the child processes aren't automatically killed. With this new API I was able to detect all the child processes and kill them as well.

New in Nightcode 2.3.7 (Jul 28, 2017)

  • In this release, I finally decided to stop showing an error in the editor when hash maps have an uneven number of forms. The fact is, it has caused too much trouble because we lose syntax highlighting and auto-indentation when reader errors are displayed. Sorry for taking so long to make a decision that, in retrospect, seems like it should have been obvious.
  • I also improved some parinfer behavior. When you first open a file, parinfer sometimes has to make indentation adjustments right away. The intended behavior has always been that Nightcode does not automatically save the change; you either have to explicitly save or start typing with autosave turned on. I recently discovered that there was a situation when autosave caused the change to be saved even when you made no edits. I fixed that issue.

New in Nightcode 2.3.6 (Jul 17, 2017)

  • This release fixes a few more editor bugs. Firstly, the first character was being lost when inputting something in the build pane when using read-line or equivalent. Secondly, some regular expressions were being incorrectly marked as errors (because the editor was treating them as JS regexes rather than Java regexes). Thank you to Github user NathanSmutz for reporting both issues!

New in Nightcode 2.3.5 (Jul 4, 2017)

  • This release fixes a bug that incorrectly caused argument literals to display as an error in the editor. Thank you to Github user Qwerp-Derp for reporting it.

New in Nightcode 2.3.3 (Mar 20, 2017)

  • This release fixes a bug that caused the REPL (and build pane in general) to randomly freeze. It actually is caused by what I previously termed the mother of all bugs. Unfortunately, I only applied my fix to the editor pane, and forgot to apply it to the build pane. No joke, I literally just forgot. As a result, the bug continued to exist there. It's times like these that make me think I wasn't meant to write software...

New in Nightcode 2.3.2 (Mar 2, 2017)

  • Sorry for the quick succession of releases, but a small regression appeared in the previous release. When selecting text with shift+arrows, the selection would disappear after letting go of shift. This was annoying enough to me that I decided to cut a new release.

New in Nightcode 2.3.1 (Feb 28, 2017)

  • This release fixes a bad REPL bug caused by my own stupidity. In certain circumstances, old REPL history could prevent any new REPL inputs. Thanks to Github user jamesnvc for the bug report.
  • Additionally, I added a "Test" button for Leiningen projects, just like the old Nightcode.

New in Nightcode 2.3.0 (Feb 1, 2017)

  • This release adds auto-indentation similar to aggressive-indent-mode and updates some templates.

New in Nightcode 2.2.2 (Jan 27, 2017)

  • This release fixes the "Reload Selection" button, which has been broken for God knows how long. Thank you to Github user viesti for the pull request. I also updated the play-cljs template once again.

New in Nightcode 2.2.1 (Jan 23, 2017)

  • Any good programmer knows to start a debug session by blaming yourself, because chances are, it's a mistake you made. Imagine, though, that the bug actually originated somewhere in the bowels of the JDK. Imagine that the bug is so obscure that it was neither reported nor fixed for 8 months (and counting). Welcome to my world.
  • Many months ago, I installed the latest update to JDK 8. After testing Nightcode with it, I noticed something strange: After opening a file and editing it for 15-30 seconds, the save/undo/redo buttons would all stop working! After reverting to the previous JDK version (8u92) the problem went away. It was mystifying.
  • I tracked the problem down. The editor, as you may know, is written in ClojureScript and runs inside of a JavaFX WebView pane. For any editing actions to happen, that WebView has to communicate with the JVM side via a special "bridge". For some reason, after briefly opening a file, that bridge would silently stop working!
  • Believe it or not, my fix up until now was to stick with 8u92, a release that is now about 8 months old. Since the Nightcode installers bundle a copy of the JVM, that would ensure that my users wouldn't face this issue. That is, unless they tried running the JAR version of Nightcode -- which is why I removed that link from the website.
  • Months went by and every attempt I made to figure out the problem failed. There was no stack trace, just silent failure. And then, today, as I was thinking idly about the problem again, I came up with a new hypothesis: Maybe the bridge object was being accidentally garbage collected! That would explain why it initially worked but eventually stopped working.
  • To prevent the object from being garbage collected, I made sure to store it in a global atom so there is always at least one reference to it. After testing it out, the problem went away! This suggests that after 8u92, the code relating to the JavaFX WebView was changed such that it didn't hold a reference to the bridge object.
  • This release finally updates the bundled JVM to the latest version, 8u121. I am also restoring the JAR file link on the website. Given the complete lack of information to go off of (such as a stack trace), the length of time that passed, the fact that it originated in a widely-distributed platform and yet nobody else apparently ran into it, and the fact that I could only fix it through a prior reasoning, I'll go ahead and label this the most difficult bug I have ever fixed.

New in Nightcode 2.2.0 (Jan 21, 2017)

  • This release adds support for cloning git repositories. This was a feature in the Nightcode 1.x that hadn't made it into the new version until now. Just go to the Start menu and choose "Clone from Git" to use it.

New in Nightcode 2.1.9 (Jan 21, 2017)

  • This release adds syntax highlighting for HTML/CSS/JS files. It also filters out ANSI escape codes from the terminal, as they were causing a lot of visual noise when running some Boot commands. Lastly, it updates the game template.

New in Nightcode 2.1.8 (Dec 8, 2016)

  • This release adds the graphics (Quil) template back after I was made aware that some ClojureBridge workshops wanted to use it for their curriculum. It also updates the game template.

New in Nightcode 2.1.7 (Dec 8, 2016)

  • This release fixes some editor and REPL bugs:
  • The editor sometimes didn't refresh the syntax coloring after fixing unbalanced double quotes.
  • Some of the rainbow paren colors were too dim to easily see.
  • After using the up arrow to select something from REPL history, that item wasn't being properly appending to the end of the REPL history.
  • Auto save didn't work if you switched away from the file before it ran.
  • REPL output wasn't being wrapped, so you had to scroll to the right to see it.

New in Nightcode 2.1.6 (Oct 31, 2016)

  • This release fixes a huge performance drop that occurred after pasting multi-line forms into the REPL.

New in Nightcode 2.1.5 (Oct 6, 2016)

  • Fixes a bug in which the undo/redo keyboard shortcuts in non-clojure files would undo/redo too much.
  • The instarepl button now only shows in .clj files, not .cljs (because it evalutes in a Clojure environment).
  • Hoplon files are now treated as clojure files.
  • The console now shows more history.
  • I also rewrote all the JavaScript code I previously was using for the editor into ClojureScript, so it is much more maintainable.

New in Nightcode 2.1.4 (Sep 28, 2016)

  • This release fixes a bug in the text editor when non-clojure files are open -- the cursor would not appear in the correct location until you started typing. It also updates clojure to 1.9.0 alpha 13.

New in Nightcode 2.1.3 (Sep 16, 2016)

  • This release improves the performance of the REPL after a long session. It can tend to slow down due to too much text, so I set a lower limit before truncating old REPL history. Also, I changed the console project template to use Leiningen again for the sake of beginner tutorials that are still Leiningen-focused. The other templates are still using Boot.

New in Nightcode 2.1.2 (Sep 13, 2016)

  • This release brings a few editor improvements. First, it fixes a situation where the editor would show errors when there actually weren't any, because it wasn't refreshing after the errors were corrected. Second, it makes sure the instarepl sees leading characters like single quotes and @ signs when evaluating top-level forms (issue #193, thank you github user jr0cket for reporting it).

New in Nightcode 2.1.1 (Sep 6, 2016)

  • This release fixes a few UI issues. Firstly, it allows the custom task buttons for Boot projects wrap onto new lines (previously, only one line was allowed, so projects with lots of Boot tasks would display the buttons in an unreadable way). Secondly, it properly removes open files if their projects are also removed (previously, they would remain open in the tab list but would not be viewable). Lastly, it updates the play-cljs template to reflect the most recent version.

New in Nightcode 2.1.0 (Sep 6, 2016)

  • This release adds support for Boot projects! When you import a project with a build.boot file, you'll see the Boot tab become enabled in the build pane. Any custom tasks defined in that file will appear as buttons.
  • I also updated all the templates to be Boot projects. I replaced the graphics template, which used Quil, with a game template, which uses my play-cljs game library.
  • Lastly I fixed an editor bug that caused the arguments in short-form functions, like #(+ %1 %2), to display as errors. Thanks to github user jggrant for reporting the issue.

New in Nightcode 2.0.4 (Aug 23, 2016)

  • Improve editor perf and add reload selection button

New in Nightcode 2.0.3 (Aug 3, 2016)

  • Fixes "Alt+Tab on Windows indents code in the editor" (issue #160)
  • Makes the auto-save feature pause for a second before saving (rather than saving after every keystroke)
  • Improves editor performance in large files

New in Nightcode 2.0.2 (Jul 21, 2016)

  • Nightcode locks up on Linux when pressing "Open in File Browser"
  • Nightcode locks up if output doesn't stop
  • Shortcuts don't work on Linux
  • Switch theme to Light, restart REPL, get dark REPL

New in Nightcode 2.0.1 (Jul 18, 2016)

  • This release fixes several bugs reported about the initial release:
  • New project contents not populating when project name has capital letters
  • Cannot copy/select text in REPL pane
  • Can't use arrow keys in REPL to get to previous entries
  • REPL acts strangely due to not escaping HTML characters

New in Nightcode 1.3.2 (Jun 27, 2016)

  • This release improves the wonky parinfer behavior when cutting/pasting forms with unbalanced parens. It was incorrectly attempting to adjust indentation when it should have been respecting the existing indentation. This will probably be the final release of Nightcode before 2.0.

New in Nightcode 1.3.1 (Jun 7, 2016)

  • This release fixes a memory leak in the editor. If you've noticed excessive memory usage, this should hopefully fix it. I also reduced the JAR size a little bit by removing some unused binaries.

New in Nightcode 1.3.0 (May 24, 2016)

  • This release updates Leiningen to 2.6.1. It also updates other libraries and several templates. Lastly, I did a lot of refactoring and the editor should be faster now.

New in Nightcode 1.2.1 (Apr 18, 2016)

  • This release fixes the bug that caused the lower right REPL (launched via "Run with REPL") to be completely unusable on Windows (thanks to Reddit user straechav and Github user jconti for the bug reports). Secondly, it fixes a bug in which parens were mangled when pasting code (thanks to Github user jcrumpton for the bug report). Lastly, it fixes a small auto-indentation bug.

New in Nightcode 1.2.0 (Apr 8, 2016)

  • In addition to the usual editor bug fixes, this release changes the indentation behavior so it "snaps" the code to semantically meaning places, rather than always moving the code two spaces right or left. This is particularly useful with Parinfer, since it uses indentation to adjust delimiters
  • If you'd like an easy way to try this out, I have the same code running in my browser-based editor called paren-soup. Try hitting tab and shift+tab on one or multiple lines to see how it works

New in Nightcode 1.1.4 (Apr 6, 2016)

  • This release fixes more editor and REPL bugs, including auto-indentation breaking in map literals and parinfer not running when things are pasted. For the time being, the Git view only shows past commits, not uncommitted changes, because the latter feature seems to lock up in some repos. It also fixes an undo issue I just spotted in 1.1.3, which is why it is released on the same day

New in Nightcode 1.1.3 (Apr 6, 2016)

  • This release fixes more editor and REPL bugs, including auto-indentation breaking in map literals and parinfer not running when things are pasted. For the time being, the Git view only shows past commits, not uncommitted changes, because the latter feature seems to lock up in some repos.

New in Nightcode 1.1.2 (Mar 26, 2016)

  • This release fixes a general REPL issue caused by the introduction of parinfer. There were times when, after continued use of either REPL, they would become "corrupt" because I was accidentally running parinfer on old REPL history. This has now been resolved.

New in Nightcode 1.1.1 (Mar 21, 2016)

  • This release fixes an issue with the REPL on Windows. Due to the fact that Windows uses "\r\n" as its line separator instead of "\n", my parinfer code was thrown off. The current fix is to simply disable parinfer in the REPL for Windows.

New in Nightcode 1.1.0 (Mar 17, 2016)

  • This release replaces Paredit with Parinfer, a new editing mode for Lisp that is great for beginners. It also shows reader errors when reloading code in the REPL. It also uses default button widths to prevent them from being truncated on high-res displays.

New in Nightcode 1.1.0 Snapshot (Mar 11, 2016)

  • Add parinfer

New in Nightcode 1.0.1 (Jan 31, 2016)

  • This release fixes a few bugs that emerged in the 1.0.0 release. Firstly, some build commands were broken if you had :gwt or :cljsbuild in your global ~/.lein/profiles.clj file, because it was looking there first instead of prioritizing your project.clj file. Secondly, the lower-left REPL is now always launched within Nightcode's process instead of a separate process, to avoid it becoming a zombie process on Windows.

New in Nightcode 1.0.0 (Jan 20, 2016)

  • Updates Clojure to 1.8
  • Removes lein-fruit, because it hasn’t worked for a while anyway (RoboVM has undergone significant changes and broke it)
  • Updates lein-droid and lein-cljsbuild to the most recent versions
  • Fixes paredit commands for certain keyboards (like the Macbook Air)
  • Updates most of the templates and removes a few (Android and iOS)

New in Nightcode 0.4.7 (Jul 6, 2015)

  • This release updates Clojure to 1.7 along with many libraries.
  • The paredit cheat sheet is now non-modal so you can look at it as you type.
  • Lastly, you can now delete the # symbol when paredit is enabled.

New in Nightcode 0.4.6 (Mar 24, 2015)

  • This release fixes a problem with the Clojure game template introduced in the last version.

New in Nightcode 0.4.5 (Mar 20, 2015)

  • This release works around a bug in Java 8u40 that caused the JAR version of Nightcode to not appear in the dock and not receive keyboard input on Mac OS X (Yosemite). Thanks to Reddit user lspector for the bug report.
  • It also improves the templates. The Graphics template, which uses Quil, now has a ClojureScript version. In the Sounds template, I decided to replace Overtone with Pink and Score. Overtone is nice, but it relies on SuperCollider, which can make it difficult to get working on some computers, and doesn't work at all in the App Store version of Nightcode due to the sandbox. Pink and Score are pure JVM libraries, so they should be much more simple to get working anywhere.

New in Nightcode 0.4.4 (Feb 13, 2015)

  • This release updates various libraries, including Leiningen, lein-droid, lein-fruit, and various libraries in the templates. It also fixes a few issues with the App Store version; the problems compiling Java files has been resolved, and the permissions problems resulting from having too many projects in the project tree has also been resolved.

New in Nightcode 0.4.3 (Dec 23, 2014)

  • This release updates a variety of libraries, including for the text editor and git client. Additionally, it adds templates for a JavaScript game and web app; both will set you up with Clojure on the server-side.

New in Nightcode 0.4.2 (Nov 11, 2014)

  • This release updates lein-droid so it works once again with the latest Android SDK. It also updates libraries in several templates. Lastly, code completion has been tweaked to be less eager (it only shows after two characters).

New in Nightcode 0.4.1 (Oct 18, 2014)

  • This release updates several libraries. JGit has been updated, and deleted files are now correctly committed in the built-in git client. Both the Clojure and Java game templates have been updated. The Android and iOS integrations have been updated to work correctly with the newest SDKs. Lastly, the Mac App Store version will now support Retina displays (if you're using the JAR version, you just need to install JDK 8 to get Retina support).

New in Nightcode 0.4.0 (Sep 26, 2014)

  • This release improves the Git integration that came in the last release. You can now pull/push/commit, and the cloning functionality is more reliable (which you can use by choosing the "Download" option in the new project window).

New in Nightcode 0.3.12 (Sep 16, 2014)

  • This release adds some initial Git integration to Nightcode. First, projects with a git repository will show a new item in the sidebar which displays a simple viewer where you can browse your past commits and see what uncommited changes you have. Second, there is a new option in the new project window called "Download", where you can clone a git repository.
  • Additionally, Leiningen was updated from 2.4.2 to 2.5.0. LogCat now works again on Windows -- I have no idea how long it was broken, but nobody reported it so I assume few were affected. Lastly, to make room for the new download option, I removed the .NET template. It was outdated anyway, since ClojureCLR 1.6.0 was just released.

New in Nightcode 0.3.11 (Aug 28, 2014)

  • This release makes the Eval button evaluate whatever form the cursor is inside of. When code is selected, it evaluates only that selection as it did before. Thanks to Github user birdspider for the PR.
  • There have been a few behavior adjustments. Paredit is once again disabled by default, because I have found that beginners are very confused by it. Also, the splashscreen now loads much faster, because it is using the AWT splashscreen feature.
  • A few bugs were also fixed. Firstly, toggling the Paredit button now affects the build pane (thanks to reddit user /u/rdExplorer for the bug report). Secondly, the font size is now prevented from going below 8; previously, it was allowed to go to zero, which actually caused an exception on Windows and left Nightcode (and Nightmod) in a broken state that could only be fixed by manually editing where the preference was stored.
  • Lastly, the Java game template now supports building a web version using libGDX's GWT backend. This does not apply to the Clojure game template, because GWT only works on Java code. Compiling play-clj games to JavaScript may be possible using another technique, but I haven't had sufficient time to look into it.

New in Nightcode 0.3.10 (Aug 11, 2014)

  • This release fixes an error causing the REPL to time out.

New in Nightcode 0.3.9 (Aug 11, 2014)

  • This release allows you to set the look-and-feel and custom shortcuts by saving this file to ~/nightcode.edn or ~/.config/nightcode.edn. This replaces the old system which allowed you to store custom shortcuts in a file in the current working directory. Note that the file structure has changed to allow other settings to be stored.
  • The editor now uses the latest RSyntaxTextArea, which fixes a longstanding bug in which double-quotes inside string literals messed up syntax highlighting. Paredit is now enabled by default, and it now allows you to delete selections with backspace.
  • The default project.clj creation when importing non-Leiningen projects now works again; thanks to /u/rdExplorer for the bug report. The Find field now correctly removes all highlights when cleared. Closing unsaved files now displays a warning dialog. Lastly, as usual, various templates have been updated to use the latest libraries.

New in Nightcode 0.3.8 (Jul 8, 2014)

  • This release adds an "Eval" button to the build pane in Clojure projects. After using "Run with REPL" to start a project's REPL, you can use this button to eval whatever code is selected in the editor.
  • Additionally, the JAR version of Nightcode now allows you to customize the keyboard shortcuts by saving this file in the same directory as the JAR itself. You may then edit it to change the shortcuts and then run the JAR from the command line.
  • Leiningen is now at version 2.4.2 and the web template has the latest version of ClojureScript.

New in Nightcode 0.3.7 (Jun 25, 2014)

  • This release updates Leiningen to 2.4.0 and updates the libraries in various templates.
  • Additionally, the Reload button now always reloads the current file, even if it hasn't been edited.
  • Lastly, the AltGr key should no longer be treated as Ctrl, so various shortcuts won't be inadvertently invoked.

New in Nightcode 0.3.6 (Jun 19, 2014)

  • This release fixes a bug in the completion system (enabled via the "Doc" button) that would sometimes lock up the program. It also makes the "Find" field case-sensitive, and prevents the search from proceeding when Ctrl+F is pressed.
  • It also includes a new mode, invoked with "--panel horizontal" on the command line, which causes the build pane to be placed side-by-side with the editor.

New in Nightcode 0.3.5 (Jun 19, 2014)

  • Paredit also works better on foreign keyboards, like the Spanish ISO layout, that require pressing Alt to create square and curly brackets. Some Paredit commands still don't work because the KeyListener doesn't fire, but perhaps I'll find a solution in the future.
  • Toggling between the text editor and the build pane can now be done with Ctrl+Shift+A.
  • Lastly, the play-clj template has been updated to the most recent version.

New in Nightcode 0.3.4 (Jun 19, 2014)

  • This release adds support for ClojureCLR projects. Thanks to Github user kumarshantanu for the suggestion/feedback, and for writing lein-clr which I'm using to accomplish this. I've added a .NET template to make it easy to get started.
  • There are three other new templates: a "Graphics" template which creates a Quil project, a "Sounds" template which creates an Overtone project, and a "Database" template which creates an H2 project.
  • The lein-typed plugin has also been integrated, and will be invoked when you hit the "Test" button in projects that use core.typed. Lastly, when you have a directory selected, there is a new "Open in File Browser" button which opens it in the file browser of your OS. If you don't see the button, it's because it can't find your system's file browser.

New in Nightcode 0.3.3 (Jun 19, 2014)

  • This release adds an interface similar to a file browser when you have a directory selected. It provides a simple way to navigate a project, as well as a way to rename or delete files in bulk. The release also displays the icon for the JAR version when run from the command line.
  • Lastly, all the templates have been updated to use Clojure 1.6, and the Clojure game template is now using play-clj 0.3.0, which I released last night.

New in Nightcode 0.3.2 (Jun 19, 2014)

  • This release uses Clojure 1.6 in the bottom-left REPL pane. Additionally, it updates RSyntaxTextArea to 2.5.2. Finally, it updates the Clojure game template to use the latest version of play-clj.

New in Nightcode 0.3.1 (Jun 19, 2014)

  • This release is meant to fix the longstanding error some people have experienced in the REPL and build panes in which the main class could not be found. If anyone still gets the error, let me know and I'll see what I can do.
  • Additionally, this release improves the build behavior for pure Java projects so the build buttons are correctly enabled/disabled and the console prints output more reliably. Lastly, it updates play-clj to the latest version in the Clojure game template.

New in Nightcode 0.3.0 (Jun 19, 2014)

  • This release brings the following improvements:
  • Added an “X” button in the editor toolbar to allow closing files with a mouse.
  • I am now putting a copy on Clojars so Nightcode can be used as a library. Check out the example projects showing you how to selectively use parts of Nightcode in your own app.

New in Nightcode 0.2.8 (Jun 19, 2014)

  • Mostly a maintenance release that updates various libraries, including an updated Clojure game template that uses the newly-released play-clj 0.2.0.

New in Nightcode 0.2.7 (Jun 19, 2014)

  • This release adds all the features of the editor pane to the bottom panes, such as syntax coloring, optional paredit, font resizing, and completions via Ctrl+Space. The paredit toggling and font resizing is controlled by the relevant buttons in the editor pane.
  • Also in this release is the addition of small arrows in the dividers between the four main panes, which allow you to collapse panes to make more room. Lastly, the Clojure game template has been updated to the latest release of play-clj.

New in Nightcode 0.2.6 (Jun 19, 2014)

  • This release updates the Clojure game template to include the first stable release of my new game library, play-clj. I've actually broken out the template into a standalone hosted template, so you may also retrieve it directly with Leiningen: lein new play-clj hello-world
  • Additionally, this release fixes a bug in which sometimes the wrong build pane would be displayed.

New in Nightcode 0.2.5 (Jun 19, 2014)

  • This release allows you to click on tabs in the list that shows up when holding Ctrl/Cmd. This allows those who happen to have their hand on a mouse to switch tabs without using the PgUp/PgDn keys.
  • I also fixed several bugs, including: (1) can't create new files at the project root, (2) the bottom left REPL pane sometimes losing io connectivity, (3) the sidebar sometimes resizing and becoming really large, and (4) java projects sometimes not stopping when hitting "Stop".

New in Nightcode 0.2.4 (Jun 19, 2014)

  • This release fixes a longstanding issue in which the console sometimes would not accept your input. This manifested itself quite a bit with the "Run with REPL" button. The issue ended up being a low-level problem with the Java code used for the consoles in Nightcode, and I'm very excited to finally release a fix for it.
  • Also included in this release is support for many new file types. Lastly, I updated the Clojure game template again, to reflect the most recent changes in the play-clj library, which I am developing. If you'd like to see some examples of what you can already do with it, check out play-clj-examples.

New in Nightcode 0.2.3 (Jun 19, 2014)

  • This release brings improvements to two different UI behaviors. Firstly, all the build buttons are now enabled/disabled when appropriate. Secondly, the tab list (which comes up when you hold down control) is now vertically centered so it can fit more tabs before running out of vertical space.
  • In addition, the Clojure game template has once again been updated to reflect recent changes to my work-in-progress library, play-clj.

New in Nightcode 0.2.2 (Jun 19, 2014)

  • This release updates the Clojure game template due to breaking changes that were made to play-clj.

New in Nightcode 0.2.1 (Jun 19, 2014)

  • This release adds a simple library I'm writing called play-clj to the Clojure game template. It is a wrapper around LibGDX, meant to make game development much more "clojuresque". I've only been working on it a few days so it is very new and undocumented, but I wanted to provide an early look in order to get feedback.
  • Additionally, the tab switching shortcuts have been changed. Before, they were Ctrl+Left/Right, but it was brought to my attention that this was overriding standard keyboard commands. You may now switch tabs with Ctrl+PgUp/PgDn.

New in Nightcode 0.2.0 (Jun 19, 2014)

  • This release adds a splashscreen when booting, allows all file types to be opened, and adds a paredit help button.
  • It also improves support for non-U.S. keyboards while in paredit mode.