15.9. 1.0.x Branch — Apache CouchDB 2.1 Documentation

# 15.9. 1.0.x Branch

- Upgrade Notes
- Version 1.0.4
- Version 1.0.3
- Version 1.0.2
- Version 1.0.1
- Version 1.0.0

## 15.9.1. Upgrade Notes

Note, to replicate with a 1.0 CouchDB instance you must first upgrade in-place your current CouchDB to 1.0 or 0.11.1 – backporting so that 0.10.x can replicate to 1.0 wouldn’t be that hard. All that is required is patching the replicator to use the `application/json` content type.

- `_log` and `_temp_views` are now admin-only resources.
- `_bulk_docs` now requires a valid Content-Type header of `application/json`.
- JSONP is disabled by default. An .ini option was added to selectively enable it.
- The `key`, `startkey` and `endkey` properties of the request object passed to list and show functions now contain JSON objects representing the URL encoded string values in the query string. Previously, these properties contained strings which needed to be converted to JSON before using.

Warning

Version 1.0.4 contains important security fixes. Previous 1.0.x releases are not recommended for regular usage.

## 15.9.2. Version 1.0.4

### HTTP Interface

- Fix missing revisions in `_changes?style=all_docs`.
- Fix validation of attachment names.

### Log System

- Fix file descriptor leak in `_log`.

### Replicator

- Fix a race condition where replications can go stale

### Security

- Fixed CVE-2012-5641: Information disclosure via unescaped backslashes in URLs on Windows
- Fixed CVE-2012-5649: JSONP arbitrary code execution with Adobe Flash
- Fixed CVE-2012-5650: DOM based Cross-Site Scripting via Futon UI

### View System

- Avoid invalidating view indexes when running out of file descriptors.

## 15.9.3. Version 1.0.3

### General

- Fixed compatibility issues with Erlang R14B02.

### 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.

### Futon

- Made compatible with jQuery 1.5.x.

### 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.

### 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.

### Storage System

- More performant queries against _changes and _all_docs when using the include_docs parameter.

### Windows

- Windows builds now require ICU >= 4.4.0 and Erlang >= R14B03. See COUCHDB-1152, and COUCHDB-963 + OTP-9139 for more information.

## 15.9.4. Version 1.0.2

### 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).

### 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.

### Log System

- Reduce lengthy stack traces.
- Allow logging of native <xml> types.

### 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.

### 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 occasional 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 COUCHDB-968 for details on how to repair.
- Significantly higher read and write throughput against database and view index files.

### 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.

## 15.9.5. Version 1.0.1

### Authentication

- Enable basic-auth popup when required to access the server, to prevent
    people from getting locked out.

### Build and System Integration

- Included additional source files for distribution.

### Futon

- User interface element for querying stale (cached) views.

### 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.

### 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.

### Storage System

- Fix data corruption bug COUCHDB-844. Please see http://couchdb.apache.org/notice/1.0.1.html for details.

## 15.9.6. 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.