Releases: oconnor663/blake3-py
Releases · oconnor663/blake3-py
1.0.0
Changes since 0.4.1:
- The public API hasn't changed for a long time, so the main purpose of this release is to "officially" stabilize it as-is.
- Prebuilt binaries are now published for more platforms, particularly AArch64. Thanks to @ddelange for implementing this.
blake3.pyi
(static typing stubs) now usescollections.abc.Buffer
for bytes-like arguments. This is more correct and more permissive, but it means that static typechecking requires Python 3.12+.
0.4.1
version 0.4.1
Changes since 0.4.0:
update
andupdate_mmap
now return self, so they can be called
fluently.
0.4.0
version 0.4.0
Changes since 0.3.4:
- Add blake3.update_mmap.
0.3.4
version 0.3.4
Changes since 0.3.3:
- Add type stubs. See blake3.pyi.
- Update PyO3 to v0.20.
0.3.3
version 0.3.3
Changes since 0.3.2:
- Change
blake3.__module__
from "blake3" to "blake3.blake3". This is
the correct canonical path, related to some Maturin implementation
details. This is intended to help tooling that relies on canonical
paths, but most regular callers don't need to worry about this. See
mkdocstrings/mkdocstrings#451 for an example
of a tool that needs to know this. - Update PyO3 to v0.17.
0.3.2
0.3.1
version 0.3.1
Changes since 0.3.0:
- The experimental C implementation has been bumped to v0.0.1. Testers
and reviewers can install this implementation from TestPyPI with:
pip install -i https://test.pypi.org/simple/ blake3-experimental-c
- We now avoid releasing the GIL for short inputs and release the GIL
for long outputs in addition to long inputs. - The experimental C implementation now has GIL handling matching the
Rust implementation. - Both implementations now contain an internal mutex, to protect the
state object from data races. However, it's still possible for data
races to occur in the input buffer. (This is also the case for
standard hashlib implementations.)
0.3.0
version 0.3.0
Changes since 0.2.1:
- There is now an experimental, API-compatible C implementation of the
Pythonblake3
module in the c_impl/ directory. This a
proof-of-concept for code that might be submitted to Python's standard
hashlib module in the future. It probably won't be published on PyPI. - The
multithreading
keyword arg previously on blake3() and update()
has been replaced with themax_threads
keyword arg on blake3() only.
This accepts any positive integer, or the special valueblake3.AUTO
,
which is equivalent to the previous behavior. This change helps
compatiblity with the current C implementation, which ignores
max_threads
, and with a hypothetical future C implementation, which
might want to store a thread pool on the hasher. - Added the reset() method. This is potentially helpful for reusing
threading resources, which are currently local to the hasher when
max_threads
is greater than 1 and not equal toblake3.AUTO
. - Added a
usedforsecurity
keyword arg, for compatibility with hashlib.
The value is currently ignored. - Most keyword arguments are now strictly keyword-only, and
data
arguments are now strictly positional-only.
0.2.1
version 0.2.1
Changes since 0.2.0:
- The "blake3" crate version has been updated to 1.0.0.
- Binary wheels for Apple Silicon are now built with GitHub releases and
published to PyPI.
0.2.0
version 0.2.0
Changes since 0.1.8:
- Rename the "context" keyword argument to "derive_key_context" for
clarity. - Upgrade PyO3 to 0.14, which raises the minimum supported Python
version to 3.6. - The blake3.OUT_LEN and blake3.KEY_LEN module constants have been
replaced with "digest_size" and "key_size" attributes on the hasher
object itself. This is more consistent with how the standard hashlib
module behaves. A "block_size" attribute has also been added. - Add the
blake3.__version__
module constant. - Add the "neon" Cargo feature, which maps to the "neon" feature of the
underlying blake3 crate.