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.