CHANGES¶
更新 TOX_CONSTRAINTS_FILE 以支持 stable/2025.2
更新 .gitreview 以支持 stable/2025.2
9.1.0¶
添加 pyproject.toml 以支持 pip 23.1
9.0.0¶
tox: 移除 basepython
移除 constant_time_prepare
修复 secretutils 中的未文档函数
更新 master 以支持 stable/2025.1
修复最近更改中的拼写错误
8.2.0¶
跳过安装以加快 pep8 速度
运行 pyupgrade 以清理 Python 2 语法
8.1.0¶
调整 eventlet 支持弃用的警告消息
修复错误的警告类别
弃用 eventletutils 模块
移除未使用的私有常量
弃用冗余的 exception_to_unicode 函数
停止兼容 Python 3.8 的代码
在 imageutils 中添加图像检查器
8.0.0¶
调整描述中的版本号
添加关于新的加密实用程序的发布说明
修复在没有 IPv4 的情况下 get_my_ipv4
修复在没有 IPv6 的情况下 get_my_ipv6
添加替换 crypt.mksalt 的实用程序
reno: 更新 master 以支持 unmaintained/2023.1
添加替换 crypt.crypt 的实用程序
is_valid_ipv4: 默认启用严格检查
添加关于 requirements 下限的说明
7.4.0¶
Vendor VersionPredicate
声明对 Python 3.12 的支持
如果明确处理,允许多个格式匹配
如果没有匹配项,提前终止流
修复与 netaddr 1.1.0 的兼容性
移除对 netifaces 的依赖
使用上下文管理器处理 socket
澄清 GPT 结构偏移量
弃用冗余的 constant_time_compare 函数
弃用冗余的 md5 方法
移除对 Python 3.8 的支持
抑制不相关的格式投诉
将 qemu-img 添加到 bindep
避免将 FAT VBR 检测为 MBR
更新 master 以支持 stable/2024.2
添加 LUKSv1 检查器
7.3.0¶
添加一个函数来修剪 ipv6 地址范围
添加 format_inspector 的发布说明
添加基于流的检测
添加 GPT/MBR 检查器
修复 qcow2 功能标志检查(为了未来)
重构一些 oslo 的内容
支持带有页脚的 VMDK 稀疏文件
使 VMDKInspector 支持非稀疏格式
为检查器添加区域完成信号
恢复 VMDK 安全检查覆盖率
模块化图像安全检查
从 Zanata 导入翻译
使 FileInspector 成为一个 ABC
在 CI 中测试覆盖率目标
从 nova 导入 format_inspector
将 imageutils 设为目录
修复覆盖率目标
7.2.0¶
reno: 更新 master 以支持 unmaintained/zed
移除旧的排除项
更新 master 以支持 stable/2024.1
reno: 更新 master 以支持 unmaintained/xena
reno: 更新 master 以支持 unmaintained/wallaby
reno: 更新 master 以支持 unmaintained/victoria
7.1.0¶
添加 <range-in> spec DSL 运算符
netutils: 显式需要 INET_ATON
reno: 更新 master 以支持 unmaintained/yoga
pre-commit: 集成 bandit
pre-commit: 升级版本
Bump hacking
7.0.0¶
更新 setup.cfg 中的 python 分类器
Python-3.12: 不要使用 datetime.datetime.utcnow()
仅在 Python < 3.9 中需要 pytz
6.3.0¶
versionutil: 移除尾随的 alpha/beta/rc 后缀
修复缺失的 PyYAML 依赖
屏蔽 chapsecret
从 Zanata 导入翻译
更新 master 以支持 stable/2023.2
6.2.1¶
从 Zanata 导入翻译
6.2.0¶
替换已弃用的 assertAlmostEquals 方法
strutils: 更新 string_to_bytes
添加 netutils.get_my_ipv6()
升级 bandit
修复与 Python 3.8 的兼容性
移除对 monotonic 在 PyPI 上的引用
撤销“将支持的 python 运行时从版本 3.8 更改为 3.10”
将支持的 python 运行时从版本 3.8 更改为 3.10
更新当前 SI 前缀的单位
实现 zoneinfo 支持以移除对 pytz 的依赖
使用新的 openstack-python3-jobs 模板
移除 is_same_callback() 中的 strict
更新 master 以支持 stable/2023.1
6.1.0¶
[imageutils] 修复 QemuImgInfo 的 __str__
从 Zanata 导入翻译
添加 Python3 antelope 单元测试
更新 master 以支持 stable/zed
6.0.1¶
从 Zanata 导入翻译
从 Zanata 导入翻译
6.0.0¶
5.0.0¶
bindep: 使用 Python 3 devel 包
移除 oslo_utils.timeutils 中已弃用的辅助函数
移除 oslo_utils.fnmatch
requirements: 移除显式的 pbr 依赖
strutils: 推迟 pyparsing 的导入
在测试运行时移除对 python3.6/3.7 的支持
移除不必要的 unicode 前缀
4.13.0¶
修复 strutils 密码正则表达式
添加 Python3 zed 单元测试
更新 master 以支持 stable/yoga
4.12.2¶
修复发布列表的格式
4.12.1¶
修复用于屏蔽密码的正则表达式
更新 python 测试分类器
使用 LOG.warning 代替已弃用的 LOG.warn
4.12.0¶
在输出中添加 backing 文件格式
4.11.0¶
添加 Python3 yoga 单元测试
更新 master 以支持 stable/xena
QemuImgInfo: 修复加密值的格式不一致
setup.cfg: 将破折号替换为下划线
将 tox 中的 minversion 更改为 3.18.0
4.10.0¶
修改 UUID sentinel 以支持类似 keystone 的 UUID
4.9.2¶
QemuImgInfo: 在未传递输出时跳过弃用警告
移除警告启用过滤器
4.9.1¶
删除对 ‘sys.version_info’ 的引用
弃用 fnmatch 模块
弃用 QemuImgInfo 上的 human 格式
Ussuri+ 仅支持 python3 并将 python 更新为 python3
移除较低约束的测试
4.9.0¶
移除较低的约束
将 flake8 移动到 pre-commit 本地目标
添加 Python3 xena 单元测试
更新 master 以支持 stable/wallaby
4.8.0¶
添加一个 ``strict`` 标志,允许用户限制 IPv4 格式的验证
解决六移除补丁中的一些小问题
切换到 collections.abc.*
使用 TOX_CONSTRAINTS_FILE
移除较低约束的测试
strutils: 停止屏蔽 encryption_key_id
使用 TOX_CONSTRAINTS_FILE
将 py3 作为 tox 的默认运行时
移除所有 six 库的使用
4.7.0¶
添加用于封装 md5 的 FIPS 系统函数
添加 Python3 wallaby 单元测试
更新 master 以支持 stable/victoria
添加 pre-commit
4.6.0¶
[目标] 将测试迁移到 ubuntu focal
添加 Python3 victoria 单元测试
修复 is_same_callback() 在 python3.8 中的测试
4.5.0¶
添加用于检查 json 和 yaml 格式文件的实用方法
升级 bandit 版本
4.4.0¶
4.3.0¶
versionutils: 从 pkg_resources 切换到 packaging
netutils 中新增方法: get_mac_addr_by_ipv6
4.2.2¶
修复 uuidsentinel 以遵循 getattr 协议
4.2.1¶
在计算校验和时释放 greenthread
修复 pygments 样式
4.2.0¶
停止使用 __future__ 模块
修复 hacking min 版本到 3.0.1
切换到更新的 openstackdocstheme 和 reno 版本
删除未使用的编码风格模块
移除 setup.cfg 中的翻译部分
删除 monotonic 的使用
使 contributing 文档与 oslo 的策略保持一致
从 Zanata 导入翻译
将发布说明链接添加到文档索引
更新 master 以支持 stable/ussuri
4.1.1¶
更新 hacking 以支持 Python3
使用 unittest.mock 代替第三方 mock
tox: 在 docs 任务中使用 upper-constraints
4.1.0¶
添加测试以检查虚拟磁盘大小的科学计数法
tests: 将剩余的测试转换为 mock
扁平化测试用例
修复正则表达式以正确识别带有 QemuImgInfo 的科学计数法
imageutils: 在使用 JSON 输出格式时报告特定于格式的详细信息
4.0.1¶
移除过时的标题
移除通用 wheel 配置
重述 py27 支持删除的发布说明
4.0.0¶
[ussuri][目标] 移除 python 2.7 的支持和测试
tox: 琐碎的清理
忽略 git 未跟踪文件中的 releasenote 缓存
将 setup 代码移动到 setUp 辅助函数
3.42.1¶
验证 sanitize 键是否小写
修复正则表达式字符串中的无效转义
忽略 .eggs 目录
使 mask_dict_password 不区分大小写并添加新的模式
将 openstackdocstheme 扩展升级到 1.20
3.42.0¶
使 mask_password 不区分大小写,并添加新的模式
tox: 继续进行文档
切换到 Ussuri jobs
更新约束 URL
支持 QEMU 4.1 及更高版本中的“qemu-img info”虚拟大小
更新 master 以支持 stable/train
3.41.1¶
添加 digestmod 在使用 hmac 时
添加 Python 3 Train 单元测试
将 Bandit 限制在 1.6.0 以下,并更新 Sphinx 要求
将 git.openstack.org URL 替换为 opendev.org URL
3.41.0¶
OpenDev 迁移补丁
移除 py35 测试
更新 master 以支持 stable/stein
3.40.3¶
添加 python 3.7 单元测试任务
更新 hacking 版本
屏蔽 encryption_key_id
eventletutils: 优化 EventletEvent.clear()
3.40.2¶
避免重复设置事件
3.40.1¶
3.40.0¶
3.39.1¶
避免调用 eventlet.event.Event.reset()
使用模板进行较低约束
3.39.0¶
修复 eventletutils Event 中的竞争条件
不要在 Python >=3.3 上使用 monotonic
更新 mailinglist 从 dev 到 discuss
支持 mask_dict_password 中非字典映射
3.38.0¶
公开 eventlet Event 包装器类
清理 .gitignore 中指向个人工具的引用
3.37.1¶
修复 rpdb 会话中的异常抛出
3.37.0¶
修复 uuidsentinel docstring 格式错误
UUID sentinel
移除 moxstubout 的使用
添加 lib-forward-testing-python3 测试任务
添加 python 3.6 单元测试任务
从 project-config 导入 zuul 任务设置
更新 reno 以支持 stable/rocky
移除额外的 copy.deepcopy
3.36.4¶
适当处理非字符串键
切换到 stestr
将发布说明链接添加到 README
3.36.3¶
修复 tox python3 覆盖
修复 secretutils 中的异常
3.36.2¶
将 private_key 添加到 sanitize 键列表中
移除过时的 pip-missing-reqs tox 测试
将 Oslo 大写
3.36.1¶
琐碎: 更新 pypi url 到新 url
将默认 python 设置为 python3
eventletutils: 修复重用 Events 时的行为差异
修复用户文档中的项目名称
添加 lower-constraints 任务
清理旧输出,然后再进行新的文档构建
移除 setup.cfg 中的 sphinx 设置
添加 bindep.txt 文件以防止回退到通用列表
从全局需求中更新
3.36.0¶
添加 -W 用于文档构建
从 Zanata 导入翻译
更新 README 中的链接
从 Zanata 导入翻译
修复由于 iso8601 更改导致的破坏性单元测试
记录 specs_matcher.py 函数
清理代码中的导入
更新 reno 以支持 stable/queens
从全局需求中更新
将 ‘assertFalse(a in b)’ 替换为 ‘assertNotIn(a, b)’
从全局需求中更新
从全局需求中更新
3.35.0¶
3.34.0¶
从全局需求中更新
清理 test-requirements
改进 last_bytes() 的文档字符串
在 fileutils 中添加 last_bytes 方法
遵循新的 PTI 进行文档构建
添加 validate_integer 方法的缺失文档信息
3.33.0¶
3.32.0¶
避免使用 tox_install.sh 以支持约束
从全局需求中更新
移除从 releasenotes 设置版本/发布
从全局需求中更新
3.31.0¶
添加计算文件校验和的方法到 fileutils
从 Zanata 导入翻译
添加 validate_integer 方法
3.30.0¶
从全局需求中更新
使用 six.binary_type 指向正确的类型
在 string_to_bytes 中添加混合模式解析器
从全局需求中更新
修复 docstring 中的一些 reST 字段列表
3.29.0¶
从 Zanata 导入翻译
添加转义 ipv6 ip 地址的方法
从全局需求中更新
更新 reno 以支持 stable/pike
从全局需求中更新
防止 pkg_resources 中的弃用错误消息
3.28.0¶
根据文档迁移更新文档中的 URL
3.27.0¶
重新排列现有文档以适应新的标准布局
切换到 oslosphinx 到 openstackdocstheme
从全局需求中更新
从全局需求中更新
3.26.0¶
从全局需求中更新
从全局需求中更新
从全局需求中更新
从全局需求中更新
3.25.1¶
从全局需求中更新
移除 split 转换为元组
从全局需求中更新
3.25.0¶
移除日志翻译
3.24.0¶
使用 Sphinx 1.5 warning-is-error
从全局需求中更新
为 hmac 添加检查字符串类型
3.23.0¶
从全局需求中更新
[修复 gate] 更新测试要求
添加 secretutils 的缺失文档
从全局需求中更新
从全局需求中更新
更新 reno 以支持 stable/ocata
3.22.0¶
删除对 Python 3.4 的引用
将“encrypted_key”添加到 mask_password 列表中
添加 Constraints 支持
3.21.0¶
允许“get_all_class_names”传递 kwargs
3.20.0¶
添加 toggle “dashed” 到 “generate_uuid” 函数
在 README 上显示团队和仓库徽章
3.19.0¶
从全局需求中更新
改进 eventlet 检查,当选择 Event 后端时
从全局需求中更新
3.18.0¶
添加不截断内置的选项
创建 dictutils 并添加 “flatten_dict_to_keypairs”
从全局需求中更新
添加 reno 以进行发布说明管理
允许作用域 ipv6 地址
用法文档中的琐碎修复
添加 threading<->eventlet 兼容的 Event
从全局需求中更新
[TrivialFix] 将 ‘assertEqual(None, …)’ 替换为 ‘assertIsNone(…)’
3.17.0¶
添加 is_valid_mac 方法
添加 __ne__ 内置函数
使 import_versioned_module 方法正常工作
更改 assertTrue(isinstance()) 为最佳断言
doc: 修复 bool_from_string 方法的文档字符串
更改 assertTrue(isinstance()) 为最佳断言
添加 is_valid_boolstr 方法
添加 is_valid_ipv6_cidr 方法
从全局需求中更新
从全局需求中更新
添加缺失的 specs_matcher 文档
更新主页,添加开发者文档页面
从全局需求中更新
从全局需求中更新
添加用于验证和拆分引号的实用程序
从全局需求中更新
扩展 specs matcher 以支持“>”和“<”
从 test-requirements 中移除 discover
3.16.0¶
修复 mask_dict_password 在字典中非字符串/字典类型键
恢复 <all-in> 运算符
更多 specs matcher 单元测试
从 Zanata 导入翻译
添加 Python 3.5 分类器和 venv
使用实际的定义良好的解析器进行 spec 匹配
移除未使用的 LOG 以保持代码清洁
从全局需求中更新
3.15.0¶
添加 stopwatch has_started/stopped 方法的基本文档字符串
使 mask_dict_password 与 mask_password 一致
从全局需求中更新
改进 mask_password 和 mask_dict_password 的测试
简化 executils.py 中的布尔表达式
3.14.0¶
支持 qemu 命令的 json 格式输出
修复 flake8 问题
在 get_ipv6_addr_by_EUI64 中使用 is_valid_ipv4
从 Zanata 导入翻译
3.13.0¶
允许将“0”分配给端口
3.12.0¶
从全局需求中更新
修复 split_path 方法的文档字符串 ‘versionadded’
从全局需求中更新
从全局需求中更新
避免捕获通用异常
移除 timeuitls 中的 total_seconds 方法
修复 is_valid_cidr 抛出 TypeError
3.11.0¶
琐碎的:忽略 openstack/common 在 flake8 exclude 列表中
将 split_path 方法移动到 oslo.utils
3.10.0¶
从 Zanata 导入翻译
从全局需求中更新
将 nova extra_specs_ops 移动到 oslo.utils
3.9.0¶
从 Zanata 导入翻译
提供单步检查,如果 eventlet 被 monkey_patched
在 netutils 中添加 is_valid_cidr 方法
从全局需求中更新
从全局需求中更新
添加 importutils.import_any 方法
添加 excutils.exception_filter
显式排除测试,避免 bandit 扫描
将 CHAPPASSWORD 添加到 sanitize 键列表
在 gate 中启用 bandit
从全局需求中更新
3.7.0¶
添加 check_string_length 方法
添加 configdrive 的缺失 versionchanged
3.6.0¶
3.5.0¶
从全局需求中更新
从 Zanata 导入翻译
删除 bandit.yaml,转而使用默认设置
从全局需求中更新
缩小 getfilesystemencoding 的 mock
更新翻译设置
撤销“使用 assertTrue/False 代替 assertEqual(T/F)”
从全局需求中更新
从全局需求中更新
添加 excutils.save_and_reraise_exception force_reraise + capture
添加 encodeutils.to_utf8() 函数
创建 secretutils 并包含 ‘constant_time_compare’ 函数
修复覆盖率
从 Zanata 导入翻译
从全局需求中更新
3.4.0¶
从全局需求中更新
使用 assertTrue/False 代替 assertEqual(T/F)
添加一种在字典中屏蔽密码的机制
将“configdrive”添加到 mask_password() 使用的键列表中
assertIsNone(val) 而不是 assertEqual(None,val)
3.3.0¶
修复调用 delta_seconds 方法时的 DeprecationWarning
修复 fnmatch.filter 在非 POSIX 系统中的问题
修复 fileutils ut 代码随机失败
为 imageutils 和 fnmatch 添加缺失的文档索引
重新实现线程安全的 fnmatch
修复无法获取所需图像信息的错误
3.2.0¶
撤销“将 netifaces 移动到 extras”
从 requirements 中移除 Babel
3.1.0¶
移除 bandit.yaml 中的重复 profiles 部分
允许 get_class_name 接受绑定方法和类方法
弃用 timeutils.total_seconds()
将 imageutils 从 oslo-incubator 移动到 oslo.utils
添加注释解释为什么我们不希望将额外值传递给 mask_password
networkutils: 停止支持 python 2.6
移除 ‘MANIFEST.in’
将 netifaces 移动到 extras
3.0.0¶
在 tox.ini 中添加 bandit 目标
从全局需求中更新
移除 python 2.6 分类器
修复错误的 bug 跟踪链接
移除 python 2.6 并清理 tox.ini
重构端口号验证
添加有用的 ‘time_it’ 装饰器
2.8.0¶
修复 Python 3 上的 get_class_name()
为 ‘netutils’ 模块添加 ICMP ‘type’ 和 ‘code’ 检查功能
从全局需求中更新
从 Zanata 导入翻译
write_to_tempfile 中的注释
在文档中使用 versionadded 和 versionchanged
2.7.0¶
公开函数签名获取函数
允许 ‘forever_retry_uncaught_exceptions’ 接受不同的默认值
为 oslo_utils.utils 的每个单元编写文档
修复文档字符串中 “deprecated” 标记的使用
仅使用 ‘exception_to_unicode’ 处理异常到字符串
将 ‘secret’ 添加到敏感密钥
2.6.0¶
修复覆盖率配置和执行
在 ‘forever_retry_uncaught_exceptions’ 中使用秒表
不需要 Oslo Incubator Sync
使 forever_retry_uncaught_exceptions 处理自身的失败
确保秒表 __enter__、__exit__ 在文档中
添加一些 timeutils 秒表示例
从 Zanata 导入翻译
将“历史” -> 移动到发行说明部分
修复行为不端的类和 ‘is_bound_method’ 检查
将 ignore-errors 更改为 ignore_errors
从全局需求中更新
如果 ‘bool_from_string’ 提供了一个布尔值,则直接返回它
从 Zanata 导入翻译
仅捕获导入时的 ImportError
将 ‘token’ 添加到 mask_password 屏蔽的字段列表中
2.5.0¶
从全局需求中更新
从 Transifex 导入翻译
从全局需求中更新
从全局需求中更新
2.4.0¶
2.3.0¶
从全局需求中更新
更新秒表文档字符串以反映 monotonic lib 的使用
从全局需求中更新
flake8 - 移除未使用的规则
将 monotonic 提升到 0.3 以移除导入时的异常捕获
提供由基类引起的常见异常
从 Transifex 导入翻译
允许访问反射 ‘get_members’
从全局需求中更新
2.2.0¶
从 Transifex 导入翻译
从全局需求中更新
2.1.0¶
从 Transifex 导入翻译
从全局需求中更新
添加 monotonic 导入周围的检查
2.0.0¶
从全局需求中更新
从全局需求中更新
将 oslo.config 添加到测试 requirements
移除 oslo 命名空间包
从全局需求中更新
1.9.0¶
从全局需求中更新
versionutils: 添加版本转换辅助方法
从 Transifex 导入翻译
将 write_to_tempfile 移回 fileutils
使用 monotonic 库避免查找 monotonic 时间函数
修复 oslo_i18n Message 的 exception_to_unicode()
1.8.0¶
将 fileutils 添加到 oslo.utils
从全局需求中更新
添加 tox 目标以查找缺少的依赖项
1.7.0¶
从全局需求中更新
从全局需求中更新
将徽章从 ‘pypip.in’ 切换到 ‘shields.io’
timeutils: 修复与 TZ 感知 datetime 的较新/较旧比较
用 parse_isotime 替换 older/newer 中的 parse_strtime
1.6.0¶
将 pytz 添加到 requirements
弃用 strtime
从 Transifex 导入翻译
timeutils: utcnow() 可以返回带有时区的值
添加 ‘raise_with_cause’ 链式辅助函数到 excutils
timeutils: 弃用 isotime()
timeutils: 使 marshall 时区感知
宣传对 Python3.4 的支持/移除对 Python 3.3 的支持
从全局需求中更新
添加 exception_to_unicode() 函数
移除 run_cross_tests.sh
从 Transifex 导入翻译
将 versionutils 移动到位并移除弃用工具
注明 monotonic 导入顺序 + 使用
1.5.0¶
将 liberty 发布名称添加到 versionutils
公开 opts 入口点用于 version_utils
从 oslo.config 切换到 oslo_config
删除 oslo.log 代码并清理 versionutils API
删除移至 oslo.i18n 的代码
增强 versionutils.deprecated 以适用于类
将 Kilo 发布名称添加到 versionutils
允许弃用装饰器指定无移除计划
取消 liberty 的库需求上限
将 JUNO 添加为 versionutils 模块的目标
添加缺失的反射 + uuidutils 文档
timeutils: 避免将闰秒传递给 datetime
添加 pypi 下载 + 版本徽章
清理 README.rst 和 setup.cfg
pep8:修复了多个违规行为
使用 oslotest 代替 common test 模块
使用 hacking import_exceptions 获取 gettextutils._
修复拼写错误
修复违反 H302:import only modules
添加用于弃用函数和方法的装饰器
删除 vim 标头
添加 `versionutils` 用于版本兼容性检查
更新 hacking 设置
从全局需求中更新
从 Transifex 导入翻译
清理 TestIsIPv6Enabled
修复 test_netutils: 停止 patches
添加一个新的字符串到 mask_password 屏蔽模式列表中
提供通用的 `fetch_current_thread_functor` 函数
从 Transifex 导入翻译
1.4.0¶
添加秒表 + 用于持续时间(s) 的分割
允许向 save_and_reraise_exception 提供 logger
从全局需求中更新
生成 EUI-64 IPv6 地址的实用 API
1.3.0¶
添加 eventlet 工具辅助模块
为 iso8601_from_timestamp 添加微秒支持
添加依赖警告到 requirements.txt
从全局需求中更新
更新 Oslo 导入以删除命名空间包
添加 TimeFixture
为 timeutils.utcnow_ts() 添加微秒支持
使 setup.cfg packages 包含 oslo.utils
1.2.1¶
如果没有默认接口,则返回 LOCALHOST
修复 README 中 bug 跟踪器的链接
1.2.0¶
提高 strutils.mask_password 的性能
将文件移出命名空间包
在 netutils 中添加 is_valid_port 方法
支持 is_uuid_like 中非小写的 UUID
在 _SANITIZE_KEYS 中添加 ‘secret_uuid’ 用于 strutils
从 Transifex 导入翻译
工作流文档现在位于 infra-manual 中
1.1.0¶
改进 _get_my_ipv4_address() 中的错误报告
添加 get_my_ip()
从全局需求中更新
在 strutils 的 _SANITIZE_KEYS 中添加 ‘auth_password’
从全局需求中更新
激活 pep8 检查,以确保导入了 _
将 uuidutils 添加到 oslo.utils
为安装 requirements 添加 pbr
从全局需求中更新
添加 is_int_like() 函数
隐藏 auth_token 和 new_pass
从 Transifex 导入翻译
将历史记录/变更日志添加到文档中
从 Transifex 导入翻译
支持构建 wheels (PEP-427)
从 Transifex 导入翻译
改进 IP 验证函数的文档字符串
从 Transifex 导入翻译
添加 IP 地址验证
修复如何出现我们需要使用 mock_anything 来避免 ‘self’ 错误
从全局需求中更新
移动 taskflow 使用的反射模块
使 safe_encode 函数不区分大小写
启用 mask_password 处理字节码字符串
从全局需求中更新
1.0.0¶
从 Transifex 导入翻译
添加从 urlsplit 中提取查询参数的能力
致力于 Python 3.4 支持和测试
警告不要对需求进行排序
移除对 oslo.config 的未使用依赖
从全局需求中更新
仅使用 int(BOOL) 转换为 1 或 0
重新启用 import_utils 中隐藏方法上的 _import*
0.2.0¶
使 strutils.mask_password 更安全
从 incubator 移植的 mask_password 新公共 API
从 Transifex 导入翻译
0.1.1¶
使 urlsplit 的返回类型私有
添加 API 文档并清理其他文档
使 i18n 集成模块私有
清理 index.rst 文件
仅在 __all__ 中导出 try_import
切换到 oslo.i18n 并移除对 oslo-incubator 的任何依赖
将 units 移动到 oslo.utils
切换到标准的 python 日志记录
设置翻译
将 strutils 分割成 2 个不同的模块
将 network_utils 重命名为 netutils
使 pep8 正常工作
使 tox 测试正常工作
从 oslo-incubator 由 graduate.sh 导出
修复一个新的 pep8 错误和一个小的拼写错误
设置 pbr ‘warnerrors’ 选项用于文档构建
修复 RETF 规则发现的拼写错误
使用 oslotest 中的 moxstubout 和 mockpatch
移除访问 sys.modules 时的 ValueError
启用配置 tcp keepalive
避免在没有主机时引发 index 错误
移除 LOG.* 和异常中的 str()
移除 SplitResult 的导入解决方法
使用 oslotest 代替 common test 模块
部分修复 test_strutils.py 在 Python 3 上的问题
修复 safe_encode(): 在 Python 3 上返回字节
urlsplit 在 python26 中存在 IPv6 地址问题
save_and_reraise_exception: 使日志记录尊重 reraise 参数
strutils: 允许 safe_{encode,decode} 接受字节作为输入
修复 test_excutils 中的导入顺序
使用翻译域更新 oslo 日志消息
实现 SI/IEC 单位系统转换为字节
添加基本的 Python 3 测试
py3kcompat: 移除
删除 cliutils 中的重复方法
strutils bool_from_string, 允许指定默认值
使用 assertIsNone 和 assertIsNotNone
修复注释中的拼写错误
使用 hacking import_exceptions 获取 gettextutils._
更正无效的文档字符串
修复 safe_encode 中的一个错误,该错误在 py3 中返回一个字节对象
修复参数文档中的拼写错误 (timeutils)
避免在 is_older_than, is_newer_than 中出现 TypeError
删除 vim 标头
使用 py3kcompat urlutils 函数代替 urlparse
添加 total_seconds 辅助方法到 timeutils.py
不要将变量命名为内置变量
在测试中使用 six.text_type 代替 unicode 函数
修复 oslo 中的拼写错误
调整导入顺序以符合 PEP8 导入规则
python3: 使用 six.text_types 用于 unicode()
不要遮蔽 str
修复 timeutils.set_override_time 不默认设置为当前墙面时间
修复单元测试中误用的 assertTrue
优化 timeutils.utcnow_ts()
excutils: 用 six.u 替换 unicode
excutils: 使用 six.reraise 重新引发
替换使用 tests.utils part2
将 hacking 升级到 0.7.0
将 tests.utils 的使用替换为 openstack.common.test
BaseException.message 自 Python 2.6 起已弃用
启用 hacking H302 检查
添加条件异常重新引发
python3: 添加 python3 兼容性
使基于 AMQP 的 RPC 消费者线程更健壮
添加 network_utils.urlsplit
移除 networks_utils 中的无用日志记录
python3: 修复运行 python3 时的回溯
重构 to_bytes
添加 slugify 到 strutils
启用 hacking H404 测试
将常用代码添加到 fileutils 和 strutils
启用 hacking H402 测试
启用 hacking H403 测试
启用 hacking H201 测试
将 ‘t’, ‘y’, 和 `strict` 添加到 `bool_from_string`
处理传递给 `boolean_from_string` 的整数
移除 test_timeutils 中整数的前导零
转换 unicode 字符串以实现 python3 可移植性
不要在 strutils 中导入 openstack.common.log
改进 Python 3.x 兼容性
替换标准日志记录为通用日志记录
删除测试模块中未使用的导入
修复版权标头 - 将 LLC 更改为 Foundation
支持 ISO 8601 微秒精度
解码 / 编码字符串工具用于 openstack
timeutils: 认为现在很快
替换对 testtools BaseTestCase 的直接使用
使用 testtools 作为测试基类
从 keystoneclient 导入 timeutils.is_soon
UTC ISO8601 从时间戳
实现 importutils.try_import
使用 basestring 代替 str 进行类型检查
使时间比较函数接受字符串
修复 timeutils 测试中的时区处理
将 utils.py 重命名为 strutils.py
为没有 _() 的消息提供 i18n
使项目 pyflakes 清洁
考虑 LoopingCall 延迟中的任务持续时间
datetime.timedelta.total_seconds() 的便捷包装器
添加 is_newer_than 函数
将 parse_host_port 提取到 network_utils
Normalize_time() 始终返回 naive 对象
使用 pep8 v1.3.3
不要捕获然后重新引发 ImportError
修复拼写错误
支持在 marshalling datetime 时保留微秒
移除未使用的导入
修复 bug lp:1019348,更新 openstack-common 以支持 pep8 1.3
在 to_primitive() 中使用 strtime() 处理 datetime 对象
改进 importutils.import_class() 中的异常
更新通用代码以支持 pep 1.3. bug 1014216
添加 import_object_ns 函数
添加更真实的 importutils 单元测试
修复 utcnow_ts 返回 UTC 时间戳
将 nova 时间实用程序函数添加到 timeutils
用 timeutils.utcnow 替换 datetime.utcnow
移除 common.exception 从 common.importutils
添加 save_and_reraise_exception()
更新 importutils.import_class() 中的异常
更改 utils.import_object() 中的行为
创建 openstack.common.timeutils
初始骨架项目