~ubuntu-branches/ubuntu/trusty/couchdb/trusty

« back to all changes in this revision

Viewing changes to share/doc/src/whatsnew/1.2.rst

  • Committer: Package Import Robot
  • Author(s): Jason Gerard DeRose
  • Date: 2013-12-01 16:55:05 UTC
  • mfrom: (1.3.5)
  • Revision ID: package-import@ubuntu.com-20131201165505-for2toyl58mhzwj2
Tags: 1.5.0-0ubuntu1
* New upstream release (LP: #1254371)
* Don't include `couchdb` info page in `couchdb-bin` binary package as it
  provides no meaningful benefit over the `couchdb` man page (note this change
  means we don't need to add a Build-Depends on `install-info` for Trusty)
* Remove Build-Depends: texlive-latex-base, texlive-latex-recommended,
  texlive-latex-extra, texlive-fonts-recommended, texinfo (as documentation
  thus produced doesn't get included in the binary packages anyway)
* debian/rules: don't call ./configure with --enable-strictness as we dropped
  Build-Depends on `texlive-*`, `texinfo`, plus didn't add `install-info` 
* Add Build-Depends: lsb-release (used for [vendor] info in default.ini)
* debian/rules: insert proper [vendor] info in default.ini (note this should
  be improved once there is a better mechanism upstream)
* debian/couchdb.upstart: start on filesystem and static-network-up,
  stop on deconfiguring-networking, plus add "author" line

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
.. Licensed under the Apache License, Version 2.0 (the "License"); you may not
 
2
.. use this file except in compliance with the License. You may obtain a copy of
 
3
.. the License at
 
4
..
 
5
..   http://www.apache.org/licenses/LICENSE-2.0
 
6
..
 
7
.. Unless required by applicable law or agreed to in writing, software
 
8
.. distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 
9
.. WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 
10
.. License for the specific language governing permissions and limitations under
 
11
.. the License.
 
12
 
 
13
 
 
14
.. _release/1.2.x:
 
15
 
 
16
============
 
17
1.2.x Branch
 
18
============
 
19
 
 
20
.. contents::
 
21
   :depth: 1
 
22
   :local:
 
23
 
 
24
 
 
25
.. _release/1.2.x/upgrade:
 
26
 
 
27
Upgrade Notes
 
28
=============
 
29
 
 
30
.. warning::
 
31
 
 
32
   This version drops support for the database format that was introduced in
 
33
   version 0.9.0. Compact your older databases (that have not been compacted
 
34
   for a long time) before upgrading, or they will become inaccessible.
 
35
 
 
36
.. warning::
 
37
 
 
38
   :ref:`release/1.2.1` contains important security fixes. Previous `1.2.x`
 
39
   releases are not recommended for regular usage.
 
40
 
 
41
Security changes
 
42
----------------
 
43
 
 
44
The interface to the ``_users`` and ``_replicator`` databases have been
 
45
changed so that non-administrator users can see less information:
 
46
 
 
47
* In the ``_users`` database:
 
48
 
 
49
  * User documents can now only be read by the respective users, as well as
 
50
    administrators. Other users cannot read these documents.
 
51
  * Views can only be defined and queried by administrator users.
 
52
  * The ``_changes`` feed can only be queried by administrator users.
 
53
 
 
54
* In the ``_replicator`` database:
 
55
 
 
56
  * Documents now have a forced ``owner`` field that corresponds to the
 
57
    authenticated user that created them.
 
58
  * Non-owner users will not see confidential information like passwords or
 
59
    OAuth tokens in replication documents; they can still see the other
 
60
    contents of those documents. Administrators can see everything.
 
61
  * Views can only be defined and queried by administrators.
 
62
 
 
63
Database Compression
 
64
--------------------
 
65
 
 
66
The new optional (but enabled by default) compression of disk files requires
 
67
an upgrade of the on-disk format (5 -> 6) which occurs on creation for new
 
68
databases and views, and on compaction for existing files. This format is not
 
69
supported in previous releases, so rollback would require replication to the
 
70
previous CouchDB release or restoring from backup.
 
71
 
 
72
Compression can be disabled by setting ``compression = none`` in your
 
73
``local.ini`` ``[couchdb]`` section, but the on-disk format will still be
 
74
upgraded.
 
75
 
 
76
 
 
77
.. _release/1.2.2:
 
78
 
 
79
Version 1.2.2
 
80
=============
 
81
 
 
82
Build System
 
83
------------
 
84
 
 
85
* Fixed issue in `couchdb` script where stopped status returns before process
 
86
  exits.
 
87
 
 
88
HTTP Interface
 
89
--------------
 
90
 
 
91
* Reset rewrite counter on new request, avoiding unnecessary request failures
 
92
  due to bogus rewrite limit reports.
 
93
 
 
94
 
 
95
.. _release/1.2.1:
 
96
 
 
97
Version 1.2.1
 
98
=============
 
99
 
 
100
Build System
 
101
------------
 
102
 
 
103
* Fix couchdb start script.
 
104
* Win: fix linker invocations.
 
105
 
 
106
Futon
 
107
-----
 
108
 
 
109
* Disable buttons that aren't available for the logged-in user.
 
110
 
 
111
HTTP Interface
 
112
--------------
 
113
 
 
114
* No longer rewrites the ``X-CouchDB-Requested-Path`` during recursive
 
115
  calls to the rewriter.
 
116
* Limit recursion depth in the URL rewriter. Defaults to a maximum
 
117
  of 100 invocations but is configurable.
 
118
 
 
119
Security
 
120
--------
 
121
 
 
122
* Fixed :ref:`cve/2012-5641`
 
123
* Fixed :ref:`cve/2012-5649`
 
124
* Fixed :ref:`cve/2012-5650`
 
125
 
 
126
Replication
 
127
-----------
 
128
 
 
129
* Fix potential timeouts.
 
130
 
 
131
View Server
 
132
-----------
 
133
 
 
134
* Change use of signals to avoid broken view groups.
 
135
 
 
136
 
 
137
.. _release/1.2.0:
 
138
 
 
139
Version 1.2.0
 
140
=============
 
141
 
 
142
Authentication
 
143
--------------
 
144
 
 
145
* Fix use of OAuth with VHosts and URL rewriting.
 
146
* OAuth secrets can now be stored in the users system database
 
147
  as an alternative to key value pairs in the .ini configuration.
 
148
  By default this is disabled (secrets are stored in the .ini)
 
149
  but can be enabled via the .ini configuration key `use_users_db`
 
150
  in the `couch_httpd_oauth` section.
 
151
* Documents in the _users database are no longer publicly
 
152
  readable.
 
153
* Confidential information in the _replication database is no
 
154
  longer publicly readable.
 
155
* Password hashes are now calculated by CouchDB. Clients are no
 
156
  longer required to do this manually.
 
157
* Cookies used for authentication can be made persistent by enabling
 
158
  the .ini configuration key `allow_persistent_cookies` in the
 
159
  `couch_httpd_auth` section.
 
160
 
 
161
Build System
 
162
------------
 
163
 
 
164
* cURL is no longer required to build CouchDB as it is only
 
165
  used by the command line JS test runner. If cURL is available
 
166
  when building CouchJS you can enable the HTTP bindings by
 
167
  passing -H on the command line.
 
168
* Temporarily made `make check` pass with R15B. A more thorough
 
169
  fix is in the works (:issue:`1424`).
 
170
* Fixed --with-js-include and --with-js-lib options.
 
171
* Added --with-js-lib-name option.
 
172
 
 
173
Futon
 
174
-----
 
175
 
 
176
* The `Status` screen (active tasks) now displays two new task status
 
177
  fields: `Started on` and `Updated on`.
 
178
* Futon remembers view code every time it is saved, allowing to save an
 
179
  edit that amounts to a revert.
 
180
 
 
181
HTTP Interface
 
182
--------------
 
183
 
 
184
* Added a native JSON parser.
 
185
* The _active_tasks API now offers more granular fields. Each
 
186
  task type is now able to expose different properties.
 
187
* Added built-in changes feed filter `_view`.
 
188
* Fixes to the `_changes` feed heartbeat option which caused
 
189
  heartbeats to be missed when used with a filter. This caused
 
190
  timeouts of continuous pull replications with a filter.
 
191
* Properly restart the SSL socket on configuration changes.
 
192
 
 
193
OAuth
 
194
-----
 
195
 
 
196
* Updated bundled `erlang_oauth` library to the latest version.
 
197
 
 
198
Replicator
 
199
----------
 
200
 
 
201
* A new replicator implementation. It offers more performance and
 
202
  configuration options.
 
203
* Passing non-string values to query_params is now a 400 bad
 
204
  request. This is to reduce the surprise that all parameters
 
205
  are converted to strings internally.
 
206
* Added optional field `since_seq` to replication objects/documents.
 
207
  It allows to bootstrap a replication from a specific source sequence
 
208
  number.
 
209
* Simpler replication cancellation. In addition to the current method,
 
210
  replications can now be canceled by specifying the replication ID
 
211
  instead of the original replication object/document.
 
212
 
 
213
Storage System
 
214
--------------
 
215
 
 
216
* Added optional database and view index file compression (using Google's
 
217
  snappy or zlib's deflate). This feature is enabled by default, but it
 
218
  can be disabled by adapting local.ini accordingly. The on-disk format
 
219
  is upgraded on compaction and new DB/view creation to support this.
 
220
* Several performance improvements, most notably regarding database writes
 
221
  and view indexing.
 
222
* Computation of the size of the latest MVCC snapshot data and all its
 
223
  supporting metadata, both for database and view index files. This
 
224
  information is exposed as the `data_size` attribute in the database and
 
225
  view group information URIs.
 
226
* The size of the buffers used for database and view compaction is now
 
227
  configurable.
 
228
* Added support for automatic database and view compaction. This feature
 
229
  is disabled by default, but it can be enabled via the .ini configuration.
 
230
* Performance improvements for the built-in changes feed filters `_doc_ids`
 
231
  and `_design`.
 
232
 
 
233
View Server
 
234
-----------
 
235
 
 
236
* Add CoffeeScript (http://coffeescript.org/) as a first class view server
 
237
  language.
 
238
* Fixed old index file descriptor leaks after a view cleanup.
 
239
* The requested_path property keeps the pre-rewrite path even when no VHost
 
240
  configuration is matched.
 
241
* Fixed incorrect reduce query results when using pagination parameters.
 
242
* Made icu_driver work with Erlang R15B and later.