shapeless-2.3.1-RC1 released!

shapeless-2.3.1-RC1 is out!

Many issues closed (9) and PRs merged (21) from 16 contributors, 8 of them first-time … thanks to all of you!

See the full set of changes since 2.3.0 in the detailed release notes below …

This is the release of shapeless-2.3.1-RC1. These release notes provide a summary of changes since shapeless 2.3.0.

21 pull requests have been merged and 9 issues have been closed and since 2.3.0 … the complete list can be found in the 2.3.1 github milestone for issues and PRs.

Prominent changes

  • Added IsDistinct and NotContains HList constraints (thanks to Valerian Barbot).
  • Added SwapRecord type class (thanks to Kailuo Wang).
  • Added SelectAll type class (thanks to Ievgen Garkusha).
  • Added support for Scala.js source maps (thanks to Kenji Yoshida).
  • Added Data and DataT instances for collections (thanks to Jisoo Park).
  • Added UnzipFields type class for Records and Unions (thanks to Jisoo Park).
  • Added Reify type classes supporting materialization of an HList of singletons from HList/Coproduct types indexed by singletons (thanks to Jisoo Park).
  • Added eliminate method to :+: (thanks to Michael Donaghy).
  • Added BoundedRange type class (thanks to Jeff Wilde).
  • Added an Unwrapped instance for shapeless tagged types (thanks to Chris Hodapp).
  • The Remover and Modifier type classes for records are now implemented using a macro, yielding much improved compile times (thanks to Ievgen Garkusha for assistance and encouragement).
  • Added LacksKey type class proving that record lacks a field with a given key.
  • illTyped now distinguishes between parse errors and type errors and reports the error correctly (thanks to Lars Hupel).
  • Add a field type member to the FieldOf trait allowing simpler reference to the non singleton type of fields in tests (thanks to Peter Neyens).

  • Fixed an interaction between cachedImplicit and lazy vals (#553).
  • Fixed bug in HList Intersection and Union type classes (#562, thanks to Arya Irani).
  • Fixed bug with dependent prefixes in Generic (#560).
  • Don’t generate unsafe Typeable instances for generic case classes (#574, thanks to Daniel Urban).
  • Worked around spurious missing interpolator warnings for implicitNotFound messages.

  • Bumped Scala to 2.10.6/2.11.8/2.12.0-M4.
  • Bumped Scala.js to 0.6.9.
  • Bumped SBT to 0.13.11.

Source and binary compatibility

shapless 2.3.1 is source and binary compatible with 2.3.0.


Contributors for shapeless 2.3.1 are,

Many thanks to all of you and everyone else who has contributed ideas, enthusiasm and encouragement.