Version 0.6 http://couchdb-python.googlecode.com/svn/tags/0.6.0 (Jul 2, 2009, from branches/0.6.x) * Compatible with CouchDB 0.9.x. * `schema.DictField` instances no longer need to be bound to a `Schema` (issue 51). * Added a `config` property to the `client.Server` class (issue 67). * Added a `compact()` method to the `client.Database` class (issue 37). * Changed the `update()` method of the `client.Database` class to simplify the handling of errors. The method now returns a list of `(success, docid, rev_or_exc)` tuples. See the docstring of that method for the details. * `schema.ListField` proxy objects now support the `__contains__()` and `index()` methods (issue 77). * The results of the `query()` and `view()` methods in the `schema.Document` class are now properly wrapped in objects of the class if the `include_docs` option is set (issue 76). * Removed the `eager` option on the `query()` and `view()` methods of `schema.Document`. Use the `include_docs` option instead, which doesn't require an additional request per document. * Added a `copy()` method to the `client.Database` class, which translates to a HTTP COPY request (issue 74). * Accessing a non-existing database through `Server.__getitem__` now throws a `ResourceNotFound` exception as advertised (issue 41). * Added a `delete()` method to the `client.Server` class for consistency (issue 64). * The `couchdb-dump` tool now operates in a streaming fashion, writing one document at a time to the resulting MIME multipart file (issue 58). * It is now possible to explicitly set the JSON module that should be used for decoding/encoding JSON data. The currently available choices are `simplejson`, `cjson`, and `json` (the standard library module). It is also possible to use custom decoding/encoding functions. * Add logging to the Python view server. It can now be configured to log to a given file or the standard error stream, and the log level can be set debug to see all communication between CouchDB and the view server (issue 55). Version 0.5 http://couchdb-python.googlecode.com/svn/tags/0.5.0 (Nov 28, 2008, from branches/0.5.x) * `schema.Document` objects can now be used in the documents list passed to `client.Database.update()`. * `Server.__contains__()` and `Database.__contains__()` now use the HTTP HEAD method to avoid unnecessary transmission of data. `Database.__del__()` also uses HEAD to determine the latest revision of the document. * The `Database` class now has a method `delete()` that takes a document dictionary as parameter. This method should be used in preference to `__del__` as it allow conflict detection and handling. * Added `cache` and `timeout` arguments to the `client.Server` initializer. * The `Database` class now provides methods for deleting, retrieving, and updating attachments. * The Python view server now exposes a `log()` function to map and reduce functions (issue 21). * Handling of the rereduce stage in the Python view server has been fixed. * The `Server` and `Database` classes now implement the `__nonzero__` hook so that they produce sensible results in boolean conditions. * The client module will now reattempt a request that failed with a "connection reset by peer" error. * inf/nan values now raise a `ValueError` on the client side instead of triggering an internal server error (issue 31). * Added a new `couchdb.design` module that provides functionality for managing views in design documents, so that they can be defined in the Python application code, and the design documents actually stored in the database can be kept in sync with the definitions in the code. * The `include_docs` option for CouchDB views is now supported by the new `doc` property of row instances in view results. Thanks to Paul Davis for the patch (issue 33). * The `keys` option for views is now supported (issue 35). Version 0.4 http://couchdb-python.googlecode.com/svn/tags/0.4.0 (Jun 28, 2008, from branches/0.4.x) * Updated for compatibility with CouchDB 0.8.0 * Added command-line scripts for importing/exporting databases. * The `Database.update()` function will now actually perform the `POST` request even when you do not iterate over the results (issue 5). * The `_view` prefix can now be omitted when specifying view names. Version 0.3 http://couchdb-python.googlecode.com/svn/tags/0.3.0 (Feb 6, 2008, from branches/0.3.x) * The `schema.Document` class now has a `view()` method that can be used to execute a CouchDB view and map the result rows back to objects of that schema. * The test suite now uses the new default port of CouchDB, 5984. * Views now return proxy objects to which you can apply slice syntax for "key", "startkey", and "endkey" filtering. * Add a `query()` classmethod to the `Document` class. Version 0.2 http://couchdb-python.googlecode.com/svn/tags/0.2.0 (Nov 21, 2007, from branches/0.2.x) * Added __len__ and __iter__ to the `schema.Schema` class to iterate over and get the number of items in a document or compound field. * The "version" property of client.Server now returns a plain string instead of a tuple of ints. * The client library now identifies itself with a meaningful User-Agent string. * `schema.Document.store()` now returns the document object instance, instead of just the document ID. * The string representation of `schema.Document` objects is now more comprehensive. * Only the view parameters "key", "startkey", and "endkey" are JSON encoded, anything else is left alone. * Slashes in document IDs are now URL-quoted until CouchDB supports them. * Allow the content-type to be passed for temp views via `client.Database.query()` so that view languages other than Javascript can be used. * Added `client.Database.update()` method to bulk insert/update documents in a database. * The view-server script wrapper has been renamed to `couchpy`. * `couchpy` now supports `--help` and `--version` options. * Updated for compatibility with CouchDB release 0.7.0. Version 0.1 http://couchdb-python.googlecode.com/svn/tags/0.1.0 (Sep 23, 2007, from branches/0.1.x) * First public release.