blob: b9d4d4d353a9d7f5d142d2fc48146c4cbb9a2ec8 [file] [log] [blame]
Apache CouchDB NEWS
===================
For details about backwards incompatible changes, see:
http://wiki.apache.org/couchdb/Breaking_changes
Each release section notes when backwards incompatible changes have been made.
Version 1.3.0
-------------
* Added view request duration to Futon.
* Removed the Futon test suite in favour of the CLI test suite.
* Fixed unnecessary conflict when deleting and creating a document in the same
batch.
* New and updated passwords are hashed using PBKDF2.
* Fix various bugs in the URL rewriter when recursion is involved.
* Added Server-Sent Events protocol to db changes API.
* Moved the JS test suite to the CLI.
* Make password hashing synchronous when using the /_config/admins API.
* Added utc_id UUID algorithm.
* Encode database name during URL rewriting.
* Include user name in show/list ETags.
* Per module log levels.
* Server-wide UUID in some replication ids.
* E4X support in views is now deprecated and will be removed in a future
version.
* Experimental support for Cross-Origin Resource Sharing (CORS).
Version 1.2.2
-------------
* Fixed rewrite counter bug.
Version 1.2.1
-------------
* 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
* Fix various bugs in the URL rewriter when recursion is involved.
* Fix couchdb start script.
* Futon: Disable buttons that aren't available for the logged-in user.
* Fix potential replication timeouts.
* Change use of signals to avoid broken view groups.
Version 1.2.0
-------------
This release contains backwards incompatible changes.
* Updated bundled erlang_oauth library to the latest version.
* cURL is no longer required to build CouchDB as it is only
required by the command line JS test runner.
* Added a native JSON parser.
* Optional file compression (database and view index files). This feature
is enabled by default.
* Several performance improvements, especially regarding database
writes and view indexing.
* Added a `data_size` property to database and view group
information URIs.
* Added support for automatic compaction. This feature is disabled
by default, but it can be enabled via the .ini configuration.
* A new replicator implementation that offers more performance
and configuration options.
* Added optional field `since_seq` to replication objects/documents.
* Simpler replication cancelation.
* The _active_tasks API now exposes more granular fields for each
task type.
* Futon's `Status` screen (active tasks) now displays two new task
status fields: `Started on` and `Updated on`.
* Added built-in changes feed filter `_view`.
* Fixed old index file descriptor leaks after a view cleanup.
* Performance improvements for the built-in changes feed filters
`_doc_ids` and `_design`.
* Fixes to the `_changes` feed heartbeat option when combined with
a filter. It affected continuous pull replications with a filter.
* Fix use of OAuth with VHosts and URL rewriting.
* OAuth secrets can now be stored in the users system database.
* Documents in the _users database can no longer be read by everyone.
* Confidential information in the _replication database can no longer
be read by everyone.
* Password hashes are now calculated by CouchDB instead of the client.
* Allow persistent authentication cookies.
* The requested_path property of query server request objects now has
the path requested by clients before VHosts and rewriting.
* Fixed incorrect reduce query results when using pagination parameters.
* Made icu_driver work with Erlang R15B and later.
* Improvements to the build system and etap test suite.
* Improvements to log messages for file-related errors.
* Avoid invalidating view indexes when running out of file descriptors.
* Log correct stacktrace in all cases.
Version 1.1.2
-------------
* 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
* ETag of attachment changes only when the attachment changes, not
the document.
* Fix pull replication of documents with many revisions.
* Fix replication with an HTTP source and target
* Avoid invalidating view indexes when running out of file descriptors.
* Improvements to log messages for file-related errors.
* Fix retrieval of headers larger than 4k.
* Allow OPTIONS HTTP method for list requests.
* Don't attempt to encode invalid json.
* Improve SpiderMonkey version detection.
Version 1.1.1
-------------
* Support SpiderMonkey 1.8.5
* Add configurable maximum to the number of bytes returned by _log.
* Allow CommonJS modules to be an empty string.
* Bump minimum Erlang version to R13B02.
* Do not run deleted validate_doc_update functions.
* ETags for views include current sequence if include_docs=true.
* Fix bug where duplicates can appear in _changes feed.
* Fix bug where update handlers break after conflict resolution.
* Fix bug with _replicator where include "filter" could crash couch.
* Fix crashes when compacting large views.
* Fix file descriptor leak in _log
* Fix missing revisions in _changes?style=all_docs.
* Improve handling of compaction at max_dbs_open limit.
* JSONP responses now send "text/javascript" for Content-Type.
* Link to ICU 4.2 on Windows.
* Permit forward slashes in path to update functions.
* Reap couchjs processes that hit reduce_overflow error.
* Status code can be specified in update handlers.
* Support provides() in show functions.
* _view_cleanup when ddoc has no views now removes all index files.
* max_replication_retry_count now supports "infinity".
* Fix replication crash when source database has a document with empty ID.
* Fix deadlock when assigning couchjs processes to serve requests.
* Fixes to the document multipart PUT API.
* Fixes regarding file descriptor leaks for databases with views.
Version 1.1.0
-------------
All NEWS for 1.0.2 also apply to 1.1.0.
This release contains backwards incompatible changes.
* 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 wildcards in vhosts definitions.
* More granular ETag support for views.
* More flexible URL rewriter.
* Added OS Process module to manage daemons outside of CouchDB.
* Added HTTP Proxy handler for more scalable externals.
* Added `_replicator` database to manage replications.
* Multiple micro-optimizations when reading data.
* Added CommonJS support to map functions.
* Added `stale=update_after` query option that triggers a view update after
returning a `stale=ok` response.
* More explicit error messages when it's not possible to access a file due
to lack of permissions.
* Added a "change password"-feature to Futon.
Version 1.0.4
-------------
* 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
* Fix file descriptor leak in _log.
* Fix missing revisions in _changes?style=all_docs.
* Fix validation of attachment names.
* Avoid invalidating view indexes when running out of file descriptors.
* Fix a race condition where replications can go stale
Version 1.0.3
-------------
* Fixed compatibility issues with Erlang R14B02.
* Fix bug that allows invalid UTF-8 after valid escapes.
* Enabled replication over IPv6.
* Fixed for crashes in continuous and filtered changes feeds.
* Changes feeds now honor conflicts=true parameter.
* Fixed error when restarting replications in OTP R14B02.
* Fixed error with filter replication with a limit of 1.
* Upgrade ibrowse to version 2.2.0.
* Fixed OAuth signature computation in OTP R14B02.
* Handle passwords with : in them.
* Made compatible with jQuery 1.5.x.
* Added support for inclusive_end with reduce views.
* Etap tests no longer require use of port 5984.
* Windows builds now require ICU >= 4.4.0 and Erlang >= R14B03.
Version 1.0.2
-------------
* Fixed CVE-2010-3854: Apache CouchDB Cross Site Scripting Issue
* Make test suite work with Safari and Chrome.
* Fix leaking file handles after compacting databases and views.
* Fix databases forgetting their validation function after compaction.
* Fix occasional timeout errors.
* Reduce lengthy stack traces.
* Allow logging of native <xml> types.
* Updated ibrowse library to 2.1.2 fixing numerous replication issues.
* Fix authenticated replication of design documents with attachments.
* Fix multipart GET APIs by always sending attachments in compressed
form when the source attachment is compressed on disk. Fixes a possible
edge case when an attachment underwent local-local replication.
* Various fixes to make replicated more resilient for edge-cases.
* Don't trigger a view update when requesting `_design/doc/_info`.
* Fix for circular references in CommonJS requires.
* Fix for frequently edited documents in multi-master deployments being
duplicated in _changes and _all_docs.
* Fix spurious conflict generation during attachment uploads.
* Fix for various bugs in Futon.
Version 1.0.1
-------------
* Fixed CVE-2010-2234: Apache CouchDB Cross Site Request Forgery Attack
* 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/HTTPS proxy.
* Fixed various replicator bugs for interop with older CouchDB versions.
* Show fields saved along with _deleted=true. Allows for auditing of deletes.
* 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.
Version 1.0.0
-------------
* More efficient header commits.
* Use O_APPEND to save lseeks.
* Faster implementation of pread_iolist(). Further improves performance on
concurrent reads.
* Added authentication caching
* Faster default view collation.
* Added option to include update_seq in view responses.
Version 0.11.2
--------------
* Fixed CVE-2010-2234: Apache CouchDB Cross Site Request Forgery Attack
* Avoid potential DOS attack by guarding all creation of atoms.
* Replicator buxfixes for replicating design documents from secured databases.
* Better error messages on invalid URL requests.
* User documents can now be deleted by admins or the user.
* Some Futon and JavaScript library bugfixes.
Version 0.11.1
--------------
* 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.
* Disable jsonp by default.
* Accept gzip encoded standalone attachments.
* Made max_concurrent_connections configurable.
* Added continuous replication option to Futon.
* Added option to replicating test results anonymously to a community
CouchDB instance.
* Allow creation and deletion of config entries in Futon.
* Fixed various UI issues in Futon.
* 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.
* Added authentication caching, to avoid repeated opening and closing of the
users database for each request requiring authentication.
* Made authentication timeout configurable.
* Temporary views are now admin-only resources.
* Don't require a revpos for attachment stubs.
* 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.
* Added tests for couch.js and jquery.couch.js
* Added various API features to jquery.couch.js
* Faster default view collation.
* Upgrade CommonJS modules support to 1.1.1.
* Added option to include update_seq in view responses.
* Fixed erlang filter funs and normalize filter fun API.
* Fixed hang in view shutdown.
* Refactored various internal APIs related to attachment streaming.
* Fixed hanging replication.
* Fixed keepalive issue.
* Allow global rewrites so system defaults are available in vhosts.
* Allow isolation of databases with vhosts.
* Made the test suite overall more reliable.
Version 0.11.0
--------------
This version is a feature-freeze release candidate for Apache CouchDB 1.0.
* Fixed CVE-2010-0009: Apache CouchDB Timing Attack Vulnerability.
* Added support for building a Windows installer as part of 'make dist'.
* 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.
* Added option to implicitly create replication target databases.
* Improved view information objects.
* Bug fix for partial updates during view builds.
* Bug fix for building couch.app's module list.
* Fixed a problem with statistics timers and system sleep.
* Improved the statistics calculations to use an online moving window
algorithm.
* Adds batching of multiple updating requests, to improve throughput with many
writers.
* Removed the now redundant couch_batch_save module.
* Bug fix for premature termination of chunked responses.
* Improved speed and concurrency of config lookups.
* Fixed an edge case for HTTP redirects during replication.
* Fixed HTTP timeout handling for replication.
* Fixed query parameter handling in OAuth'd replication.
* Fixed a bug preventing mixing languages with lists and views.
* Avoid OS process leaks in lists.
* Avoid leaking file descriptors on automatic replication restarts.
* Various improvements to the Futon UI.
* Provide Content-MD5 header support for attachments.
* Adds configurable compression of attachments.
* Added default cookie-authentication and users db.
* Added per-db reader access control lists.
* Added per-db security object for configuration data in validation functions.
* Added URL Rewriter handler.
* Added proxy authentication handler.
* Added ability to replicate documents by id.
* Added virtual host handling.
* Uses json2.js for JSON serialization compatiblity with native JSON.
* Fixed CVE-2010-0009: Apache CouchDB Timing Attack Vulnerability.
Version 0.10.2
--------------
* Fixed CVE-2010-0009: Apache CouchDB Timing Attack Vulnerability.
Version 0.10.1
--------------
* Fixed test suite to work with build system.
* Fixed a problem with statistics timers and system sleep.
* Fixed an edge case for HTTP redirects during replication.
* Fixed HTTP timeout handling for replication.
* Fixed query parameter handling in OAuth'd replication.
* Fixed a bug preventing mixing languages with lists and views.
* Avoid OS process leaks in lists.
Version 0.10.0
--------------
This release contains backwards incompatible changes.
* General performance improvements.
* View index generation speedups.
* Even more robust storage format.
* Native Erlang Views for high-performance applications.
* More robust push and pull replication.
* Two-legged OAuth support for applications and replication (three-legged in
preparation).
* Cookie authentication.
* API detail improvements.
* Better RFC 2616 (HTTP 1.1) compliance.
* Added modular configuration file directories.
* Miscellaneous improvements to build, system integration, and portability.
Version 0.9.2
-------------
* Remove branch callbacks to allow building couchjs against newer versions of
Spidermonkey.
* Fix replication with 0.10 servers initiated by an 0.9 server.
Version 0.9.1
-------------
* Various bug fixes for the build system, configuration, statistics reporting,
database core, external handlers, Futon interface, HTTP interface,
JavaScript View Server and replicator.
Version 0.9.0
-------------
This release contains backwards incompatible changes.
* Modular configuration.
* Performance enhancements for document and view access.
* More resilient replication process.
* Replication streams binary attachments.
* Administrator role and basic authentication.
* Document validation functions in design documents.
* Show and list functions for rendering documents and views as developer
controlled content-types.
* External process server module.
* Attachment uploading from Futon.
* Etags for views, lists, shows, document and attachment requests.
* Miscellaneous improvements to build, system integration, and portability.
Version 0.8.1-incubating
------------------------
* Various bug fixes for replication, compaction, the HTTP interface and the
JavaScript View Server.
Version 0.8.0-incubating
------------------------
This release contains backwards incompatible changes.
* Changed core licensing to the Apache Software License 2.0.
* Refactoring of the core view and storage engines.
* Added support for incremental map/reduce views.
* Changed database file format.
* Many improvements to Futon, the web administration interface.
* Miscellaneous improvements to build, system integration, and portability.
* Swapped out Erlang's inets HTTP server for the Mochiweb HTTP server.
* SpiderMonkey is no longer included with CouchDB, but rather treated as an
external dependency.
* Added bits of awesome.
Version 0.7.2
-------------
* Small changes to build process and `couchdb` command.
* Database server official port is now 5984 TCP/UDP instead of 8888.
Version 0.7.1
-------------
* Small compatibility issue with Firefox 3 fixed.
Version 0.7.0
-------------
* Infrastructure rewritten to use the GNU build system for portability.
* The built-in database browsing tool has been rewritten to provide a much
nicer interface for interacting directly with CouchDB from your web browser.
* XML and Fabric have been replaced with JSON and JavaScript for data
transport and View definitions.
Version 0.6.0
-------------
* A replication facility is now available.
* CouchPeek can now create, delete and view documents.
* Building from source is easier and less error prone.
Version 0.5.0
-------------
* A built-in CouchPeek utility.
* A full install kit buildable from a single command.
* A new GNU/Linux version is available. An OS X version is coming soon.
Version 0.4.0
-------------
* Non-existent variables are now nil lists.
* Couch error codes and messages are no longer sent in the HTTP fields,
instead they are exclusively returned in the XML body. This is to avoid HTTP
header parsing problems with oddly formed error messages.
* Returned error messages are now logged at the server at the `info` level to
make general debugging easier.
* Fixed a problem where big table builds caused timeout errors.
* Lots of changes in the low level machinery. Most formulas will continue to
function the same.
* Added full compiler support for extended characters in formula source.
* Support for Perl/Ruby like regular expressions.
* Added `total_rows` and `result_start` attributes to tables.
Version 0.3.0
-------------
* CouchDB now fully supports Unicode and locale specific collation via the ICU
library, both in the Fabric engine and computed tables.
* The `in` operator has been added to Fabric.
* The `startdoc` query string variable specifies the starting document to use
if there are multiple rows with identical startkeys.
* The `skip` query string variable specifies the number of rows to skip before
returning results. The `skip` value must be a positive integer. If used with
a `count` variable the skipped rows aren't counted as output.
* Various changes to the output XML format.