首页
/ gql项目v3.6.0b4版本发布:安全警告与功能改进

gql项目v3.6.0b4版本发布:安全警告与功能改进

2025-06-30 11:35:20作者:段琳惟

gql是一个Python实现的GraphQL客户端库,它提供了与GraphQL服务器交互的各种工具和功能。该项目支持多种传输协议,包括HTTP、WebSocket等,并提供了丰富的功能来简化GraphQL查询和订阅操作。

安全警告:SSL证书验证问题

本次发布的v3.6.0b4版本包含了一个重要的安全警告。开发者发现,默认情况下AIOHTTPTransport不会验证SSL证书,这意味着它会接受自签名证书而不发出警告。这是一个潜在的安全风险,特别是在生产环境中。

开发团队已经添加了警告信息来提醒用户注意这个问题。值得注意的是,团队计划在下一个主要版本中改变这一默认行为,将SSL证书验证设为默认开启状态。对于当前版本,开发者应该手动配置SSL验证以确保通信安全。

功能改进

传输层灵活性增强

本次更新改进了gql-cli工具的兼容性。当aiohttp不可用时,工具现在会自动回退到使用httpx作为替代传输层。这一改进提高了工具在不同环境中的可用性,特别是在某些受限环境中可能无法安装aiohttp的情况下。

类型递归深度处理

修复了与GraphQL自省查询相关的一个重要问题。该问题涉及到graphql-core库在3.3.0a7版本中增加了类型递归级别(从7增加到9)。gql现在使用自己的get_introspection_query方法实现,确保与graphql-core的这一变更兼容,并允许开发者自定义自省查询的递归级别。

此外,还添加了对input_value_deprecation参数的支持,完善了自省查询AST的生成功能。

依赖项更新

项目对多个依赖项进行了版本升级:

  • 将httpx的最低版本要求提高到0.27
  • 将websockets升级到13.x系列
  • 更新了Sphinx开发依赖项

这些更新带来了性能改进和新功能支持,同时保持了向后兼容性。

环境支持变更

值得注意的是,本次更新移除了对Python 3.8的支持。这一变更反映了Python生态系统的自然演进,开发者需要确保他们的运行环境至少是Python 3.9或更高版本。

内部改进

在代码质量方面,本次更新包含了节点树方法中元素的排序优化,使得输出更加一致和可预测。同时,针对graphql-core v3.3.0a7中的自省类型递归级别变更,更新了相应的测试用例,确保测试覆盖这些行为变化。

总结

gql v3.6.0b4版本虽然在版本号上是一个预发布版本,但包含了一些重要的改进和安全相关的警告。开发者应该特别注意SSL验证问题,并在生产环境中采取适当措施。同时,新版本在功能兼容性和依赖管理方面都有所提升,为后续的稳定版本打下了良好基础。

登录后查看全文
热门项目推荐
相关项目推荐