Semantiqv0.5.2
01Accueil
02Fonctionnalités
03Docs
04Blog
05Changelog
06Support
Commencer
  1. Home
  2. Changelog
Mises à jour

Changelog

Toutes les versions, fonctionnalités et corrections.

Dernière
v0.6.0
Versions
22
Modifications
149
Release History
22 versions
0.6.0Current18 févr. 2026

HTTP API Server & Local Import Resolution

New HTTP API server alternative to MCP stdio, local import path resolution, Python stdlib detection, and symbol parent tracking.

FonctionnalitéHTTP API server — Alternative to MCP stdio with `--http-port`, endpoints: `/health`, `/stats`, `/search`, `/find-refs`, `/deps`, `/explain`
FonctionnalitéHTTP middleware — 1MB body limit, 50 concurrent requests, CORS configurable via `--cors-origin`
FonctionnalitéLocal import resolution — Resolution of local import paths to actual files on disk (JS/TS, Python, Rust, Go)
Fonctionnalité`resolved_path` column — Dependencies now store the resolved path, improving `find_refs` accuracy
FonctionnalitéPython stdlib detection — Accurate classification of Python standard vs external imports (200+ modules, binary search)
FonctionnalitéSymbol parent tracking — Symbols now include their parent (e.g., method → struct/class)
FonctionnalitéDockerfile — Multi-stage Docker image for deployment (Railway-ready)
AméliorationSchema migration v3→v4 — Automatic incremental migration (adds `resolved_path` column, no reindex required)
AméliorationAuto-indexer and CLI `index` command use local import resolution
CorrectionCorrect git clone URL in Dockerfile
CorrectionResolve clippy `module_inception` warning in HTTP tests
CorrectionBump Rust version in Dockerfile to support edition 2024 and let-chains
0.5.210 févr. 2026

Security Hardening

Major security release with fixes for ReDoS, path traversal, and input validation vulnerabilities across the codebase.

Correction[HIGH] Fixed ReDoS vulnerability - user input is now escaped with `regex::escape()` in `TextSearcher::search()` before regex compilation
Correction[HIGH] Updated `bytes` crate 1.11.0 → 1.11.1 to fix integer overflow in `BytesMut::reserve` (RUSTSEC-2026-0007)
Correction[HIGH] Text search walker now uses `hidden(true)` and `should_exclude_entry` filtering, preventing reads from `.env`, `.git/`, and other sensitive directories
Correction[MEDIUM] Fixed path traversal in `read_file_lines()` - paths are now canonicalized and verified to stay within the project root
Correction[MEDIUM] Added input validation (empty, length ≤ 500, limit ≤ 1000) to `semantiq_find_refs`, `semantiq_explain`, and `semantiq_deps` MCP handlers
Correction[MEDIUM] Added path traversal rejection (`..`) in `semantiq_deps` file path parameter
Correction[MEDIUM] `resolve_project_root()` now canonicalizes paths to normalize `..` components and symlinks
Correction[LOW] FTS5 query escaping now strips null bytes and control characters
Correction[LOW] Query expansion limited to 10 terms to prevent amplification attacks
Correction[LOW] MCP error messages sanitized to avoid leaking internal file paths
Correction[LOW] Version check HTTP response limited to 10KB to prevent memory exhaustion
Correction[LOW] Poisoned mutex recovery in `DistanceCollector` now logs warnings instead of silently continuing
0.5.031 janv. 2026

Adaptive ML Thresholds

Automatic calibration of semantic search thresholds per programming language, new CLI commands, and codebase refactoring.

FonctionnalitéAdaptive ML thresholds - automatic calibration of semantic search thresholds per programming language
FonctionnalitéBootstrap mode - collects 100% of distance observations until 500 samples
FonctionnalitéProduction mode - switches to 10% sampling after bootstrap completes
FonctionnalitéAuto-calibration - triggers automatically when bootstrap completes
FonctionnalitéPercentile-based thresholds - uses p90 for max_distance, p10 for min_similarity
FonctionnalitéPer-language calibration with fallback cascade (language → global → defaults)
FonctionnalitéNew `calibrate` CLI command - manual threshold calibration with `--dry-run` option
FonctionnalitéML stats in `stats` command - shows bootstrap progress, observations per language, calibrated thresholds
FonctionnalitéNew database tables - `distance_observations` and `threshold_calibration` for ML data
FonctionnalitéCI workflows for `dev` branch - tests, Clippy, format checks, and multi-platform builds
AméliorationRefactored `store.rs` (2108 lines → 8 modules) - better code organization with dedicated modules for files, symbols, chunks, dependencies, observations, calibrations, and tests
AméliorationRefactored `engine.rs` (1049 lines → 5 modules) - cleaner architecture with dedicated modules for search, threshold, analysis, and tests
BreakingSchema version bumped to 3 - triggers automatic reindex on upgrade
0.4.028 janv. 2026

JSON Logging & MCP Tests

Structured JSON logging throughout the codebase, MCP test coverage, and CI/security workflows.

FonctionnalitéJSON logging support - structured logging throughout the codebase
FonctionnalitéJSON logging by default for `serve` command - better integration with log aggregators
FonctionnalitéMCP tests - test coverage for MCP server functionality
FonctionnalitéCI and security workflows - automated testing and security scanning
Amélioration`init-cursor` command is now language-agnostic - works with any project type
AméliorationUpdated `deny.toml` to v2 schema
0.3.420 janv. 2026

macOS Intel Support & Optional ONNX

Restored macOS Intel (x86_64) support and made ONNX feature optional for broader platform compatibility.

FonctionnalitémacOS Intel (x86_64-apple-darwin) support restored - binary now available for Intel Macs
FonctionnalitéCI build workflow - new build.yml for testing builds on push/PR without publishing
AméliorationONNX feature now optional - `--features onnx` required on supported platforms (Apple Silicon, Linux, Windows)
AméliorationIntel Mac builds use StubEmbeddingModel (no ONNX) due to missing prebuilt binaries
AméliorationUpdated CI to use macos-15 runner for Intel Mac cross-compilation
0.3.319 janv. 2026

Search Filtering Options

New search filtering capabilities for semantiq_search with min_score, file_type, and symbol_kind parameters.

Fonctionnalité`min_score` parameter for `semantiq_search` - minimum relevance score threshold (0.0-1.0, default: 0.35)
Fonctionnalité`file_type` parameter for `semantiq_search` - filter results by file extension
Fonctionnalité`symbol_kind` parameter for `semantiq_search` - filter by symbol type (function, class, etc.)
FonctionnalitéCLI flags `--min-score`, `--file-type`, `--symbol-kind` for `semantiq search` command
FonctionnalitéSmart default exclusions - automatically excludes non-code files from search
Fonctionnalité`SearchOptions` struct in `semantiq-retrieval` with builder pattern for flexible configuration
0.3.219 janv. 2026

Gitignore Support in init-cursor

The init-cursor command now automatically handles .gitignore entries for Semantiq database files.

Fonctionnalité`.gitignore` support in `init-cursor` - automatically adds Semantiq database entries
FonctionnalitéCreates `.gitignore` if not present
FonctionnalitéUpdates existing `.gitignore` preserving original content
FonctionnalitéSkips if entries already present (no duplication)
Fonctionnalité3 new tests for `.gitignore` handling in `init_cursor.rs`
0.3.119 janv. 2026

Cursor/VS Code Init Command

New init-cursor command for automatic Cursor/VS Code configuration setup, plus centralized CLI utilities.

FonctionnalitéNew `init-cursor` command for Cursor/VS Code configuration setup
FonctionnalitéCreates `.cursor/rules/project.mdc` (general project guidelines)
FonctionnalitéCreates `.cursor/rules/semantiq.mdc` (Semantiq MCP tools usage)
FonctionnalitéCreates `.cursor/mcp.json` (MCP server configuration)
FonctionnalitéCreates `.cursorignore` (indexing exclusions)
FonctionnalitéCreates `.vscode/` config (settings, tasks, launch, extensions)
FonctionnalitéPreserves existing files (skip instead of overwrite)
AméliorationCentralized `DEFAULT_DB_NAME` and path resolution utilities in `common.rs`
AméliorationRefactored all CLI commands to use shared utilities
AméliorationCLI description now generic ("for a project" instead of "for a Rust project")
Fonctionnalité7 new unit tests for `common.rs` and `init_cursor.rs`
0.3.019 janv. 2026

Vector Search & Auto-Indexing

sqlite-vec integration for semantic vector search, automatic initial indexing, and 6 new languages.

Fonctionnalitésqlite-vec integration for vector similarity search (384-dim MiniLM-L6-v2 embeddings)
FonctionnalitéAutomatic initial indexing when MCP server starts (no more manual `semantiq index` required)
Fonctionnalité6 new languages: HTML, JSON, YAML, TOML, Bash, Elixir (total: 15 languages)
Fonctionnalitéripgrep integration for fast regex text search via `TextSearcher`
FonctionnalitéNew `search_similar_chunks()` method for semantic vector search
FonctionnalitéNew `InitialIndexResult` struct for tracking initial indexing progress
Correction"Imported by" always empty in `semantiq_deps` - rewrote `get_dependents()` to match JS/TS import paths
CorrectionImport path resolution now handles basename matching with multiple extensions
AméliorationSchema version bumped to 2 (triggers automatic reindex)
AméliorationAdded `chunks_vec` virtual table for sqlite-vec embeddings
Amélioration`start_auto_indexer()` now runs `initial_index()` before watching for changes
AméliorationImproved dependency matching with multiple LIKE patterns and post-filtering
0.2.919 janv. 2026

Arrow Function Indexing

Improved TypeScript/JavaScript function detection - arrow functions and function expressions are now correctly classified as functions.

CorrectionArrow functions (const fn = () => {}) now correctly indexed as function instead of variable
CorrectionFunction expressions (const fn = function() {}) now correctly indexed as function
AméliorationAdded is_function_variable() helper to detect functions assigned to variables
AméliorationAdded arrow_function and lexical_declaration to chunk boundaries for TypeScript/JavaScript
AméliorationBumped PARSER_VERSION to 3 (triggers automatic reindex)
0.2.818 janv. 2026

Security Hardening

Critical security improvements including checksum verification, path traversal protection, and memory exhaustion prevention.

CorrectionCRITICAL: Added SHA-256 checksum verification for ONNX model downloads (TOFU + hardcoded support)
CorrectionCRITICAL: Added path traversal protection with canonicalization in validate_path()
CorrectionHIGH: Added MAX_AST_DEPTH=500 recursion limit in parser to prevent stack overflow attacks
CorrectionHIGH: Added safe_slice() function to prevent panic on invalid byte indices
CorrectionHIGH: Changed model directory fallback from "." to system temp dir (prevents writes to unexpected locations)
CorrectionHIGH: Added pagination for get_chunks_with_embeddings() to prevent memory exhaustion DoS
CorrectionHIGH: Reduced download size limit from 500MB to 100MB
CorrectionHIGH: Added restrictive file permissions (0600 on Unix) for downloaded models and database
CorrectionMEDIUM: Added explicit symlink handling (follow_links(false)) to prevent escape from project root
AméliorationRefactored download_file() with connection timeouts (30s connect, 5min global)
AméliorationImproved checksum verification with detailed warning messages
0.2.718 janv. 2026

Update Notifications

Automatic version update notifications at server startup with 24h local caching.

FonctionnalitéAutomatic version update notification at server startup
FonctionnalitéNon-blocking background check using GitHub Releases API
FonctionnalitéLocal cache (24h) to avoid repeated API calls
Fonctionnalité--no-update-check CLI flag to disable update notifications
FonctionnalitéSEMANTIQ_UPDATE_CHECK environment variable for configuration
AméliorationUpdated author info to keyldzn
0.2.618 janv. 2026

Automatic Reindexation

Automatic reindexation when parser version changes, plus improved TypeScript/JavaScript support.

FonctionnalitéAutomatic reindexation when parser version changes (no more manual --force needed)
FonctionnalitéPARSER_VERSION constant to track parser logic changes
FonctionnalitéSupport for const/let variable extraction in TypeScript/JavaScript
FonctionnalitéGitHub Sponsors funding configuration
AméliorationVersion detection uses atomic transactions to prevent race conditions
AméliorationDocumentation updated with known limitations and setup guides
CorrectionFilter out verbose ONNX Runtime logs during indexing
0.2.418 janv. 2026

ONNX Stability Fixes

Critical fixes for ONNX model download and inference, plus improved file exclusion handling.

CorrectionModel download failing in async Tokio context (replaced reqwest::blocking with ureq)
CorrectionDownload size limit too small for 90MB ONNX model (increased to 200MB)
CorrectionONNX inference crash due to missing token_type_ids input
CorrectionEmbeddings not generated during semantiq index command
Améliorationsemantiq index now generates embeddings for all chunks
AméliorationCentralized file exclusion logic into exclusions.rs module
AméliorationAuto-indexer and FileWatcher now use shared exclusion patterns
0.2.318 janv. 2026

Semantic Search with ONNX

Semantic code search via ONNX embeddings, automatic model download, and cosine similarity matching.

FonctionnalitéONNX embedding model integration for semantic search
FonctionnalitéAutomatic model download on first run
FonctionnalitéCosine similarity search for vector matching
FonctionnalitéAlternative installation via cargo install --git
FonctionnalitéCHANGELOG.md for version history
AméliorationEmbeddings now generated automatically during auto-indexing
AméliorationSwitch from OpenSSL to rustls for better cross-compilation support
AméliorationUse ort download-binaries for automatic ONNX Runtime provisioning
BreakingRemoved macOS Intel (x86_64-apple-darwin) binary - ONNX Runtime does not support this target
0.2.217 janv. 2026

CLAUDE.md Improvements

Updated CLAUDE.md template to prioritize Semantiq MCP tools.

AméliorationImproved CLAUDE.md template to prioritize Semantiq tools over grep/Glob
0.2.117 janv. 2026

Performance & Security Fixes

Critical fixes for error handling, security, and query performance.

CorrectionError handling with proper mutex propagation
CorrectionSQL injection vulnerability via LIKE escaping
CorrectionUTF-8 safety in tree-sitter text extraction
CorrectionN+1 query pattern in get_stats() (4 queries → 1)
AméliorationShared single Arc<IndexStore> instead of 3 separate DB connections
AméliorationImproved scoring algorithm with symbol type boosting
AméliorationResults limited to 500 to prevent memory issues
AméliorationAdded PRAGMA busy_timeout=5000 for concurrent access
0.2.017 janv. 2026

NPM Package Automation

Automatic npm package version synchronization from git tags.

FonctionnalitéAutomatic npm package version update from git tag
0.1.317 janv. 2026

Project Init Command

New init command for project setup with automatic configuration.

FonctionnalitéNew semantiq init command for easy project setup
FonctionnalitéAuto-creates .claude/settings.json, CLAUDE.md, updates .gitignore
FonctionnalitéRuns initial indexation automatically
0.1.217 janv. 2026

Auto-Indexing

Real-time file updates with automatic re-indexing on changes.

FonctionnalitéAuto-indexing for real-time file updates
FonctionnalitéFileWatcher integration with create/modify/delete events
FonctionnalitéBackground task with 2-second polling
0.1.117 janv. 2026

Documentation Update

Improved npm and project documentation.

Fonctionnaliténpm README documentation
AméliorationUpdated main README with correct npm package name
0.1.017 janv. 2026

Initial Release

First public release of Semantiq with core MCP functionality.

FonctionnalitéInitial release
FonctionnalitéMCP server with 4 tools: search, find_refs, deps, explain
FonctionnalitéSupport for 9 languages via tree-sitter
FonctionnalitéSQLite storage with FTS5 search
Semantiq

Serveur MCP écrit en Rust, parsing via Tree-sitter.

GitHub

Produit

  • Fonctionnalités
  • Documentation
  • Changelog

Ressources

  • Démarrage rapide
  • Référence CLI
  • Intégration MCP
  • Blog

Communauté

  • Support
  • GitHub
// 19 langages supportés
Rust
TypeScript
JavaScript
Python
Go
Java
C
C++
PHP
Ruby
C#
Kotlin
Scala
Bash
Elixir
HTML
JSON
YAML
TOML
© 2026 Semantiq.|v0.5.2|connecté
MIT·Construit avec Rust & Tree-sitter