1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
Version 0.8.0
(?? Jun 2008, from /incubator/couchdb/branches/0.8.x)
-------------------------------------------------------------------------------
Database Core:
* The view engine has been completely decoupled from the storage engine.
Index data is now stored in separate files, and the format of the main
database file has changed.
* Databases can now be compacted to reclaim space used for deleted documents
and old document revisions.
* Support for incremental map/reduce views has been added.
* To support map/reduce, the structure of design documents has changed. View
values are now JSON objects containing at least a "map" member, and
optionally a "reduce" member.
* View servers are now identified by name (for example "javascript") instead
of by MIME type.
* Automatically generated document IDs are now based on proper UUID
generation using the crypto module.
* The field "content-type" in the JSON representation of attachments has
been renamed to "content_type" (underscore).
HTTP Interface:
* CouchDB now uses MochiWeb instead of inets for the HTTP server
implementation. Among other things, this means that the extra configuration
files needed for inets (such as couch_httpd.conf) are no longer used.
* The HTTP interface now completely supports the HEAD method. (COUCHDB-3)
* Improved compliance of Etag handling with the HTTP specification.
(COUCHDB-13)
* Etags are no longer included in responses to document GET requests that
include query string parameters causing the JSON response to change without
the revision or the URI having changed.
* The bulk document update API has changed slightly on both the request and
the response side. In addition, bulk updates are now atomic.
* CouchDB now uses TCP_NODELAY to fix performance problems with persistent
connections on some platforms due to nagling.
* Including a `?descending=false` query string parameter in requests to views
no longer raises an error.
* Requests to unknown top-level reserved URLs (anything with a leading
underscore) now return a "unknown_private_path" error instead of the
confusing "illegal_database_name".
* The Temporary view handling now expects a JSON request body, where the JSON
is an object with at least a "map" member, and optional "reduce" and
"language" members.
* Temporary views no longer determine the view server based on the
Content-Type header of the POST request, but rather by looking for a
"language" member in the JSON body of the request.
* The status code of responses to DELETE requests is now 200 to reflect that
that the deletion is performed synchronously.
Javascript View Server:
* SpiderMonkey is no longer included with CouchDB, but rather treated as
a normal external dependency. A simple C program (_couchjs) is provided
that links against an existing SpiderMonkey installation and uses the
interpreter embedding API.
* View functions using the default Javascript view server can now do
logging using the global `log(message)` function. Log messages are
directed into the CouchDB log at INFO level. (COUCHDB-59)
* The global `map(key, value)` function made available to view code has been
renamed to `emit(key, value)`.
* Fixed handling of exceptions raised by view functions.
Build, Scripts, and System Integration:
* CouchDB can automatically respawn following a server crash.
* Database server no longer refuses to start with a stale PID file.
* System logrotate configuration provided.
* Improved handling of ICU shared libraries.
* The `couchdb` script now automatically enables SMP support in Erlang if
available.
Futon Utility Client:
* When adding a field to a document, Futon now just adds a field with an
autogenerated name instead of prompting for the name with a dialog. The
name is automatically put into edit mode so that it can be changed
immediately.
* Fields are now sorted alphabetically by name when a document is displayed.
* Futon can be used to create and update permanent views.
* The maximum number of rows to display per page on the database page can now
be adjusted.
* Futon now uses the XMLHTTPRequest API asynchronously to communicate with the
CouchDB HTTP server, so that most operations no longer block the
browser.
* View results sorting can now be switched between ascending and descending
by clicking on the "Key" column header.
* Fixed a bug where documents that contained a "@" character could not be
viewed. (COUCHDB-12)
* The database page now provides a "Compact" button to trigger database
compaction. (COUCHDB-38)
* Fixed portential double encoding of document IDs and other URI segments in
many instances. (COUCHDB-39)
* Improved display of attachments.
* The Javascript Shell has been removed due to unresolved licensing issues.
|