[leiningen] [ANN] Leiningen 2.8.0 released

From: Phil Hagelberg <phil@xxxxxxxxxx>

To: leiningen@xxxxxxxxxxxxx

Date: Tue, 17 Oct 2017 17:42:14 -0700

Hello, everybody.



Did you know today is the 8th birthday of Leiningen[1]? It's a great

day to announce the release of Leiningen 2.8.0.



There are only three changes since the release candidate:



* Support `LEIN_USE_BOOTCLASSPATH` for users on Java 8. (Phil Hagelberg)

* Disable bytecode verification in Leiningen's own JVM for Java 9

compatibility. (Ghadi Shayban)

* Infer values for pom `<scm>` tag from `.git` directory. (Nicolas Berger)



The first two issues are related and could benefit from some

explanation: we have long used a hack of putting Leiningen on the

JVM's boot classpath to speed up launch time, but the module system in

Java 9 breaks this[3]. We have switched to another method of speeding

it up (-Xverify:none) which gives anywhere from 95% to 70% of the same

speed boost depending on the machine on which you're running it. So

some users will notice a performance regression. We hope to go back to

the old method once Clojure 1.9.0 is released with a workaround, but

in the mean time if you are not using Java 9, you can go back to the

bootclasspath hack with this setting:



export LEIN_USE_BOOTCLASSPATH=y



Since most folks are going to be upgrading from 2.7.x, I'll include

things from the release candidate announcement[4] as well:



The biggest change is that we went from using an old abandoned version

of Aether to the one under the Apache organization which has ongoing

support. This involved some changes to the package names of underlying

classes, which ideally is just an implementation detail, but we decided

it would be better to proceed with a release candidate to flush out

possible problems.



Other nice things include a number of handy subcommands for the `deps`

task for getting quicker answers to your dependency questions. We have

also rewritten the `search` task so that it uses remote search of Maven

Central and Clojars; no more waiting for half an hour for hundreds of

megabytes of indices to download.



Here's a full list of user-visible changes:



* Project middleware, hooks, and the `:test` profile are considered deprecated.

(Phil Hagelberg)

* Help output no longer includes TOC output. (Irina Renteria)

* The `vcs` task allows the commit message to be customized. (Toby Crawley)

* JVMs on 8u131 and newer will default to using cgroups settings for memory

limits. (Phil Hagelberg)

* Add `:query` subcommand to `deps` to quickly find latest versions. (Phil

Hagelberg)

* Fix a bug where dependency resolution wasn't cached correctly. (Phil

Hagelberg)

* Warn when `$CLASSPATH` is set. (Phil Hagelberg)

* Default to requiring TLS for remote repositories. (Phil Hagelberg)

* Remove warning when running as root. (Phil Hagelberg)

* Add `:why` subtask to `deps` for tracing individual deps. (Phil Hagelberg)

* Remove clj-http and cheshire dependencies, reducing likelihood of conflict

(Phil Hagelberg)

* Warn when plugin dependencies conflict with Leiningen's own. (Phil Hagelberg)

* Fix a bug where repls outside a project were not run in Leiningen's own

process. (Phil Hagelberg)

* Add `:plugin-tree` and `:tree-data` subtasks to `deps`. (Ken Restivo)

* Support skipping bootclasspath for Java 9 compatibility. (Phil Hagelberg)

* Allow `vcs` task to skip signing tags. (Nicolas Berger)

* The `search` task no longer downloads indices but hits live search APIs.

(Phil Hagelberg)

* Remove duplicate exclusions in `lein deps` (Emlyn Corrin)

* Leiningen is now installable again via chocolatey (Florian Anderiasch)

* Dependency names can be specified as strings in addition to symbols (Wes

Morgan)



For those who manually installed, `lein upgrade 2.8.0` will pull in

this version, and `lein downgrade 2.7.1` will back it down to the

previous version if you run into any issues.



Thanks to all the contributors who made this happen!



-Phil



[1] - https://groups.google.com/d/msg/clojure/gBoCUXq37fM/841iHii--2IJ [2]

[2] - Sorry for posting a Google Groups link.

[3] - https://github.com/tobias/clojure-java-9/issues/1

[4] - https://www.freelists.org/post/leiningen/ANN-Leiningen-280RC1-released



Attachment: signature.asc

Description: PGP signature

Other related posts: