diff options
Diffstat (limited to 'CHANGES')
-rw-r--r-- | CHANGES | 582 |
1 files changed, 0 insertions, 582 deletions
diff --git a/CHANGES b/CHANGES deleted file mode 100644 index 08458f10..00000000 --- a/CHANGES +++ /dev/null @@ -1,582 +0,0 @@ -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. - -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. - -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 --------------- - -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. - -Security: - - * Avoid potential DOS attack by guarding all creation of atoms. - -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.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 Utility Client: - - * 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. |