2025.1 系列发布说明

27.0.0-17

安全问题

  • 修复了一个潜在的安全问题,该问题是来自只读后端(例如 LDAP)的用户令牌在后端禁用用户后仍被接受。 这是因为 Keystone 无法收到任何通知,也无法撤销此类令牌。 详情请参见 https://bugs.launchpad.net/keystone/+bug/2122615

27.0.0

新特性

  • 添加了一个新的模块,keystone.wsgi,作为收集 WSGI application 对象的场所。 这旨在通过为这些对象提供一致的位置来简化部署。 例如,如果使用 uWSGI,则不必

    [uwsgi]
    wsgi-file = /bin/keystone-wsgi-public
    

    现在可以使用

    [uwsgi]
    module = keystone.wsgi.api:application
    

    这还简化了使用其他期望模块路径的 WSGI 服务器(例如 gunicorn)的部署。

  • 用户和组列表支持分页。 添加了查询参数 limitmarker,其工作方式如 API-SIG 文档 中所述

  • 添加了新的配置变量 max_db_limit,用于设置从数据库中一次性获取条目的绝对限制数量。 它用于资源分页。 现有的选项 list_limit 是可选的,描述了首选条目计数,而 max_db_limit 设置了应用于用户输入和单个 list_limit 选项的上限。

  • 项目和域列表支持分页。 添加了查询参数 limitmarker,其工作方式如 API-SIG 文档 中所述

升级说明

  • 已放弃对废弃库 passlib 的依赖,转而直接使用 bcryptcryptography。 确保使用 passlib 哈希的密码仍然受支持,但无法保证不会出现边缘情况。 如果用户无法使用旧密码登录,则必须轮换该密码。

  • 停止支持 Python 3.8。现在支持的 Python 最低版本是 Python 3.9。

  • 已删除模板化目录驱动程序。 用于模板化目录驱动程序的 [catalog] template_file 选项也已删除。

弃用说明

  • 已弃用 [DEFAULT] max_param_size 选项。 此选项在 identity v2 APU 中使用,但 identity v2 API 已在 13.0.0 版本中删除。

  • 这是支持使用 sha512_crypt 算法哈希密码的最后一个版本。 由于即使在 python 3.13 中也停止了对该算法的支持,因此将在下一个版本(Epoxy)中从 Keystone 中物理删除该算法。

其他说明

  • 已删除 sha512_crypt 密码哈希模块,完成了弃用过程,并删除了 Python >= 3.13 中已删除的 crypt 模块的使用。