Releases: milessabin/shapeless
Shapeless 2.3.12
Note
This release updates Scala Native to 0.5 and as a consequence Scala 2.11 is no longer supported.
What's Changed
- Update Scala Native to 0.5 and drop Scala 2.11 by @joroKr21 in #1358
- Bring README into line with Typelevel organisation Code of Conduct by @milessabin in #1359
Full Changelog: v2.3.11...v2.3.12
Shapeless 2.3.11
Note
This is the last release to support Scala 2.11 and Scala Native 0.4
What's Changed
- Massively simplify build by @joroKr21 in #1279
- add explicit type for implicit def by @xuwei-k in #1330
- Concrete return type for MkFieldLens.mkFieldLens by @liorregev in #1324
- Add support for Generic materialized in macro-generated companion object of nested case class by @DmytroMitin in #1286
- Update Scala and other dependencies by @joroKr21 in #1354
Full Changelog: v2.3.10...2.3.11
Shapeless 2.3.10
What's Changed
- Use Scala Native JUnit plugin by @armanbilge in #1259
- Update dependencies in series/2.3 branch by @joroKr21 in #1268
- Extract all subtype annotations by @pgrandjean in #1265
- Make Generic product and coproduct agree on definitions by @joroKr21 in #1270
- Make enum example serializable by @joroKr21 in #1271
- Capture implicit parameters at Generic materialization time by @joroKr21 in #1272
New Contributors
- @armanbilge made their first contribution in #1259
Full Changelog: v2.3.9...2.3.10
Shapeless 2.3.9
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
Shapeless 2.3.8
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
- Remove refinement from Witness.value (#1242 by @joroKr21)
- Fix documentation of Cached (#1241 by @joroKr21)
- Access nested defaults through this to avoid stack overflow (#1238 by @joroKr21)
- enable scala-native junit tests (#1229 by @xuwei-k)
- Update dependencies in series/2.3 (#1235 by @joroKr21)
- fix typo (#1209 by @SethTisue)
- Update links in README (#1202 by @brianloveswords)
- Remove unnecessary asInstanceOf call (#1197 by @joroKr21)
- Fix Generic instance for case classes with implicit arguments (#1191 by @lsrcz)
- Optimize sized.ToHList and ToSizedHList (#1182 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)
- Shapeless is only backwards compatible, not forwards compatible
Shapeless 2.3.7
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
- add AdditiveCollection of Seq (#1168 by @jxnu-liguobin)
- Revert source breaking change in TupleOps (#1167 by @joroKr21)
- Delete ~/.ivy2 directory (#1166 by @xuwei-k)
- Fix subtle pickle compatibility problem with type aliases (#1162 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)
- Shapeless is only backwards compatible, not forwards compatible
Shapeless 2.3.6
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
Shapeless 2.3.5
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
Shapeless 2.3.4
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
andsbt-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