sbt/notes/1.0.0-M1.markdown

1.0 KiB

This is the first milestone (beta) release of sbt 1.0. There's no binrary compatibility with sbt 0.13 or other future versions.

The biggest change in sbt 1.0 from 0.13 is internal code reorganization to modules (io, util, librarymanagement, zinc, and sbt), but hopefully this shouldn't affect you much. In addition, classes and objects related to internal implemetations are moved to sbt.internal. This package indicates that we won't keep binary compatibility for them.

Here are some more relevant changes:

  • Build definition is based on Scala 2.11.8
  • Build.scala style builds are gone. Use multi-project build.sbt.
  • Project(...) constructor is restricted down to two parameters. Use project instead.
  • sbt.Plugin is also gone. Use auto plugins.
  • The incremental compiler, called Zinc, is uses class-based name hashing.
  • Zinc drops support for Scala 2.8.x and 2.9.x.

Additional import required

Implicit conversions are moved to sbt.syntax. Add the following imports to auto plugins or project/*.scala.

import sbt._, syntax._, Keys._