Releases: explosion/thinc
v8.3.13: Bug fixes and validation improvements
- Add clear error message for float64 dtype mismatch in BLIS gemm (#461).
- Document that Model.from_disk requires matching architecture (#751).
- Document that Loss.get_grad computes gradient w.r.t. logits, not
post-softmax probabilities (#901). - Remove stale comments about torch.cuda.amp.autocast migration (#967).
- Fix numpy deprecation warning filter syntax in pyproject.toml.
- Ignore NumPy 2.4 align deprecation from pickled dtype in test data.
v8.3.12: Re-enable type validation
Our chain of libraries used Pydantic v1 in unusual ways and relied heavily on implementation details of what did and did not specifically pass Pydantic v1 type validation. Pydantic v2 greatly improved the behaviours of Pydantic overall, but unfortunately it broke the way we were using the library in Confection pretty fundamentally.
The Pydantic v2 migration has been a blocker for full Python 3.14 support, as Pydantic v2 understandably didn't want to update their v1 shim for the 3.14 type-handling behaviours.
Confection v1.1 now resolves this issue by implementing our own custom validation logic that matches the behaviours we need. This release updates to v1.1, allowing us to re-enable validation when networks are defined.
Bug fixes
- Ensure random seed is < 2**23 for np.random.seed() (#965)
v8.3.11: Support confection v1 (and therefore full Pydantic v2 support)
release-v8.3.11 Bump version
v8.3.10: Add wheels for Windows ARM
Add wheels for Windows-ARM for Python 3.11-3.14. Python 3.10 wheels are skipped for this platform because there are no numpy Windows ARM wheels available for Python 3.10.
v8.3.9: Add wheels for Python 3.14
Add wheels for Python 3.14 and add some noexcept qualifiers to C functions.
v8.3.7: Widen numpy pin, drop support for Python 3.9
- Widen numpy runtime dependency pin
- Drop support for end-of-life Python 3.9
A release with Python3.14 wheels should be up shortly.
v8.3.6: Support Python 3.13
This release adds support for Python 3.13. In order to do this we're requiring Pydantic >= 2.0 and updated compilation to use Cython 3.0. This required an updated to the blis packaged that's not binary compatible, but thinc itself should not have any binary backwards compatibility issues.
v8.3.4: Update Blis pin to revert to known-good v0.7
Previous releases have used releases of our blis package that vendor newer releases of the upstream blis library. Unfortunately these newer releases have had intermittent crashes on Windows that we haven't been able to track down.
I've therefore released a v1.2 of the blis package that goes back to the known-good v0.7 release of the vendored blis code, which we were using before. This release updates the verison-pin to use it.
It took a surprisingly long time to get v0.7 of blis to compile, due to conflicts on Windows. I regret the delay.
v8.3.3: Fix Blis crashes, widen numpy pin
- Update blis pin to v1.1. This updates the vendored blis code to 1.1, which should fix crashes from the previously vendored v0.9 code on Windows.
- Widen numpy pin, allowing versions across v1 and v2. Previously I had thought that if I build against numpy v2, I couldn't also have v1 as a runtime dependency. This is actually incorrect, so we can widen the numpy pin
- Set flag on loading PyTorch models to improve safety of loading PyTorch models.
v8.3.2: Fix regression to torch training, update ARM dependency
- Fix regression to torch training introduced in v8.3.1
- Restore MacOS ARM wheels, which were missing from previous builds
- Fix compatibility with thinc-apple-ops