doobie v0.2.2 Release Notes

  • 🚀 This is another minor release that adds yet more support PostgreSQL-specific features, updates dependencies, and improves performance for resultset processing. Thanks everyone for your continued interest and contributions!

    ➕ Additions:

    • ➕ Added HC.updateManyWithGeneratedKeys and associated syntax on Update to allow batch updates to return updated rows. See Chapter 7 for an example.
    • Added algebras and free monads thereof for PostgreSQL vendor-specific driver APIs, which allows doobie to directly support LISTEN/NOTIFY, COPY FROM STDIN and a number of other interesting features. See Chapter 13 for details and examples.

    👌 Improvements:

    • 🚚 Huge improvements to the implementation of the sql interpolator, courtesy of @milessabin. This removes the last remaining arity limit.
    • ➕ Added examples for PostgreSQL-specific error handling combinators. See Chapter 13 for more information.
    • ➕ Added Unapply instances to make the Monad instance for FreeC and associated syntax conversions inferrable. For now these are on the doobie.imports module.
    • 🐎 Significant performance improvements for resultset processing, with .list and .vector now ~4.5x faster and .process ~2.5x faster. This work is ongoing.

    ⬆️ Upgrades:

    • ⚡️ Updated to Scala 2.10.5
    • ⚡️ Updated to shapeless 2.2.0 (thanks @milessabin)
    • ⚡️ Updated to scalaz-stream 0.7a
    • ⚡️ Updated to PostgreSQL JDBC driver 9.4-1201-jdbc41
    • ⚡️ Updated to Specs2 3.6 (thanks @etorrebore)