跳转到主要内容

微服务API工具包

项目描述

Cliquet

pypi travis Coverage Documentation Status

Cliquet 是一个工具包,用于简化 HTTP 微服务的实现,例如数据驱动的 REST API。

变更日志

本文件描述了每个过去版本之间的更改。

3.1.5 (2016-05-17)

错误修复

  • 防止浏览器在两次会话之间缓存服务器响应。(#593)

3.1.4 (2016-05-10)

错误修复

  • 当启用 trailing_slash_redirect 时,将版本前缀重定向到 hello 页面。(#700)

  • 修复使用 PostgreSQL 权限后端设置空权限列表时的崩溃(修复 Kinto/kinto#575)

  • 修复查询字符串中 exclude/include 的值类型错误时的崩溃(修复 Kinto/kinto#587)

  • 修复在使用 PostgreSQL 权限后端时提供重复的 principal 的权限时的崩溃(修复 #702)

3.1.3 (2016-04-29)

错误修复

  • 修复从 <3.0.0 升级时 PostgreSQL 存储后端触发器的迁移。运行 migrate 命令将基本上重新创建它们(修复 Kinto/kinto#559)

文档

  • 修复文档中的某些拼写错误(#696)

  • 更新链接到 readthedocs(#697)

3.1.2 (2016-04-19)

错误修复

  • 修复当记录以前存在具有相同 id 时创建安全请求(Kinto/kinto#512)

新功能

  • 为缓存后端添加了 cache_prefix 设置。(#680)

3.1.1 (2016-04-05)

错误修复

  • 允许使用 PostgreSQL 后端进行数值比较和排序。(#690)

3.1.0 (2016-03-07)

协议

  • 添加了 __lbheartbeat__ 端点,用于负载均衡器成员资格测试。

新功能

  • 默认控制台日志渲染器现在有颜色(#671)

错误修复

  • 当请求头 If-None-Match: *POST /collection 上发送时,不总是返回 412 错误(修复 #673)

内部更改

  • 在初始化时删除一些导入以提高启动速度(#674)

3.0.0 (2016-02-26)

破坏性更改

  • 在执行 ResourceChanged 事件订阅者时不再吞咽错误。

    订阅者仍然像以前一样在事务中执行。

    即使事务最终回滚,订阅者也会执行。每个订阅者执行成功,或者都不成功。

    因此,这些事件的订阅者应仅执行在事务回滚时可以反转的操作:最可能是数据库存储操作。

    对于不可逆操作,请参阅新的 AfterResourceChanged 事件。

协议

  • 仅在当前 URL 不存在时,客户端才会重定向到不带尾斜杠的 URL(#656)

  • 现在可以指定嵌套对象的部分响应(#660,Kinto/kinto#445)。例如,/records?_fields=address.street

  • 列表响应现在默认按最后修改时间降序排序(#662,感谢 @ayusharma)

新功能

  • 资源事件现在合并到批量请求中。当事务提交时,每个资源每个操作的每个事件都会发射(#634)

  • 监控事件监听器执行时间(修复 #503)

  • 添加了从每个用户中删除 principal 的方法

  • 验证客户端是否可以接受 JSON 响应。(#667)

  • 验证客户端是否只能发送 JSON 请求体。(#667)

  • 添加了一个新的 AfterResourceChanged 事件,仅在数据库提交完成且成功时发送。

    此事件的订阅者可能会失败,错误将被吞咽并记录。最终事务结果(或响应)无法更改。

    由于提交成功且操作不会回滚,运行不可逆操作的订阅者应订阅此事件(如发送消息、删除文件或运行异步任务)。

  • 跟踪每个身份验证子策略的执行时间(#639)

  • 使用 –version 输出 cliquet 版本(#636)

错误修复

  • 如果批子请求失败(#634),则不会发出ResourceChanged事件。如果整个批事务最终回滚,则仍然会发出。

  • 修复了在#604中引入但从未执行过的PostgreSQL模式迁移。

  • 修复了集合为空时PostgreSQL后端的时间戳(参考Kinto/kinto#433)。

  • 修复了存储上的statsd初始化(#637)。

  • 在删除时提供无效的最后修改值现在返回400(#665)。

  • 在删除时提供过去的时间作为最后修改值现在遵循创建/更新的行为(#665)。

内部更改

  • utils.current_service(request)移动到具象请求方法(参考#631)。

  • 优化(并清理)了(非)认证的userid的使用(#641)。

  • 在伪造请求上应用请求扩展(参考Kinto/kinto#438)。

  • 删除自定义枚举(修复#645)。

  • 更新了Pyramid配置链接(#654,感谢@ayusharma)。

  • 为PostgreSQL中的读操作添加了缺少的只读参数(#653)。

  • 将“Retry-After”移动到文档中的错误响应中(#657)。

  • 改进了批端点文档关于事务的内容(参考#629)。

  • 更新了Mac OS python安装命令(#661)。

  • 添加了关于强制时间戳的详细信息(#665)。

  • 在文档中添加了故障排除部分(感谢@ayusharma)。

2.15.0 (2016-01-27)

协议

  • 在JSON响应中不再对斜杠(/)进行转义(#537)。

  • API功能现在可以暴露在根URL中的capabilities属性中(#628)。客户端可以依赖这一点来检测服务器上的可选功能(例如启用的插件)。

错误修复

  • 批操作现在依赖于自定义视图响应(@viewconfig(context=Error))(修复mozilla-services/syncto#78,rel #629)。

  • 修复了启动时监听器名称记录的问题(#626)。

新功能

  • 用于在设置中配置身份验证的策略名称现在用于用户ID前缀和StatsD authn_type计数器。

2.14.0 (2016-01-15)

协议

  • 可以使用查询字符串中的_fields=f1,f2来过滤GET请求中的字段(修复#384)。

新功能

  • 添加了从查询字符串中过滤字段的能力(#601,感谢@MrChoclate)。

  • 在启动时检查后端配置(修复Kinto/kinto#228)。

错误修复

  • 在批请求中不要覆盖原始错误消息和详细信息(修复#617)。

  • 修复了插件无法使用自定义请求方法的问题(#618)。

  • 不要在日志中重复记录批子请求(修复#450,修复Kinto/kinto#264)。

内部更改

  • 重构事件过滤以使用Pyramid订阅者谓词(修复#609)。

  • 重构记录导入(修复#102)。

2.13.1 (2015-12-15)

错误修复

  • 修复了python3中的hmac摘要(修复Kinto/kinto#288)。

文档

  • 修复了RHEL包管理器命令中的拼写错误(#610,感谢@FooBarQuaxx)。

2.13.0 (2015-12-01)

错误修复

  • 修复了通过设置强制限制时的分页结果中重复记录的问题(修复#588)。

新功能

  • 在更新或创建记录时允许保留记录的last_modified字段。这对于远程集合的复制很有用(修复#604)。

内部更改

  • 更新了文档以更好地解释如何处理版本控制(修复#603)。

2.12.0 (2015-11-27)

协议

根URL(hello视图)中的一些小变化。

  • 添加了http_api_version(#600)。

  • hello重命名为project_name

  • protocol_version重命名为cliquet_protocol_version

  • documentation重命名为project_docs

  • version重命名为project_version

破坏性更改

  • 当使用cliquet-fxa时,必须将设置multiauth.policy.fxa.use显式设置为cliquet_fxa.authentication.FxAOAuthAuthenticationPolicy

  • 根视图中的一些字段已被重命名(#600)。

错误修复

  • 在设置组件(如authn/authz)之后包含插件,以便插件可以注册具有权限检查的视图。

  • ResourceChanged事件中影响记录值的__permissions__中删除(#586)。

新功能

  • 在监听器配置中添加了新选项,以指定过滤的操作和资源名称(#492,#555)。

  • 添加监听资源读取操作的权限(默认禁用)(#493)

  • 添加通过GET端点上的_fields参数请求部分响应的能力

内部

  • 修复快速入门文档中的一些细节,因为后端不再是Redis默认的

  • 由于当Python以-O运行时,前者可以被忽略,因此将assert的使用替换为显式异常(修复#592)

  • 改进了关于权限的文档(#572,感谢@MrChoclate的反馈)

  • 修复了在Python 3下构建文档的问题(#591)

2.11.0 (2015-11-17)

协议

  • _since_before现在可以接受一个在引号内的整数值,就像它会在ETag响应头中返回的那样。

  • 如果其中一个子请求失败,批处理请求现在会失败(#510)(请参阅关于事务的新功能

破坏性更改

  • 对于PostgreSQL后端,建议指定postgresql://

新功能

  • 事务现在覆盖整个请求/响应周期(#510,Kinto/kinto#194)。如果在请求处理过程中发生错误,则执行的所有操作都会回滚。注意:这仅在PostgreSQL后端上启用。换句话说,回滚对RedisMemory等后端没有影响。

  • protocol_version添加到hello页面,以告诉服务实现了哪个协议版本。(#324)

  • 使用PostgreSQL时,为后端添加了新设置:*_pool_maxoverflow*_pool_recycle*_pool_timeout,以控制连接池的行为。

  • 添加自定义池,支持一个限制等待连接的线程数的max_backlog参数(#509)

  • ResourceChanged事件上添加了impacted_records属性(#501)。这也允许监听器对特定字段的更改做出反应,因为提供了记录的旧版本和新版本。

错误修复

  • 修复了当插件包含时服务CORS未设置的问题

  • 修复了如果记录的父项/ID是unicode时Redis后端崩溃的问题(修复#556)

  • 修复了权限后端的主体默认未插入的问题(修复#573)

  • 修复了Redis错误跟踪未记录的问题(修复#560)

  • 修复了权限后端的主体默认未插入的问题。(修复#573)

  • 在某些情况下维护分页偏移量,以防止分页循环。(#366)

内部更改

  • 切换到SQLAlchemy以实现更智能的连接池。

  • Loads上添加了一个简单的端到端测试,使用Cliquet示例应用程序。(修复#512)

  • 切换到SQLAlchemy会话而不是原始连接和游标。(#510)

  • 重构Redis客户端实例化以避免重复的默认值。(#567,#568)

  • 在包含插件之前初始化Service类的属性。(#578)

  • 添加了一个statsd_count辅助函数,以简化statsd的使用。(#574)

  • 在缺少PostgreSQL依赖项时提及SQLAlchemy。(#545)

2.10.2 (2015-11-10)

错误修复

  • 修复了与ProtectedResource共享记录的问题(修复#549)

  • 修复了受保护资源上的通知(修复#548)

  • 记录任何心跳异常(修复#559)

  • 修复了如果记录的父项/ID是unicode时Redis后端崩溃的问题(修复#556)

  • 修复了Redis客户端实例化(修复#564)

2.10.1 (2015-11-03)

错误修复

  • 确保在只读模式下激活读取端点(GET,OPTIONS,HEAD)。(#539)

2.10.0 (2015-10-30)

协议

  • userid属性移至hello视图中专门的user映射。

  • 修复了503错误消息,除了不可用之外还提到了后端错误。

  • 仅当匿名时设置缓存头(修复#449)

  • 在批处理子请求中遵循重定向(修复#511)

  • 在重新创建之前已删除的记录时,状态码现在是201(参考#530)。

新功能

  • 在批处理子请求中遵循重定向(修复#511)

  • 为服务以只读模式运行添加一个 readonly 设置。(#525)

  • 如果没有设置客户端缓存,默认添加 Cache-Control: no-cache,以便强制客户端重新验证其缓存与服务器。(#522,参考 Kinto/kinto#231)

错误修复

  • 修复在受保护资源中删除空集合时 PostgreSQL 错误(修复 #528)

  • 修复当存在 tombstone 时存储后端中不使用 create() 方法进行 PUT 操作(修复 #530)

  • 当记录被重新创建时删除 tombstone(修复 #518)

  • 修复 PATCH 为空体时的崩溃(修复 #477,修复 #516)

  • 修复 404 错误消息中的英文拼写错误(修复 #527)

内部更改

  • 改进 __pycache__ 清理

2.9.0 (2015-10-27)

新功能

  • 添加了 Pyramid 事件,当资源内容发生变化时触发。(#488)

  • 添加 cliquet.includes 设置,允许在 Cliquet 初始化后加载插件(与 pyramid.includes 不同)(#504)

协议

  • 从欢迎页面中移除损坏的 git 修订 commit 字段。(#495)。

破坏性更改

  • 重命名内部后端类以实现更好的一致性。设置保持不变,但如果您在 Cliquet 应用程序中导入了后端类,则可能会损坏。(#491)

  • cliquet.schema 现已弃用,并已移动到 cliquet.resource 模块。(#505)

  • 资源集合属性现已弃用。请使用 model 属性代替。(#506)

内部更改

  • 重新设计 PostgreSQL 后端,以使用组合而不是继承来处理客户端代码。(#491)

  • 在 PostgreSQL 模式中用条件创建代替 DROP INDEX。(#487,#496 感谢 @rodo)

  • 文档和视图集代码中的小重构(#490,#498,#502)

  • 添加 build-requirementsdistcleanmaintainer-clean Makefile 规则。

  • 文档 JSON 补丁格式。(#484)

  • 修复 412 错误中记录字段之间的权限问题。(#499)

2.8.2 (2015-10-22)

错误修复

  • 修复设置具有列表值时的崩溃。(#481)

  • 修复 Redis 权限后端中的崩溃(参考 Kinto/kinto#215)

内部更改

  • 使用虚拟环境中的 tox 安装。(#486)

  • 跳过 tox 中不可用的 Python 版本。(#486)

2.8.1 (2015-10-14)

  • 公开设置,不带前缀,除非我们显式配置 public_settings 以公开它们(使用 cliquet.project_name.)(参考 #476)

2.8.0 (2015-10-06)

破坏性更改

  • 弃用的设置 cliquet.cache_pool_maxconncliquet.storage_pool_maxconncliquet.basic_auth_enabled 已被删除(参考 #448)

  • 如果未定义 project_name,则带前缀的设置将不起作用。(使用 cliquet.initialize() 或使用 cliquet.project_name 配置变量)。

  • 现在应在代码中不带前缀读取设置: request.registry.settings['max_duration'] 而不是 request.registry.settings['cliquet.max_duration']

新功能

  • 添加缓存 CORS 头部。(参考 #466)

  • 使用项目名称作为设置前缀(参考 #472)

内部更改

  • 公开 statsd 客户端,以便使用 cliquet 的项目可以发送 statsd 指标。(参考 #465)

  • 重构 BaseWebTest。(参考 #468)

  • 移除硬编码的 CORS 原因,以便能够通过配置覆盖它。(参考 #467)

  • 允许覆盖 405 响应错误以提供上下文(参考 #471)

  • 允许覆盖 503 响应错误以提供上下文(参考 #473)

2.7.0 (2015-09-23)

破坏性更改

  • 默认情况下不再实例化后端(曾经使用 Redis) (#461)

新功能

  • 将 URL 末尾的斜杠重定向(修复 Kinto/kinto#112)

  • 通过设置添加资源缓存控制头部(修复 #401)

  • 添加请求 bound_data 属性,与子请求共享。例如,在批量请求之间共享上下文或缓存值很有用 (#459)

错误修复

  • 修复 Werkzeug 配置文档和代码 (#451)

  • 修复与 UTF-8 输出相关的日志编码错误 (#455)

  • 如果没有配置,则不实例化后端 (修复 #386)

内部更改

  • ResourcePermission 后端之间的交互进行大规模重构 (#454)

  • 使用资源上的 PUT 请求只从存储中检索记录一次 (#452)

  • 对权限列建立索引,为共享集合带来巨大性能提升 (#458,参考 #354)

  • 在文档中添加说明,提及贡献者列表 (#408)

  • 在 PUT 请求中显式调用集合的 create_record (#460)

2.6.2 (2015-09-09)

错误修复

  • 在子请求错误响应和对于非服务错误的情况下公开 CORS 头部 (#435)。

  • 确保即使对于 id 也为 PostgreSQL 列比较传递一个元组 (#443)。

内部更改

  • 使用 get_bound_permissions 回调来在集合列表中选择共享记录 (#444)。

2.6.1 (2015-09-08)

错误修复

  • 确保在条件中为 PostgreSQL 传递一个元组 (#441)。

2.6.0 (2015-09-08)

协议

  • 修复 API 中修改权限的 PATCH 的一致性 (#437,参考 Kinto/kinto#155)。现在,每个指定权限的主机列表现在被提供的列表所替换。

新功能

  • 当用户没有 read 权限时,对 ProtectedResource 进行部分记录收集 (修复 #354)。Alice 现在可以获取 Bob 记录的列表,她有读取/写入权限。

内部更改

  • 修复 Pypy 的 Wheel 打包 (修复 Kinto/kinto#177)

  • 添加额外的测试以确保 400 错误返回 CORS 允许头部

2.5.0 (2015-09-04)

协议

  • 现在可以使用多个值对集合记录进行过滤 (?in_status=1,2,3) (修复 #39)

  • 现在可以使用多个值排除集合记录 (?exclude_status=1,2,3) (修复 mozilla-services/readinglist#68)

内部更改

  • 我们可以从用户主体中获取集合中的可访问 objects_id (修复 #423)

2.4.3 (2015-08-26)

错误修复

  • 修复 cliquet 的打包 (#430)

2.4.2 (2015-08-26)

内部更改

  • 移除对 cliquet_docs 的符号链接,并将文档直接放在 cliquet_docs 内 (#426)

2.4.1 (2015-08-25)

内部更改

  • 通过使用 cliquet_docs 在外部提供文档 (#413)

2.4.0 (2015-08-14)

协议

  • 当请求带有 Authorization 头部的 hello 端点时,现在提供用户 ID (#319)

  • UUID 验证现在接受任何类型的 UUID,而不仅仅是 v4 (修复 #387)

  • _to 查询字符串参数重命名为 _before (前者现在已弃用)(#391)

新功能

  • Cliquet Service 类现在附加了默认的错误处理器 (#388)

  • 允许使用 cliquet.error_info_link 设置配置错误响应中的信息链接 (#395)

  • 存储后端现在有一个 purge_deleted() 来移除 墓碑 (#400)

错误修复

  • 修复 304 响应中缺少 Backoff 头部 (修复 #416)

  • 修复 Python3 编码错误 (#328)

  • 如果资源没有定义任何模式或没有必填字段,则请求体中的 data 不是必需的 (修复 mozilla-services/kinto#63)

  • 修复在 PATCH 中使用未知属性时没有验证错误 (修复 #374)

  • 修复在 PATCH 中未验证权限 (修复 #375)

  • 修复在未知 URL 的 404 响应中缺少 CORS 头部 (修复 #414)

内部更改

  • 将主要文档部分重命名为 HTTP 协议内部 (#394)

  • 在文档中删除对存储的提及,以避免与 Kinto 项目混淆。

  • 在时间戳文档中添加详细信息。

  • 在 README 中提及在 Python Meetup Barcelona 的演讲

  • 修复关于 postgres-contrib 依赖的文档 (#409)

  • cliquet.utils 添加到 内部 文档 (#407)

  • 默认 id 生成器现在接受破折号和下划线 (#411)

2.3.1 (2015-07-15)

错误修复

  • 修复在应用程序未从 Git 存储库部署时 hello 视图崩溃 (修复 #382)

  • 将 Content-Length 头部公开给 Kinto.js (#390)

2.3 (2015-07-13)

新功能

  • 在412错误响应中提供现有记录的详细信息(修复了mozilla-services/kinto#122)

  • 在记录PUT/PATCH响应中添加ETag(修复了#352)

  • 为权限后端添加StatsD计数器

错误修复

  • 修复权限集合为空时权限后端的崩溃(修复了#368,#371)

  • 修复记录ETag的值:仅在集合端点上提供集合时间戳(修复了#356)

  • 默认资源不再接受有效负载中的属性

  • 默认资源不再需要根工厂(修复了#348)

  • 默认资源不再击中权限后端

  • 默认视图集已分割,不再处理权限(修复了#322)

  • 视图上的权限现在仅在资源上设置

  • 修复在没有任何字段更改时PATCH响应中缺失的字段(修复了#371)

  • 修复版本重定向期间的查询字符串丢失(修复了#364)

内部更改

  • 在hello视图中记录公共设置列表(mozilla-services/kinto#133)

2.2.1 (2015-07-06)

错误修复

  • 修复PATCH/resource上的权限处理(修复了#358)

2.2.0 (2015-07-02)

新功能

  • 在hello视图中添加公共设置(#318)

错误修复

  • 修复对不受支持的版本的重定向行为(修复了#341)

  • 代码中的PostgreSQL依赖现在是完全可选的(#340)

  • 防止在cliquet.initialize()中的default_settings参数覆盖最终设置(#343)

内部更改

  • 修复有关PostgreSQL 9.4的安装文档(#338,感谢@elemoine!)

  • 添加关于UTC和UTF-8的详细信息(#347,感谢@elemoine!)

  • 在运行测试时删除UserWarning异常(#339,感谢@elemoine!)

  • 将build_request和build_response移动到cliquet.utils(#344)

  • Pypy现在在Travis CI上进行了测试(#337)

2.1.0 (2015-06-26)

新功能

  • Cliquet不再需要认证策略来前缀用户ID(修复了#299)。

  • Pypy支持(感谢Balthazar Rouberol #325)

  • 允许覆盖资源的父ID(#333)

错误修复

  • 修复在OPTIONS请求上授权时的崩溃(#331)

  • 修复在提供If-Match但没有If-None-Match时丢失的崩溃(#335)

内部更改

  • 修复文档字符串和文档(#329)

2.0.0 (2015-06-16)

新功能

  • 现在可以通过配置指定认证和授权策略,以及组查找函数(修复了#40,#265)

  • 资源现在可以由细粒度权限保护(#288 via #291,#302)

次要

  • 使用POST在集合上保留记录提供的id字段(#293 via #294)

  • 现在可以为任何类型的认证策略提供认证类型的日志值。

  • 现在可以从设置中禁用任何资源端点(#46 via #268)

错误修复

  • 不要限制缓存值到字符串(#279)

  • 当PUT创建记录时,HTTP状态码现在是201(#298,#300)

  • 在utils.current_service()中添加安全检查(#316)

破坏性更改

  • cliquet.storage.postgresql现在需要PostgreSQL版本9.4,因为它现在依赖于JSONB。数据将通过migrate命令自动迁移。

  • 将@crud装饰器替换为@register()(修复了#12,#268)

  • 删除了Firefox Accounts代码,并将其作为外部包cliquet-fxa发布

  • 将云存储存储后端从Cliquet中删除,并应在Kinto存储库中重新设计(mozilla-services/kinto#45)

API

  • 资源端点现在期望有效负载具有data属性(#254,#287)

  • 资源端点已从If-Modified-Since和If-Unmodified-Since切换到ETags(修复了#251 via #275),感谢@michielbdejong!

次要

  • existing 属性已从冲突错误响应移至通用的 details 属性内,该属性也用于列出验证错误。

  • 现在 cliquet.basic_auth_enabled 已弃用。请使用 pyramid_multiauth 配置来指定身份验证策略。

  • 身份验证类型的日志值现在是 authn_type(默认值为 FxAOAuthBasicAuth)。

内部更改

  • Cliquet 资源代码已拆分为 CollectionResource(修复 #243, #282)

  • Resource 和新概念 ViewSet 之间实现更清晰的职责分离 (#268)

  • 快速入门文档改进 (#271, #312) 感谢 @N1k0 和 @brouberol!

  • API 版本控制文档改进 (#313)

  • 贡献文档改进 (#306)

1.8.0 (2015-05-13)

破坏性更改

  • 将 PostgreSQL 存储切换到 JSONB:需要 9.4+ (#104)

  • 资源名称不再是 Python 属性(参见 #243)

  • 在 POST 时返回现有记录而不是引发 409 错误(修复 #75)

  • cliquet.storage.postgresql 现在需要 PostgreSQL 9.4 版本,因为它现在依赖于 JSONB。数据将自动使用 migrate 命令迁移。

  • 冲突错误响应的 existing 属性已移至通用的 details 属性内,该属性也用于列出验证错误。

  • 心跳端点响应中的 database 属性已被重命名为 storage

新功能

  • 存储记录的 ID 现在由 Python 管理(修复 #71, #208)

  • 添加设置以禁用版本重定向 (#107,感谢 @hiromipaw)

  • 为记录的 PATCH 添加响应行为头 (#234)

  • 在错误响应中提供详细信息 (#233)

  • 通过 cliquet.load_default_settings() 函数公开新的功能,以简化从默认值和环境变量中读取设置 (#264)

  • 现在可以在启动时注册心跳回调函数 (#261)

错误修复

  • 修复当元数据表刷新时的迁移行为 (#221)

  • 修复在设置中禁用时后缀头出现的错误 (#238)

内部更改

  • 测试必须达到 100% 的覆盖率才能通过

  • 将原始错误消息添加到存储后端错误中

  • 在文档中进行了大量改进 (#212, #225, #228, #229, #237, #246, #247, #248, #256, #266,感谢 Michiel De Jong)

  • 在启动时迁移 Kinto 存储架构 (#218)

  • 字段 idlast_modified 已不再属于资源架构的一部分 (#217, mozilla-services/readinlist#170)

  • 删除了存储架构中的冗余索引 (#208,参考 #138)

  • 禁用 Cornice 架构请求绑定 (#172)

  • 不要隐藏 FxA 错误(修复 mozilla-services/readinglist#70)

  • 将初始化函数移至专用模块(参考 #137)

  • 删除了存储和缓存的自定义请求属性 (#245)

1.7.0 (2015-04-10)

破坏性更改

  • 在部署期间必须运行 命令以进行数据库架构迁移

    $ cliquet –ini production.ini migrate

  • 已删除 Sentry 自定义代码。Sentry 日志现在通过日志配置管理,如文档中所述 在此

新功能

  • 添加 PostgreSQL 架构迁移系统 (#139)

  • 在心跳视图中添加缓存和 OAuth (#184)

  • 使用 NewRelic 添加监控功能 (#189)

  • 使用 Werkzeug 添加性能分析功能 (#196)

  • 在初始化时添加覆盖默认设置的功能 (#136)

  • 为视图和身份验证添加更多 statsd 计数器 (#200)

  • 添加内存缓存类 (#127)

错误修复

  • 修复使用 PostgreSQL 后端进行集合 DELETE 时崩溃的问题

  • 修复对象 Heka 日志格式的问题 (#199)

  • 修复使用有序索引进行记录插入的性能问题 (#138)

  • 修复 405 错误未以 JSON 格式显示 (#88)

  • 修复禁用基本认证时的提示 (#182)

内部更改

  • 改进开发环境设置文档(感谢 @hiromipaw)

  • 弃用 cliquet.initialize_cliquet,重命名为 cliquet.initialize

  • 测试代码覆盖率现在为100%

  • 在TravisCI上跳过不稳定的测试,原因是它们的PostgreSQL中设置 fsync = off

  • 在心跳视图中执行随机的创建和删除 (#202)

1.6.0 (2015-03-30)

新功能

  • 将模式初始化从应用程序启动中分离出来,使用命令行工具。

cliquet --ini production.ini init

错误修复

  • 修复连接池未被缓存和存储共享 (#176)

  • 将默认连接池大小设置为10(而不是50) (#176)

  • 如果PostgreSQL会话未使用UTC时区,则发出警告 (#177)

内部更改

  • 弃用 cliquet.storage_pool_maxconncliquet.cache_pool_maxconn 设置(重命名为 cliquet.storage_pool_sizecliquet.cache_pool_size

1.5.0 (2015-03-27)

新功能

  • 测量认证策略的调用 (#167)

破坏性更改

  • 将statsd度量指标前缀为 cliquet.statsd_prefixcliquet.project_name (#162)

  • 设置 http_scheme 已被 cliquet.http_scheme 替换,并引入了 cliquet.http_host ((#151, #166))

  • hello视图中的URL现在有版本前缀 (#165)

错误修复

  • 如果服务在URL中有密钥,则修复Next-Page URL (#158)

  • 修复一些PostgreSQL连接瓶颈 (#170)

内部更改

  • 更新PyFxA以使其与gevent monkey patching兼容 (#168)

  • 在更改时重新加载kinto (#158)

1.4.1 (2015-03-25)

错误修复

  • 依赖Pyramid API构建分页Next-Url (#147)

1.4.0 (2015-03-24)

破坏性更改

  • 将监控依赖项设置为可选 (#121)

错误修复

  • 强制PostgreSQL会话时区为UTC (#122)

  • 修复基本认证混淆和前缀 (#128)

  • 确保 paginate_by 设置覆盖传递的 limit 参数 (#129)

  • 修复Python3下的limit比较 (#143)

  • 如果不需要,则不要使用JSON进行序列化 (#131)

  • 修复经典日志器与unicode崩溃 (#142)

  • 修复CloudStorage后端在远程返回500时崩溃 (#142)

  • 修复CloudStorage在查询字符串中的反斜杠的行为 (#142)

  • 修复python3.4段错误 (#142)

  • 在Next-Page头中添加缺失的端口 (#147)

内部更改

  • 再次使用ujson,它已在1.3.2版本中删除 (#132)

  • 为as_epoch(last_modified)添加索引 (#130)。请将以下语句添加到SQL以进行迁移

    ALTER FUNCTION as_epoch(TIMESTAMP) IMMUTABLE;
    CREATE INDEX idx_records_last_modified_epoch ON records(as_epoch(last_modified));
    CREATE INDEX idx_deleted_last_modified_epoch ON deleted(as_epoch(last_modified));
  • 防止为一个用户集合获取过多记录 (#130)

  • 为心跳使用UPSERT (#141)

  • 在安装文档中添加缺少的OpenSSL (#146)

  • 改进基本认证的测试 (#128)

1.3.2 (2015-03-20)

  • 撤销ujson的使用 (#132)

1.3.1 (2015-03-20)

错误修复

  • 修复打包 (#118)

1.3.0 (2015-03-20)

新功能

  • 添加PostgreSQL连接池,具有新的设置 cliquet.storage_pool_maxconncliquet.cache_pool_maxconn(默认值:50) (#112)

  • 添加 StatsD 支持,通过 cliquet.statsd_url = udp://server:port 启用 (#114)

  • 添加 Sentry 支持,通过 cliquet.sentry_url = http://user:pass@server/1 启用 (#110)

错误修复

  • 修复FxA验证缓存未被使用 (#103)

  • 修复心跳数据库检查 (#109)

  • 修复如果没有请求体,则PATCH端点崩溃 (#115)

内部更改

  • 切换到 ujson 以进行JSON反/序列化优化 (#108)

1.2.1 (2015-03-18)

  • 修复有关BATCH查询字符串补丁中unicode字符的测试

  • 移除postgresql后端的CREATE CAST

  • 修复环境变量覆盖

1.2 (2015-03-18)

破坏性更改

  • cliquet.storage.postgresql 现在使用UUID作为记录主键 (#70)

  • 设置 cliquet.session_backendcliquet.session_url 分别重命名为 cliquet.cache_backendcliquet.cache_url

  • FxA用户ID不再被散列 (#82)

  • 设置 cliquet.retry_after 被重命名为 cliquet.retry_after_seconds

  • OAuth2 重定向URL现在需要列在 fxa-oauth.webapp.authorized_domains 中(例如 *.mozilla.com

  • 默认情况下,批次请求限制为25个(#90)

新功能

  • 每个设置都可以通过环境变量指定(例如,使用 CLIQUET_STORAGE_URLcliquet.storage_url

  • 日志现在依赖于 structlog (#78)

  • 日志输出可以配置为流式JSON(#78)

  • 为PostgreSQL添加了新的缓存后端(#44)

  • 文档在多个方面得到改进(#64,#86)

  • 处理每个后端错误并返回503错误(#21)

  • OAuth2舞蹈状态验证现在在1小时后过期(#83)

错误修复

  • FxA OAuth视图错误现在为JSON格式(#67)

  • 防止分页令牌格式错误时的错误(#72)

  • 在集合的POST中修复了CORS公开头列表(#54)

内部更改

  • cliquet.resource.Resource 中添加了一个方法来覆盖已知字段(由Kinto要求)

  • 每个设置都有一个默认值

  • 默认情况下,每个端点都需要身份验证

  • 会话后端重命名为缓存(#96)

1.1.4 (2015-03-03)

  • 更新对PostgreSQL的deleted_field支持(#62)

1.1.3 (2015-03-03)

  • 修复redis后端的include_deleted代码(#60)

  • 改进update_record API(#61)

1.1.2 (2015-03-03)

  • 修复打包以包含.sql文件。

1.1.1 (2015-03-03)

  • 修复打包以包含.sql文件。

1.1 (2015-03-03)

新功能

  • 支持使用since进行已删除数据的筛选(#51)

内部更改

  • 移除对python 2.6的支持(#50)

  • 将Resource.deleted_mark重命名为Resource.deleted_field(#51)

  • 改进native_value(#56)

  • 修复了Schema选项的继承(#55)

  • 当setup.py更改时重新构建virtualenv

  • 将storage.url重命名为cliquet.storage_url(#49)

  • 重构了tests/support.py文件(#38)

1.0 (2015-03-02)

  • 初始版本,从Mozilla Services Reading List项目提取(#1)

新功能

  • 公开CORS头,以便客户端可以访问它们(#5)

  • Postgresql后端(#8)

  • 将RedisSession用作PyFxA的缓存后端(#10)

  • 通过collection_path的DELETE删除多个记录(#13)

  • 端点的批次默认前缀(#14 / #16)

  • 在/端点中使用应用程序版本(#22)

  • 提升Basic Auth为适当的身份验证后端(#37)

内部更改

  • 后端文档(#15)

  • 用于过滤和排序的命名元组(#17)

  • Postgresql中的多个DELETE(#18)

  • 改进Resource API(#29)

  • 错误管理的重构(#41)

  • Schema的默认选项(#47)

贡献者

项目详情


发布历史 发布通知 | RSS 源

下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码发行版

cliquet-3.1.5.tar.gz (293.7 kB 查看哈希值)

上传时间 源代码

编译发行版

cliquet-3.1.5-cp2.cp3-none-any.whl (331.0 kB 查看哈希值)

上传时间 CPython 2. CPython 3.

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面