1.16. 0.11.x分支

1.16.1. 升级说明

警告

0.11.2版本 包含重要的安全修复。上一个 0.11.x 不建议定期使用发行版。

1.16.1.1. 0.11.0和0.11.1之间的变化

  • _log_temp_views 现在是仅管理资源。
  • _bulk_docs 现在需要一个有效的 Content-Type 标题 application/json .
  • JSONP 默认情况下处于禁用状态。添加了一个.ini选项来选择性地启用它。
  • 这个 keystartkeyendkey 传递给的请求对象的属性 listshow 函数现在包含表示查询字符串中URL编码的字符串值的JSON对象。以前,这些属性包含需要在使用之前转换为JSON的字符串。

1.16.1.2. 在0.10.x和0.11.0之间更改

1.16.1.2.1. 显示、列出、更新和验证功能

这个 req show、list、update和validation函数的参数现在包含具有当前请求的指定HTTP方法的成员方法。以前,此成员被调用 verb . method 正在跟踪 RFC 2616 (HTTP 1.1)关闭。

1.16.1.2.2. _安全管理员

这个 /db/_admins handler has been removed and replaced with a /db/_security object. Any existing `_ admins`将被删除,需要重新添加到安全对象中。其原因是旧系统没有区分名称和角色,而新系统则有区别,因此无法自动升级旧的管理员列表。

安全对象有两个特殊字段, adminsreaders ,其中包含该数据库的管理员或读者的名称和角色列表。其他任何内容都可以存储在安全对象的其他字段中。整个对象可供验证函数使用。

1.16.1.2.3. json2.js

查询服务器中的JSON处理已升级为使用 json2.js . 这使我们能够在本地JSON序列化可用时使用更快。

在以前的版本中,尝试序列化undefined将引发异常,导致发出undefined的文档从视图索引中删除。新的行为是将undefined序列化为null。依赖于旧行为的应用程序将需要显式检查未定义的。

另一个变化是E4X的XML对象不会自动被字符串化。XML用户需要调用 my_xml_object.toXMLString() 返回字符串值。 #8d3b7ab3

1.16.1.2.4. WWW认证

默认配置已更改,以避免由于发送WWW Authenticate报头而导致的基本身份验证弹出窗口。要启用基本身份验证弹出窗口,请取消对config选项的注释 httpd/WWW-Authenticate 行在 local.ini .

1.16.1.2.5. 查询服务器线路协议

除了 mapreducerereduce . 这使我们能够在查询服务器进程中缓存整个设计文档,从而提高常见操作的性能。它还为查询服务器实现者提供了更大的灵活性,并且在将来添加新的查询服务器特性时不需要进行重大更改。

1.16.1.2.6. UTF8 JSON

在保存之前,JSON请求体验证UTF-8是否正确,而不是等待后续读取请求失败。

1.16.1.2.7. _更改行格式

连续更改现在用换行符分隔,而不是每行后面都有逗号。

1.16.2. 0.11.2版本

1.16.2.1. 认证

  • 用户文档现在可以被管理员或用户删除。

1.16.2.2. 蒲团

  • 添加Makefile中缺少的一些Futon文件。

1.16.2.3. HTTP接口

  • 对无效的URL请求提供更好的错误消息。

1.16.2.4. 复制因子

  • 修正了非管理员推送设计文档时的错误,这是因为没有好的理由而挂起了复制器。
  • 修复从需要基本身份验证的源中提取设计文档时的错误。

1.16.2.5. 安全性

1.16.3. 0.11版本

1.16.3.1. 构建和系统集成

  • 产量 couchdb --help 已经改进了。
  • 修正了与Erlang R14系列的兼容性。
  • 修复了Linux版本上的警告。
  • 修复了在生成期间需要调用aclocal时的生成错误。
  • 需要重症监护病房4.3.1。
  • 修复了与Solaris的兼容性。

1.16.3.2. 配置系统

  • 修正了大.ini文件超时的问题。

1.16.3.3. 蒲团

  • 在Futon中使用“expando links”来处理过长的文档值。
  • 添加了连续复制选项。
  • 添加了将测试结果匿名复制到社区CouchDB实例的选项。
  • 允许创建和删除配置项。
  • 修复了包含转义字符的文档ID的显示问题。
  • 修复了各种UI问题。

1.16.3.4. HTTP接口

  • 在活动任务和日志中屏蔽密码。
  • 更新mochijson2以允许bignum的输出不是浮点形式。
  • 添加了对X-HTTP-METHOD-OVERRIDE的支持。
  • 更好的数据库名称错误消息。
  • 默认情况下禁用jsonp。
  • 接受gzip编码的独立附件。
  • 使最大并发连接可配置。
  • 使更改API更加健壮。
  • 将新生成的文档版本发送给更新函数的调用方。

1.16.3.5. JavaScript客户端

  • 添加的测试沙发.js以及jquery.couch.js
  • 已将更改处理程序添加到jquery.couch.js.
  • 添加缓存破坏到jquery.couch.js如果用户代理是msie。
  • 增加了对多文档获取的支持(通过“所有文档”)到jquery.couch.js.
  • 已将附件版本控制添加到jquery.couch.js.
  • 添加了控制选项,以确保“完全”提交到jquery.couch.js.
  • 将列表功能添加到jquery.couch.js.
  • 修正了bulkSave()没有发送POST主体的问题。

1.16.3.6. 日志系统

  • 将HEAD请求记录为HEAD,而不是GET。
  • 将大量JSON blob从错误日志中排除。
  • 修正了超时问题。

1.16.3.7. 复制系统

  • 重构了与附件流相关的各种内部API。
  • 修复了挂起复制。
  • 修正了keepalive问题。

1.16.3.8. 安全性

  • 添加了登录客户端的身份验证重定向URL。
  • 修正了查询参数编码问题oauth.js版.
  • 使身份验证超时可配置。
  • 临时视图现在是仅供管理员使用的资源。

1.16.3.9. 存储系统

  • 附件存根不需要revpos。
  • 添加了检查功能,以确保在发送带有附件存根的revpos时,它是正确的。
  • 使文件删除异步,以避免压缩和数据库删除期间的暂停。
  • 修正了写入头并将其转换为块时的错误偏移,仅当头大于4k时触发。
  • 压缩后保留_revs_limit和实例启动时间。

1.16.3.10. 测试套件

  • 使测试套件整体上更加可靠。

1.16.3.11. 查看服务器

  • 提供一个UUID来更新函数(以及所有其他函数),这些函数可以用来创建新文档。
  • 升级CommonJS-modules-support至1.1.1版本。
  • 修正了erlang过滤器函数和规范化过滤器函数API。
  • 修正了挂起视图关闭。

1.16.3.12. URL重写器和Vhosts

  • 允许在重写器中使用更复杂的键。
  • 允许全局重写,以便vhost中的系统默认值可用。
  • 允许使用VHOST隔离数据库。
  • 修正了将变量传递给查询参数的问题。

1.16.4. 版本0.11.0

1.16.4.1. 构建和系统集成

  • 更新和改进源文档。
  • 在macosx上构建的固定分发准备。
  • 添加了作为“make dist”的一部分来构建Windows安装程序的支持。
  • 建筑缺陷修复沙发应用程序的模块列表。
  • ETap测试现在在makedistcheck期间运行。这包括对构建系统的一些更新,以正确地支持VPATH构建。
  • gavinmcdonald设置了一个buildbot实例。更多信息请访问http://ci.apache.org/buildbot.html

1.16.4.2. 蒲团

  • 添加了视图压缩按钮。
  • JSON字符串现在在document视图中按原样显示,没有换行和引号。这大大提高了多行字符串的可读性。
  • JSON字符串值的编辑也是如此。当提交对字段值的更改时,如果该值不是有效的JSON,则假定该值为字符串。这大大改进了多行字符串的编辑。
  • 在textareas中点击tab键不再将焦点移动到下一个表单域,而是在当前插入符号位置插入一个制表符字符。
  • 修正了一些字体声明。

1.16.4.3. HTTP接口

  • 为附件提供Content-MD5头支持。
  • 添加了URL重写器处理程序。
  • 添加了虚拟主机处理。

1.16.4.4. 复制

  • 添加了隐式创建复制目标数据库的选项。
  • 避免在自动复制重新启动时泄漏文件描述符。
  • 添加了按id复制文档列表的选项。
  • 允许取消连续复制。

1.16.4.5. 运行时统计

  • 统计信息现在是针对移动窗口而不是非重叠时间段计算的。
  • 修正了统计计时器和系统睡眠的问题。
  • 已将统计名称移动到priv目录中的术语文件。

1.16.4.6. 安全性

  • 修复了CVE-2010-0009:Apache CouchDB定时攻击漏洞。
  • 添加了默认的cookie身份验证和用户数据库。
  • 增加了用户注册和登录的Futon用户界面。
  • 添加了每个数据库读取器访问控制列表。
  • 为验证函数中的配置数据添加了每个数据库安全对象。
  • 添加了代理身份验证处理程序

1.16.4.7. 存储系统

  • 通过更新多个写入程序,可以提高多个写入程序的吞吐量。删除了现在冗余的couch_batch_save模块。
  • 添加附件的可配置压缩。

1.16.4.8. 查看服务器

  • 添加了可选的“raw”二进制排序规则,以便在Unicode排序规则不重要的情况下更快地生成视图。
  • 通过减少ICU排序规则标注,改进了视图索引生成时间。
  • 改进了视图信息对象。
  • 修复了视图生成期间部分更新的错误。
  • 将查询服务器移动到基于设计文档的协议。
  • 使用json2.js进行JSON序列化,以与本机JSON兼容。
  • couchjs的主要重构为禁用cURL支持打下基础。新的HTTP交互作用类似于同步XHR。新系统的示例用法在JavaScript CLI测试运行器中。