1.18. 0.8.x分支

1.18.1. 0.8.1版-孵化

1.18.1.1. 构建和系统集成

  • 这个 couchdb 脚本不再使用 awk 因为这会导致可移植性问题。

  • 更新的 sudo 示例 README 使用 -i 选项,这将修复从目录调用 couchdb 用户无法访问。

1.18.1.2. 数据库核心

  • 修复复制问题,如果写入速度不够快,无法跟上读取速度,则可以备份写入队列。对于大型复制,这可能会耗尽内存并崩溃,或者显著降低计算机的速度。修复程序一次只在写入队列中保留一个文档。

  • 修正了数据库在压缩后有时错误地报告它们包含0个文档。

  • CouchDB现在使用ibrowse而不是inets来实现其内部HTTP客户机。这意味着更好的复制稳定性。

1.18.1.3. 蒲团

  • 视图选择器下拉列表现在应该可以在Opera和InternetExplorer中使用,即使它包含设计文档的optgroups。 (COUCHDB-81

1.18.1.4. JavaScript视图服务器

  • 由于与SpiderMonkey 1.9不兼容,文档的密封已被禁用。

  • 改进对映射函数发出的未定义值的错误处理。 (COUCHDB-83

1.18.1.5. HTTP接口

  • 修复了分块响应,其中块总是被分割成多个TCP包,这会导致Safari下的测试套件出现问题,以及在其他一些情况下。

  • 修复了为某些类型的视图返回的无效JSON响应体。 (COUCHDB-84

  • 修复了拒绝分块请求后未关闭的连接。 (COUCHDB-55

  • CouchDB现在可以绑定到IPv6地址。

  • HTTP协议 Server header现在包含CouchDB和Erlang的版本。

1.18.2. 0.8.0版-孵化

1.18.2.1. 构建和系统集成

  • CouchDB可以在服务器崩溃后自动重生。

  • 数据库服务器不再拒绝使用过时的PID文件启动。

  • 提供了系统logrotate配置。

  • 改善了对ICU共享库的处理。

  • 这个 couchdb 脚本现在自动启用Erlang中的SMP支持。

  • 这个 couchdbcouchjs 脚本的可移植性得到了改进。

  • 为了便于移植,构建和系统集成得到了改进。

1.18.2.2. 数据库核心

  • 视图引擎已与存储引擎完全分离。索引数据现在存储在单独的文件中,主数据库文件的格式已经更改。

  • 现在可以压缩数据库以回收用于删除文档和旧文档修订的空间。

  • 增加了对增量map/reduce视图的支持。

  • 为了支持map/reduce,设计文档的结构已经改变。视图值现在是至少包含 map 成员,以及可选的 reduce 成员。

  • 视图服务器现在按名称标识(例如 javascript )而不是按媒体类型。

  • 自动生成的文档ID现在基于使用加密模块的正确UUID生成。

  • 田野 content-type 在JSON中,附件的表示形式已重命名为 content_type (下划线)。

1.18.2.3. 蒲团

  • 在向文档中添加字段时,Futon现在只需添加一个自动生成名称的字段,而不是用对话框提示输入名称。名称会自动进入编辑模式,以便可以立即更改。

  • 当显示文档时,字段现在按名称的字母顺序排序。

  • Futon可用于创建和更新永久视图。

  • 现在可以调整数据库页上每页显示的最大行数。

  • Futon现在使用XMLHTTPRequest API异步地与CouchDB HTTP服务器通信,因此大多数操作不再阻塞浏览器。

  • 视图结果排序现在可以在升序和降序之间切换,方法是单击 Key 列标题。

  • 修复了包含 @ 无法查看字符。 (COUCHDB-12

  • 数据库页面现在提供了一个 Compact 触发数据库压缩的按钮。 (COUCHDB-38

  • 修正了文档id和其他URI段在许多情况下的端口双重编码。 (COUCHDB-39

  • 改进了附件的显示。

  • 由于未解决的许可问题,JavaScript Shell已被删除。

1.18.2.4. JavaScript视图服务器

  • SpiderMonkey不再包含在CouchDB中,而是作为一个正常的外部依赖项来处理。一个简单的C程序 (_couchjs )提供针对现有SpiderMonkey安装的链接,并使用解释器嵌入API。

  • 使用默认JavaScript视图服务器的视图函数现在可以使用全局 log(message) 功能。日志消息被定向到CouchDB日志中 INFO 水平。 (COUCHDB-59

  • 全球 map(key, value) 可用于查看代码的函数已重命名为 emit(key, value) .

  • 修复了视图函数引发的异常的处理。

1.18.2.5. HTTP接口

  • CouchDB现在使用MochiWeb而不是inets来实现HTTP服务器。这意味着inet需要额外的配置文件(例如 couch_httpd.conf )不再使用。

  • HTTP接口现在完全支持 HEAD 方法。 (COUCHDB-3

  • 改进的合规性 Etag 处理HTTP规范。 (COUCHDB-13

  • ETag不再包含在对文档的响应中 GET 包含查询字符串参数的请求,导致JSON响应在修订或URI未更改的情况下发生更改。

  • 批量文档更新API在请求端和响应端都略有变化。此外,批量更新现在是原子的。

  • CouchDB现在使用 TCP_NODELAY 修复某些平台上由于唠叨而导致的持续连接的性能问题。

  • 包括 ?descending=false 对视图的请求中的查询字符串参数不再引发错误。

  • 对未知顶级保留URL(任何带有前导下划线的内容)的请求现在返回一个 unknown_private_path 错误而不是混乱 illegal_database_name .

  • 临时视图处理现在需要一个JSON请求体,其中JSON是一个至少具有 map 成员,可选 reducelanguage 成员。

  • 临时视图不再根据 POST 而是通过寻找 language 请求的JSON主体中的成员。

  • 对的响应的状态代码 DELETE 请求现在是200,以反映删除是同步执行的。