All Versions
Latest Version
Avg Release Cycle
33 days
Latest Release
418 days ago

Changelog History
Page 5

  • v0.2.3 Changes

    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 form FooIO ~> Kleisli[M, Foo, ?] and Foo => FooIO ~> M, which should make life easier when using doobie with existing JDBC resources (your own Connection for example).
    • ๐Ÿ†• New optimized column-vector reads and accumulators for IList and standard library collections via CanBuildFrom yield performance generally indistinguishable from raw JDBC. The Query/Query0 operations to, list, and vector are now very fast. Result handling via Process 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 all getConnection methods on DriverManager.
    • ๐ŸŽ free algebras and interpreters have been re-implemented to use method dispatch rather than large match expressions, resulting in minor performance improvements throughout. This completes the work started in 0.2.2.
    • ๐Ÿ‘€ The sql interpolator now supports interpolated sequences for SQL IN 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)

  • v0.2.2 Changes

    ๐Ÿš€ 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)

  • v0.2.1 Changes

    ๐Ÿš€ This is a minor follow-up release, primarily to add support for some PostgreSQL features and other odds and ends reported by users. Thanks to users and contributors for their help!

    โž• Additions:

    • โž• Added Transactor to wrap an existing DataSource. See Chapter 12 for more information.
    • โž• Added support for PostGIS and PostgreSQL enum types. See Chapter 13 for more information.
    • โž• Added combinators for batch updates. See Chapter 7 for more information.
    • โž• Added Composite support for HList; anywhere you could map a product or tuple type in 0.2.0 you can now also use a shapeless HList.
    • โž• Added Atom support for scalaz.Maybe; anywhere you could map an Option type in 0.2.0 you can now also use Maybe.
    • โž• Added .optionT method on Query and Query0.
    • โž• Added an example that exposes a PostgreSQL NOTIFY channel as an scalaz-stream Process.

    ๐Ÿ‘Œ Improvements:

    • The 22-parameter limit on the sql interpolator has been increased to 50, and should go away entirely by 0.3.0 at the latest. There are no other arity limits in doobie.
    • โšก๏ธ All Query and Update constructions are now supported for typechecking with Specs2 and YOLO mode.
    • Many improvements in book of doobie.
    • Tidied up examples a bit.

    โฌ†๏ธ Upgrades:

    • โšก๏ธ Updated to Scala 2.11.6.
    • โšก๏ธ Updated to scalaz 7.1.1 and scalaz-stream 0.6a
    • โšก๏ธ Updated to tut 0.3.1 (build only; not user-facing).
    • โšก๏ธ Updated to Specs2 3.9.4

    ๐Ÿ› Bug Fixes:

    • ๐Ÿ›  Fixed problem with typechecking BOOLEAN column mappings.
    • ๐Ÿ›  Fixed driver classloading problem with HikariTransactor.