Kivik v2.0.0 released

Feb 9, 2020 • Jonathan Hall

Today, Kivik 2.0.0 is finally tagged and stable, with only one minor bug fix since the final pre-release announced in December.

Highlights for this release are:

  • An improved API.
  • Support for many newer features of CouchDB, such as the _local_docs, _design_docs,, and _ping endpoints.
  • Extended support for existing features of CouchDB, such as _bulk_get, multi-part get requests, improved support for replication features, etc.
  • A number of bug fixes.

A more extensive (but by no means exhaustive) list of changes follows.

Breaking changes:

  • New() no longer takes a context.Context argument.
  • Rows.Key() now returns the raw JSON for the key, rather than unquoting it.
  • The kivik.Method* and kivik.Status* constants were removed. Use http.Method* and http.Status* instead.
  • Client.DB() now defers errors until the next method call.
  • DB.Get() now defers errors until the next method call.
  • Client.DBUpdates() now takes a context.Context argument.
  • DB.BulkDocs() now takes a slice of documents, rather than an empty interface.
  • DB.GetAttachmentMeta() no longer takes a rev argument, which was redundant with options.
  • The Attachment type is completely re-designed.
  • Replaced the DB.Rev() method with DB.GetMeta().


Kivik 3.0.0 should follow very shortly (within hours or days), and will be identical to Kivik 2.0.0, except that it will be configured for use with Go modules.