RECENT POSTS
- Kivik v4.0 is out!
- Kivik v4.0.0-rc1 released
- New kivik CLI tool
- Kivik v3.2.0 released with cluster membership support
- Kivik v3.1.0 released with partitioned queries
- Upcoming Kivik changes for CouchDB 3.x
- Kivik v3.0.0 released
- Kivik v2.0.0 released
- (Probably) final 2.0.0 pre-release, and v3 announcement
- The Future of Kivik
- All posts ...
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*
andkivik.Status*
constants were removed. Usehttp.Method*
andhttp.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:
- Added the DB.Err() method to explicitly check a deferred error.
- The Attachment type now includes the RevPos and Digest fields, needed for replication.
- Kivik-generated errors now provide the Unwrap method, introduced in Go 1.13.
- Added the DB.RevsDiff() method, needed for replication.
- Added the Client.Config(), Client.ConfigSection(), Client.ConfigValue(), Client.SetConfigValue(), and Client.DeleteConfigKey() methods, to manage server configuration.
- Changes feed now reports the ETag.
- Added the Client.Close() and DB.Close() methods.
- Added the Client.ClusterSetup() and Client.ClusterStatus() methods.
- Added the Client.Ping() method.
- Added the DB.BulkGet() method.
- Added the DB.LocalDocs() and DB.DesignDocs() methods.
- Added the DB.Purge() method.
- Added the Client.DBsStats() method.
- Added the experimental AttachmentsIterator type, for use with multi-part get requests.
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.
- Older
- Newer