Releases: go-kivik/kivik
Add Features field to Version struct
This is to support the new features field returned by CouchDB 2.1.
A few other minor changes were made to support CouchDB 2.1, mostly to the build process.
Adds support for options to the BulkDocs() method
This is a very minor release, but I've bumped the minor version due to a minor compatibility change with the drivers interface. See PR #209 for more details. Use of BulkDocs() requires v1.3.0 of either the couchdb driver or pouchdb.
Functional changes:
- It is now possible to pass options to the
BulkDocs()method. Fixes #208
Minor changes:
- Minor changes to the build process
- Removed the dependency on the
github.com/justinas/alicepackage in the server mode.
Query Plans
This release adds the Explain method to return Find query plans.
New EndKeySuffix symbol
The new EndKeySuffix constant represents a high Unicode character (0xfff0) useful for appending to an endkey argument, when doing a ranged search, as described here: http://couchdb.readthedocs.io/en/latest/ddocs/views/collation.html#string-ranges
New session support and driver reorganization
The largest change in this release is the splitting out of the various backend drivers into separate packages. See #178 for details.
New driver packages
The new driver packages are:
- CouchDB: github.com/go-kivik/couchdb
- PouchDB: github.com/go-kivik/pouchdb
- MemoryDB: github.com/go-kivik/memorydb
The drivers shipped with the core kivik package are now deprecated. They remain in place, for backward compatibility, but will not receive bug fixes or updates. For the latest version, please use the links above.
With the release of kivik 2.0.0, the included driver will be completely removed.
Core library changes
Also the following additions were made to the Kivik core library:
- Session support.
DB#Session()returns the current CouchDB session, for drivers which support it (CouchDB only at the moment) kivik.UserPrefixconstant is the default CouchDB user prefix (i.e.org.couchdb.user:) used in the_usersdatabase.
Minor improvements
- Replication stats (docs written, read, etc) are now properly reported by the PouchDB driver
- Made most kivik-returned errors satisfy the
json.Marshalerinterface (useful when recycling errors into JSON payloads again)
PouchDB bugfix release
This release fixes a bug that certain test code was included in production builds of the PouchDB driver, leading to an "Uncaught ReferenceError" (see #172) when run in the browser.
Minor API tweak
The only change to the main package in this release, is that the BulkDocs method was removed from the driver.DB interface, and moved to the optional driver.BulkDocer interface. DBs which satisfy the BulkDocer interface will continue operating as before. This change allows new DB implementations to not implement the BulkDocer interface, which then falls back to using CreateDoc and Put as appropriate, to emulate BulkDocs operation.
Minor bug-fix release
Fixes a bug compiling certain sub-packages for GopherJS.
Minor bug-fix release
This release fixes a small bug in database name validation. Previously, the Kivik library prevented creation of databases beginning with an underscore (_), but this is sometimes necessary (i.e when installing CouchDB 2.0). The fix removed this check from the Kivik library, leaving the check to the backend(s).