pypi / fastembed
fastembed
What changed in fastembed 0.8 to 0.9, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-28.
16 breaking1 security23 new APIs and options3 performance4 behavior and defaults15 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initfastembed 0.938 changes
Breaking changes 14
Rejects custom cross-encoder names that differ from a registered name only by case, preventing them from silently resolving to the earlier model.
Raises a ValueError when a custom model with disabled pooling returns per-token output instead of sentence embeddings.
Values below 1 now raise a ValueError.
Image preprocessing now matches Jina's center crop; image embeddings change for some image sizes.
The default batch_size changes from 16 to 2, including for Qdrant/colpali-v1.3-fp16.
Embeddings are now returned as float32 instead of float64.
Built-in models now download only from Hugging Face, without the GCS fallback; custom models still support url and hf sources.
Encoding an empty multivector now raises a ValueError.
Qdrant/colmodernvbert now requires onnxruntime>=1.19.
The stray 128-token limit is removed and the limit is now 512 tokens on a fresh download; embeddings of longer texts change.
The stray 128-token limit is removed and the limit is now 256 tokens on a fresh download; embeddings of longer texts change.
Now loads model_v2.onnx and drops padding rows from embeddings; offline setups need to download it first, and affected image embeddings should be re-embedded.
The stray 128-token limit is removed and the limit is now 256 tokens on a fresh download; embeddings of longer texts change.
The stray 128-token limit is removed and the limit is now 512 tokens on a fresh download; embeddings of longer texts change.
New APIs and options 12
Adds an option to memory-map the potion models' embedding matrix, enabling instant loading and sharing one copy among parallel workers.
Added this reranker model for use with fastembed.
Added the int8 version of this reranker model for use with fastembed.
Added this model for use with fastembed.
Added this model for use with fastembed.
Added this multilingual model for use with fastembed.
Added the stemmer parameter to support languages without a Snowball stemmer, such as Polish.
Added the stopwords parameter to support languages without a Snowball stemmer, such as Polish.
Added this small query encoder for searching embeddings from Qdrant/stella-en-400M-v5-doc-onnx.
Added this small query encoder for searching embeddings from Qdrant/stella-en-400M-v5-doc-onnx.
Added this document encoder for use with fastembed.
Added output_name to select which ONNX output a custom model uses.
Performance 3
Potion models run with numpy instead of ONNX, producing unchanged outputs and running 1.9x to 2.6x faster on documents.
Embedding a single text, such as a query, is faster with the potion models.
Document encoding is faster for large k_sim values.
Behavior and default changes 2
Nearest-neighbor interpolation is now accepted in image preprocessing.
With lazy_load=True, token_count() loads only the tokenizer instead of the ONNX model.
Fixes and other changes 7
Allows Pillow 13.
parallel workers now respect cuda=False when onnxruntime-gpu is installed.
ConvNeXT image preprocessing now respects do_resize=False.
Fixed token ID overflow in query embeddings.
Empty dictionaries now produce int64 indices.
Very small weights are preserved by computing them with log1p.
Tokenization now honors the truncation and padding side specified in the model's tokenizer config.
fastembed 0.824 changes
Breaking changes 2
Now resolves to Qdrant/bge-base-en-v1.5-onnx-Q; its cache directory casing changes, so existing caches may not be reused and offline setups must refresh the cache before upgrading.
The default model now resolves to Qdrant/bge-small-en-v1.5-onnx-Q; its cache directory casing changes, so existing caches may not be reused and offline setups must refresh the cache before upgrading.
Security 1
Fixed a path traversal vulnerability that could write files outside the cache directory.
New APIs and options 11
Added this model for use with fastembed.
Added this model to TextEmbedding and ImageEmbedding.
Added this Model2Vec static model.
Added this Model2Vec static model.
Added this Model2Vec static model.
Added this vision model; it shares an embedding space with the text model for text-to-image search.
Added this vision model; it shares an embedding space with the text model for text-to-image search.
Added inference-free SPLADE for documents; queries are encoded without inference.
Added LAST_TOKEN pooling for custom models.
Added this embedding model.
Added this quantized embedding model; it requires onnxruntime>=1.23.
Behavior and default changes 2
Checks that model files exist before using a cached model, allowing variants such as fp32 and quantized models to share a cache directory.
config.json and special_tokens_map.json are now optional when loading a tokenizer.
Fixes and other changes 8
Custom text embedding and cross-encoder models no longer fail when parallel is set.
Batches are always padded to their longest sequence, fixing ValueError on mixed-length batches for models whose tokenizer ships a fixed padding length.
Normalization of batched (N, C, H, W) image arrays now uses the correct axis.
Loading a custom text model registered with different casing no longer raises KeyError.
Downloads now have a timeout so a stalled connection fails instead of hanging indefinitely.
Each download is staged in its own temporary directory so failed or concurrent downloads cannot delete files from other downloads.
Now runs the fp32 model instead of fp16, which fails on onnxruntime>=1.23; the download grows from 0.32 GB to 0.64 GB.
Fixed the transform swapping height and width for non-square sizes.