Shapeless Versions Save

Generic programming for Scala

v2.3.10

1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/milessabin/shapeless/compare/v2.3.9...2.3.10

v2.3.9

2 years ago

Now available for Scala 2.11, 2.12 and 2.13 on the JVM, Scala.js 1.8 and Scala Native 0.4 🎉 Many thanks to all contributors ❤️

This is a bug fix release, no new features have been added.

Changelog

  • When case class has custom unapply, reference getters instead (#1256 by @joroKr21)
  • Replace CtorDtor with simplified FromTo (#1252 by @joroKr21)
  • Fix Generic materialization for type aliases (series/2.3) (#1249 by @pomadchin)

Binary compatibility

This version is verified backwards binary compatible with 2.3.3 and should be backwards compatible with older 2.3 releases.

  • Shapeless is using an epoch.major.minor versioning scheme (referred to as "PVP" in sbt)
  • Shapeless is only backwards compatible, not forwards compatible

v2.3.8

2 years ago

Now available for Scala 2.11, 2.12 and 2.13 on the JVM, Scala.js 1.8 and Scala Native 0.4 🎉 Many thanks to all contributors ❤️

This is a bug fix release, no new features have been added.

Changelog

Binary compatibility

This version is verified backwards binary compatible with 2.3.3 and should be backwards compatible with older 2.3 releases.

  • Shapeless is using an epoch.major.minor versioning scheme (referred to as "PVP" in sbt)
  • Shapeless is only backwards compatible, not forwards compatible

v2.3.7

2 years ago

Now available for Scala 2.11, 2.12 and 2.13 on the JVM, Scala.js 1.5 and Scala Native 0.4 🎉 Many thanks to all contributors ❤️

Changelog

Binary compatibility

This version is verified backwards binary compatible with 2.3.3 and should be backwards compatible with older 2.3 releases.

  • Shapeless is using an epoch.major.minor versioning scheme (referred to as "PVP" in sbt)
  • Shapeless is only backwards compatible, not forwards compatible

v2.3.6

3 years ago

⚠️ Skip and use Shapeless 2.3.7 instead ⚠️ Now available for Scala 2.11, 2.12 and 2.13 on the JVM, Scala.js 1.5 and Scala Native 0.4 🎉

What's new

This release includes an important bug fix in Shapeless 2.3.5 so it's recommended to skip 2.3.5 and upgrade to 2.3.6 directly.

Changelog

  • Reduce 2.12 / 2.13 Jar size by using instance constructors (#1158 by @joroKr21)
  • Add a regression test for Reify (#1157 by @joroKr21)
  • Publish snapshots from series/2.3 (#1156 by @joroKr21)
  • Restore macro binary compatibility with 2.3.3 (#1153 by @joroKr21)
  • Fix Coproduct case object singleton types (#1152 by @joroKr21)

Binary compatibility

This version is verified backwards binary compatible with 2.3.3 and should be backwards compatible with older 2.3 releases.

  • Shapeless is using an epoch.major.minor versioning scheme (referred to as "PVP" in sbt)
  • New: Macros are also binary compatible to accommodate for third party macro libraries
  • Shapeless is only backwards compatible, not forwards compatible

v2.3.5

3 years ago

⚠️ Skip and use Shapeless 2.3.7 instead ⚠️ Now available for Scala 2.11, 2.12 and 2.13 on the JVM, Scala.js 1.5 and Scala Native 0.4 🎉 Many thanks to all contributors ❤️

What's new

This release backports a lot of changes that have been brewing for a while in the 2.4.0 milestone, including new features, bug fixes and performance improvements that preserve binary compatibility.

Feature enhancements

  • Conversions between nested pairs and HLists (#701 by @mgzuber)
  • Add bindFirst and curried methods for Poly (#708 by @Atry)
  • make Tagged a universal trait so tagging value classes works (#801 by @kwark)
  • Make Inject respect covariance (#804 by @jdrphillips)
  • Support for Annotation[Option[A], T] (#867 by @guersam)
  • Expose CaseClassMacros as blackbox (#977 by @joroKr21)
  • Make KeyTag extend Any so we can tag value classes (#1015 by @joroKr21)
  • Add support for type annotations (issue #922) (#925 by @pgrandjean)
  • Add support to extract all variable or type annotations (issue #1051) (#1058 by @pgrandjean)

Performance improvements

  • Improve implicit search times for Filter, FilterNot, Union, Intersection (#682 by @aryairani)
  • Removed allocation in object Tag (#705 by @Arneball)
  • Replace anonymous classes created by macros with instance helpers (#970 by @joroKr21)
  • Optimize SelectRange typeclass derivation (#969 by @Ssstlis)
  • Shortcut for static constructors (#1147 by @joroKr21)

Bug fixes

  • Fix Lazy for tagged types (#797 by @joroKr21)
  • Loosen Typeable restriction (#900 by @jeremyrsmith)
  • Fix Typeable.describe for symbolic names (#945 by @joroKr21)
  • Fix Typeable for inner classes (#798 by @joroKr21)
  • Avoid creating Typeable for general type projections (#803 by @joroKr21)
  • Make Typeable macros not dependent on default Predef presence (#861 by @MateuszKubuszok)
  • Tighten fieldsOf and isCaseAccessorLike (#972 by @joroKr21)
  • Constrain tuple syntax with IsTuple (#979 by @joroKr21)
  • Add missing asInstanceOf call (#984 by @joroKr21)
  • Add mkAttributedRef specialized for SingleType (#994 by @joroKr21)
  • Fixed some scoping issues with Generic Coproducts (#765 by @joroKr21)

Documentation and Refactoring

  • Add note about erasure to HMap (#982 by @joroKr21)
  • Add docs (#1032 by @kazchimo)
  • Fix #609 - add type annotation (#987 by @joroKr21)

Binary compatibility

This version is verified backwards binary compatible with 2.3.4 and should be backwards compatible with older 2.3 releases.

  • Shapeless is using an epoch.major.minor versioning scheme (referred to as "PVP" in sbt)
  • Binary compatibility of macros is not guaranteed because they execute at compile time and are not loaded at runtime
  • Shapeless is only backwards compatible, not forwards compatible

v2.3.4

3 years ago

Now available for Scala 2.11, 2.12, 2.13, for Scala.js 1.5, and for Scala Native 0.4 🎉

Changelog

  • Drop Scala 2.10 support and macro-compat 👋
  • Drop Scala.js 0.6 support
  • Update Scala Native to 0.4 for all Scala versions
  • Modernise the build with sbt-github-actions and sbt-ci-release

Note about binary compatibility

This version is verified backwards compatible with 2.3.3 and should be backwards compatible with older 2.3 releases.

  • Shapeless is using an epoch.major.minor versioning scheme (referred to as "PVP" in sbt - read about versionScheme)
  • Binary compatibility of macros is not guaranteed because they execute at compile time and are not loaded at runtime