16.10. 1.2.x Branch

16.10.1. Upgrade Notes

Warning

This version drops support for the database format that was introduced inversion 0.9.0. Compact your older databases (that have not been compactedfor a long time) before upgrading, or they will become inaccessible.

Warning

Version 1.2.1 contains important security fixes. Previous _1.2.x_releases are not recommended for regular usage.

16.10.1.1. Security changes

The interface to the _users and _replicator databases have beenchanged so that non-administrator users can see less information:

  • In the _users database:
    • User documents can now only be read by the respective users, as well asadministrators. Other users cannot read these documents.
    • Views can only be defined and queried by administrator users.
    • The _changes feed can only be queried by administrator users.
  • In the _replicator database:
    • Documents now have a forced owner field that corresponds to theauthenticated user that created them.
    • Non-owner users will not see confidential information like passwords orOAuth tokens in replication documents; they can still see the othercontents of those documents. Administrators can see everything.
    • Views can only be defined and queried by administrators.

16.10.1.2. Database Compression

The new optional (but enabled by default) compression of disk files requiresan upgrade of the on-disk format (5 -> 6) which occurs on creation for newdatabases and views, and on compaction for existing files. This format is notsupported in previous releases, so rollback would require replication to theprevious CouchDB release or restoring from backup.

Compression can be disabled by setting compression = none in yourlocal.ini [couchdb] section, but the on-disk format will still beupgraded.

16.10.2. Version 1.2.2

16.10.2.1. Build System

  • Fixed issue in couchdb script where stopped status returns before processexits.

16.10.2.2. HTTP Interface

  • Reset rewrite counter on new request, avoiding unnecessary request failuresdue to bogus rewrite limit reports.

16.10.3. Version 1.2.1

16.10.3.1. Build System

  • Fix couchdb start script.
  • Win: fix linker invocations.

16.10.3.2. Futon

  • Disable buttons that aren’t available for the logged-in user.

16.10.3.3. HTTP Interface

  • No longer rewrites the X-CouchDB-Requested-Path during recursivecalls to the rewriter.
  • Limit recursion depth in the URL rewriter. Defaults to a maximumof 100 invocations but is configurable.

16.10.3.4. Security

16.10.3.5. Replication

  • Fix potential timeouts.

16.10.3.6. View Server

  • Change use of signals to avoid broken view groups.

16.10.4. Version 1.2.0

16.10.4.1. Authentication

  • Fix use of OAuth with VHosts and URL rewriting.
  • OAuth secrets can now be stored in the users system databaseas 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 publiclyreadable.
  • Confidential information in the _replication database is nolonger publicly readable.
  • Password hashes are now calculated by CouchDB. Clients are nolonger required to do this manually.
  • Cookies used for authentication can be made persistent by enablingthe .ini configuration key allow_persistent_cookies in thecouch_httpd_auth section.

16.10.4.2. Build System

  • cURL is no longer required to build CouchDB as it is onlyused by the command line JS test runner. If cURL is availablewhen building CouchJS you can enable the HTTP bindings bypassing -H on the command line.
  • Temporarily made make check pass with R15B. A more thoroughfix is in the works (COUCHDB-1424).
  • Fixed –with-js-include and –with-js-lib options.
  • Added –with-js-lib-name option.

16.10.4.3. Futon

  • The Status screen (active tasks) now displays two new task statusfields: Started on and Updated on.
  • Futon remembers view code every time it is saved, allowing to save anedit that amounts to a revert.

16.10.4.4. HTTP Interface

  • Added a native JSON parser.
  • The _active_tasks API now offers more granular fields. Eachtask type is now able to expose different properties.
  • Added built-in changes feed filter _view.
  • Fixes to the _changes feed heartbeat option which causedheartbeats to be missed when used with a filter. This causedtimeouts of continuous pull replications with a filter.
  • Properly restart the SSL socket on configuration changes.

16.10.4.5. OAuth

  • Updated bundled erlang_oauth library to the latest version.

16.10.4.6. Replicator

  • A new replicator implementation. It offers more performance andconfiguration options.
  • Passing non-string values to query_params is now a 400 badrequest. This is to reduce the surprise that all parametersare converted to strings internally.
  • Added optional field since_seq to replication objects/documents.It allows to bootstrap a replication from a specific source sequencenumber.
  • Simpler replication cancellation. In addition to the current method,replications can now be canceled by specifying the replication IDinstead of the original replication object/document.

16.10.4.7. Storage System

  • Added optional database and view index file compression (using Google’ssnappy or zlib’s deflate). This feature is enabled by default, but itcan be disabled by adapting local.ini accordingly. The on-disk formatis upgraded on compaction and new DB/view creation to support this.
  • Several performance improvements, most notably regarding database writesand view indexing.
  • Computation of the size of the latest MVCC snapshot data and all itssupporting metadata, both for database and view index files. Thisinformation is exposed as the data_size attribute in the database andview group information URIs.
  • The size of the buffers used for database and view compaction is nowconfigurable.
  • Added support for automatic database and view compaction. This featureis 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_.

16.10.4.8. View Server

  • Add CoffeeScript (http://coffeescript.org/) as a first class view serverlanguage.
  • Fixed old index file descriptor leaks after a view cleanup.
  • The requested_path property keeps the pre-rewrite path even when no VHostconfiguration is matched.
  • Fixed incorrect reduce query results when using pagination parameters.
  • Made icu_driver work with Erlang R15B and later.

原文: http://docs.couchdb.org/en/stable/whatsnew/1.2.html