Repository navigation
Releases
v1.12.2
v1.12.2 (2026-11-08)
Bug Fixes
-
ci: Avoid SIGPIPE in the manylinux build script (
8add83b) -
download: Use the system CA bundle on Linux and report curl errors (
e1356cf)
Chores
- release: Sync version stamps to 1.12.2 [skip ci] (
494602a)
Continuous Integration
-
wheel: Build and test linux aarch64 wheels (
b184fdb) -
wheel: Build linux aarch64 with GCC 14 (
f403a14) -
wheel: Build the linux aarch64 wheel in manylinux_2_28 (
dba09a7) -
wheel: Repair the aarch64 wheel to the tag auditwheel computes (
63768a5) -
wheel: Report per-library symbol versions and let auditwheel pick the tag (
a8aa87a)
Documentation
- install: Document the linux aarch64 wheel (
4f190af)
Detailed Changes: v1.12.1...v1.12.2
v1.12.1
v1.12.1 (2026-11-08)
Bug Fixes
-
build: Do not require AVX2 in shipped binaries (
3a305f3) -
gguf: Validate header bounds and tensor shapes before loading (
85f616b) -
wheel: Ship a self-contained macOS wheel and test the installed one (
08228c9)
Chores
- release: Sync version stamps to 1.12.1 [skip ci] (
e6623af)
Continuous Integration
-
tests: Bound and timestamp each Intel SDE phase on Windows (
eb64751) -
tests: Decompress Intel SDE with 7-Zip on Windows (
402d67c) -
tests: Run unit tests on emulated CPUs under Intel SDE (
2aa1171) -
tests: Time out each Intel SDE run on Windows (
7a782bf)
Documentation
- cpu: Document CPU requirements and dispatch (
9a35d92)
Testing
- sparse: Tighten GGUF/ONNX fidelity bar and refresh stale notes (
4e11976)
Detailed Changes: v1.12.0...v1.12.1
v1.12.0
v1.12.0 (2026-11-07)
Bug Fixes
-
Harden ownership, downloads and input validation (
e6211e8) -
autotune: Keep the embedding-wide purge from wiping other tasks (
c298292) -
autotune: Select without infinite sentinels under fast-math (
d86e494) -
build: Link implementation deps for Windows examples and benchmarks (
1c62375) -
build: Link the Python shared library on Windows, export macOS ggml backends (
f60814d) -
python: Honour LIBEMBEDDING_LIBRARY when loading the native library (
88420d4) -
python: Load one copy of each native dependency, warn on a stale library (
cbeb176) -
sparse: Bound batches by a token budget and sort by length (
d7bd2c2) -
sparse-gguf: Count the batches actually run in stats (
6fda145)
Build System
-
Upgrade llama.cpp to v0.6.0 (ggml 0.26.0) (
6247000) -
cmake: Install an importable libembedding CMake package (
6287feb) -
onnxruntime: Upgrade to 1.31.0 (
70a994f)
Chores
-
Add CLAUDE.md agent guide and GitHub funding link (
5c91c40) -
Repeat quantization benchmark runs, note build hygiene rules (
740f371) -
release: Sync version stamps to 1.12.0 [skip ci] (
06f113c)
Continuous Integration
-
Build and test macOS arm64 on macos-15 (
97fe645) -
Run the PR checks on pull requests to dev (
d26758e) -
release: Build test_autotune_core before running ctest (
dd845a8)
Documentation
-
Archive LE-9.4, LE-9.6 and LE-P5 sparse reports (
e1cc664) -
Archive LE-P5 llama.cpp v0.6.0 audit report (
1d2ef88) -
autotune: Document lembed_autotune_ex and the unified tuning engine (
c2c4bdb) -
sparse-gguf: Document token budget, workers and profiling tools (
4473464)
Features
-
autotune: Run every tuner on one engine and add lembed_autotune_ex (
e263a90) -
cpu: Add CPU dispatch for ggml backends (
f4a206a) -
python: Expose objective, workload and constraints in autotune_unified (
15efc6b) -
sparse-gguf: Run batches on parallel workers sharing the weights (
748620b)
Performance Improvements
-
dense: Cap padded tokens per ONNX batch at 512 (
c90a975) -
reranker: Length-sorted, token-budgeted batches; never pad jina v1 turbo (
e03cc6f)
Testing
-
benchmarks: Add a before/after harness for the auto-tuners (
12f9523) -
benchmarks: Add the short and long text corpora used by sparse runs (
7620dd5) -
benchmarks: Compare Q8_0, F16 and F32 weights in the GEMM microbench (
bd067d6) -
sparse: ONNX vs GGUF fidelity tests and SciFact benchmark (
76fd214) -
sparse: Report effective parallelism and where weight deltas sit (
4640be7) -
sparse-gguf: Per-text latency mode in the profiler (
107ec2b)
Detailed Changes: v1.11.0...v1.12.0
v1.11.0
v1.11.0 (2026-10-08)
Bug Fixes
-
Correct return type annotation for _auto_select_quantization (
5c04013) -
Correct return type annotation for _auto_select_quantization (#11,
a664cb8) -
ci: Declencher Sync dev sur la fin du workflow Release, pas sur
release(e01cc9d) -
ci: Declencher Sync dev sur la fin du workflow Release, pas sur
release(#11,a664cb8) -
ci: Retirer le gate CRLF du workflow Sync dev (
de03445) -
ci: Retirer le gate CRLF du workflow Sync dev (#11,
a664cb8) -
embedding: Correction des retours à la ligne et mise à jour des commentaires (
9f9bd7e) -
embedding: Correction des retours à la ligne et mise à jour des commentaires (#11,
a664cb8) -
gguf: Ajout de la gestion de la mémoire dans SparseSession (
1302029) -
gguf: Ajout de la gestion de la mémoire dans SparseSession (#11,
a664cb8) -
gguf: Batched attention with batch axis [P1.5c] (
b58d770) -
gguf: Batched attention with batch axis [P1.5c] (#11,
a664cb8) -
gguf: Null stale graph pointers when rebuilding cached sparse graph (
29ad1e0) -
gguf: Null stale graph pointers when rebuilding cached sparse graph (#11,
a664cb8) -
gguf: Reconnaitre les synonymes de geometrie de l'architecture [P1.5b] (
223e4d6) -
gguf: Reconnaitre les synonymes de geometrie de l'architecture [P1.5b] (#11,
a664cb8) -
gguf: Tensor_numel comptait des octets, pas des éléments [P1.5b] (
9aff7e4) -
gguf: Tensor_numel comptait des octets, pas des éléments [P1.5b] (#11,
a664cb8) -
python: Align batch_size default handling with constructor default (
776c586) -
python: Align batch_size default handling with constructor default (#11,
a664cb8) -
quantization: Correctifs de revue P1.3 (
d5a6d1a) -
tokenizer: Parite HuggingFace pour la normalisation BERT (
72c6cd6) -
tokenizer: Parite HuggingFace pour la normalisation BERT (#11,
a664cb8)
Continuous Integration
-
Build all unit tests in C++ test workflow (
6b70d9c) -
release: Build all unit tests in release workflow (
13bcd61)
Documentation
-
benchmark: Diagnostiquer le debit sparse GGUF [P1.5c] (
b052dcd) -
benchmark: Diagnostiquer le debit sparse GGUF [P1.5c] (#11,
a664cb8) -
gguf: Clarify cached sparse graph dependencies in comment (
026ea6e) -
gguf: Clarify cached sparse graph dependencies in comment (#11,
a664cb8) -
quantization: Documenter l'auto-selection et la mesure en deux phases [P1.3] (
29b668d) -
quantization: Documenter l'auto-selection et la mesure en deux phases [P1.3] (#11,
a664cb8)
Features
-
benchmarks: Add LE-9.6 four-backend comparison for Dense/Sparse × ONNX/GGUF (
5644456) -
benchmarks: Add LE-9.6 four-backend comparison for Dense/Sparse × ONNX/GGUF (#11,
a664cb8) -
gguf: Convention de capacite sparse GGUF [P1.5b] (
29a6096) -
gguf: Convention de capacite sparse GGUF [P1.5b] (#11,
a664cb8) -
gguf: Runtime sparse GGUF pour SPLADE [P1.5c] (
3094dda) -
gguf: Runtime sparse GGUF pour SPLADE [P1.5c] (#11,
a664cb8) -
python: Deleguer l'auto-selection de quantification au coeur C [P1.3] (
1574784) -
python: Deleguer l'auto-selection de quantification au coeur C [P1.3] (#11,
a664cb8) -
quantization: Auto-selection mesuree des variantes de poids [P1.3] (
25d5ccb) -
quantization: Auto-selection mesuree des variantes de poids [P1.3] (#11,
a664cb8)
Refactoring
-
gguf: Add CachedGraph::reset() and reuse it in SparseSession (
d34e27a) -
gguf: Add CachedGraph::reset() and reuse it in SparseSession (#11,
a664cb8)
Testing
-
Add LIBEMBEDDING_IMPLEMENTATION to GGUF and sparse tests (
978499c) -
Add LIBEMBEDDING_IMPLEMENTATION to GGUF and sparse tests (#11,
a664cb8) -
Add LIBEMBEDDING_IMPLEMENTATION to test_cpp_wrappers (
5a7ded0) -
Add LIBEMBEDDING_IMPLEMENTATION to test_cpp_wrappers (#11,
a664cb8)
**Deta...
v1.10.1
v1.10.0
v1.10.0 (2026-10-03)
Bug Fixes
- tests: Rendre les 6 echecs python de la CI impossibles plutot que toleres (
f4be369)
Chores
- release: Sync version stamps to 1.10.0 [skip ci] (
59bfd13)
Continuous Integration
- sync: Tenir
deva jour apres chaque publication semantic-release (6c69c32)
Detailed Changes: v1.9.0...v1.10.0
v1.9.0
v1.9.0 (2026-09-27)
Bug Fixes
-
Corriger les directives noqa dans les imports (
57f47c4) -
Corriger les directives noqa dans les imports (
283ab6f) -
E402 ruff et ligne dupliquee dans ImageEmbedding.close (
173157d) -
Retablit les directives noqa: E402 (
8f0987c) -
cache: Hacher l'empreinte d'autotune au lieu de la tronquer (
43bc18f) -
ci: Committer les stamps de version avant semantic-release (
9f90e2c) -
lint: Ajouter la directive noqa E402 manquante (
42bcd1f) -
tests: Corriger les importations et ajuster les assertions dans les tests (
aff5f1a) -
tests: Definir LIBEMBEDDING_IMPLEMENTATION dans test_cache (
49e2fb3)
Chores
-
release: Ajouter une étape pour assurer la mise à jour avec origin/main (
85b046a) -
release: Aligner les stamps de version sur la 1.8.0 publiee (
fea2d18) -
release: Sync version stamps to 1.9.0 [skip ci] (
f047018)
Documentation
-
Llamacpp vendorise et API cache copie (
04448f7) -
Regenerate llm.txt / llm_full.txt [skip ci] (
d867410)
Features
-
api: Étendre l'autotuning et la sélection de quantification (
75e9a23) -
cache: Copier sous verrou via lembed_cache_get_copy (
9418d3d) -
tests: Add comprehensive tests for embedding cache and ABI consistency (
d1439f5)
Testing
- Rendre les tests python incapables de faux vert (
e829ac7)
Detailed Changes: v1.8.0...v1.9.0
v1.8.0
v1.8.0 (2026-09-23)
Bug Fixes
-
Add C-linkage autotune wrappers for shared lib export (
8a702eb) -
Add desc_v2 field to text embedding and implement v2 desc (
9eb5458) -
Add pytest-timeout for release workflow Python tests (
3f33662) -
Cast int to lembed_quantization_t in v2 create (
55d4d87) -
Convert autotuner_impl.hpp from UTF-16 LE to UTF-8 with LF line endings (
455fa8b) -
Correct test assertions and add validation for auto_select_model (
bc3749e) -
Enable shared library build for Python tests in release workflow (
cd44eff) -
Implement missing v2 API functions and fix autotune linkage (
dad4176) -
Install pytest and pytest-cov in CI test step (
151492b) -
Mark network-dependent autotune tests to avoid SIGABRT crashes (
516efff) -
Mark network-dependent autotune tests to avoid SIGABRT crashes (
89b4162) -
Remove extern C from autotuner_impl.hpp to avoid symbol conflict with shim wrappers (
fb249f3) -
Reranker clear_cache symbol and detect_hardware assertion (
c353f23) -
Test_image_stats to check embed result instead of internal counter (
3f0c5a6) -
ci: Reinstall pytest after wheel install in build-wheel.yml (
d13cfc4) -
windows: Export all public C API symbols from libembedding.dll (
5844dad) -
windows: Remove lembed_reranker_autotune_custom from exports (not implemented) (
2d7802d)
Chores
- benchmarks: Remove stale reranking bytecode cache files (
7f2013f)
Documentation
-
Regenerate llm.txt / llm_full.txt [skip ci] (
9cacd14) -
Update llm.txt / llm_full.txt [skip ci] (
0b98d7a)
Features
- libembedding: Add initial export definitions for embedding library (
65f62ac)
Detailed Changes: v1.7.0...v1.8.0
v1.7.0
v1.7.0 (2026-09-19)
Bug Fixes
-
docs: Fix GitHub Pages baseurl and nav URLs for libembedding-ng repo (
d1f3486) -
Change baseurl from /libembedding to /libembedding-ng (matches repo name)
-
Fix nav URLs to be relative (no leading /) for proper baseurl resolution
-
Fix English index link to French index (../index.html)
Chores
-
tests: Refactor CMakeLists.txt for test organization (
a7ede63) -
Consolidated unit and integration test sections for clarity.
-
Ensured all test executables are properly linked to
libembedding. -
Maintained conditional logic for Windows and ONNXRuntime library handling.
-
Preserved functionality for local loading tests without network dependencies.
Features
- Ajout de structures de données versionnées pour les modèles et options d'embedding (
b502b24)
- Ajout de
lembed_model_desc_v2_t,lembed_text_options_v2_t, etlembed_reranker_options_v2_tpour étendre les fonctionnalités avec des informations de quantification et de cache. - Amélioration de la gestion des versions pour une meilleure compatibilité et extensibilité.
-
docs: Add documentation for similarity functions and backend detection (
b3a8c4d) -
Introduced
similarity.mddetailing native functions for comparing embedding vectors. -
Added
backend.mdto explain auto-detection of backends based on model names or file paths. -
Created
benchmark.mdfor unified benchmarking of ONNX and llama.cpp backends. -
Documented
cache.mdfor LRU caching of embeddings, including usage and integration withTextEmbedding. -
Added
stats.mdto provide runtime statistics for embedding contexts. -
Updated French documentation for similarity functions and backend detection.
-
Implemented a new LRU cache class in
cache.pyfor efficient embedding storage. -
Added a script for syncing version numbers across header files.
Detailed Changes: v1.6.0...v1.7.0
v1.6.0
v1.6.0 (2026-09-15)
Bug Fixes
- Include llama.cpp runtime DLLs in Windows wheel (
620a85a)
Chores
- Bump version to 1.6.0 for PyPI release (
ab8be9a)
This fixes the PyPI deployment issue where semantic-release was confused by the large gap between last PyPI release (1.0.2) and current code (1.5.8+). Version 1.6.0 is higher than all existing tags and PyPI releases.
Features
-
benchmarks: 🚀 add comprehensive autotune tests and benchmarks (
052a69b) -
Introduced multiple benchmark scripts for autotuning with various corpus sizes and configurations. - Added tests for: - Custom user corpus in
test_autotune_corpus.py- Python autotune from script intest_autotune_python.py- C++ autotuner with constraints and configurable weights intest_autotuner.cpp- GGUF model registry intest_gguf_registry.cpp- Large corpus simulation with stratified sampling intest_large_corpus.py- Unified backend benchmark comparing ONNX and llama.cpp intest_unified_benchmark.cpp- Tokenization vs inference profiling intoken_profile.cpp- Debug trace test for embedding creation intrace_test.cpp- Ultra minimal embedding test inultra_min.cpp- Verification of reproducibility inverify_bench.cpp- Windows API integration test inwin_test.cpp
These additions enhance the benchmarking capabilities and provide a more robust framework for evaluating model performance across different scenarios.
Testing
-
🧪 add comprehensive unit and integration tests for libembedding (
b4d6683) -
Introduced unit tests for exception hierarchy in
libembedding.exceptions. -
Added integration tests for
ImageEmbedding,SparseTextEmbedding, andTextEmbeddingPool. -
Implemented smoke tests for package imports and public API exports.
-
Created tests for model registry and resolution, ensuring model availability and properties.
-
Developed tests for similarity functions and corpus sampling utilities.
-
Included tests for various dataclasses in
libembedding.types. -
Added a script to sync version across C/Python headers, ensuring consistency in versioning.
These changes enhance the test coverage and reliability of the libembedding library, facilitating easier maintenance and future development.
Detailed Changes: v1.5.8...v1.6.0