版本 0.61.2 (2025年4月7日)
这是一个维护版本,增加了对 NumPy 2.2 的支持,并修复了针对 0.61.0 报告的一些回归问题。
亮点
支持 NumPy 2.2
Numba 现在支持 NumPy 2.2,并包含以下显著更改:
np.empty(0)
不再能被视为布尔值。对于依赖此行为的代码,这是一个破坏性变更。以下代码将引发ValueError
错误。import numpy as np if np.empty(0): print("This will not be printed")
由于时间单位未定义,通用时间差(generic timedeltas)不再能被哈希。
从 NumPy 2.2 开始,在 Numba 编译的代码中计算的
numpy.timedelta64
和numpy.datetime64
实例的哈希值与 NumPy 自身的哈希值不匹配。在 NumPy 2.2 之前,numpy.timedelta64
和numpy.datetime64
实例的 NumPy 哈希值与其整数值表示等效。从 NumPy 2.2 开始,它们的哈希值与内置datetime
模块中等效类型的哈希值相同,Numba 不会复制此行为。np.trimzeros
现在也会修剪\0
值。
(PR-#9919)
错误修复
修复 numba.core.types
的静态类型检查器支持
Numba 0.61 引入拆分类型系统后,导致动态类型行为与静态类型检查器不兼容。为解决此问题,我们为 numba.core.types
添加了一个类型存根文件(.pyi
),提供显式类型注解。
(PR-#9945)