doobie v0.10.0-M2 Release Notes
Release Date: 2020-12-06 // over 5 years ago-
Scala 3
This release adds support for Scala 3.0.0-M2. It will remain a milestone version until all library dependencies are non-milestones.
Differences between Scala 2 and Scala 3 versions
- 🚀 The
postgres-circe,quill,scalatest, andspecs2modules are not yet available for Scala 3, pending releases of upstream dependencies. - Shapeless is not used in the Scala 3 version. Instances are derived via
TupleandProductrather thanHListandGeneric. - 👀
GetandPutinstances cannot be derived for unaryAnyVals in Scala 3. See lampepfl/dotty#7023
Global Changes
Most end users should note:
- 📦 The
enumpackage has been renamedenumerated. For Scala 2 users anenumobject remains behind as a bridge. - 🚚 Deprecated JDBC and Postgres Driver methods have been removed from the Free APIs.
Advanced users should note:
- doobie no longer relies on
TypeTag, it usesTypeNameinstead. - Line number macros have been internalized; there is no longer a dependency on
lihaoyi/sourcecode.
Contributors should note:
- ✅ Tests have been migrated from specs2 to MUnit.
- 🚀 The
Previous changes from v0.8.8
-
This is a follow-up to 0.8.7 which caused some runtime failures due to a change in the way the
java.time.Instantmapping was defined. Mappings for temporal types now require an explicit import.📦 | Defining Package | Import | | --- | --- | |
java.sql|import doobie.implicits.javasql._| |java.time(JSR-310) |import doobie.implicits.javasql._|Prior to v0.8.7 there were instances for
InstantandLocalDatethat were derived via thejava.sqltypesTimestampandDate, respectively. These are now hidden, but if you want the old behavior you can import them.Legacy Instance Import Instanti mport doobie.implicits.legacy.instant._LocalDateimport doobie.implicits.legacy.localdate._Thanks to Andras Zsamboki for sorting this out.
➕ Additional contributions:
- 📚 Quill logging now works with doobie. Logs go to a logger called
"DoobieContext"which can be enabled as described in the Quill documentation. - There is a new trivial example in the
example/module demonstrating a no-op interpreter.
- 📚 Quill logging now works with doobie. Logs go to a logger called