NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #855 most downloaded on PyPI
A refreshing functional take on deep learning, compatible with your favorite libraries
Last release 6 months ago
23 Mar 2026
Release timing varies
gaps range from 1 weeks to 7 months
Nearly every release is documented
notes for 57 of the last 60 stable releases
3 versions withdrawn
withdrawn after publishing
12 years old
250 releases · first in 2014
Nothing published for this version
Nothing published for this version
Improve GPU utilisation for attention layer.
foreach combinator, useful for hierarchical models.imdb_cnn text classification example.One column per quarter.
Nothing published for this version
Nothing published for this version
Fix minor memory leak in beam search.
Nothing published for this version
Provisional CUDA 9 support. CUDA 9 removes a compilation flag we require for CUDA 8. As a temporary workaround, you can build on CUDA 9 by setting the
CUDA9=1. For example:CUDA9=1 pip install thinc==6.10.0
NumpyOps.scatter_add, when the indices only have a single dimension. This function was previously a bottle-neck for spaCy.sqrt, exp and tanh functions.tensordot, instead reshaping to make 2d dot calls.thinc.optimizers. There's now a single Optimizer class. For backwards compatibility, SGD and Adam functions are used to create optimizers with the Adam recipe or vanilla SGD recipe.Thanks to @RaananHadar for the pull request!
Add new namespace modules thinc.v2v, thinc.i2v, thinc.t2t, thinc.t2v that group layer implementations by input and output type v indicates vector, i i
thinc.v2v, thinc.i2v, thinc.t2t, thinc.t2v that group layer implementations by input and output type v indicates vector, i indicates integer ID, t indicates tensor. The input type refers to the logical unit, i.e. what constitutes a sample.thinc.neural._classes.layernorm.set_compat_six_eight. This flag is off by default.Fix incorrect packaging of thinc.neural.gpu_ops, introduced in v6.8.1.
thinc.neural.gpu_ops, introduced in v6.8.1.thinc.extra.search.MaxViolation, which caused segfaults on some platforms.Add new foreach layer combinator, which maps a layer across elements of a sequence.
foreach layer combinator, which maps a layer across elements of a sequence.predict methods to more layers, for use during decoding.Maxout layer.cupy package.Add SELU layer, from Klambauer et al. (2017).
uniqued, which wraps layers giving them a per-batch cache.LinearModel class.Thanks to @tammoippen for the pull request!
Convolution is now computed the same on CPU and GPU.
Make order of dicts stable when serializing model.
Temporarily revert change to CuPy.
Add Model.to_bytes() and Model.from_bytes() methods, to support serialization that's compatible between Python versions.
Model.to_bytes() and Model.from_bytes() methods, to support serialization that's compatible between Python versions.cupy subpackage, for simpler GPU installation.flatten and with_flatten ops.HashEmbed now returns correct results for arrays of length not divisible by 16..cu source files in the source distribution.setup.py.Add GPU kernels for max and mean pool using variable-length sequences.
thinc.api.FeatureExtractor, for getting features from spaCy Doc objects.thinc.api.add now accepts a variable number of layers.Residual class.Nothing published for this version
Add classes for siamese neural network architectures for supervised similarity.
HashEmbed class, an embedding layer which uses the hashing trick to support a larger vocabulary in a shorter table.Embed class.resume_training() method for linear model.Nothing published for this version
NEW: Add thinc.check module to specify argument constraints for functions and methods.
thinc.check module to specify argument constraints for functions and methods.thinc.exceptions module with custom exception messaging.NEW: Model now has define_operators() classmethod to overload operators for a given block.
Model now has define_operators() classmethod to overload operators for a given block.chain(), clone() and concatenate() functions for use with overloaded operators.describe module which provides class decorators for defining new layers.Together, these features allow very concise model definitions:
with Model.define_operators({'**': clone, '>>': chain}):
model = BatchNorm(ReLu(width)) ** depth >> Softmax()
NEW: Add several useful higher-order functions, including @layerize and @metalayerize decorators to turn functions into weightless layers.
@layerize and @metalayerize decorators to turn functions into weightless layers.ELU layer.AveragedPerceptron class can now continue training after model loading. Previously, the weights were zeroed for each feature as soon as it was updated. This affected spaCy users, especially those adding new classes to the named entity recognizer.Nothing published for this version
Nothing published for this version
Nothing published for this version
…held the struct value. This introduces a small backwards incompatibility in spaCy.
thinc.neural to develop neural networks for spaCy.MeanPooling, MaxPooling and MinPooling. Add MultiPooling layer for concatenative pooling.The Example class now holds a pointer to its ExampleC struct, where previously it held the struct value. This introduces a small backwards incompatibility in spaCy.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →