- Stage release lock updates
(
6e8fac9)
- Keep release lock metadata current
(
9593bf4)
- Initial Release
- Rename the distribution and import package to
fastretrieval; the legacyQWEN3_EMBED_*environment variables remain supported as deprecated aliases.
- Add the Fastretrieval successor package identity and documentation for its multi-model retrieval contract.
-
Accept empty and whitespace-only text in check_input_length (#966,
35a525a) -
Add regex search fast path to input sanitization (
cc6a184) -
Adopt better-semantic-release for built-in release guards (
d0427d0) -
Assert the link refusal without removing tarfile.data_filter (#958,
33ed74e) -
Clamp embedding batch size to the ONNX graph batch axis (#970,
d9dc0be) -
Clear the GCS staging path whatever type it is (#963,
f426f9c) -
Correct mention gate expression (balanced parens + precedence) (#914,
8764f0c) -
Document backend-only repository limitation (
26e07a5) -
Drop rangeStrategy from update-type package rules (#929,
3426710) -
Enforce fix(deps) semantic commit prefix in renovate config (
4c7e45f) -
Fail the release when the computed version already exists on PyPI (#897,
59b22ed) -
Format README code blocks the way ruff 0.16 wants them (#964,
20c8adc) -
Gate oc mention job on comment author write access (#914,
8764f0c) -
Let the integration cache bootstrap itself and report its own progress (#972,
15695bb) -
Make a hanging integration test name itself instead of dying silently (#972,
15695bb) -
Make renovate automerge effective (isolated groups, digest+lockfile automerge, 7-day cooldown) (
722455d) -
Optimize FP16 to FP32 Casting (
d26a5fe) -
Optimize regex substitution loops with search fast-path in gguf cross encoder (
2278801) -
Pin rangeStrategy on delayed packageRules to fix renovate artifacts failure (#920,
3b51822) -
Point the custom-reranker test at a model its code path can score (#972,
15695bb) -
Refuse tar symlinks that escape the model cache (#958,
33ed74e) -
Regenerate uv.lock after rebasing dependency bumps onto main (#930,
f1b419a) -
Replace noise-dominated retrieval assertion in test_full_pipeline (#967,
2894b2b) -
Restore Python 3.11 support and stop ty failing CI on warnings (#898,
fda5944) -
Reuse mask sum in mean pooling (
261de55) -
Scope the MAX_INPUT_LENGTH override to this test module (#971,
25b411f) -
Stop injecting a fake llama_cpp into sys.modules for the whole session (#971,
25b411f) -
Stop the worker pool deadlocking when its consumer walks away (#972,
15695bb) -
Stop two test modules from mutating global state at import time (#971,
25b411f) -
Sum integer masks before float cast in mean pooling (
00ef2aa) -
Trigger the integration suite on every test file that holds one (#972,
15695bb) -
Use fixed-point string replacement for input sanitization (
6d39950) -
deps: Update actions/setup-python action to v7 (#931,
24e2260) -
deps: Update astral-sh/setup-uv action to v8.3.2 (
8101060) -
deps: Update astral-sh/setup-uv action to v9 (#932,
a2d7fec)
-
Add opencode github agent (responds to /oc) (
364704e) -
Add PR-title conventional-commit gate + no-bump release warning (#922,
aa47bfc) -
Add review-learnings store the automated reviewer must obey (
e3201f1) -
Auto-respond only to issues and PRs opened by outside people (
3a90360) -
Reviewer must obey .github/review-learnings.md (
cfbdd93)
- Optimize mean pooling sum reduction by reusing float cast mask
(
261de55)
-
Fast-path scalar sigmoid with math.exp for batch size 1 (
53744a1) -
Sum integer attention mask before float cast in mean pooling (
6702cd4) -
Validate GCS download host via parsed.hostname to prevent SSRF (
8d1c946) -
deps: Lock file maintenance (
b751f96) -
deps: Update non-major dependencies (
28697e2)
-
Add check_worker_health test (
dccf2f0) -
Add cumulative and fallback-path tar bomb tests for decompress_to_cache (
8d99154) -
Add edge-case tests for iter_batch (too-large size, empty iterable, zero-size non-consumption) (
18c6666) -
Add error test for _validate_tar_member path traversal (
5589597) -
Add error-path test for check_input_length (
715fb16) -
Add tests for regression test for over-strict bug (
f4158f2) -
Add tests for too many arguments: make_model_description (
d46931c) -
Add tests for untested error path in _save_file_metadata (
2b8a50b) -
Correct doc rot in README intro and stale embedding docstrings (#800,
29c95ea) -
Correct last_token_pool for mixed-padding, empty, and all-zero attention masks (
07f19ee) -
Cover export_to_onnx (
2f434c9) -
Cover internal worker loop and cleanup in parallel_processor (
413fbe5) -
Cover join_or_terminate states (
5b186a6) -
Cover onnx_text_model (
0a07dad) -
Drop unused llama_cpp import in GGUF cross-encoder dependency check (
dfa6e97) -
Drop unused OnnxProvider/PathInput re-export from common package (
c6eb038) -
Extract yes/no token logits without full-vocab slice (
b862da4) -
Guard _cleanup_worker leak on queue.close error + cover (
c12e397) -
Import TextCrossEncoder from source module and drop redundant re-export (
fc4f490) -
Mismatched dictionary key lookup for repo files (
447d5e6) -
Missing cache for supported models in TextEmbedding (
788e65d) -
Missing edge case: is_safe_path with relative paths (
0a137e4) -
Missing edge case: semi_ordered_map with empty stream (
30222d1) -
Missing error test for parallel worker cleanup (
5cec788) -
Missing tests for custom_model.py (
fc2d6af) -
Missing tests for export.py (
b7cc5c0) -
O(1) last_token_pool index lookup (
8224a13) -
Pin numpy <2.5 to keep Python 3.11 support (
4ad79c3) -
Propagate custom reranker registry to spawned workers (#799,
8367ad7) -
Re-raise worker exceptions after draining the queue + harden worker health detection (
df6c877) -
Reduce _rerank_pairs params via kwargs (
2f2c9b1) -
Reduce HF download arg count via model param (
cce375f) -
Refresh lockfile (renovate maintenance) (
754b199) -
Remove unused future annotations import in gguf_embedding (
7b96533) -
Ruff-format test_parallel_processor.py after merge (#873,
5f6f1b1) -
Single-pass real-token count (
cb74697) -
Split download_files_from_huggingface (
793fc8b) -
Split OnnxTextCrossEncoder init setup (
325341a) -
Split retrieve_model_gcs into helpers (
a1c77e0) -
Update non-major dependencies (
1bf021b) -
model-management: Reduce argument count in _download_with_retries and related helpers (
cce375f) -
utils: Robust last_token_pool handling for mixed padding and edge cases (
07f19ee)
-
deps: Update actions/setup-python digest to ece7cb0 (#841,
f6a8672) -
deps: Update dawidd6/action-send-mail action to v18 (#844,
703d51c)
-
Add NOTICE retaining fastembed (Qdrant) attribution (#733,
5220b34) -
Honor dim/MRL truncation on custom and pooled embedding paths (#733,
5220b34) -
Make custom embedding models work under multiprocessing and case-insensitive (#733,
5220b34) -
Restore PSR changelog generation and backfill version history (#732,
d450791) -
Skip parallel custom-model integration test on Windows spawn deadlock (#733,
5220b34)
-
Add CustomModelSpec one-call BYO registration helper (#733,
5220b34) -
Add HF-id to ONNX export helper with lazy optional deps (#733,
5220b34) -
Document CustomModelSpec bring-your-own-model usage (#733,
5220b34) -
Production-grade bring-your-own-model (BYO) support (#733,
5220b34)
-
Add strict= to zip in reranker batch-invariance test (B905) (#730,
9b0860e) -
Score reranker texts per-row so scores are batch-invariant (#730,
9b0860e)
-
Gitignore bot/merge junk artifacts (.orig/.rej/.patch/.diff/.cover/.bak) (#690,
363004c) -
Relax tokenizers floor to >=0.22.0 for transformers co-installability (#692,
4ef7f41)
-
Add _fetch_repo_files tests for model management (#633,
106d4f3) -
Correct over-strict tar member validation on Windows (#635) (#645,
410e4b3) -
Update huggingface-hub to 1.17.0 and ruff to 0.15.15 (#643,
5cb6c9d) -
deps: Lock file maintenance (
df1459d) -
deps: Update actions/checkout digest to df4cb1c (
065f01a) -
deps: Update non-major dependencies (
ea41108)
-
Add test for check_input_length with extremely long input (
2c94b22) -
Add test for parallel processor worker exception handling (
3c8c89a) -
Add test for ValueError in model_management._fetch_repo_files (
0673e03) -
Add tests for ImportError in _check_llama_cpp (
6e5c087) -
Add tests for model snapshot metadata parsing errors (
dd6a120) -
Add tests for OverflowError in gguf_cross_encoder._score_text (
773f52b)
-
Drop unused providers/device_ids/lazy_load params in GgufEmbedding init (
5a57c96) -
Restrict tarfile members to reg/dir/sym/link types + emulate data filter (
7f31c35) -
Ruff format test_model_description.py for CI green (
c5f2e09) -
Simplify init parameter list in onnx_text_model + parallel_processor (
c448f77) -
Simplify _download_from_gcs parameter list via dataclass (
63898f1) -
Simplify _instantiate_onnx_session parameter list (
2b60926) -
Simplify add_custom_model parameter list via config dataclass (
f109006) -
Simplify CustomTextEmbedding init parameter list (
49022e7) -
Simplify gguf_cross_encoder + gguf_embedding init parameter list (
786423e) -
Use dict map for O(1) repo_files lookup in _verify_files_from_metadata (
a2b373d) -
Use math.exp instead of np.exp for single scalar sigmoid in cross_encoder (
f38f489) -
deps: Bump huggingface-hub to >=1.14.0,<2.0 (
c7c81af) -
security: Iterate tar members to prevent decompression-bomb OOM (#617,
3320879) -
security: Prevent symlink-based permission modification on cache dir (#585,
f8bcd13) -
security: Thread-safe requests session initialization (#588,
c094c9b) -
text: Reduce parameter count and fix formatting (
49022e7) -
text: Reduce parameter count in CustomTextEmbedding.init (
49022e7)
-
deps: Update actions/create-github-app-token digest to bcd2ba4 (#597,
6d2efbd) -
deps: Update actions/dependency-review-action action to v5 (#586,
df81194) -
deps: Update codecov/codecov-action digest to e79a696 (#618,
e5db9bf) -
deps: Update step-security/harden-runner digest to ab7a940 (#602,
dc0f13c)
-
Add missing-value test for deprecated_tar_struct ModelSource property (
8b5caed) -
Add Table of contents heading + auto-generated link list (Spec E Wave 2) (
42f126d) -
Add test for ModelManager _get_expected_md5 (
8d2b472) -
Add test for PooledNormalizedEmbeddingWorker init_embedding (
a3caf3c)
-
Reduce parameters in add_custom_model (
f109006) -
Reduce parameters in add_custom_model and fix lint (
f109006)
- text: Add unit test for PooledNormalizedEmbeddingWorker.init_embedding
(
a3caf3c)
-
Align Python version statements with pyproject.toml requires-python (#545,
e5b54ec) -
In-place division in mean_pooling for ~15-20% perf gain (#548,
fa280b1) -
deps: Update dawidd6/action-send-mail action to v17 (#547,
58a700c) -
deps: Update dependency llama-cpp-python to >=0.3.22 (#558,
528f425)
-
Scope CD notify-downstream app token to n24q02m profile repo (
957bb1a) -
Sweep doppler/infisical refs to skret SSM (
80eff17)
-
Batch ONNX inference in Qwen3CrossEncoder._onnx_embed_texts (#513,
93704ad) -
Bump dev dependency ty to 0.0.32 (
fbb6e31) -
Bump requires-python to 3.11 for numpy 2.4 compat (
be15ee9) -
Bump step-security/harden-runner digest to 8d3c67d (
00cecfd) -
Drop Python 3.10 from CI matrix after requires-python bump (
5248b3d) -
Ignore coverage.xml and htmlcov artifacts (
117bf8d) -
Left-pad reranker batches + last-non-pad pooling in yes/no scoring (
b9a5aa6) -
Make path assertions platform-agnostic for Windows CI (
82f688a) -
Optimize iter_batch list slicing by branching list vs tuple (
6079dd9) -
Prevent SSRF via open redirects in GCS model downloads (
57f27d5) -
Reduce code duplication in _load_onnx_model and add parallel execution support (#520,
f6fd794) -
Refactor overly long download_files_from_huggingface into helpers (#509,
1f31b51) -
Remove AI traces (.jules / superpowers content — belongs in private n24q02m/.superpower repo) (
c167f6a) -
Remove emoji from source code to fix Windows CI (#468,
b14bb91) -
Sync local changes from workspace (
978ca96) -
Use sqrt(v.dot(v)) for 1D L2 norm in gguf embedding (
3d0f321) -
deps: Bump actions/create-github-app-token digest to 1b10c78 (#492,
57a9aac) -
deps: Bump non-major dependencies (huggingface-hub 1.11, ruff, ty) (#469,
39f0fb9) -
deps: Bump step-security/harden-runner digest to 6c3c2f2 (#470,
f75777a)
- Ignore AI assistant traces
(
8b7ff69)
-
Add cross-OS CI matrix (ubuntu/windows/macos) (
493c64a) -
Add tests for TextEmbedding.embed delegation (
05ed227) -
Add tests for TextEmbedding.passage_embed and query_embed delegation (
ab46efe) -
Auto-create downstream bump issues on stable release (
5da0d78) -
Cache TextEmbedding/TextCrossEncoder model description lookups (O(1)) (
145e5d9) -
Replace 2-class softmax with sigmoid on logit difference in cross encoders (
904fe36) -
model_management: Add desc to tqdm progress bar (#400,
c0ddd14)
-
Add coverage for _download_from_hf exception handling (#502,
aad1270) -
Fix missing coverage for decompress_to_cache (#514,
94a8ccf) -
utils: Add tests for input length validation (#517,
3f317b9)
- Sync workflow SHA pins, Qodo vertex_ai config, and VERTEXAI_LOCATION
(
5a199b5)
-
Pin pre-commit hooks to commit SHA (
7f64ff1) -
Pin third-party GitHub Actions to SHA hashes (
7517dbf) -
Remove pr-title-check job from CI (
68ec2c9) -
Standardize README structure (
412ba62) -
cd: Remove empty env blocks from OIDC migration (
5c031bd) -
cd: Replace GH_PAT with GitHub App installation token (
bd47ba1) -
cd: Use PyPI OIDC trusted publishing instead of PYPI_TOKEN (
c069253) -
ci: Consolidate SMTP_USERNAME and NOTIFY_EMAIL into one secret (
4943bb3) -
ci: Consolidate SMTP_USERNAME+PASSWORD into SMTP_CREDENTIAL (
dccb016) -
ci: Use Vertex AI WIF instead of GEMINI_API_KEY for code review (
cbf982d)
-
Add .code-review-graph/ to .gitignore (
255afd5) -
Add .env to .gitignore for secret protection (
1b79f3f) -
Add Infisical project configuration (
a9ec91c) -
Remove Infisical config (empty project deleted) (
f540f68) -
deps: Lock file maintenance (
f03b866) -
deps: Update actions/create-github-app-token action to v3 (#304,
c3e23e2) -
deps: Update codecov/codecov-action action to v6 (#305,
c33a1eb) -
deps: Update codecov/codecov-action digest to 75cd116 (#298,
b3c4f40) -
deps: Update dependency requests to v2.33.0 [security] (
e1cead3)
-
Add CLAUDE.md with project conventions and structure (
a9f19c8) -
Fix CLAUDE.md discrepancies (
c963935)
-
Notify downstream repos on stable release (
259afd8) -
Use batched tokenization in Qwen3CrossEncoder (#287,
9a236f1)
- Add Device to public exports, update SECURITY.md
(
ed5b3e5)
-
Align CI/CD action versions (
3cb68f5) -
deps: Update codecov/codecov-action digest to 1af5884 (#280,
047c7f4) -
deps: Update dawidd6/action-send-mail action to v16 (#278,
061b417)
-
Add debug logging to empty except block in model cache fallback (
9ddda4a) -
Add noqa to unused arguments in gguf_cross_encoder.py (#254,
64ca958) -
Fix TOKEN_NO_ID mismatch and add input sanitization in GGUF reranker (
9df0c3e) -
Resolve lint errors for unused imports and sorting (#258,
8abb836) -
Testing] Cover ImportError from builtins.import in _check_llama_cpp (#240,
465e700) -
Testing] Test OSError/ValueError in HF download (#265,
ee18b90) -
🧹 [code health improvement] Fix unused arguments in GGUF cross encoder (#260,
b99bb6e) -
🧹 [code health] Format missing files and refactor _load_onnx_model (#264,
a3e0e99) -
🧹 [code health] Format missing files and resolve typing issues (#264,
a3e0e99) -
🧹 [code health] Refactor _load_onnx_model to reduce complexity (#264,
a3e0e99) -
🧹 Suppress unused arg warnings in GGUF cross encoder (#260,
b99bb6e) -
🧹 Suppress unused arg warnings in GGUF cross encoder and format code (#260,
b99bb6e) -
🧹 Suppress unused argument warnings in Qwen3CrossEncoderGGUF (#254,
64ca958) -
ci: Use pull_request_target for jobs requiring secrets (
015199e)
-
deps: Update astral-sh/setup-uv digest to e06108d (#225,
3b44efe) -
deps: Update dawidd6/action-send-mail action to v14 (#233,
e7f9e91)
-
Add missing edge cases for remove_non_alphanumeric (#242,
1ccae00) -
Testing improvement: Add parallel processor exception handling coverage (#258,
8abb836)
-
Add model inference tests for Qwen3CrossEncoder (#246,
d9bd783) -
Add multiprocessing exception handling tests (#258,
8abb836) -
Add tests for common type aliases and Device enum (#243,
5d1e462) -
Add tests for PooledEmbedding.mean_pooling method (#252,
7db4d0a) -
Fix OnnxTextEmbeddingWorker test to appease type checker (#267,
189d9bc)
- Disable ORT memory pattern to prevent RAM growth with varying sequences
(
c265805)
- Add YesNo reranker variant to README
(
32ba3f5)
- YesNo model uses same HF repo as other variants
(
d6ba630)
- Correct TOKEN_NO_ID (2132→2152) and add optimized YesNo model support
(
113cdd7)
- TOKEN_NO_ID correction changes reranker scoring behavior.
- Cap onnxruntime <1.24 for Python 3.10 (no wheels available)
(
971108e)
- Disable mise runtime updates in Renovate
(
a8b2271)
- Add v1.3.0 entry to CHANGELOG
(
d7fe8a1)
- Support Python 3.10-3.14 (5 latest versions)
(
aab129b)
-
Add .jules/ and JULES.md to gitignore (
42a9ed1) -
Add file integrity verification for GCS downloads (#221,
3582fbc) -
Add MD5 hash verification for GCS file downloads (#221,
3582fbc) -
Correct Qodo PR Agent ignore_pr_authors config (
0ee787e) -
Fix arbitrary file write via archive extraction (Tar Slip) (#218,
ce7a251) -
Fix unsafe file download via unvalidated URL (SSRF) (#203,
35df610) -
Improve decompress_to_cache TarError handling test (#193,
00a48ba) -
Improve metadata save error logging and add test (#224,
d84cd31) -
Remove commit-message-check job (
410477d) -
Revert Python to 3.13, fix Renovate config, add Q4F16/GGUF integration tests, fix model cache validation (
3770fe8) -
Standardize CI with PR title check, email notify, and templates (
a4582b5) -
Suppress Bandit B615 on offline snapshot_download (#222,
306f3b8) -
Sync CI/CD configs and standardize templates (
1643dd3) -
Update Codecov badge in README.md (
703a2dd) -
ci: Fix Qodo PR review for external contributors (
4034fab) -
ci: Pin PSR v10, Python 3.13, Node 24, Java 21 in Renovate (
d07b6be) -
ci: Revert PSR v9 downgrade back to v10 (
ee8e452) -
security: Add SSRF protection, revision pinning, and code quality improvements (
67600c3)
-
Fix formatting in onnx_model.py (
bf9e7e1) -
Remove leftover Jules bot files (
3ebcb2e) -
deps: Update actions/dependency-review-action (#180,
8830d19)
-
🧹 Run ruff format on qwen3_embed/parallel_processor.py (
90f6386)
-
Add related projects cross-references (
c2d08ea) -
Update docs for stable release - Production/Stable status, complete CHANGELOG, accurate README and AGENTS.md (
dae3f2f)
-
Add test for _collect_file_metadata function (#186,
3731db9) -
Add tests for DenseModelDescription valid and invalid dimension limits (#188,
b204339) -
Add unit tests for remove_non_alphanumeric utility (#223,
c991044)
-
Add CI status badge to README (
2f1a77a) -
Add community files and replace SECURITY.md template (
0efa84a) -
Delete .jules directory (
c72bd6d) -
Increase test coverage to 92% and resolve typing errors (
7658adf) -
Make TextCrossEncoder.add_custom_model case-insensitive (#88,
30212f0) -
Remove test artifact and ignore *.tar.gz files (
982a6f0) -
Standardize repo structure with enforce-commit hook and ty checker (
b3190c2) -
Update README badges with Codecov, tech stack, and engineering standards (
b0d02eb) -
Update ruff-pre-commit rev to v0.15.1 and fix formatting (
419dfca) -
ci: Fix Qodo Merge env variable dot notation bug (
915a0a0) -
ci: Fix Qodo model to gemini-3-flash-preview (
e92717b) -
ci: Fix syntax errors and correctly configure Qodo + Gemini 3 Flash (
1e89e81) -
ci: Move pr-agent config to .pr_agent.toml (
7e11851) -
ci: Update to supported Gemini 3 and 2.5 flash models (
5eaeae7)
-
Add Gemini Code Assist style guide (
66c60cc) -
Apply bulk fixes for performance, security, and type checking (
e90cae9) -
Change Renovate schedule to daily 5am (
7c0d535) -
Remove CodeRabbit config, migrating to Gemini Code Assist (
665d21b) -
Update uv.lock (
b144d88) -
config: Migrate config renovate.json (
e145c0e)
-
Add AGENTS.md for AI coding agents (
68b557c) -
Standardize README with ProperCase title and bold tagline (
bdb7e5d)
-
Add Codecov coverage upload and CodeRabbit config (
891201b) -
Migrate to 2025-2026 tech stack (bun/uv/ty) (
7b689e4) -
ci: Add Renovate config for automated dependency updates (
4e307b4) -
ci: Add StepSecurity Harden-Runner to all workflow jobs (audit mode) (
78358d5) -
ci: Migrate to Qodo Merge AI Review (Gemini 3 Flash) (
cdbd76b)
- Add comprehensive test coverage for utilities and components
(
f1d2997)
- Correct model identifiers from Qwen/ to n24q02m/ namespace
(
298405c)
- GGUF Reranker Device.AUTO defaulting to CPU instead of GPU
(
684af12)
- Update uv.lock
(
200a611)
- Auto-detect GPU for GGUF backend (Device.AUTO uses n_gpu=-1)
(
edb58bb)
- Add GPU acceleration section and fix CPU-only claim
(
add0204)
- Standardize mise.toml (add node, ty check, UV_LINK_MODE, settings)
(
4ba23ef)
- Auto-detect DirectML GPU provider and improve logging
(
f400012)
- cd: Remove build_command from PSR config (not available in PSR container)
(
d63c86b)
-
Migrate from release-please to python-semantic-release v10 (
9a78411) -
Sync beta manifest from stable [skip ci] (
40d9c6d)
-
Sync beta manifest from stable [skip ci] (
a8b9c84)
- Initial Release