sbt 0.13.0 is now final.
General information
-------------------
* See the Changes page[1] for the features in 0.13, including
any known incompatibilities. Changes in RC{5,4,3,2} are at the
bottom of this email for the convenience of early adopters.
* sbt 0.13 is NOT binary compatible with 0.12. Plugins built for 0.12.x
will need to be recompiled before they can be used. A list of updated
plugins will be in a follow-up email.
* Many commits from 0.13 were backported to 0.12.x so that 0.13 is
mainly a feature release. See also the commit history[2].
Upgrading
---------
* Get and set up the 0.13.0 launcher[3,4], including updating
any manual startup scripts.
***NOTE: CYGWIN SETUP HAS CHANGED***
* Set sbt.version=0.13.0 in existing projects
Plugins
-------
sbt 0.12.4 has been published with a primary
goal of making it easier for you to publish plugins for 0.13.
Specifically, you can use sbt 0.12.4 and 0.12.x plugins for your build:
1. Get the 0.12.4 launcher
2. Set sbt.version=0.12.4 in project/build.properties
3. Change these settings in your build:
sbtVersion in Global := "0.13.0"
scalaVersion in Global := "2.10.2"
The point of these settings is to properly set up sbtVersion,
scalaVersion, sbtBinaryVersion, and scalaBinaryVersion for building the
plugin. If you have overridden those, make sure to remove the overrides.
If you have problems, confirm the correct values are set for your plugin
project, especially in a multi-project build.
Please post on this thread once your plugin has been successfully
published against 0.13 and include the addSbtPlugin(...) line that will
enable it in a user's project/plugins.sbt. Already reported plugins will
be listed in a follow-up email.
Thanks,
Mark
[1]
http://www.scala-sbt.org/0.13.0/docs/Community/ChangeSummary_0.13.0.html
[2]
https://github.com/sbt/sbt/commits/v0.13.0
[3]
http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/0.13.0/sbt-launch.jar
[4]
http://www.scala-sbt.org/0.13.0/docs/Getting-Started/Setup.html#installing-sbt
Changes in RC5
--------------
* Fix ForkScala.fork overload, which forwarded to itself, hanging
* Added (properly managed) shutdown hook for restoring the terminal on ctrl+c
* Use
repo.scala-sbt.org instead of
scalasbt.artifactoryonline.com everywhere to fix publishing credentials and be more independent of hosting details.
* Initial getting started guide refresh for multi-projects and plugin usage.
Changes in RC4
--------------
* Pick the first test fingerprint for a given suite/class name. Fixes #827.
* Refix #795, formatting of inspect tree output
* Remove Process from base imports in .sbt files and eval because the implicits are already in the sbt package object
* Remove deprecated top-level aliases (ScopedSetting, ScopedTask, CommandSupport)
Changes in RC3
--------------
* Handle compilation cancellation properly.
* set jline.esc.timeout=0 to prevent JLine from creating another Thread
* init/restore instead of setEchoEnabled in order to handle full jline customizations. Fixes #822
* Alias Project.SettingsDefinition to Def.SettingsDefinition for source compatibility.
* Deprecate seq method. The implicits Seq[Setting[_]] <-> SettingsDefinition handle the typical plugin/build.sbt case.
* Provide implicits in consoleProject to add .eval to task and setting keys. Fixes #815.
* Use IMain.bindValue to bind repl values (for consoleProject). This does a better job of getting the type to use for a bound value.
* Apply setup and cleanup hooks to forked tests.
* Fix forking testOnly/testQuick.
Changes in RC2
--------------
* Reverted to 0.12 behavior where jars are checked for packaging="pom".
* Disabled JLine event expansion to avoid JLine interpreting ! where it shouldn't.
* Dropped unused defaultConfigurationMapping setting and other unused code.
* Deprecated implicit RootProject/LocalProject calls on URI/File/String in favor of explicit calls.
* Properly filter test results and decode test names in printed output.
* Provide a better error message when an older launcher is used with 0.13 and JLine classes are incompatible.
* API docs and cleanup for test configuration data structures
* Failed task execution should still preserve State changes registered via updateState.