Annouce: sbt 1.3.5

I’m happy to announce sbt 1.3.5 patch release is available. Full release note is here - https://github.com/sbt/sbt/releases/tag/v1.3.5

How to upgrade

Normally changing the project/build.properties to

sbt.version=1.3.5

would be ok. However, given that the release may contain fixes to scripts and also because your initial resolution would be faster with *.(zip|tgz|msi) that contains all the JAR files, we recommend you use the installer distribution. They will be available from SDKMAN, Homebrew, scoop, etc.

ClassLoader management fixes

Starting sbt 1.3.0, sbt started closing the ephemeral ClassLoaders used by the run and test tasks after those tasks complete to prevent resource leaks. If any threads created by the tasks continue running after the task finishes, they are assigned to a ZombieClassLoader.

sbt 1.3.5 adds a new setting closeClassLoaders to opt out of this behavior:

ThisBuild / closeClassLoaders := false

You can also run sbt with -Dsbt.classloader.close=false.

sbt 1.3.5 also fixes ZombieClassLoader so it is thread-safe #5267 / #5249, and fixes ScalaTest resource loading issue #5273 / #5262. These fixes were contributed by Ethan Atkins (@eatkins)

Other fixes

Participation

Thanks to everyone who’s helped improve sbt and Zinc 1 by using them, reporting bugs, improving our documentation, porting builds, porting plugins, and submitting and reviewing pull requests.

For anyone interested in helping sbt, there are many avenues for you to help, depending on your interest. If you’re interested, Contributing, “help wanted”, “good first issue” are good starting points. If you have ideas, come talk to us on sbt-contrib or on Lightbend Discuss