shapeless-2.2.0 is out at last!
For the first time it’s available for Scala 2.11.x and 2.10.x for both the JVM and for Scala.js, and with full support for systems like Spark which use Java serialization. Many thanks to Alistair Johnson, Ben Hutchison, David Barri, Sébastien Doeraene and Adelbert Chang for their assistance with this.
This was originally intended to be a fairly minor, hence rapid, release following on from shapeless-2.1.0, primarily
showcasing support for derivation of type classes for higher-kinded types (see, eg., the example derivation of
Functor instances here). However, one thing led to another, and various additions found their way onto
the agenda: porting shapeless-contrib to shapeless-2.2.0 turned out to require some changes to
the way that derived orphan type class instances were handled (I’ll post an article about this in the near future) and
the increasing interest in Scala.js and Spark made first class support for those two projects a great deal more
My “one branch per platform” policy seems to be paying off: managing the differences between Scala 2.11.x and Scala 2.10.x for each of the JVM and Scala.js by branching and merging (as opposed to managing platform variations within a single branch) is working out very smoothly. It means that releases have to be made from four branches simultaneously, a chore which Johnny Everson has automated with a multi-branch release script … it’s been a real time saver.
Many thanks to everyone who contributed … release notes follow …