CouchDB-Scala v0.7.2 Release Notes

Release Date: 2016-05-08 // almost 8 years ago
  • 🚀 This release is a continuation of the improvements in the query builder APIs:

    • ViewQueryBuilder improved similarly to GetManyDocumentsQueryBuilder (#46), implements #44.
    • 🛠 GetManyDocumentsQueryBuilder.byType now allows specifying a permanent view (#49, #50), fixes #48 and #45.

    🚚 Our plan is to remove the deprecated methods in 0.8.0.


Previous changes from v0.7.1

  • 🚀 The main change in this release is a new API for querying multiple documents that uses the fluent interface pattern instead of multiple overloaded queryX methods, which was proposed and implemented by @ermyas. Examples:

    Old

    • documents.getMany.descending.limit(10).queryIncludeDocsAllowMissing(ids)
    • documents.getMany.descending.limit(10).queryIncludeDocs(ids)
    • query.view.limit(10).queryWithReduce

    🆕 New

    • 🏗 documents.getMany.descending.limit(10).allowMissing.includeDocs.build.query(ids)
    • 🏗 documents.getMany.descending.limit(10).includeDocs.build.query
    • 🏗 query.view.limit(10).reduce.build.query

    🚚 The old API is currently deprecated and will be removed in 0.8.0.

    🚀 This release also introduces (#31) a way to fetch multiple documents by type defined in your TypeMapping and deprecates document.getMany.queryIncludeDocs[T], which fails when the database contains documents of different types (fixes #19). Example:

    awaitRight(documents.createMany(Seq(fixProfessorX, fixMagneto))) documents.getMany.byType[(String, String), String, FixXPerson](FixViews.typeFilterView) .build.query
    

    Other notable changes:

    • Query.temporaryView: create and execute a temporary view (#26), implements #21.
    • Documents.create: a new overload that allows creating a document with multiple attachments (#28, #29), implements #22.
    • ⚡️ Updated dependencies: Scala 2.11.8, scalaz 7.2.1, http4s 0.13.0a, upickle 0.3.9, monocle 1.2.0, log4s 1.2.1, and others.