| Apache CouchDB CHANGES |
| ====================== |
| |
| Version 1.3.1 |
| ------------- |
| |
| Replicator: |
| |
| * Tolerate missing source and target fields in _replicator docs (COUCHDB-1788). |
| |
| Log System: |
| |
| * Don't log about missing .compact files. |
| * Fix bug in WARN level logging from 1.3.0 (COUCHDB-1794). |
| |
| View Server: |
| |
| * Fix the -S option to couchjs to increase memory limits (COUCHDB-1792). |
| |
| Misc: |
| |
| * Improve documentation: better structure, improve language, less duplication. |
| * Improvements to test suite and VPATH build system. |
| |
| Version 1.3.0 |
| ------------- |
| |
| HTTP Interface: |
| |
| * No longer rewrites the X-CouchDB-Requested-Path during recursive calls to the |
| rewriter. |
| * Limit recursion depth in the URL rewriter. Defaults to a maximum of 100 |
| invocations but is configurable. |
| * Fix _session for IE7. |
| * Added Server-Sent Events protocol to db changes API. See |
| http://www.w3.org/TR/eventsource/ for details. |
| * Make password hashing synchronous when using the /_config/admins API. |
| * Include user name in show/list ETags. |
| * Experimental support for Cross-Origin Resource Sharing (CORS). See |
| http://www.w3.org/TR/cors/ for details. |
| |
| Replicator: |
| |
| * The replicator will use a new server-wide UUID in checkpoint IDs to |
| improve the chances of an efficient resume. |
| |
| Storage System: |
| |
| * Fixed unnecessary conflict when deleting and creating a |
| document in the same batch. |
| |
| View Server: |
| |
| * Additional response headers may be varied prior to send(). |
| * GetRow() is now side-effect free. |
| |
| Futon: |
| |
| * Disabled the link to the Futon test suite. These tests were causing problems |
| when run from a browser, and are now available via the CLI instead. |
| * Added view request duration to Futon. |
| * Disable buttons for actions that the user doesn't have permissions to. |
| |
| Docs: |
| |
| * Import initial documentation and converted to RST format. |
| * Set up Sphinx configuration and integrated into the build system. |
| * Serve up HTML manual from Futon, with a link in the sidebar. |
| * PDF and info version of the manual also installed. |
| |
| Security: |
| |
| * Passwords are now hashed using the PBKDF2 algorithm with a configurable work |
| factor. |
| |
| Test Suite: |
| |
| * Moved the JS test suite to the CLI. |
| * Improved tracebacks printed by the JS CLI tests. |
| * Improved the reliability of a number of tests. |
| |
| UUID Algorithms: |
| |
| * Added the utc_id algorithm. |
| |
| URL Rewriter & Vhosts: |
| |
| * Database name is encoded during rewriting (allowing embedded /'s, etc). |
| * Reset rewrite counter on new request, avoiding unnecessary request failures |
| due to bogus rewrite limit reports. |
| |
| Build System: |
| |
| * C/C++ compiler detection has been improved. |
| * Autoconf v2.63 is now required if building from Git checkout directly. See |
| DEVELOPERS file for more details. |
| * Fixed issue in couchdb script where stopped status returns before process |
| exits. |
| |
| Version 1.2.2 |
| ------------- |
| |
| HTTP Interface: |
| |
| * Reset rewrite counter on new request, avoiding unnecessary request failures |
| due to bogus rewrite limit reports. |
| |
| Build System: |
| |
| * Fixed issue in couchdb script where stopped status returns before process |
| exits. |
| |
| Version 1.2.1 |
| ------------- |
| |
| Security: |
| |
| * Fixed CVE-2012-5641: Apache CouchDB Information disclosure via unescaped |
| backslashes in URLs on Windows |
| * Fixed CVE-2012-5649: Apache CouchDB JSONP arbitrary code execution with Adobe |
| Flash |
| * Fixed CVE-2012-5650: Apache CouchDB DOM based Cross-Site Scripting via Futon |
| UI |
| |
| HTTP Interface: |
| |
| * No longer rewrites the X-CouchDB-Requested-Path during recursive |
| calls to the rewriter. |
| * Limit recursion depth in the URL rewriter. Defaults to a maximum |
| of 100 invocations but is configurable. |
| |
| Build System: |
| |
| * Fix couchdb start script. |
| * Win: fix linker invocations. |
| |
| Futon: |
| |
| * Disable buttons that aren't available for the logged-in user. |
| |
| Replication: |
| |
| * Fix potential timeouts. |
| |
| View System: |
| |
| * Change use of signals to avoid broken view groups. |
| |
| Version 1.2.0 |
| ------------- |
| |
| Authentication: |
| |
| * Fix use of OAuth with VHosts and URL rewriting. |
| * OAuth secrets can now be stored in the users system database |
| as an alternative to key value pairs in the .ini configuration. |
| By default this is disabled (secrets are stored in the .ini) |
| but can be enabled via the .ini configuration key `use_users_db` |
| in the `couch_httpd_oauth` section. |
| * Documents in the _users database are no longer publicly |
| readable. |
| * Confidential information in the _replication database is no |
| longer publicly readable. |
| * Password hashes are now calculated by CouchDB. Clients are no |
| longer required to do this manually. |
| * Cookies used for authentication can be made persistent by enabling |
| the .ini configuration key `allow_persistent_cookies' in the |
| `couch_httpd_auth` section. |
| |
| Build System: |
| |
| * cURL is no longer required to build CouchDB as it is only |
| used by the command line JS test runner. If cURL is available |
| when building CouchJS you can enable the HTTP bindings by |
| passing -H on the command line. |
| * Temporarily made `make check` pass with R15B. A more thorough |
| fix is in the works (COUCHDB-1424). |
| * Fixed --with-js-include and --with-js-lib options. |
| * Added --with-js-lib-name option. |
| |
| HTTP Interface: |
| |
| * Added a native JSON parser. |
| * The _active_tasks API now offers more granular fields. Each |
| task type is now able to expose different properties. |
| * Added built-in changes feed filter `_view`. |
| * Fixes to the `_changes` feed heartbeat option which caused |
| heartbeats to be missed when used with a filter. This caused |
| timeouts of continuous pull replications with a filter. |
| * Properly restart the SSL socket on configuration changes. |
| |
| Replicator: |
| |
| * A new replicator implementation. It offers more performance and |
| configuration options. |
| * Passing non-string values to query_params is now a 400 bad |
| request. This is to reduce the surprise that all parameters |
| are converted to strings internally. |
| * Added optional field `since_seq` to replication objects/documents. |
| It allows to bootstrap a replication from a specific source sequence |
| number. |
| * Simpler replication cancellation. In addition to the current method, |
| replications can now be canceled by specifying the replication ID |
| instead of the original replication object/document. |
| |
| Storage System: |
| |
| * Added optional database and view index file compression (using Google's |
| snappy or zlib's deflate). This feature is enabled by default, but it |
| can be disabled by adapting local.ini accordingly. The on-disk format |
| is upgraded on compaction and new DB/view creation to support this. |
| * Several performance improvements, most notably regarding database writes |
| and view indexing. |
| * Computation of the size of the latest MVCC snapshot data and all its |
| supporting metadata, both for database and view index files. This |
| information is exposed as the `data_size` attribute in the database and |
| view group information URIs. |
| * The size of the buffers used for database and view compaction is now |
| configurable. |
| * Added support for automatic database and view compaction. This feature |
| is disabled by default, but it can be enabled via the .ini configuration. |
| * Performance improvements for the built-in changes feed filters `_doc_ids` |
| and `_design'. |
| |
| View Server: |
| |
| * Add CoffeeScript (http://coffeescript.org/) as a first class view server |
| language. |
| * Fixed old index file descriptor leaks after a view cleanup. |
| * The requested_path property keeps the pre-rewrite path even when no VHost |
| configuration is matched. |
| * Fixed incorrect reduce query results when using pagination parameters. |
| * Made icu_driver work with Erlang R15B and later. |
| * Avoid invalidating view indexes when running out of file descriptors |
| (COUCHDB-1445). |
| |
| OAuth: |
| |
| * Updated bundled erlang_oauth library to the latest version. |
| |
| Futon: |
| |
| * The `Status` screen (active tasks) now displays two new task status |
| fields: `Started on` and `Updated on`. |
| * Futon remembers view code every time it is saved, allowing to save an |
| edit that amounts to a revert. |
| |
| Log System: |
| |
| * Log correct stacktrace in all cases. |
| * Improvements to log messages for file-related errors. |
| |
| Version 1.1.2 |
| ------------- |
| |
| Security: |
| |
| * Fixed CVE-2012-5641: Apache CouchDB Information disclosure via unescaped |
| backslashes in URLs on Windows |
| * Fixed CVE-2012-5649: Apache CouchDB JSONP arbitrary code execution with |
| Adobe Flash |
| * Fixed CVE-2012-5650: Apache CouchDB DOM based Cross-Site Scripting via Futon |
| UI |
| |
| HTTP Interface: |
| |
| * ETag of attachment changes only when the attachment changes, not |
| the document. |
| * Fix retrieval of headers larger than 4k. |
| * Allow OPTIONS HTTP method for list requests. |
| * Don't attempt to encode invalid json. |
| |
| Replicator: |
| |
| * Fix pull replication of documents with many revisions. |
| * Fix replication from an HTTP source to an HTTP target. |
| |
| View Server: |
| |
| * Avoid invalidating view indexes when running out of file descriptors. |
| |
| Log System: |
| |
| * Improvements to log messages for file-related errors. |
| |
| Build System: |
| |
| * Don't `ln` the `couchjs` install target on Windows |
| * Remove ICU version dependency on Windows. |
| * Improve SpiderMonkey version detection. |
| |
| Version 1.1.1 |
| ------------- |
| |
| HTTP Interface: |
| |
| * Add configurable maximum to the number of bytes returned by _log. |
| * ETags for views include current sequence if include_docs=true. |
| * Fix bug where duplicates can appear in _changes feed. |
| * Fix missing revisions in _changes?style=all_docs. |
| * JSONP responses now send "text/javascript" for Content-Type. |
| * Permit forward slashes in path to update functions. |
| * Status code can be specified in update handlers. |
| * _view_cleanup when ddoc has no views now removes all index files. |
| * Fixes to the document multipart PUT API. |
| |
| Core Database: |
| |
| * Fixes regarding file descriptor leaks for databases with views. |
| * Fix bug where update handlers break after conflict resolution. |
| * Fix file descriptor leak in _log |
| * Improve handling of compaction at max_dbs_open limit. |
| * Fix crashes when compacting large views. |
| |
| Query Server: |
| |
| * Support SpiderMonkey 1.8.5 |
| * Support provides() in show functions. |
| * Fix deadlock when assigning couchjs processes to serve requests. |
| * Allow CommonJS modules to be an empty string. |
| * Reap couchjs processes that hit reduce_overflow error. |
| |
| Replicator: |
| |
| * max_replication_retry_count now supports "infinity". |
| * Fix replication crash when source database has a document with empty ID. |
| * Fix bug with _replicator where include "filter" could crash couch. |
| |
| Misc: |
| |
| * Bump minimum Erlang version to R13B02. |
| * Link to ICU 4.2 on Windows. |
| * Do not run deleted validate_doc_update functions. |
| |
| Version 1.1.0 |
| ------------- |
| |
| All CHANGES for 1.0.2 and 1.0.3 also apply to 1.1.0. |
| |
| HTTP Interface: |
| |
| * Native SSL support. |
| * Added support for HTTP range requests for attachments. |
| * Added built-in filters for `_changes`: `_doc_ids` and `_design`. |
| * Added configuration option for TCP_NODELAY aka "Nagle". |
| * Allow POSTing arguments to `_changes`. |
| * Allow `keys` parameter for GET requests to views. |
| * Allow wildcards in vhosts definitions. |
| * More granular ETag support for views. |
| * More flexible URL rewriter. |
| * Added support for recognizing "Q values" and media parameters in |
| HTTP Accept headers. |
| * Validate doc ids that come from a PUT to a URL. |
| |
| Externals: |
| |
| * Added OS Process module to manage daemons outside of CouchDB. |
| * Added HTTP Proxy handler for more scalable externals. |
| |
| Replicator: |
| |
| * Added `_replicator` database to manage replications. |
| * Fixed issues when an endpoint is a remote database accessible via SSL. |
| * Added support for continuous by-doc-IDs replication. |
| * Fix issue where revision info was omitted when replicating attachments. |
| * Integrity of attachment replication is now verified by MD5. |
| |
| Storage System: |
| |
| * Multiple micro-optimizations when reading data. |
| |
| View Server: |
| |
| * Added CommonJS support to map functions. |
| * Added `stale=update_after` query option that triggers a view update after |
| returning a `stale=ok` response. |
| * Warn about empty result caused by `startkey` and `endkey` limiting. |
| * Built-in reduce function `_sum` now accepts lists of integers as input. |
| * Added view query aliases start_key, end_key, start_key_doc_id and |
| end_key_doc_id. |
| |
| Futon: |
| |
| * Added a "change password"-feature to Futon. |
| |
| URL Rewriter & Vhosts: |
| |
| * Fix for variable substituion |
| |
| Version 1.0.4 |
| ------------- |
| |
| Security: |
| |
| * Fixed CVE-2012-5641: Apache CouchDB Information disclosure via unescaped |
| backslashes in URLs on Windows |
| * Fixed CVE-2012-5649: Apache CouchDB JSONP arbitrary code execution with |
| Adobe Flash |
| * Fixed CVE-2012-5650: Apache CouchDB DOM based Cross-Site Scripting via Futon |
| UI |
| |
| Log System: |
| |
| * Fix file descriptor leak in _log. |
| |
| HTTP Interface: |
| |
| * Fix missing revisions in _changes?style=all_docs. |
| * Fix validation of attachment names. |
| |
| View System: |
| |
| * Avoid invalidating view indexes when running out of file descriptors. |
| |
| Replicator: |
| |
| * Fix a race condition where replications can go stale |
| |
| Version 1.0.3 |
| ------------- |
| |
| General: |
| |
| * Fixed compatibility issues with Erlang R14B02. |
| |
| HTTP Interface: |
| |
| * Fix bug that allows invalid UTF-8 after valid escapes. |
| * The query parameter `include_docs` now honors the parameter `conflicts`. |
| This applies to queries against map views, _all_docs and _changes. |
| * Added support for inclusive_end with reduce views. |
| |
| Storage System: |
| |
| * More performant queries against _changes and _all_docs when using the |
| `include_docs` parameter. |
| |
| Replicator: |
| |
| * Enabled replication over IPv6. |
| * Fixed for crashes in continuous and filtered changes feeds. |
| * Fixed error when restarting replications in OTP R14B02. |
| * Upgrade ibrowse to version 2.2.0. |
| * Fixed bug when using a filter and a limit of 1. |
| |
| Security: |
| |
| * Fixed OAuth signature computation in OTP R14B02. |
| * Handle passwords with : in them. |
| |
| Futon: |
| |
| * Made compatible with jQuery 1.5.x. |
| |
| Etap Test Suite: |
| |
| * Etap tests no longer require use of port 5984. They now use a randomly |
| selected port so they won't clash with a running CouchDB. |
| |
| Windows: |
| |
| * Windows builds now require ICU >= 4.4.0 and Erlang >= R14B03. See |
| COUCHDB-1152, and COUCHDB-963 + OTP-9139 for more information. |
| |
| Version 1.0.2 |
| ------------- |
| |
| Security: |
| |
| * Fixed CVE-2010-3854: Apache CouchDB Cross Site Scripting Issue |
| |
| Futon: |
| |
| * Make test suite work with Safari and Chrome. |
| * Fixed animated progress spinner. |
| * Fix raw view document link due to overzealous URI encoding. |
| * Spell javascript correctly in loadScript(uri). |
| |
| Storage System: |
| |
| * Fix leaking file handles after compacting databases and views. |
| * Fix databases forgetting their validation function after compaction. |
| * Fix occasional timeout errors after successfully compacting large databases. |
| * Fix ocassional error when writing to a database that has just been compacted. |
| * Fix occasional timeout errors on systems with slow or heavily loaded IO. |
| * Fix for OOME when compactions include documents with many conflicts. |
| * Fix for missing attachment compression when MIME types included parameters. |
| * Preserve purge metadata during compaction to avoid spurious view rebuilds. |
| * Fix spurious conflicts introduced when uploading an attachment after |
| a doc has been in a conflict. See COUCHDB-902 for details. |
| * Fix for frequently edited documents in multi-master deployments being |
| duplicated in _changes and _all_docs. See COUCHDDB-968 for details on how |
| to repair. |
| * Significantly higher read and write throughput against database and |
| view index files. |
| |
| Log System: |
| |
| * Reduce lengthy stack traces. |
| * Allow logging of native <xml> types. |
| |
| HTTP Interface: |
| |
| * Allow reduce=false parameter in map-only views. |
| * Fix parsing of Accept headers. |
| * Fix for multipart GET APIs when an attachment was created during a |
| local-local replication. See COUCHDB-1022 for details. |
| |
| Replicator: |
| |
| * Updated ibrowse library to 2.1.2 fixing numerous replication issues. |
| * Make sure that the replicator respects HTTP settings defined in the config. |
| * Fix error when the ibrowse connection closes unexpectedly. |
| * Fix authenticated replication (with HTTP basic auth) of design documents |
| with attachments. |
| * Various fixes to make replication more resilient for edge-cases. |
| |
| View Server: |
| |
| * Don't trigger view updates when requesting `_design/doc/_info`. |
| * Fix for circular references in CommonJS requires. |
| * Made isArray() function available to functions executed in the query server. |
| * Documents are now sealed before being passed to map functions. |
| * Force view compaction failure when duplicated document data exists. When |
| this error is seen in the logs users should rebuild their views from |
| scratch to fix the issue. See COUCHDB-999 for details. |
| |
| Version 1.0.1 |
| ------------- |
| |
| Security: |
| |
| * Fixed CVE-2010-2234: Apache CouchDB Cross Site Request Forgery Attack |
| |
| Storage System: |
| |
| * Fix data corruption bug COUCHDB-844. Please see |
| http://couchdb.apache.org/notice/1.0.1.html for details. |
| |
| Replicator: |
| |
| * Added support for replication via an HTTP/HTTPS 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. |
| |
| Authentication: |
| |
| * Enable basic-auth popup when required to access the server, to prevent |
| people from getting locked out. |
| |
| Futon: |
| |
| * 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 |
| -------------- |
| |
| Security: |
| |
| * Fixed CVE-2010-2234: Apache CouchDB Cross Site Request Forgery Attack |
| * Avoid potential DOS attack by guarding all creation of atoms. |
| |
| 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. |
| |
| Authentication: |
| |
| * User documents can now be deleted by admins or the user. |
| |
| Futon: |
| |
| * 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. |
| |
| Futon: |
| |
| * 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. |
| |
| Security: |
| |
| * 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. |
| |
| Replication: |
| |
| * 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. |
| |
| Futon: |
| |
| * 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 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 |
| http://ci.apache.org/buildbot.html |
| |
| Version 0.10.2 |
| -------------- |
| |
| Security: |
| |
| * Fixed CVE-2010-0009: Apache CouchDB Timing Attack Vulnerability |
| |
| Replicator: |
| |
| * Avoid leaking file descriptors on automatic replication restarts. |
| |
| Build and System Integration: |
| |
| * Fixed distribution preparation for building on Mac OS X. |
| |
| Version 0.10.1 |
| -------------- |
| |
| Replicator: |
| |
| * Stability enhancements regarding redirects, timeouts, OAuth. |
| |
| Query Server: |
| |
| * Avoid process leaks |
| * Allow list and view to span languages |
| |
| Stats: |
| |
| * Eliminate new process flood on system wake |
| |
| Build and System Integration: |
| |
| * Test suite now works with the distcheck target. |
| |
| Version 0.10.0 |
| -------------- |
| |
| Storage Format: |
| |
| * Add move headers with checksums to the end of database files for extra robust |
| storage and faster storage. |
| |
| View Server: |
| |
| * Added native Erlang views for high-performance applications. |
| |
| HTTP Interface: |
| |
| * Added optional cookie-based authentication handler. |
| * Added optional two-legged OAuth authentication handler. |
| |
| Build and System Integration: |
| |
| * Changed `couchdb` script configuration options. |
| * Added default.d and local.d configuration directories to load sequence. |
| |
| |
| Version 0.9.2 |
| ------------- |
| |
| Replication: |
| |
| * Fix replication with 0.10 servers initiated by an 0.9 server (COUCHDB-559). |
| |
| Build and System Integration: |
| |
| * Remove branch callbacks to allow building couchjs against newer versions of |
| Spidermonkey. |
| |
| Version 0.9.1 |
| ------------- |
| |
| Build and System Integration: |
| |
| * PID file directory is now created by the SysV/BSD daemon scripts. |
| * Fixed the environment variables shown by the configure script. |
| * Fixed the build instructions shown by the configure script. |
| * Updated ownership and permission advice in `README` for better security. |
| |
| Configuration and stats system: |
| |
| * Corrected missing configuration file error message. |
| * Fixed incorrect recording of request time. |
| |
| Database Core: |
| |
| * Document validation for underscore prefixed variables. |
| * Made attachment storage less sparse. |
| * Fixed problems when a database with delayed commits pending is considered |
| idle, and subject to losing changes when shutdown. (COUCHDB-334) |
| |
| External Handlers: |
| |
| * Fix POST requests. |
| |
| Futon: |
| |
| * Redirect when loading a deleted view URI from the cookie. |
| |
| HTTP Interface: |
| |
| * Attachment requests respect the "rev" query-string parameter. |
| |
| JavaScript View Server: |
| |
| * Useful JavaScript Error messages. |
| |
| Replication: |
| |
| * Added support for Unicode characters transmitted as UTF-16 surrogate pairs. |
| * URL-encode attachment names when necessary. |
| * Pull specific revisions of an attachment, instead of just the latest one. |
| * Work around a rare chunk-merging problem in ibrowse. |
| * Work with documents containing Unicode characters outside the Basic |
| Multilingual Plane. |
| |
| Version 0.9.0 |
| ------------- |
| |
| Futon: |
| |
| * Added pagination to the database listing page. |
| * Implemented attachment uploading from the document page. |
| * Added page that shows the current configuration, and allows modification of |
| option values. |
| * Added a JSON "source view" for document display. |
| * JSON data in view rows is now syntax highlighted. |
| * Removed the use of an iframe for better integration with browser history and |
| bookmarking. |
| * Full database listing in the sidebar has been replaced by a short list of |
| recent databases. |
| * The view editor now allows selection of the view language if there is more |
| than one configured. |
| * Added links to go to the raw view or document URI. |
| * Added status page to display currently running tasks in CouchDB. |
| * JavaScript test suite split into multiple files. |
| * Pagination for reduce views. |
| |
| Design Document Resource Paths: |
| |
| * Added httpd_design_handlers config section. |
| * Moved _view to httpd_design_handlers. |
| * Added ability to render documents as non-JSON content-types with _show and |
| _list functions, which are also httpd_design_handlers. |
| |
| HTTP Interface: |
| |
| * Added client side UUIDs for idempotent document creation |
| * HTTP COPY for documents |
| * Streaming of chunked attachment PUTs to disk |
| * Remove negative count feature |
| * Add include_docs option for view queries |
| * Add multi-key view post for views |
| * Query parameter validation |
| * Use stale=ok to request potentially cached view index |
| * External query handler module for full-text or other indexers. |
| * Etags for attachments, views, shows and lists |
| * Show and list functions for rendering documents and views as developer |
| controlled content-types. |
| * Attachment names may use slashes to allow uploading of nested directories |
| (useful for static web hosting). |
| * Option for a view to run over design documents. |
| * Added newline to JSON responses. Closes bike-shed. |
| |
| Replication: |
| |
| * Using ibrowse. |
| * Checkpoint replications so failures are less expensive. |
| * Automatically retry of failed replications. |
| * Stream attachments in pull-replication. |
| |
| Database Core: |
| |
| * Faster B-tree implementation. |
| * Changed internal JSON term format. |
| * Improvements to Erlang VM interactions under heavy load. |
| * User context and administrator role. |
| * Update validations with design document validation functions. |
| * Document purge functionality. |
| * Ref-counting for database file handles. |
| |
| Build and System Integration: |
| |
| * The `couchdb` script now supports system chainable configuration files. |
| * The Mac OS X daemon script now redirects STDOUT and STDERR like SysV/BSD. |
| * The build and system integration have been improved for portability. |
| * Added COUCHDB_OPTIONS to etc/default/couchdb file. |
| * Remove COUCHDB_INI_FILE and COUCHDB_PID_FILE from etc/default/couchdb file. |
| * Updated `configure.ac` to manually link `libm` for portability. |
| * Updated `configure.ac` to extended default library paths. |
| * Removed inets configuration files. |
| * Added command line test runner. |
| * Created dev target for make. |
| |
| Configuration and stats system: |
| |
| * Separate default and local configuration files. |
| * HTTP interface for configuration changes. |
| * Statistics framework with HTTP query API. |
| |
| Version 0.8.1-incubating |
| ------------------------ |
| |
| Database Core: |
| |
| * Fix for replication problems where the write queues can get backed up if the |
| writes aren't happening fast enough to keep up with the reads. For a large |
| replication, this can exhaust memory and crash, or slow down the machine |
| dramatically. The fix keeps only one document in the write queue at a time. |
| * Fix for databases sometimes incorrectly reporting that they contain 0 |
| documents after compaction. |
| * CouchDB now uses ibrowse instead of inets for its internal HTTP client |
| implementation. This means better replication stability. |
| |
| HTTP Interface: |
| |
| * Fix for chunked responses where chunks were always being split into multiple |
| TCP packets, which caused problems with the test suite under Safari, and in |
| some other cases. |
| * Fix for an invalid JSON response body being returned for some kinds of |
| views. (COUCHDB-84) |
| * Fix for connections not getting closed after rejecting a chunked request. |
| (COUCHDB-55) |
| * CouchDB can now be bound to IPv6 addresses. |
| * The HTTP `Server` header now contains the versions of CouchDB and Erlang. |
| |
| JavaScript View Server: |
| |
| * Sealing of documents has been disabled due to an incompatibility with |
| SpiderMonkey 1.9. |
| * Improve error handling for undefined values emitted by map functions. |
| (COUCHDB-83) |
| |
| Build and System Integration: |
| |
| * The `couchdb` script no longer uses `awk` for configuration checks as this |
| was causing portability problems. |
| * Updated `sudo` example in `README` to use the `-i` option, this fixes |
| problems when invoking from a directory the `couchdb` user cannot access. |
| |
| Futon: |
| |
| * The view selector dropdown should now work in Opera and Internet Explorer |
| even when it includes optgroups for design documents. (COUCHDB-81) |
| |
| Version 0.8.0-incubating |
| ------------------------ |
| |
| Database Core: |
| |
| * The view engine has been completely decoupled from the storage engine. Index |
| data is now stored in separate files, and the format of the main database |
| file has changed. |
| * Databases can now be compacted to reclaim space used for deleted documents |
| and old document revisions. |
| * Support for incremental map/reduce views has been added. |
| * To support map/reduce, the structure of design documents has changed. View |
| values are now JSON objects containing at least a `map` member, and |
| optionally a `reduce` member. |
| * View servers are now identified by name (for example `javascript`) instead of |
| by media type. |
| * Automatically generated document IDs are now based on proper UUID generation |
| using the crypto module. |
| * The field `content-type` in the JSON representation of attachments has been |
| renamed to `content_type` (underscore). |
| |
| HTTP Interface: |
| |
| * CouchDB now uses MochiWeb instead of inets for the HTTP server |
| implementation. Among other things, this means that the extra configuration |
| files needed for inets (such as `couch_httpd.conf`) are no longer used. |
| * The HTTP interface now completely supports the `HEAD` method. (COUCHDB-3) |
| * Improved compliance of `Etag` handling with the HTTP specification. |
| (COUCHDB-13) |
| * Etags are no longer included in responses to document `GET` requests that |
| include query string parameters causing the JSON response to change without |
| the revision or the URI having changed. |
| * The bulk document update API has changed slightly on both the request and the |
| response side. In addition, bulk updates are now atomic. |
| * CouchDB now uses `TCP_NODELAY` to fix performance problems with persistent |
| connections on some platforms due to nagling. |
| * Including a `?descending=false` query string parameter in requests to views |
| no longer raises an error. |
| * Requests to unknown top-level reserved URLs (anything with a leading |
| underscore) now return a `unknown_private_path` error instead of the |
| confusing `illegal_database_name`. |
| * The Temporary view handling now expects a JSON request body, where the JSON |
| is an object with at least a `map` member, and optional `reduce` and |
| `language` members. |
| * Temporary views no longer determine the view server based on the Content-Type |
| header of the `POST` request, but rather by looking for a `language` member |
| in the JSON body of the request. |
| * The status code of responses to `DELETE` requests is now 200 to reflect that |
| that the deletion is performed synchronously. |
| |
| JavaScript View Server: |
| |
| * SpiderMonkey is no longer included with CouchDB, but rather treated as a |
| normal external dependency. A simple C program (`_couchjs`) is provided that |
| links against an existing SpiderMonkey installation and uses the interpreter |
| embedding API. |
| * View functions using the default JavaScript view server can now do logging |
| using the global `log(message)` function. Log messages are directed into the |
| CouchDB log at `INFO` level. (COUCHDB-59) |
| * The global `map(key, value)` function made available to view code has been |
| renamed to `emit(key, value)`. |
| * Fixed handling of exceptions raised by view functions. |
| |
| Build and System Integration: |
| |
| * CouchDB can automatically respawn following a server crash. |
| * Database server no longer refuses to start with a stale PID file. |
| * System logrotate configuration provided. |
| * Improved handling of ICU shared libraries. |
| * The `couchdb` script now automatically enables SMP support in Erlang. |
| * The `couchdb` and `couchjs` scripts have been improved for portability. |
| * The build and system integration have been improved for portability. |
| |
| Futon: |
| |
| * When adding a field to a document, Futon now just adds a field with an |
| autogenerated name instead of prompting for the name with a dialog. The name |
| is automatically put into edit mode so that it can be changed immediately. |
| * Fields are now sorted alphabetically by name when a document is displayed. |
| * Futon can be used to create and update permanent views. |
| * The maximum number of rows to display per page on the database page can now |
| be adjusted. |
| * Futon now uses the XMLHTTPRequest API asynchronously to communicate with the |
| CouchDB HTTP server, so that most operations no longer block the browser. |
| * View results sorting can now be switched between ascending and descending by |
| clicking on the `Key` column header. |
| * Fixed a bug where documents that contained a `@` character could not be |
| viewed. (COUCHDB-12) |
| * The database page now provides a `Compact` button to trigger database |
| compaction. (COUCHDB-38) |
| * Fixed portential double encoding of document IDs and other URI segments in |
| many instances. (COUCHDB-39) |
| * Improved display of attachments. |
| * The JavaScript Shell has been removed due to unresolved licensing issues. |