doobie v0.2.3 Release Notes
-
This release includes more performance work and some usability improvements, as well as documentation improvements here and there. This release should be source-compatible for most users, but is not binary compatible with 0.2.2 or any other release. Let me know if you run into source compatibilty problems. Special thanks to @mdmoss for build improvements, @fommil and @non for help with Sonatype, and everyone else for your continued interest and contributions!
👌 Improvements:
- doobie is now published on Sonatype and no longer requires a Bintray resolver.
- The
free
modules now provide natural transformations of the formFooIO ~> Kleisli[M, Foo, ?]
andFoo => FooIO ~> M
, which should make life easier when using doobie with existing JDBC resources (your ownConnection
for example). - 🆕 New optimized column-vector reads and accumulators for
IList
and standard library collections viaCanBuildFrom
yield performance generally indistinguishable from raw JDBC. TheQuery/Query0
operationsto
,list
, andvector
are now very fast. Result handling viaProcess
benefits to a lesser extent. Composite
instances are now available for shapeless record types.Atom
instances are now available for single-element product types (thanks @wedens and @refried).DriverManagerTransactor
now includes constructors corresponding to allgetConnection
methods onDriverManager
.- 🐎
free
algebras and interpreters have been re-implemented to use method dispatch rather than largematch
expressions, resulting in minor performance improvements throughout. This completes the work started in 0.2.2. - 👀 The
sql
interpolator now supports interpolated sequences for SQLIN
clauses. See Chapter 5 for more information. - The book of doobie now includes a FAQ Chapter.
- The
example
project now includes some PostgreSQL CopyManager examples (thanks @wedens).
🛠 Big Fixes:
- 🛠 The PostGIS dependency was pulling in unnecessary transitive dependencies that caused problems with sbt-assembly. This has been fixed.
⬆️ Upgrades:
- ⚡️ Updated to Scala 2.11.7
- ⚡️ Updated to shapeless 2.2.5
- ⚡️ Updated to scalaz-stream 0.7.2a
- ⚡️ Updated to specs2-core 3.6
- ⚡️ Updated to tut 0.4.0 (build-time dependency only)
- ⚡️ Updated to sbt 0.13.8 (build-time dependency only)
- ⚡️ Updated to kind-projector 0.7.1 (build-time dependency only)