Skip to content

v0.7.1

Compare
Choose a tag to compare
@beloglazov beloglazov released this 24 Apr 22:40

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.