couchdb v0.3.0 Release Notes
Release Date: 2015-12-12 // over 8 years ago-
๐ This release overhauls the crate's API to provide stronger type-safety and to be more Rust-idiomatic.
๐ฅ Breaking changes
- There are new types for specifying databases, documents, and views.
- All raw-string path parameters have been replaced with new path
types:
DatabasePath
,DocumentPath
, andViewPath
. The signatures of all client commands have changed, as well as theDocument
andViewRow
types. - There's a new
DocumentId
type that combines a document name with its type (i.e., normal document vs design document vs local document).
- All raw-string path parameters have been replaced with new path
types:
- All client commands specific to design documents (e.g.,
get_design_document
) have been removed. Design documents are now accessible via generic document commands (e.g.,get_document
). - The
ViewResult
struct now wraps itstotal_rows
andoffset
fields in anOption
. - The underlying type for
ViewFunctionMap
is nowHashMap
, notBTreeMap
. - The
Command
trait is now private. - Crate dependencies now specify explicit version ranges instead of
*
.
๐ Fixes
- All JSON-decoding errors are now reported as the
Decode
error variant. Previously, some decoding errors were reported as a hidden variant. - The
Revision
type now compares as case-insensitive, matching CouchDB semantics. - ๐ A bug has been fixed that caused CPU spin on Windows in the
Server
type.
๐ New
- The
Database
type now includes all fields returned by the CouchDB server as a result of a client command to GET a database. - There's a new
DesignBuilder
type to make it easier to constructDesign
instances. - ๐ฏ The
Clone
,Hash
,Eq
,PartialEq
,Ord
, andPartialOrd
traits have been implemented for all types where appropriate.
- There are new types for specifying databases, documents, and views.