Kinto Web 服务 - 存储、同步、共享和自托管。
项目描述
金东
Kinto 是一个具有同步和共享能力的极简 JSON 存储服务。
要求
蟒蛇:3.7+
后端:内存中(开发),PostgreSQL 9.5+(生产)
变更日志
本文档描述了每个过去版本之间的更改。
14.7.2 (2022-04-13)
Bug修复
如果ResourceChanged事件是从事件侦听器(级联)触发的,则阻止它们合并(请参阅 mozilla/remote-settings#203)
14.7.1 (2022-03-30)
Bug修复
在包中包含 Kinto Admin VERSION 文件
内部变化
从构建的包中排除测试
14.7.0 (2022-03-30)
内部变化
CI 中的测试包描述格式
从源代码构建kinto-admin(现在是 2.0.0 版),而不是在create-react-app应用程序中安装<KintoAdmin />组件。(#2966)
金东管理员
内部变化
用自定义组件替换 react-breadcrumbs (Kinto/kinto-admin#2207)
将签核移至主组件树,移除插件系统 (Kinto/kinto-admin#2360)
使用环境变量设置 SINGLE_SERVER,弃用其他设置 (Kinto/kinto-admin#2373)
Bug修复
降级到历史 v4 (Kinto/kinto-admin#2180)
修复不正确的身份验证凭据导致的崩溃 (Kinto/kinto-admin#2119)
有关 Kinto 管理员更改的完整日志,请参阅v1.31.0…v2.0.0
14.6.1 (2022-02-03)
Bug修复
当设置被误解为资源权限时修复/permissions端点崩溃(例如signer.auto_create_resources_principals)
内部变化
更新Dockerfile和docker -compose以获得更快、可用的构建 (#2942)
添加一个 SECURITY.md 文件(修复 #2912)(#2918)
修复 coveralls.io 支持 (#2921)
删除重复的依赖项 (#2922)
14.6.0 (2021-11-16)
新的功能
现在在尾部斜杠重定向上发送Cache-Control响应标头。请参阅kinto.trailing_slash_redirect_ttl_seconds设置。
文档
修复 docs/tutorials/synchronisation.rst 中的查询参数拼写错误
Ref #2295:更新演示服务器的 URL (#2899)
内部变化
更新 authz consts 的导入路径和 Pyramid 2 的接口 (#2890)
14.5.1 (2021-10-18)
Bug修复
修复 kinto-admin 包,使用与上游包相同版本的 React #GroundhogDay
内部变化
添加 Selenium 测试以检测 Admin UI 打包问题 (#2880)
在发布挂钩中添加安全检查以确保kinto-admin的捆绑版本与插件包版本匹配(修复 #1562)
14.5.0 (2021-10-08)
新功能
添加kinto.version_prefix_redirect_ttl_seconds设置,以便在版本前缀重定向上发送Cache-Control响应标头(修复 #2874)
14.4.1 (2021-09-20)
Bug修复
修复 kinto-admin 包,使用与上游包相同版本的 React
14.4.0 (2021-09-16)
文档
修复 docs/images/architecture.svg 中的“negociation”错字(#2813)
内部变化
将 ujson 替换为 rapidjson。(#2677)
将 kinto-admin 升级到 v1.30.2
14.3.0 (2021-06-11)
文档
修复有关禁用端点的文档 (#2794)
内部变化
现在与 Pyramid 2 (#2764) 兼容
将 kinto-admin 升级到 v1.30.0
14.2.0 (2021-02-22)
新功能
允许轮换用户密码 hmac 机密而不轮换默认存储桶 id hmac 机密。(#2647)
文档
servicedenuages.fr 域已停放,将链接替换为 web.archive.org (#2720)
修复文档中损坏的 url (#2692)
内部变化
将 kinto-admin 升级到 v1.29.0
显示失败的差异。(#2723)
添加 GitHub Actions 工作流程 (#2677)
14.1.3 (2020-11-09)
重新打包kinto-admin
14.1.2 (2020-11-09)
内部变化
将 kinto-admin 升级到 v1.28.0
14.1.1 (2020-11-03)
Bug修复
修复损坏的 Kinto 管理员 (#2646)
内部变化
将 kinto-admin 升级到 v1.27.3
14.1.0 (2020-10-26)
新功能
添加在对象级别禁用显式权限的功能(参考 #893)。使用kinto.explicit_permissions = false仅依赖继承的权限(请参阅设置文档)
内部变化
区分存储后端中的只读错误 ( kinto.core.storage.exceptions.ReadonlyError )
将 kinto-admin 升级到 v1.27.0
添加对 Python 3.9 的支持
14.0.1 (2020-09-09)
Bug修复
不要破坏依赖json类属性的存储实现(即 kinto-redis)(在 v14.0.0 中删除)
不要为?_since=null返回 400 (修复 #2595)
14.0.0 (2020-08-13)
重大变化
删除strict_json选项,并在任何地方使用ultrajson
Bug修复
如果_since不是int或str ,则返回 400 (修复 #2495)
内部变化
将 kinto-admin 升级到 v1.26.2
13.6.6 (2020-06-26)
Bug修复
修复日志中的消息重复 (#2513)
修复资源时间戳的唯一性(修复 #2472、#602)
文档
参考术语表中的适当术语(#2486)
13.6.5 (2020-03-31)
Bug修复
简化 get_objects_permissions 查询 (#2475)
13.6.4 (2020-03-29)
安全修复
修复在多个端点上使用 POST 进行权限检查(修复 #2459)
Bug修复
将 CORS 标头应用于 EOL 响应 (#2452)
内部变化
从 postgresql/内存存储后端删除auth参数
删除了 pytest-sugar
13.6.3 (2020-01-29)
Bug修复
历史条目日期时间现在带有时区信息
修复kinto init命令 (#2375)
修复某些 URL 查询参数中的浮点字符串解析。(#2392)
内部变化
将 kinto-admin 升级到 v1.26.1
从存储后端方法中删除auth参数。
13.6.2 (2019-11-04)
Bug修复
第二次尝试修复 Kinto Admin 的加载 (#2322)
13.6.1 (2018-10-31)
Bug修复
修复加载 Kinto Admin (#2320)
13.6.0 (2019-10-24)
新的功能
添加Content-Security-Policy标头和报告 URI(修复 #2303)
内部变化
使用 package-lock 文件进行 Kinto Admin 打包
使用 isort 格式化导入(修复 #2270)
13.5.0 (2019-09-26)
内部变化
将帐户插件与内存后端一起使用时添加警告。(修复 #2258)
将 kinto-admin 升级到 v1.25.1
13.4.0 (2019-09-12)
内部变化
将 kinto-admin 升级到 v1.25.0
13.3.0 (2019-08-14)
Bug修复
防止在修改帐户元数据时修改密码(修复 #2058)
修复/__version__端点中的意外异常
将Content-Type添加到 default_cors_headers (refs #2220)
修复__user_data__上不允许的请求导致的崩溃(修复 #2063)
修复 READ 操作上的多个事件侦听器(修复 #1755)
新的功能
允许 StatsD 计数器增加任意数字
13.2.2 (2019-07-04)
Bug修复
修复管理员通知的外观(修复 #2191)
在比较 ConfigTest 中的时间戳时修复间歇性故障(修复 #2129)
13.2.1 (2019-06-21)
内部变化
将 kinto-admin 升级到 v1.24.1
13.2.0 (2019-06-18)
内部变化
将 kinto-admin 升级到 v1.24.0
13.1.1 (2019-05-23)
Bug修复
修复缓存心跳测试(修复 #2107)
修复对 PostgreSQL 后端的sqlalchemy.pool.NullPool的支持。在默认池类 ( QueuePoolWithMaxBacklog )上维护默认pool_size 25。使用自定义连接池时,请参阅 SQLAlchemy 文档以获取默认值。
内部变化
在核心测试中移除对 kinto-redis 的依赖
13.1.0 (2019-03-20)
新的功能
在 hello 页面的 user 字段中公开 user_profile。(#1989)
向帐户插件添加“帐户验证”选项。(#1973)
在/accounts/{user id}/validate/{validation key}添加一个验证端点,当帐户插件上启用帐户验证选项时,该端点可用于验证帐户。
在/accounts/(user id)/reset-password添加一个reset-password端点,当帐户插件上启用帐户验证选项时,可用于重置用户密码 。
Bug修复
修复了与可变默认值相关的两个潜在错误。
修复在验证数组中有错误的记录时崩溃 (#1508)
修复删除多个帐户时的崩溃 (#2009)
文档
修正拼写和过滤文档
内部变化
使用setup.cfg获取包元数据(参考 #1921)
API 现在是1.22版本。请参阅API 更改日志。
13.0.1 (2019-01-29)
Bug修复
放松 Kinto Admin 插件中的 Content-Security 策略,以防止 Webpack 内联脚本被拒绝(修复 #2000)
13.0.0 (2019-01-25)
重大变化
更新 Kinto OpenID 插件以使用 base64 JSON 编码令牌进行重定向。(#1988)。 这将适用于 kinto-admin 1.23
Bug修复
安全性:修复 PostgreSQL 后端中的分页错误,该错误可能会在集合之间泄漏记录
内部变化
将 kinto-admin 升级到 v1.23.0
12.0.2 (2019-01-25)
Bug修复
安全性:修复 PostgreSQL 后端中的分页错误,该错误可能会在集合之间泄漏记录
12.0.1 (2019-01-21)
Bug修复
修复删除 PostgreSQL 存储后端中的对象时墓碑时间戳的碰撞(修复 #1981)
修复多个端点上 DELETE 响应中的 ETag 标头(参考 #1981)
12.0.0 (2019-01-10)
重大变化
删除 Python 3.5 支持并升级到 Python 3.6。(#1886)
从 UnicityError 类中删除记录(#1919)。这使我们能够修复 #1545。
存储后端 API 发生了变化,集合和记录的概念被通用术语资源和对象取代。子类化内部 ShareableResource类的插件也可能会中断。
GET 请求不再包含Total-Records标头。要获得集合中的计数,您需要执行 HEAD 请求。新的标题名称是Total-Objects。(#1624)
删除UserResource类。并且ShareableResource现在已被弃用,取而代之的是Resource。
删除了 kinto.core.utils.parse_resource()`。改用 ``kinto.core.utils.view_lookup_registry() (#1828)
删除删除集合命令 (#1959)
API 现在是1.21版本。请参阅API 更改日志。
新的功能
在/__user_data__/添加一个用户数据端点,可用于删除与主体关联的所有数据。例如,这可能有助于追求 GDPR 合规性。(修复 #442。)
Bug修复
当使用非字符串值时,Like 查询现在返回 400。(#1899)
如果在集合架构中明确提及,则记录 ID 将被验证 (#1942)
remove_principal的内存权限后端实现 现在对删除的内容不那么慷慨了 (#1955)。
文档
将 PostgreSQL 后端 URL 更改为postgresql://而不是已弃用的postgres://
内部变化
删除映射的折旧警告(#1904)
修复折旧的警告方法 (#1903)
使用 f-string 而不是 % 或格式运算符。(#1886)
运行黑色时忽略管理插件 node_modules 文件夹 (#1902)
删除正则表达式 py36 警告。(#1907)
更改了 psycopg2 二进制文件的 psycopg2 依赖项。(#1905)
重命名核心概念(即记录和集合)(#710)
JSON Schema 验证通过缓存验证器实例进行优化。(#1807)
11.2.1 (2018-12-09)
在 3.0 作为生产版本发布之前仍然支持 jsonschema 2.6。(#1923)
11.2.0 (2018-11-29)
新的功能
如果找不到版本文件,则在__version__上返回500 内部错误而不是 404(修复 #1841)
Bug修复
修复/v1/端点中暴露的http_api_version 。版本1.20被解析为数字1.2。
修复记录:未从设置中考虑创建。(修复#1813)
内部变化
在 CI 上构建管理员。(#1857)
将 JSON 超模式迁移到 Draft-07 (#1808)
文档
添加有关解决 Auth0 多身份验证问题的文档。(#1889)
11.1.0 (2018-10-25)
新的功能
添加在设置中配置project_name的功能,显示在根 URL中(修复 #1809)
使用. 作为缓存控制设置中的桶/集合分隔符(修复#1815)
Bug修复
修复 kinto-admin 插件中丢失的图标和内联图像
内部变化
使用标准库中的模拟。
将整个代码库涂黑(#1799,非常感谢@Cnidarias!)
将 kinto-admin 升级到 v1.22
11.0.0 (2018-10-09)
重大变化
默认情况下不再使用 basicauth 策略 (# 1736 )
如果您的应用程序依赖于这种特定行为,您现在必须显式添加设置:
multiauth.policies = <s>basicauth</s>
但建议改用其他身份验证策略,如OpenID Connect或帐户插件。
# Enable plugin.
kinto.includes = <s>kinto.plugins.accounts</s>
# Enable authenticated policy.
multiauth.policies = <s>account</s>
multiauth.policy.account.use = <s>kinto.plugins.accounts.AccountsPolicy</s>
# Allow anyone to create their own account.
kinto.account_create_principals = <s>system.Everyone</s>
Bug修复
修复查询字符串过滤器包含 NUL (0x00) 字符时的崩溃(修复 #1704)
Kinto Admin UI 中修复了许多错误(请参阅v1.21.0)
文档
大量重构有关身份验证的文档 (#1736)
内部变化
将 kinto-admin 升级到 v1.21.0
弃用 assertEquals 并使用 assertEqual(修复 #1780)
将架构设置为实例而不是类(修复 #1781)
修复无法识别的反斜杠转义的 DeprecationWarning (#1758)
10.1.2 (2018-10-03)
Bug修复
修复 Kinto-Admin 中的 OpenID 登录 (Kinto/kinto-admin#641)
内部变化
将 kinto-admin 升级到 v1.20.2
10.1.1 (2018-09-20)
Bug修复
修复添加额外的 OpenId 提供程序(修复 #1509)
更改event.payload["timestamp"]的含义。以前它是@reify 'd,这意味着它是在任何事情触发事件之前计算出来的。现在我们使用“新鲜”时间戳。(修复 #1469。)
10.1.0 (2018-09-17)
Bug修复
删除集合不会删除其子项的 access_control_entrries(修复 #1647)
新的功能
注册表现在在一次性命令(例如kinto migrate )中具有“命令”属性。例如,这对于希望在迁移过程中表现不同的插件很有用。(#1762)
10.0.0 (2018-08-16)
重大变化
kinto.core.events.get_resource_events现在返回一个生成器而不是一个列表。
新的功能
包括 Python 3.7 支持。
kinto.core.events.notify_resource_event现在支持 resource_name和resource_data。当从一个视图“好像”它们来自另一个视图发出事件时,这些非常有用。
资源事件现在可以触发正确处理的其他资源事件。如果一个资源想要模拟另一个“虚拟”资源上的事件,这可能会很方便,例如kinto-changes。
Bug修复
如果kinto.plugin.accounts包含但未在策略中启用,则会引发配置错误。如果没有这个kinto-admin将呈现令人困惑的登录体验(修复 #1734)。
内部变化
将 kinto-admin 升级到 v1.20.0
9.2.3 (2018-07-05)
内部变化
升级到kinto-admin v1.19.2
9.2.2 (2018-06-28)
内部变化
升级到kinto-admin v1.19.1
9.2.1 (2018-06-26)
Bug修复
修复了未解析的 JSON 指针会导致服务器崩溃的错误(修复 #1685)
内部变化
使用新的 kinto –cache-backend 选项更新 Dockerfile。(#1686)
升级到kinto-admin v1.19.0
9.2.0 (2018-06-07)
API
JSON 模式现在可以在存储桶元数据中定义,并将应用于每个底层集合、组或记录(修复 #1555)
API 现在是1.20版本。请参阅API 更改日志。
新的功能
Kinto Admin 插件现在支持 OpenID Connect
使用内容安全策略将网络请求限制在 Kinto Admin 中的当前域
在kinto init中提示缓存后端类型(#1653)
kinto.core.utils 现在有新功能route_path_registry和 instance_uri_registry,适合在您周围不一定有请求对象时使用。现有功能将保持不变。
如果附加到授权端点,openid 插件将携带prompt=none查询字符串参数。
内部变化
升级到kinto-admin v1.18.0
9.1.2 (2018-05-31)
Bug修复
OpenID 插件对每个访问令牌使用相同的缓存键(修复 #1660)
9.1.1 (2018-05-23)
内部变化
GitHub 的正确拼写。
升级到kinto-admin v1.17.2
9.1.0 (2018-05-21)
API
如果子请求遇到 409 约束违规,批处理端点现在检查并中止任何父请求(修复 #1569)
Bug修复
修复使用分页删除时无法通过 Next-Header 到达最后一条记录的错误(修复 #1170)
对 Postgres 存储后端中的get_all查询进行了轻微优化,这对于具有大量记录的结果集 (#1622) 应该会更快。这是第一个旨在解决 #1507 的更改,但仍有更多工作要做。
修复批处理路由接受所有内容类型的错误(修复 #1529)
内部变化
升级到kinto-admin v1.17.1
9.0.0 (2018-04-25)
API
引入contains和contains_any过滤器运算符(修复 #343)。
API 现在是1.19版本。请参阅API 更改日志。
重大变化
存储类现在公开了 bump_timestamp()和bump_and_store_timestamp()方法,以便基于内存的存储后端可以使用它们。(#1596)
内部变化
身份验证策略现在可以硬编码并覆盖设置中指定的名称
文档
版本号取自包以简化发布过程 (#1594)
版权年份现在是动态的 (#1595)
内部变化
将 kinto-admin UI 升级到1.17.0
8.3.0 (2018-04-06)
安全修复
即使会话被缓存,也要验证帐户用户密码(修复 #1583)。自 Kinto 8.2.0 以来,帐户插件存在安全漏洞,即在会话期间未验证密码。
新的功能
在权限端点中添加存储桶和帐户创建权限(修复 #1510)
Bug修复
减少 OpenID 状态字符串长度以适应 PostgreSQL 缓存后端(修复 #1566)
文档
改进 OpenID 设置和 API 文档
内部变化
现在完全依赖 Pyup.io(或贡献者)来更新requirements.txt文件中的版本(修复 #1512)
从导入 pip 转移到在子进程中运行它(请参阅https://github.com/pypa/pip/issues/5081)。
使用 OpenID 策略时删除无用的打印 (ref #1509)
尝试从两个请求可以删除同一记录的竞争条件中恢复。(修复 #1557;参考 #1407。)
修复了内存后端中的一个错误,即在列表末尾分页会重新开始分页。(参考文献#1584。)
8.2.2 (2018-03-28)
内部变化
修复 8.2.1 中的 kinto-admin 依赖错误,真正升级到1.15.1
8.2.1 (2018-03-28)
内部变化
将 kinto-admin 升级到1.15.1版本
将newrelic升级到2.106.1.88
8.2.0 (2018-03-01)
新的功能
添加 Openid 连接支持(#939、#1425)。看演示
帐户插件现在缓存身份验证验证 (#1413)
Bug修复
修复启用默认存储桶插件时根 URL 中用户信息中缺少的主体(修复 #1495)
修复当 url 参数的值为空时 Postgresql 中的崩溃(修复 #1305)
内部变化
将 kinto-admin 升级到 1.15.0版本
8.1.5 (2018-02-09)
Bug修复
在 Postgres 存储后端 create() 方法中恢复“跳前查看”行为,以在运行 INSERT 查询之前检查记录是否存在 (#1487)。这个检查是“乐观的”,因为我们仍然可以在检查成功后插入失败,但它可以减少有很多 create() 的配置中的写入负载(即使用 default_bucket 插件时)。
8.1.4 (2018-01-31)
Bug修复
允许继承的资源在实例化之前设置自定义模型实例(修复 #1472)
当堆栈配置为只读时修复集合时间戳检索(修复 #1474)
8.1.3 (2018-01-26)
Bug修复
在我们只匹配一个object_id(或object_id前缀)的情况下,优化PostgreSQL权限后端的 delete_object_permissions函数。
8.1.2 (2018-01-24)
Bug修复
刷新服务器不再中断存储后端的迁移 (#1460)。如果您过去曾刷新过服务器,则迁移可能会中断。此版本的 Kinto 尝试猜测您正在运行的架构版本,但可能会猜错。有关其他信息,请参阅 https://github.com/Kinto/kinto/wiki/Schema-versions 。
内部变化
我们现在允许迁移权限后端的架构。
运营问题
Postgres 权限后端的架构已更改。这会将另一个 ID 列更改为使用“C”排序规则,这将在删除存储桶时加快delete_object_permissions查询。
8.1.1 (2018-01-18)
运营问题
Postgres 存储后端的架构已更改。这会更改更多 ID 列以使用“C”排序规则,从而修复了bump_timestamps触发器非常慢的错误。
8.1.0 (2018-01-09)
内部变化
更新 Docker compose 配置以使用 memcache 作为缓存后端 (#1405)
重构 postgresql.storage.create_from_settings 忽略设置的方式 (#1410)
运营问题
Postgres 存储后端的架构已更改。这会将一些 ID 列更改为使用“C”排序规则,这将使 delete_all查询更快。(参见例如https://www.postgresql.org/docs/9.6/static/indexes-opclass.html,其中说“如果您使用 C 语言环境,则不需要 xxx_pattern_ops 运算符类,因为带有默认运算符类可用于 C 语言环境中的模式匹配查询。”)这可能会更改默认排序顺序和记录 ID 的分组。
新的功能
新设置kinto.backoff_percentage仅在部分时间设置退避标头。
make tdd通过在每次更改文件时重新运行测试来允许以 TDD 样式进行开发。
Bug修复
优化 Postgres collection_timestamp 方法一个查询。它现在只进行两个查询而不是三个。
更新其他依赖项:newrelic 到 2.98.0.81(#1409),setuptools 到 38.4.0(#1411,#1429,#1438,#1440),pytest 到 3.3.2(#1412,#1437),raven 到 6.4。 0 (#1421), werkzeug 到 0.14.1 (#1418, #1434), python-memcached 到 1.59 (#1423), zest.releaser 到 6.13.3 (#1427), bravado_core 到 4.11.2 (#1426, #1441),statsd 到 3.2.2 (#1422),jsonpatch 到 1.21 (#1432),sqlalchemy 到 1.2.0 (#1430),sphinx 到 1.6.6 (#1442)。
8.0.0 (2017-11-29)
重大变化
存储后端不再支持ignore_conflict 参数 (#1401)。不要使用这个参数,而是考虑捕获 UnicityError并处理它。ignore_conflict只在一个地方使用过,在default_bucket插件中,并最终被取消以支持捕获和处理 UnicityError。
Bug修复
修复 Postgres 存储后端中的 TOCTOU 错误,其中执行create()的事务将失败,因为在事务检查后插入了一行 (#1376)。
7.6.2 (2017-11-28)
运营问题
Postgres ``storage`` 后端的架构已更改。这让我们可以防止同时删除和创建事物可能使其处于不一致状态的竞争条件 (#1386)。您必须运行kinto migrate命令才能迁移架构。
Bug修复
记录如何使用POST /accounts端点创建帐户 (#1385)。
内部变化
更新对 pytest 的依赖以移至 3.3.0 (#1403)。
更新其他依赖:setuptools 到 38.2.1 (#1380, #1381, #1392, #1395), jsonpatch 到 1.20 (#1393), zest.releaser 到 6.13.2 (#1397), paste-deploy 到 0.4.2 (#1384), webob 到 1.7.4 (#1383), simplejson 到 3.13.2 (#1389, #1390)。
撤消 kinto-admin 插件 (#1382) 中损坏的 kinto-http.js 的解决方法。
7.6.1 (2017-11-17)
Bug修复
修复 kinto-admin 加载。
7.6.0 (2017-11-16)
协议
当使用较旧的时间戳推送记录时,集合时间戳不会再增加。(#1361)
新的功能
kinto.core中提供了一个新的自定义日志格式化程序。它修复了 mozilla-cloud-services-logger的问题。考虑将您的日志记录设置迁移到:
[formatter_json] class = kinto.core.JsonLogFormatter
Bug修复
不要记录空的上下文值(参考 #1363)
修复了错误记录中的一些属性 (ref #1363)
修复了批处理子请求的方法/路径的日志记录(参考 #1363)
修复使用 Json Merge (#1322) 删除权限。
内部变化
将 PostgreSQL 辅助函数移至 Python 代码 (ref #1358)
7.5.1 (2017-10-03)
Bug修复
使用KINTO_INI 环境变量查找配置文件。(#1339)
修复PostgreSQL 后端的 create-user命令 (#1340)
确保create-user命令更新密码 (#1336)
7.5.0 (2017-09-27)
添加 memcached 缓存后端 (#1332)
7.4.1 (2017-09-01)
Kinto Admin 发布失败
7.4.0 (2017-08-30)
新的功能
添加一个create-user kinto 命令 (#1315)
Bug修复
修复可选字段上的分页标记生成 (#1253)
7.3.2 (2017-08-14)
Bug修复
PostgreSQL 缓存后端现在根据键对删除进行排序,这是一个定义明确的顺序,永远不会改变。(修复 #1308。)
内部变化
现在所有配置选项都显示为配置模板上的注释行 (#895)
如果添加了新的配置设置,则在 PR 模板上添加了有关更新配置模板的任务。
在测试中使用 json 而不是 ujson 存储 (#1255)
改进 Docker 容器以遵循 Dockerflow 建议(修复 #998)
7.3.1 (2017-07-03)
Bug修复
修复 Postgres 后端有关处理组合过滤器和 NULL 值的错误。
7.3.0 (2017-06-23)
新的功能
帐户插件现在允许帐户 ID 是电子邮件地址(修复 #1283)。
Bug修复
使主体出现在 account_create_principals中而不 出现在account_write_principals中是非法的。只有当这些用户是“管理员”时,将帐户创建限制为指定用户才有意义,这意味着他们在account_write_principals中。(修复 #1281。)
在创建没有 ID 的帐户时修复 500(修复 #1280)。
修复唯一用户计数器的 StatsD 不可解析的度量数据包(修复 #1282)
内部变化
将 kinto-admin 升级到 1.14.0 版本
7.2.2 (2017-06-22)
Bug修复
使用帐户插件时修复权限端点(修复 #1276)
7.2.1 (2017-06-20)
Bug修复
修复rebuild-quotas 脚本中缺少的collection_count字段。
如果没有必填字段,则修复导致验证始终成功的错误。
内部变化
升级到 Pyramid-tm 2(修复 #1187)
7.2.0 (2017-06-15)
API
使用 like 过滤现在可以包含通配符(例如?like_nobody=*you*)。因此,现在无法使用此运算符搜索*字符。
将查询字符串参数作为 JSON 编码值处理,以避免在它们应该是字符串的情况下将数字视为数字。(#1217)
引入has_ filter 运算符(修复 #344)。
API 现在是1.17版本。请参阅API 更改日志。
Bug修复
对 NULL 的处理以及如何在存储后端(PR #1258)中比较全范围的 JSON 值进行了一些更改。结合#1252,这应该修复#1215、#1216、#1217 和#1257,以及可能的其他一些问题。
修复使用 make serve 运行时的请求输出(修复 #1242)
修复权限端点上的分页(修复 #1157)
达到最大获取存储时修复分页(修复#1266)
当id或last_modified等内部字段被标记为必需时修复模式验证(修复 #1244)
恢复 JSON 模式验证错误的错误格式(已在 #1245 中更改)。
内部变化
添加对帐户插件的检查以避免与默认的基本身份验证策略冲突(修复 #1177)
添加有关 Kinto Admin 插件的文档(修复 #858)
7.1.0 (2017-05-31)
新功能
来自缓存后端的delete()方法现在返回删除的值(修复 #1231)
kinto rebuild-quotas脚本已编写,可以运行以修复由 #1226 造成的损坏(修复 #1230)。
Bug修复
default_bucket插件不再为已经存在的桶和集合发送虚假的“创建”事件。这会导致配额插件在与default_bucket插件一起使用时不再泄漏“配额” 。(#1226)
修复删除父对象时删除时间戳的问题(修复 #1233)
不允许重复使用删除令牌(修复 #1171)
帐户插件:修复身份验证异常。(#1224)
修复未知所需属性的 JSONSchema 验证崩溃(修复 #1243)
修复存储桶删除的错误,如果其他存储桶的 id 以相同的 id 开头,其他存储桶也可能被删除
修复管理员使用 PUT 创建的帐户的权限(参考 #1248)
修复管理员使用 POST 创建的帐户的所有权(修复 #1248)
内部变化
使内存存储在字节方面与 PostgreSQL 一致 (#1237)
关于使用 kinto.readonly 的一些小清理 (#1241)
7.0.1 (2017-05-17)
Bug修复
修复包中缺少的 package.json 文件。(#1222)
内部变化
将 kinto-admin 升级到 1.13.3 版本
7.0.0 (2017-05-15)
重大变化
刷新端点现在是kinto.plugins.flush的内置插件,应该使用配置文件的包含部分启用。 不再支持KINTO_FLUSH_ENDPOINT_ENABLED环境变量。(#1147)
与cliquet 的设置。不再支持前缀。
日志配置现在依赖于标准 Python 日志模块 (#1150)
前:
kinto.logging_renderer = <s>kinto.core.logs.ClassicLogRenderer</s>
现在:
[handler_console]
...
formatter = <s>color</s>
[formatters]
keys = <s>color</s>
[formatter_color]
class = <s>logging_color_formatter.ColorFormatter</s>
禁止在缓存后端存储字节。(#1143)
kinto.core.api重命名为kinto.core.openapi (#1145)
必须使用extra关键字(例如logger.info('msg', extra={a=1})而不是logger.info('msg', a=1) )记录有关消息的额外信息)(#1110, #1150)
缓存条目现在必须始终具有 TTL。cache.set()的ttl参数 现在是必需的(修复 #960)。
kinto.core.testing.BaseWebTest 中的get_app_settings ()现在是一个类方法 (#1144)
协议
现在可以使用简单的PUT创建组(修复 #793)
批处理请求现在在未知属性上引发400 (#1163)。
协议现在是1.16版本。请参阅API 更改日志。
新的功能
包含管理插件时强制执行权限端点(修复 #1059)
使用 WARN 级别记录访问控制失败(修复 #1074)
添加了一个实验性的 Accounts API,允许用户注册修改他们的密码或删除他们的帐户(修复 #795)
Bug修复
修复内存后端有时显示空权限 (#1045)
允许使用 PUT 请求和空主体创建默认存储桶(修复 #1080)
排除数值列表时修复 PostgreSQL 后端(修复 #1093)
修复ignore_conflict存储后端创建方法参数以保留现有而不是覆盖它。(#1134)
修复默认存储桶中隐式创建所产生的事件记录受影响 (#1137)
删除了 Structlog 绑定和瓶颈(修复 #603)
修复了金字塔路线中带有子路径和正则表达式的 Swagger 输出(修复 #1180)
修复了在查询字符串数字过滤器中指定空值时出现的 Postgresql 错误。(修复 #1194)
当查询字符串包含错误字符时,返回 400 Bad Request 而不是崩溃。(修复 #1195)
修复 PostgreSQL 后端在删除存储桶时删除其他存储桶和集合中的同名记录。(修复 #1209)
在 PostgreSQL storage.update()中使用 upsert 修复删除的竞争条件(修复 #1202)
在替换对象的权限时修复 PostgreSQL 后端竞争条件(修复 #1210)
在启用配额插件的情况下删除多个存储桶时修复崩溃(修复 #1201)
内部变化
不要将整个 Kinto Admin 包保存在 repo 中(修复 #1012)
从自定义代码事件侦听器教程中删除电子邮件示例(修复 #420)
从资源中删除了无用的日志信息(参考 #603)
确保带前缀的用户 ID 在主体中始终位于首位
在 PostgreSQL 上运行功能测试
使用 Pyramid 1.9a 修复测试
删除配额插件中的无用删除
将 kinto-admin 升级到 1.13.2 版本
6.0.0 (2017-03-03)
重大变化
删除 Python 2.7 支持并升级到 Python 3.5。(#1050)
将最小 PostgreSQL 支持升级到 PostgreSQL 9.5 (#1056)
--ini参数现在位于子命令名称之后 (#1095 )
协议
修复了If-Match行为以匹配 RFC 2616 规范 (#1102)。
当违反某些后端完整性约束(而不是503 )时,现在返回409 Conflict错误响应(参考 #602)
协议现在是1.15版本。请参阅API 更改日志。
Bug修复
防止在 PostgreSQL 权限后端注入 (#1061)
修复If-Match 崩溃: * (#1064)
处理查询字符串参数中的整数溢出。(#1076)
Flush 端点现在返回一个空的 JSON 对象而不是 HTML 页面 (#1098)
修复嵌套排序键破坏分页标记。(#1116)
从墓碑上的PUT请求中删除已删除的字段。(#1115)
修复在权限端点上使用前提条件时崩溃(修复 #1066)
修复 PostgreSQL 后端的资源时间戳更新 (#1125)
使用 Pyramid 1.8 (#1095) 修复 pserve 参数排序
内部变化
更新 upsert 查询以对 CONFLICT 行为使用 INSERT 或 UPDATE(修复 #1055)
删除 pypy 支持。(#1049)
权限模式子字段现在在初始化期间设置,而不是在反序列化时设置 (#1046)。
请求模式(包括验证和反序列化)现在按方法和端点类型隔离(#1047)。
将通用 API 模式(例如 TimeStamps 和 HeaderFields)从kinto.core.resource.schema 移动 到 kinto.core.schema 上的单独文件。(#1054)
将 kinto-admin 升级到版本 1.10.0 (#1086, #1128)
升级到 Pyramid 1.8 (#1087)
用功能测试替换旧的负载测试 (#1085)
使用Cornice Swagger而不是合并 YAML 文件来生成 OpenAPI 规范。
使用default_bucket插件和使用 PostgreSQL 9.5+ ON CONFLICT子句的 PostgreSQL 后端优雅地处理UnicityError 。(#1122)
5.3.2 (2017-01-31)
Bug修复
在出现 BackendError 的情况下重试在 PostgreSQL 缓存后端中设置值(修复 #1052)
5.3.1 (2017-01-30)
Bug修复
在 IntegrityError 的情况下重试在 PostgreSQL 缓存后端设置值(修复 #1035)
内部变化
从视图集中接受的类型中删除 JSON Patch 内容类型,因为它是在单独的视图中处理的 (#1031)。
升级到 Kinto-Admin 1.8.1
从服务器配置中配置 Kinto Admin 身份验证方法 (#1042)
5.3.0 (2017-01-20)
Bug修复
当请求列表包含尾随逗号时修复批处理端点崩溃(修复#1024)
内部变化
缓存后端事务不再绑定到请求/响应周期(修复 #879)
在贡献文档中快速提及 PostgreSQL 命令以在本地运行测试。
对 swagger 文件使用 YAML