| .. Licensed under the Apache License, Version 2.0 (the "License"); you may not |
| .. use this file except in compliance with the License. You may obtain a copy of |
| .. the License at |
| .. |
| .. http://www.apache.org/licenses/LICENSE-2.0 |
| .. |
| .. Unless required by applicable law or agreed to in writing, software |
| .. distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
| .. WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
| .. License for the specific language governing permissions and limitations under |
| .. the License. |
| |
| .. _release/0.8.x: |
| |
| ============ |
| 0.8.x Branch |
| ============ |
| |
| .. contents:: |
| :depth: 1 |
| :local: |
| |
| .. _release/0.8.1: |
| |
| Version 0.8.1-incubating |
| ======================== |
| |
| 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. |
| |
| 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. |
| |
| Futon |
| ----- |
| |
| * The view selector dropdown should now work in Opera and Internet Explorer |
| even when it includes optgroups for design documents. (:issue:`81`) |
| |
| 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. |
| (:issue:`83`) |
| |
| 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. (:issue:`84`) |
| * Fix for connections not getting closed after rejecting a chunked request. |
| (:issue:`55`) |
| * CouchDB can now be bound to IPv6 addresses. |
| * The HTTP `Server` header now contains the versions of CouchDB and Erlang. |
| |
| .. _release/0.8.0: |
| |
| Version 0.8.0-incubating |
| ======================== |
| |
| 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. |
| |
| 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). |
| |
| 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. (:issue:`12`) |
| * The database page now provides a `Compact` button to trigger database |
| compaction. (:issue:`38`) |
| * Fixed portential double encoding of document IDs and other URI segments in |
| many instances. (:issue:`39`) |
| * Improved display of attachments. |
| * The JavaScript Shell has been removed due to unresolved licensing issues. |
| |
| 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. (:issue:`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. |
| |
| 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. (:issue:`3`) |
| * Improved compliance of `Etag` handling with the HTTP specification. |
| (:issue:`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. |