@@ -22,11 +22,29 @@ Version TBD (not yet released)
22
22
23
23
- ``nb::typed<nb::object, T> `` or ``nb::typed<nb::handle, T> `` produces
24
24
a parameter or return value that will be described like ``T `` in function
25
- signatures but accepts any Python object at runtime
25
+ signatures but accepts any Python object at runtime.
26
26
27
27
- ``nb::typed<nb::callable, R(Args...)> `` produces a Python callable signature
28
28
``Callable[[Args...], R] ``; similarly, ``nb::typed<nb::callable, R(...)> ``
29
- (with a literal ellipsis) produces the Python ``Callable[..., R] ``
29
+ (with a literal ellipsis) produces the Python ``Callable[..., R] ``.
30
+
31
+ (PR `#835 <https://github.com/wjakob/nanobind/pull/835 >`__).
32
+
33
+ - Fixed the :cpp:class: `nb::int_ <int_> ` constructor so that it casts to
34
+ an integer when invoked with a floating point argument.
35
+
36
+ - Fixed (benign) reference leads that could occur when ``std::shared_ptr<T> ``
37
+ instances were still alive at interpreter shutdown time. (commit `fb8157
38
+ <https://github.com/wjakob/nanobind/commit/fb815762fdb8476cfd293e3717ca41c8bb890437> `__).
39
+
40
+ - Fixed a race condition in free-threaded extensions that could occur when
41
+ :cpp:func: `nb::make_iterator <make_iterator> ` concurrently used by
42
+ multiple threads (PR `#832 <https://github.com/wjakob/nanobind/pull/832 >`__).
43
+
44
+ - Removed double-checked locking patterns in accesses to internal data
45
+ structures to ensure correct free-threaded behavior on architectures with
46
+ weak memory ordering (specifically, ARM). (PR `#819
47
+ <https://github.com/wjakob/nanobind/pull/819> `__).
30
48
31
49
Version 2.4.0 (Dec 6, 2024)
32
50
---------------------------
0 commit comments