couchdb v0.5.0 Release Notes

Release Date: 2016-01-17 // about 8 years ago
  • πŸš€ This release makes a few API changes to continue the library's progress towards optimal type-safety and convenience.

    πŸ’₯ Breaking changes

    • πŸ”¨ The Document type has been refactored to make it easier to use.
      • The Document type is no longer a generic type, nor is the content field publicly accessible. Applications now access document content via a new into_content method, which does the JSON-decoding. See issue [#28][issue_28] for more information.
      • The revision field has been renamed to rev, which more closely matches the CouchDB name.
      • The Document type implements serde::Deserialize instead of a custom from_reader deserialization method. This should not affect applications.
      • The Document type no longer implements these traits: Eq, Hash, Ord, and PartialOrd.
    • Throughout the project, the term β€œcommand” has been replaced with β€œaction”. The only API change is that the command module is now named the action module. This should not affect applications. See issue [#32][issue_32] for more information.
    • The PostToDatabase action now returns (DocumentId, Revision), not (Revision, DocumentId).
    • The following types now have at least one private field and can no longer be directly constructed by applications:
      • Database,
      • Design,
      • ErrorResponse,
      • ViewFunction,
      • ViewResult, and
      • ViewRow.
    • The DeleteDocument action now returns the revision of the deleted document. Previously the action returned nothing.
    • 🚚 The Server type has been moved/renamed to testing::FakeServer.

    πŸ†• New

    • πŸ†• New ViewFunctionBuilder type for constructing a ViewFunction instance.
    • New Revision::update_number method for getting the update number part of a revision.

    βž• Additional notes

    • πŸ‘€ The project is now dual-licensed under Apache-2.0 and MIT. See issue [#31][issue_31] for more information.
    • Actions are now tested as unit tests and integration tests. Previously, actions were tested only as integration tests. Unit-testing now provides good test coverage without having the CouchDB server installed on the local machine.
    • πŸ‘ The project now has support for Travis CI.