Dale Harvey

创建人: Dale Harvey
发布时间: 2018年6月21日

正如在一月份承诺的那样,是时候从我们的默认版本中删除WebSQL了. 这不仅使我们可以将开发精力集中在单个引擎上,还可以使用下面说明的其他更改将默认的PouchDB软件包大小从148KB减少到122KB,即缩小了17.5%!

Removed WebSQL

#6943 -WebSQL适配器仍可供下载和使用 ,它将不再作为默认PouchDB构建的一部分提供,最终将移至pouchdb-community存储库 . 如果您需要将用户从WebSQL迁移到IndexeDB,则在我们以前的版本中提供了一些建议.

Removed Promise Polyfill

#6945-包括我们自己的Promise polyfill意味着,如果大多数应用程序已经包含了自己的polyfill(如果需要),则它们将具有更大的捆绑包. 因此,如果您支持的浏览器本身不支持Promises,则您需要自己添加一个polyfill. 我们使用promise-polyfill并发现它的效果很好.

Switch to fetch

6944-如果您使用PouchDB并支持IE,这可能是另一个需要填充的 API,我们使用whatwg-fetch . 切换到访存使我们能够公开拦截PouchDB发出的请求的能力,从而获得更大的灵活性,例如:

var db = new PouchDB('http://example.com/dbname', {
  fetch: function (url, opts) {
    opts.headers.set('X-Some-Special-Header', 'foo');
    return PouchDB.fetch(url, opts);
  }
});

这将为PouchDB发出的每个HTTP请求添加一个X-Some-Special-Header .

Deterministic Revisions

#4642-现在,我们匹配CouchDB的默认行为,并使用文档内容来确定其版本,这意味着自动解决冲突的处理程序不太可能产生额外的冲突.

More Deprecations

  • #6946-删除调试部门
  • #7134-删除IndexedDB存储选项
  • 6944-删除不推荐使用的skipSetup

Fixes

  • 7040-在idb / indexeddb allDocs中使用定长数组
  • #6655-对复制进度值使用一致的类型
  • #7085-接受旧的Safari版本为有效
  • #7095-减少对服务器请求的复制
  • #7115-消除灾难性的回溯漏洞
  • #7127-修复db.query()选项的文档.减少默认值
  • 7141-修复iOS IDB Blob支持静默失败
  • 6502-当opts.live = true时将return_docs设置为默认false
  • 7126-调用之前检查level.destroy是否存在
  • #5814-确保前缀带有斜杠

Get in touch

与往常一样,我们欢迎社区提供反馈,并希望听听您对本发行版的看法以及PouchDB的未来发展方向. 请毫不犹豫提出问题取得联系 . 当然,还要感谢我们所有新的和现有的贡献者