You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by Apache Wiki <wi...@apache.org> on 2010/02/22 09:37:26 UTC

[Couchdb Wiki] Update of "Breaking_changes" by SebastianCohnen

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for change notification.

The "Breaking_changes" page has been changed by SebastianCohnen.
The comment on this change is: added TOC; added more changes between 0.10.x and 0.11.0.
http://wiki.apache.org/couchdb/Breaking_changes?action=diff&rev1=18&rev2=19

--------------------------------------------------

+ = Breaking Changes =
+ <<TableOfContents(3)>>
+ 
  This page documents backwards-incompatible changes made during the evolution of CouchDB. While not all such changes will necessarily affect all users, most of them probably will. This page should show you what changed and how you'll need to adapt your code.
  
  == Changes Between 0.10.x and 0.11.0 ==
  
+ === show, list, update and validation functions ===
  The `req` argument to show, list, update and validation functions now contains the member `method` with the specified HTTP method of the current request. Previously, this member was called `verb`. `method` is following RFC 2616 (HTTP 1.1) closer.
+ 
+ === _admins -> _security ===
+ The /db/_admins handler has been removed and replaced with a /db/_security object. Any existing `_admins` will be dropped and need to be added to the security object again. The reason for this is that the old system made no distinction between names and roles, while the new one does, so there is no way to automatically upgrade the old admins list.
+ 
+ The security object has 2 special fields, `admins` and `readers`, which contain lists of names and roles which are admins or readers on that database. Anything else may be stored in other fields on the security object. The entire object is made available to validation functions.
+ 
+ === json2.js ===
+ JSON handling in the query server has been upgraded to use json2.js. This allows us to use faster native JSON serialization when it is available.
+ 
+ In previous versions, attempts to serialize `undefined` would throw an exception, causing the doc that emitted undefined to be dropped from the view index. The new behavior is to serialize undefined as `null`. Applications depending on the old behavior will need to explicitly check for undefined.
+ 
+ Another change is that E4X's XML objects will not automatically be stringified. XML users will need to call my_xml_object.toXMLString() to return a string value.
+ 
+ (see commit [[http://github.com/apache/couchdb/commit/8d3b7ab31c1289e1425d1f4f348b7ca0021ab7fe|8d3b7ab3]])
+ 
+ === WWW-Authenticate (popup) ===
+ The default configuration has been changed to avoid causing basic-auth popups which result from sending the WWW-Authenticate header. To enable basic-auth popups, uncomment the WWW-Authenticate line in local.ini.
+ 
+ === Query server line protocol ===
+ The query server line protocol has changed for all functions except map, reduce, and rereduce. This allows us to cache the entire design document in the query server process, which results in faster performance for common operations. It also gives more flexibility to query server implementators and shouldn't require major changes in the future when adding new query server features.
+ 
+ === UTF8 JSON ===
+ JSON request bodies are validated for proper UTF-8 before saving, instead of waiting to fail on subsequent read requests.
+ 
+ === _changes line format ===
+ Continuous changes are now newline delimited, instead of having each line followed by a comma.
+ 
  
  == Changes Between 0.9.x and 0.10.0 ==