CouchDB Patch Notes 0.11.0 - 1.0.1

Complete patch notes

Apache CouchDB CHANGES ======================

  • Version 1.0.1

  • Storage System: Replicator:
    • Added support for replication via an HTTP/HTTP proxy.
    • Fix pull replication of attachments from 0.11 to 1.0.x.
    • Make the _changes feed work with non-integer seqnums.
    HTTP Interface:
    • Expose committed_update_seq for monitoring purposes.

    • Show fields saved along with _deleted=true. Allows for auditing of deletes.
    • More robust Accept-header detection.
    • Enable basic-auth popup when required to access the server, to prevent
      • people from getting locked out.
    • User interface element for querying stale (cached) views.
    Build and System Integration:
    • Included additional source files for distribution.
    Version 1.0.0

  • Security:
    • Added authentication caching, to avoid repeated opening and closing of the
      • users database for each request requiring authentication.
    Storage System:
    • Small optimization for reordering result lists.
    • More efficient header commits.
    • Use O_APPEND to save lseeks.
    • Faster implementation of pread_iolist(). Further improves performance on
      • concurrent reads.
    View Server:
    • Faster default view collation.
    • Added option to include update_seq in view responses.
    Version 0.11.2

  • Replicator:
    • Fix bug when pushing design docs by non-admins, which was hanging the
      • replicator for no good reason.
    • Fix bug when pulling design documents from a source that requires
      • basic-auth.
    HTTP Interface:
    • Better error messages on invalid URL requests.
    • User documents can now be deleted by admins or the user.
    • Avoid potential DOS attack by guarding all creation of atoms.
    • Add some Futon files that were missing from the Makefile.
    Version 0.11.1

  • HTTP Interface:
    • Mask passwords in active tasks and logging.
    • Update mochijson2 to allow output of BigNums not in float form.

    • Added support for X-HTTP-METHOD-OVERRIDE.
    • Better error message for database names.
    • Disable jsonp by default.
    • Accept gzip encoded standalone attachments.
    • Made max_concurrent_connections configurable.
    • Made changes API more robust.
    • Send newly generated document rev to callers of an update function.
    • Use "expando links" for over-long document values in Futon.
    • Added continuous replication option.
    • Added option to replicating test results anonymously to a community
      • CouchDB instance.
    • Allow creation and deletion of config entries.
    • Fixed display issues with doc ids that have escaped characters.
    • Fixed various UI issues.
    Build and System Integration:
    • Output of couchdb --help has been improved.

    • Fixed compatibility with the Erlang R14 series.
    • Fixed warnings on Linux builds.
    • Fixed build error when aclocal needs to be called during the build.
    • Require ICU 4.3.1.
    • Fixed compatibility with Solaris.
    • Added authentication redirect URL to log in clients.
    • Fixed query parameter encoding issue in oauth.js.
    • Made authentication timeout configurable.
    • Temporary views are now admin-only resources.
    Storage System:
    • Don't require a revpos for attachment stubs.
    • Added checking to ensure when a revpos is sent with an attachment stub,
      • it's correct.
  • Make file deletions async to avoid pauses during compaction and db
    • deletion.
    • Fixed for wrong offset when writing headers and converting them to blocks,
      • only triggered when header is larger than 4k.
    • Preserve _revs_limit and instance_start_time after compaction.
    Configuration System:
    • Fixed timeout with large .ini files.

    JavaScript Clients:

    • Added tests for couch.js and jquery.couch.js
    • Added changes handler to jquery.couch.js.
    • Added cache busting to jquery.couch.js if the user agent is msie.
    • Added support for multi-document-fetch (via _all_docs) to jquery.couch.js.
    • Added attachment versioning to jquery.couch.js.
    • Added option to control ensure_full_commit to jquery.couch.js.
    • Added list functionality to jquery.couch.js.
    • Fixed issues where bulkSave() wasn't sending a POST body.
    View Server:
    • Provide a UUID to update functions (and all other functions) that they can
      • use to create new docs.
    • Upgrade CommonJS modules support to 1.1.1.
    • Fixed erlang filter funs and normalize filter fun API.
    • Fixed hang in view shutdown.
    Log System:
    • Log HEAD requests as HEAD, not GET.
    • Keep massive JSON blobs out of the error log.
    • Fixed a timeout issue.
    Replication System:
    • Refactored various internal APIs related to attachment streaming.
    • Fixed hanging replication.
    • Fixed keepalive issue.

    URL Rewriter & Vhosts:

    • Allow more complex keys in rewriter.
      • Allow global rewrites so system defaults are available in vhosts.
      • Allow isolation of databases with vhosts.
    • Fix issue with passing variables to query parameters.
    Test Suite:
    • Made the test suite overall more reliable.
    Version 0.11.0

  • Security:
    • Fixed CVE-2010-0009: Apache CouchDB Timing Attack Vulnerability.
    • Added default cookie-authentication and users database.
    • Added Futon user interface for user signup and login.
    • Added per-database reader access control lists.
    • Added per-database security object for configuration data in validation
      • functions.
    • Added proxy authentication handler
    HTTP Interface:
    • Provide Content-MD5 header support for attachments.
    • Added URL Rewriter handler.
    • Added virtual host handling.
    View Server:
    • Added optional 'raw' binary collation for faster view builds where Unicode
      • collation is not important.
    • Improved view index build time by reducing ICU collation callouts.
    • Improved view information objects.
    • Bug fix for partial updates during view builds.
    • Move query server to a design-doc based protocol.
    • Use json2.js for JSON serialization for compatiblity with native JSON.
    • Major refactoring of couchjs to lay the groundwork for disabling cURL
      • support. The new HTTP interaction acts like a synchronous XHR. Example usage

        of the new system is in the JavaScript CLI test runner.

    • Added option to implicitly create replication target databases.
    • Avoid leaking file descriptors on automatic replication restarts.
    • Added option to replicate a list of documents by id.
    • Allow continuous replication to be cancelled.
    Storage System:
    • Adds batching of multiple updating requests, to improve throughput with many
      • writers. Removed the now redundant couch_batch_save module.
    • Adds configurable compression of attachments.
    Runtime Statistics:
    • Statistics are now calculated for a moving window instead of non-overlapping
      • timeframes.
    • Fixed a problem with statistics timers and system sleep.
    • Moved statistic names to a term file in the priv directory.
    • Added a button for view compaction.
    • JSON strings are now displayed as-is in the document view, without the escaping of
      • new-lines and quotes. That dramatically improves readability of multi-line strings.
    • Same goes for editing of JSON string values. When a change to a field value is
      • submitted, and the value is not valid JSON it is assumed to be a string. This improves editing of multi-line strings a lot.
    • Hitting tab in textareas no longer moves focus to the next form field, but simply
      • inserts a tab character at the current caret position.
    • Fixed some font declarations.
    Build and System Integration:
    • Updated and improved source documentation.
    • Fixed distribution preparation for building on Mac OS X.
    • Added support for building a Windows installer as part of 'make dist'.
    • Bug fix for building's module list.
    • ETap tests are now run during make distcheck. This included a number of
      • updates to the build system to properly support VPATH builds.
    • Gavin McDonald setup a build-bot instance. More info can be found at

    Version 0.10.1

  • Replicator:
    • Stability enhancements regarding redirects, timeouts, OAuth.
    Query Server:
    • Avoid process leaks
    • Allow list and view to span languages
    • Eliminate new process flood on system wake
    Build and System Integration:
    • Test suite now works with the distcheck target.

Testing/CouchDBPatchNotes (last edited 2010-10-21 20:40:02 by rmcbride)