JDK 11 is the latest release of the JDK (Java Development Kit). There are several changes since JDK 8 that will require projects to update their dependencies or build tools. Many open source projects have resolved these issues when adding support for JDK 9 and 10. For most projects that have been updating their dependencies regularly, the upgrade process to JDK 11 shouldn’t be too difficult. Last year I wrote a guide on upgrading Clojure projects to Java 9.
Leiningen 2.8.0 and 2.8.1 came out in October of 2017. The previous release was in September 2016 so 2.8.0 and 2.8.1 contain a lot of new features and bugfixes. 2.8.1 is a bugfix release for 2.8.0, so you should update to 2.8.1 over 2.8.0. This post will outline the major new features of these releases. Java 9 support The biggest reason for upgrading Leiningen is Java 9 support. Leiningen 2.8.0 removes its use of the BootClassPath, as this caused problems in Java 9 with Clojure 1.
Java 9 was recently released on September 21st, 2017. If you’re a Clojure developer, you’re probably keen to try it out to see some of the new features and performance improvements available. To do so, you need to do a few things. For most projects, this will be a small to moderate amount of work.
Today I’m happy to announce Deps Versions. Deps Versions lets you add a badge to your Clojure projects on GitHub, to show when your dependencies are up to date, or not. Here is one for re-frame, a project I help maintain. The badge was created from this Markdown snippet: [![Dependencies Status](https://versions.deps.co/Day8/re-frame/status.svg)](https://versions.deps.co/Day8/re-frame) You can create badges for any open source project on GitHub, by entering its slug into the search box.
Cursive, the Clojure editor for IntelliJ released version 1.5.0 today. In this post I wanted to highlight a few big improvements that it brings to dependency management. Adding Dependencies The headlining feature in 1.5.0 is search and autocompletion for dependencies. Cursive provides this in two ways. If you’re editing dependencies in your project.clj file, Cursive will now provide code completion suggestions for artifacts and versions. The second way to add dependencies is to use the Generate command.
Historically, if you worked in a company that wanted to share JARs among projects without open sourcing them, then you needed to run a private Nexus or Archiva instance yourself. If that works for you, then great! But if you would prefer not to have to run that server, monitor it, secure it, and patch it, then Deps is for you. Deps is a new JAR hosting service for developers. It takes away the maintenance overhead of running a JAR server.