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().

Additions:

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.