CouchDB Patch Notes 0.11.0 - 1.0.1
Complete patch notes
Apache CouchDB CHANGES ======================
- Version 1.0.1
- Storage System:
- Fix data corruption bug COUCHDB-844. Please see
http://couchdb.apache.org/notice/1.0.1.html for details.
- 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.
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.
- Included additional source files for distribution.
- Fix data corruption bug COUCHDB-844. Please see
- Security:
- Added authentication caching, to avoid repeated opening and closing of the
- users database for each request requiring authentication.
- 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.
- Faster default view collation.
- Added option to include update_seq in view responses.
- Added authentication caching, to avoid repeated opening and closing of the
- 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.
- 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.
- Fix bug when pushing design docs by non-admins, which was hanging the
- 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.
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.
- 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.
- 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.
- 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 HEAD requests as HEAD, not GET.
- Keep massive JSON blobs out of the error log.
- Fixed a timeout issue.
- 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.
- Made the test suite overall more reliable.
- 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
- Provide Content-MD5 header support for attachments.
- Added URL Rewriter handler.
- Added virtual host handling.
- 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.
- support. The new HTTP interaction acts like a synchronous XHR. Example usage
- 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.
- 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.
- 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.
- 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 couch.app'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
- Replicator:
- Stability enhancements regarding redirects, timeouts, OAuth.
- Avoid process leaks
- Allow list and view to span languages
- Eliminate new process flood on system wake
- Test suite now works with the distcheck target.