|
1 | 1 | Version 1.0 (2014-11-16)
|
2 | 2 | ------------------------
|
3 | 3 |
|
4 |
| - * Many smaller Python 3 compatibility issues have been fixed |
5 |
| - * Improve handling of binary attachments in the `couchdb-dump` tool |
6 |
| - * Added testing via tox and support for Travis CI |
| 4 | +* Many smaller Python 3 compatibility issues have been fixed |
| 5 | +* Improve handling of binary attachments in the `couchdb-dump` tool |
| 6 | +* Added testing via tox and support for Travis CI |
7 | 7 |
|
8 | 8 |
|
9 | 9 | Version 0.10 (2014-07-15)
|
10 | 10 | -------------------------
|
11 | 11 |
|
12 |
| - * Now compatible with Python 2.7, 3.3 and 3.4 |
13 |
| - * Added batch processing for the `couchdb-dump` tool |
14 |
| - * A very basic API to access the `_security` object |
15 |
| - * A way to access the `update_seq` value on view results |
| 12 | +* Now compatible with Python 2.7, 3.3 and 3.4 |
| 13 | +* Added batch processing for the `couchdb-dump` tool |
| 14 | +* A very basic API to access the `_security` object |
| 15 | +* A way to access the `update_seq` value on view results |
16 | 16 |
|
17 | 17 |
|
18 | 18 | Version 0.9 (2013-04-25)
|
19 | 19 | ------------------------
|
20 | 20 |
|
21 |
| - * Don't validate database names on the client side. This means some methods |
| 21 | +* Don't validate database names on the client side. This means some methods |
22 | 22 | dealing with database names can return different exceptions than before.
|
23 |
| - * Use HTTP socket more efficiently to avoid the Nagle algorithm, greatly |
| 23 | +* Use HTTP socket more efficiently to avoid the Nagle algorithm, greatly |
24 | 24 | improving performace. Note: add the `{nodelay, true}` option to the CouchDB
|
25 | 25 | server's httpd/socket_options config.
|
26 |
| - * Add support for show and list functions. |
27 |
| - * Add support for calling update handlers. |
28 |
| - * Add support for purging documents. |
29 |
| - * Add `iterview()` for more efficient iteration over large view results. |
30 |
| - * Add view cleanup API. |
31 |
| - * Enhance `Server.stats()` to optionally retrieve a single set of statistics. |
32 |
| - * Implement `Session` timeouts. |
33 |
| - * Add `error` property to `Row` objects. |
34 |
| - * Add `default=None` arg to `mapping.Document.get()` to make it a little more |
| 26 | +* Add support for show and list functions. |
| 27 | +* Add support for calling update handlers. |
| 28 | +* Add support for purging documents. |
| 29 | +* Add `iterview()` for more efficient iteration over large view results. |
| 30 | +* Add view cleanup API. |
| 31 | +* Enhance `Server.stats()` to optionally retrieve a single set of statistics. |
| 32 | +* Implement `Session` timeouts. |
| 33 | +* Add `error` property to `Row` objects. |
| 34 | +* Add `default=None` arg to `mapping.Document.get()` to make it a little more |
35 | 35 | dict-like.
|
36 |
| - * Enhance `Database.info()` so it can also be used to get info for a design |
| 36 | +* Enhance `Database.info()` so it can also be used to get info for a design |
37 | 37 | doc.
|
38 |
| - * Add view definition options, e.g. collation. |
39 |
| - * Fix support for authentication in dump/load tools. |
40 |
| - * Support non-ASCII document IDs in serialization format. |
41 |
| - * Protect `ResponseBody` from being iterated/closed multiple times. |
42 |
| - * Rename iteration method for ResponseBody chunks to `iterchunks()` to |
| 38 | +* Add view definition options, e.g. collation. |
| 39 | +* Fix support for authentication in dump/load tools. |
| 40 | +* Support non-ASCII document IDs in serialization format. |
| 41 | +* Protect `ResponseBody` from being iterated/closed multiple times. |
| 42 | +* Rename iteration method for ResponseBody chunks to `iterchunks()` to |
43 | 43 | prevent usage for non-chunked responses.
|
44 |
| - * JSON encoding exceptions are no longer masked, resulting in better error |
| 44 | +* JSON encoding exceptions are no longer masked, resulting in better error |
45 | 45 | messages.
|
46 |
| - * `cjson` support is now deprecated. |
47 |
| - * Fix `Row.value` and `Row.__repr__` to never raise exceptions. |
48 |
| - * Fix Python view server's reduce to handle empty map results list. |
49 |
| - * Use locale-independent timestamp identifiers for HTTP cache. |
50 |
| - * Don't require setuptools/distribute to install the core package. (Still |
| 46 | +* `cjson` support is now deprecated. |
| 47 | +* Fix `Row.value` and `Row.__repr__` to never raise exceptions. |
| 48 | +* Fix Python view server's reduce to handle empty map results list. |
| 49 | +* Use locale-independent timestamp identifiers for HTTP cache. |
| 50 | +* Don't require setuptools/distribute to install the core package. (Still |
51 | 51 | needed to install the console scripts.)
|
52 | 52 |
|
53 | 53 |
|
54 | 54 | Version 0.8 (Aug 13, 2010)
|
55 | 55 | --------------------------
|
56 | 56 |
|
57 |
| - * The couchdb-replicate script has changed from being a poor man's version of |
| 57 | +* The couchdb-replicate script has changed from being a poor man's version of |
58 | 58 | continuous replication (predating it) to being a simple script to help
|
59 | 59 | kick off replication jobs across databases and servers.
|
60 |
| - * Reinclude all http exception types in the 'couchdb' package's scope. |
61 |
| - * Replaced epydoc API docs by more extensive Sphinx-based documentation. |
62 |
| - * Request retries schedule and frequency are now customizable. |
63 |
| - * Allow more kinds of request errors to trigger a retry. |
64 |
| - * Improve wrapping of view results. |
65 |
| - * Added a `uuids()` method to the `client.Server` class (issue 122). |
66 |
| - * Tested with CouchDB 0.10 - 1.0 (and Python 2.4 - 2.7). |
| 60 | +* Reinclude all http exception types in the 'couchdb' package's scope. |
| 61 | +* Replaced epydoc API docs by more extensive Sphinx-based documentation. |
| 62 | +* Request retries schedule and frequency are now customizable. |
| 63 | +* Allow more kinds of request errors to trigger a retry. |
| 64 | +* Improve wrapping of view results. |
| 65 | +* Added a `uuids()` method to the `client.Server` class (issue 122). |
| 66 | +* Tested with CouchDB 0.10 - 1.0 (and Python 2.4 - 2.7). |
67 | 67 |
|
68 | 68 |
|
69 | 69 | Version 0.7.0 (Apr 15, 2010)
|
70 | 70 | ----------------------------
|
71 | 71 |
|
72 |
| - * Breaking change: the dependency on `httplib2` has been replaced by |
| 72 | +* Breaking change: the dependency on `httplib2` has been replaced by |
73 | 73 | an internal `couchdb.http` library. This changes the API in several places.
|
74 | 74 | Most importantly, `resource.request()` now returns a 3-member tuple.
|
75 |
| - * Breaking change: `couchdb.schema` has been renamed to `couchdb.mapping`. |
| 75 | +* Breaking change: `couchdb.schema` has been renamed to `couchdb.mapping`. |
76 | 76 | This better reflects what is actually provided. Classes inside
|
77 | 77 | `couchdb.mapping` have been similarly renamed (e.g. `Schema` -> `Mapping`).
|
78 |
| - * Breaking change: `couchdb.schema.View` has been renamed to |
| 78 | +* Breaking change: `couchdb.schema.View` has been renamed to |
79 | 79 | `couchdb.mapping.ViewField`, in order to help distinguish it from
|
80 | 80 | `couchdb.client.View`.
|
81 |
| - * Breaking change: the `client.Server` properties `version` and `config` |
| 81 | +* Breaking change: the `client.Server` properties `version` and `config` |
82 | 82 | have become methods in order to improve API consistency.
|
83 |
| - * Prevent `schema.ListField` objects from sharing the same default (issue 107). |
84 |
| - * Added a `changes()` method to the `client.Database` class (issue 103). |
85 |
| - * Added an optional argument to the 'Database.compact` method to enable |
| 83 | +* Prevent `schema.ListField` objects from sharing the same default (issue 107). |
| 84 | +* Added a `changes()` method to the `client.Database` class (issue 103). |
| 85 | +* Added an optional argument to the 'Database.compact` method to enable |
86 | 86 | view compaction (the rest of issue 37).
|
87 | 87 |
|
88 | 88 |
|
89 | 89 | Version 0.6.1 (Dec 14, 2009)
|
90 | 90 | ----------------------------
|
91 | 91 |
|
92 |
| - * Compatible with CouchDB 0.9.x and 0.10.x. |
93 |
| - * Removed debugging statement from `json` module (issue 82). |
94 |
| - * Fixed a few bugs resulting from typos. |
95 |
| - * Added a `replicate()` method to the `client.Server` class (issue 61). |
96 |
| - * Honor the boundary argument in the dump script code (issue 100). |
97 |
| - * Added a `stats()` method to the `client.Server` class. |
98 |
| - * Added a `tasks()` method to the `client.Server` class. |
99 |
| - * Allow slashes in path components passed to the uri function (issue 96). |
100 |
| - * `schema.DictField` objects now have a separate backing dictionary for each |
| 92 | +* Compatible with CouchDB 0.9.x and 0.10.x. |
| 93 | +* Removed debugging statement from `json` module (issue 82). |
| 94 | +* Fixed a few bugs resulting from typos. |
| 95 | +* Added a `replicate()` method to the `client.Server` class (issue 61). |
| 96 | +* Honor the boundary argument in the dump script code (issue 100). |
| 97 | +* Added a `stats()` method to the `client.Server` class. |
| 98 | +* Added a `tasks()` method to the `client.Server` class. |
| 99 | +* Allow slashes in path components passed to the uri function (issue 96). |
| 100 | +* `schema.DictField` objects now have a separate backing dictionary for each |
101 | 101 | instance of their `schema.Document` (issue 101).
|
102 |
| - * `schema.ListField` proxy objects now have a more consistent (though somewhat |
| 102 | +* `schema.ListField` proxy objects now have a more consistent (though somewhat |
103 | 103 | slower) `count()` method (issue 91).
|
104 |
| - * `schema.ListField` objects now have correct behavior for slicing operations |
| 104 | +* `schema.ListField` objects now have correct behavior for slicing operations |
105 | 105 | and the `pop()` method (issue 92).
|
106 |
| - * Added a `revisions()` method to the Database class (issue 99). |
107 |
| - * Make sure we always return UTF-8 from the view server (issue 81). |
| 106 | +* Added a `revisions()` method to the Database class (issue 99). |
| 107 | +* Make sure we always return UTF-8 from the view server (issue 81). |
108 | 108 |
|
109 | 109 |
|
110 | 110 | Version 0.6 (Jul 2, 2009)
|
111 | 111 | -------------------------
|
112 | 112 |
|
113 |
| - * Compatible with CouchDB 0.9.x. |
114 |
| - * `schema.DictField` instances no longer need to be bound to a `Schema` |
| 113 | +* Compatible with CouchDB 0.9.x. |
| 114 | +* `schema.DictField` instances no longer need to be bound to a `Schema` |
115 | 115 | (issue 51).
|
116 |
| - * Added a `config` property to the `client.Server` class (issue 67). |
117 |
| - * Added a `compact()` method to the `client.Database` class (issue 37). |
118 |
| - * Changed the `update()` method of the `client.Database` class to simplify |
| 116 | +* Added a `config` property to the `client.Server` class (issue 67). |
| 117 | +* Added a `compact()` method to the `client.Database` class (issue 37). |
| 118 | +* Changed the `update()` method of the `client.Database` class to simplify |
119 | 119 | the handling of errors. The method now returns a list of `(success, docid,
|
120 | 120 | rev_or_exc)` tuples. See the docstring of that method for the details.
|
121 |
| - * `schema.ListField` proxy objects now support the `__contains__()` and |
| 121 | +* `schema.ListField` proxy objects now support the `__contains__()` and |
122 | 122 | `index()` methods (issue 77).
|
123 |
| - * The results of the `query()` and `view()` methods in the `schema.Document` |
| 123 | +* The results of the `query()` and `view()` methods in the `schema.Document` |
124 | 124 | class are now properly wrapped in objects of the class if the `include_docs`
|
125 | 125 | option is set (issue 76).
|
126 |
| - * Removed the `eager` option on the `query()` and `view()` methods of |
| 126 | +* Removed the `eager` option on the `query()` and `view()` methods of |
127 | 127 | `schema.Document`. Use the `include_docs` option instead, which doesn't
|
128 | 128 | require an additional request per document.
|
129 |
| - * Added a `copy()` method to the `client.Database` class, which translates to |
| 129 | +* Added a `copy()` method to the `client.Database` class, which translates to |
130 | 130 | a HTTP COPY request (issue 74).
|
131 |
| - * Accessing a non-existing database through `Server.__getitem__` now throws |
| 131 | +* Accessing a non-existing database through `Server.__getitem__` now throws |
132 | 132 | a `ResourceNotFound` exception as advertised (issue 41).
|
133 |
| - * Added a `delete()` method to the `client.Server` class for consistency |
| 133 | +* Added a `delete()` method to the `client.Server` class for consistency |
134 | 134 | (issue 64).
|
135 |
| - * The `couchdb-dump` tool now operates in a streaming fashion, writing one |
| 135 | +* The `couchdb-dump` tool now operates in a streaming fashion, writing one |
136 | 136 | document at a time to the resulting MIME multipart file (issue 58).
|
137 |
| - * It is now possible to explicitly set the JSON module that should be used |
| 137 | +* It is now possible to explicitly set the JSON module that should be used |
138 | 138 | for decoding/encoding JSON data. The currently available choices are
|
139 | 139 | `simplejson`, `cjson`, and `json` (the standard library module). It is also
|
140 | 140 | possible to use custom decoding/encoding functions.
|
141 |
| - * Add logging to the Python view server. It can now be configured to log to a |
| 141 | +* Add logging to the Python view server. It can now be configured to log to a |
142 | 142 | given file or the standard error stream, and the log level can be set debug
|
143 | 143 | to see all communication between CouchDB and the view server (issue 55).
|
144 | 144 |
|
145 | 145 |
|
146 | 146 | Version 0.5 (Nov 29, 2008)
|
147 | 147 | --------------------------
|
148 | 148 |
|
149 |
| - * `schema.Document` objects can now be used in the documents list passed to |
| 149 | +* `schema.Document` objects can now be used in the documents list passed to |
150 | 150 | `client.Database.update()`.
|
151 |
| - * `Server.__contains__()` and `Database.__contains__()` now use the HTTP HEAD |
| 151 | +* `Server.__contains__()` and `Database.__contains__()` now use the HTTP HEAD |
152 | 152 | method to avoid unnecessary transmission of data. `Database.__del__()` also
|
153 | 153 | uses HEAD to determine the latest revision of the document.
|
154 |
| - * The `Database` class now has a method `delete()` that takes a document |
| 154 | +* The `Database` class now has a method `delete()` that takes a document |
155 | 155 | dictionary as parameter. This method should be used in preference to
|
156 | 156 | `__del__` as it allow conflict detection and handling.
|
157 |
| - * Added `cache` and `timeout` arguments to the `client.Server` initializer. |
158 |
| - * The `Database` class now provides methods for deleting, retrieving, and |
| 157 | +* Added `cache` and `timeout` arguments to the `client.Server` initializer. |
| 158 | +* The `Database` class now provides methods for deleting, retrieving, and |
159 | 159 | updating attachments.
|
160 |
| - * The Python view server now exposes a `log()` function to map and reduce |
| 160 | +* The Python view server now exposes a `log()` function to map and reduce |
161 | 161 | functions (issue 21).
|
162 |
| - * Handling of the rereduce stage in the Python view server has been fixed. |
163 |
| - * The `Server` and `Database` classes now implement the `__nonzero__` hook |
| 162 | +* Handling of the rereduce stage in the Python view server has been fixed. |
| 163 | +* The `Server` and `Database` classes now implement the `__nonzero__` hook |
164 | 164 | so that they produce sensible results in boolean conditions.
|
165 |
| - * The client module will now reattempt a request that failed with a |
| 165 | +* The client module will now reattempt a request that failed with a |
166 | 166 | "connection reset by peer" error.
|
167 |
| - * inf/nan values now raise a `ValueError` on the client side instead of |
| 167 | +* inf/nan values now raise a `ValueError` on the client side instead of |
168 | 168 | triggering an internal server error (issue 31).
|
169 |
| - * Added a new `couchdb.design` module that provides functionality for |
| 169 | +* Added a new `couchdb.design` module that provides functionality for |
170 | 170 | managing views in design documents, so that they can be defined in the
|
171 | 171 | Python application code, and the design documents actually stored in the
|
172 | 172 | database can be kept in sync with the definitions in the code.
|
173 |
| - * The `include_docs` option for CouchDB views is now supported by the new |
| 173 | +* The `include_docs` option for CouchDB views is now supported by the new |
174 | 174 | `doc` property of row instances in view results. Thanks to Paul Davis for
|
175 | 175 | the patch (issue 33).
|
176 |
| - * The `keys` option for views is now supported (issue 35). |
| 176 | +* The `keys` option for views is now supported (issue 35). |
177 | 177 |
|
178 | 178 |
|
179 | 179 | Version 0.4 (Jun 28, 2008)
|
180 | 180 | --------------------------
|
181 | 181 |
|
182 |
| - * Updated for compatibility with CouchDB 0.8.0 |
183 |
| - * Added command-line scripts for importing/exporting databases. |
184 |
| - * The `Database.update()` function will now actually perform the `POST` |
| 182 | +* Updated for compatibility with CouchDB 0.8.0 |
| 183 | +* Added command-line scripts for importing/exporting databases. |
| 184 | +* The `Database.update()` function will now actually perform the `POST` |
185 | 185 | request even when you do not iterate over the results (issue 5).
|
186 |
| - * The `_view` prefix can now be omitted when specifying view names. |
| 186 | +* The `_view` prefix can now be omitted when specifying view names. |
187 | 187 |
|
188 | 188 |
|
189 | 189 | Version 0.3 (Feb 6, 2008)
|
190 | 190 | -------------------------
|
191 | 191 |
|
192 |
| - * The `schema.Document` class now has a `view()` method that can be used to |
| 192 | +* The `schema.Document` class now has a `view()` method that can be used to |
193 | 193 | execute a CouchDB view and map the result rows back to objects of that
|
194 | 194 | schema.
|
195 |
| - * The test suite now uses the new default port of CouchDB, 5984. |
196 |
| - * Views now return proxy objects to which you can apply slice syntax for |
| 195 | +* The test suite now uses the new default port of CouchDB, 5984. |
| 196 | +* Views now return proxy objects to which you can apply slice syntax for |
197 | 197 | "key", "startkey", and "endkey" filtering.
|
198 |
| - * Add a `query()` classmethod to the `Document` class. |
| 198 | +* Add a `query()` classmethod to the `Document` class. |
199 | 199 |
|
200 | 200 |
|
201 | 201 | Version 0.2 (Nov 21, 2007)
|
202 | 202 | --------------------------
|
203 | 203 |
|
204 |
| - * Added __len__ and __iter__ to the `schema.Schema` class to iterate |
| 204 | +* Added __len__ and __iter__ to the `schema.Schema` class to iterate |
205 | 205 | over and get the number of items in a document or compound field.
|
206 |
| - * The "version" property of client.Server now returns a plain string |
| 206 | +* The "version" property of client.Server now returns a plain string |
207 | 207 | instead of a tuple of ints.
|
208 |
| - * The client library now identifies itself with a meaningful |
| 208 | +* The client library now identifies itself with a meaningful |
209 | 209 | User-Agent string.
|
210 |
| - * `schema.Document.store()` now returns the document object instance, |
| 210 | +* `schema.Document.store()` now returns the document object instance, |
211 | 211 | instead of just the document ID.
|
212 |
| - * The string representation of `schema.Document` objects is now more |
| 212 | +* The string representation of `schema.Document` objects is now more |
213 | 213 | comprehensive.
|
214 |
| - * Only the view parameters "key", "startkey", and "endkey" are JSON |
| 214 | +* Only the view parameters "key", "startkey", and "endkey" are JSON |
215 | 215 | encoded, anything else is left alone.
|
216 |
| - * Slashes in document IDs are now URL-quoted until CouchDB supports |
| 216 | +* Slashes in document IDs are now URL-quoted until CouchDB supports |
217 | 217 | them.
|
218 |
| - * Allow the content-type to be passed for temp views via |
| 218 | +* Allow the content-type to be passed for temp views via |
219 | 219 | `client.Database.query()` so that view languages other than
|
220 | 220 | Javascript can be used.
|
221 |
| - * Added `client.Database.update()` method to bulk insert/update |
| 221 | +* Added `client.Database.update()` method to bulk insert/update |
222 | 222 | documents in a database.
|
223 |
| - * The view-server script wrapper has been renamed to `couchpy`. |
224 |
| - * `couchpy` now supports `--help` and `--version` options. |
225 |
| - * Updated for compatibility with CouchDB release 0.7.0. |
| 223 | +* The view-server script wrapper has been renamed to `couchpy`. |
| 224 | +* `couchpy` now supports `--help` and `--version` options. |
| 225 | +* Updated for compatibility with CouchDB release 0.7.0. |
226 | 226 |
|
227 | 227 |
|
228 | 228 | Version 0.1 (Sep 23, 2007)
|
229 | 229 | --------------------------
|
230 | 230 |
|
231 |
| - * First public release. |
| 231 | +* First public release. |
0 commit comments