Skip to content

Commit c8d9a0e

Browse files
committed
Clarify changelog: update() keyword and GIL release threshold
1 parent 80d42d2 commit c8d9a0e

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

CHANGELOG.rst

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ v4.0.0 2026-08-12
77
- **Breaking change**: Drop support for Python 3.8, require Python >= 3.9
88
- **Breaking change**: Remove deprecated ``xxhash.VERSION_TUPLE``
99
- **Breaking change**: The ``input`` keyword argument is renamed to ``data``
10-
across constructors, ``update()``, and one-shot functions
10+
in constructors and one-shot functions. ``update()`` additionally gains a
11+
``data`` keyword argument (it accepted no keyword arguments before).
1112
- **Breaking change**: ``str`` input is no longer accepted and raises
1213
``TypeError: Strings must be encoded before hashing``; encode to
1314
``bytes`` before hashing
@@ -18,7 +19,9 @@ v4.0.0 2026-08-12
1819
are unaffected. Source builds can work around it by adding
1920
``-fno-tree-vectorize`` to the compiler flags.
2021
- Add per-object locking for thread safety, with sub-interpreter and
21-
free-threaded (no-GIL) Python support
22+
free-threaded (no-GIL) Python support. The GIL is now released only
23+
while hashing inputs larger than 64 KiB; previously ``update()``
24+
released it unconditionally and one-shot functions always held it.
2225
- Speed up hash constructors by switching them to ``tp_vectorcall``.
2326
- Build pyodide wasm32 wheels
2427
- Add s390x big-endian test job

0 commit comments

Comments
 (0)