github manticoresoftware/manticoresearch release-25.0.0
Manticore Search 25.0.0

3 hours ago

Version 25.0.0

Released: March 30th 2026

This release brings a broader packaging overhaul, new API_URL and API_TIMEOUT options for auto-embedding models, hybrid search, S3-compatible backup and restore support, faster RT tables maintenance with N-way merges and parallel OPTIMIZE, KNN prefiltering, and MySQL-compatible prepared statements.

Breaking Changes

  • ⚠️ v25.0.0 PR #123 Breaking change: updated MCL to 13.0.0, adding API_URL and API_TIMEOUT for auto-embedding models. This affects you if you use auto-embedding models or manage MCL separately from the daemon, because Manticore 25.0.0 requires MCL 13.0.0 and is not compatible with older MCL versions; upgrade the daemon and MCL together, and downgrade is only safe if you also restore a matching older MCL version.
  • ⚠️ v24.0.0 Issue #4343 Breaking change: the internal replication protocol version is bumped, and cluster epoch tracking is added so recovering nodes can detect when cluster table membership changed while they were offline and use SST instead of failing during IST recovery. This affects you only if you use replication clusters: mixed-version replication clusters are not compatible across this change, so upgrade clustered nodes together, and downgrade is only safe before the new replication protocol is used in the cluster.
  • ⚠️ v23.0.0 Issue #4364 Breaking change: index format version 69 is introduced to support new bigram tokenization options, including bigram_delimiter modes and digit-aware bigram_index modes. This affects you if you use those bigram options or if you rebuild indexes and later need to open the rewritten indexes with an older Manticore version: existing older indexes remain readable, but indexes rebuilt or newly written in format 69 are not compatible with older Manticore versions, so downgrade is only safe before such indexes are rewritten.
  • ⚠️ v22.0.0 Issue #4301 Breaking change: embedding generation for RT tables is moved out of the commit phase and replicated as vector data. This affects you if you use replication clusters with RT tables that have model_name: it preserves user-provided vectors, prevents replicas from regenerating different embeddings, and improves auto-embeddings performance when used with replication, but mixed-version replication clusters are not compatible across this change. Upgrade clustered nodes together; downgrade is only safe before the new replication protocol is used in the cluster.
  • ⚠️ v21.0.0 PR #138 Breaking change: updated MCL to 12.0.0 and bumped the required KNN API to support adaptive KNN early termination during HNSW traversal. This affects you if you manage MCL separately from the daemon or run KNN queries that rely on the previous candidate exploration behavior or borderline result selection: Manticore 21.0.0 requires MCL 12.0.0 with the newer KNN interface, and with that library KNN search can stop earlier once enough candidates are found, which may change which candidates are explored and returned. Existing data remains compatible and no special migration is required, but upgrade the daemon and MCL together; downgrade is only safe if you also restore a matching older MCL version.
  • ⚠️ v19.0.0 Issue #4103 Breaking change: added KNN prefiltering. This affects you if you run KNN queries together with attribute filters, because filters can now be applied during KNN search instead of only after candidate selection. That changes result-selection behavior for filtered KNN queries by prioritizing filtered nearest neighbors; no special migration is required, but queries relying on the previous post-filtered result behavior may return different results after upgrade. Downgrade is possible since no index or protocol format change is introduced by this feature.
  • ⚠️ v18.0.0 Issue #4261 Breaking change: index format version 68 is introduced to fix hitless_words dictionary layout handling. This affects you if you rebuild or newly write indexes and later need to open them with an older Manticore version: existing older indexes remain readable, but any indexes rebuilt or newly written in the new format are not compatible with older Manticore versions, so downgrade is only safe before such indexes are rewritten.

Packaging-related changes

  • 🆕 v25.0.0 PR #4357 Packaging change: manticore is now a bundle package for deb and rpm. It includes the daemon, tools, converter, development headers, ICU data, bundled dependency packages (manticore-columnar-lib, manticore-backup, manticore-buddy, manticore-executor, manticore-load, manticore-galera, and manticore-tzdata where applicable), plus built-in language packs for German, English, and Russian, along with Jieba support. The Ukrainian lemmatizer is not bundled; install it separately using the Debian/Ubuntu or RHEL/CentOS instructions.
    When upgrading from the previous package layout, normally you can just install the manticore package. If the old split packages cause conflicts, remove them with apt remove 'manticore*' or yum remove 'manticore*' and then install manticore. That cleanup does not remove your existing data or configuration.

New Features and Improvements

  • 🆕 v24.4.0 PR #4091 Improved RT table compaction by adding N-way disk chunk merges and parallel OPTIMIZE jobs, reducing the time needed to merge many disk chunks and exposing the new merge_chunks_per_job and parallel_chunk_merges settings.
  • 🆕 v24.3.0 PR #133 Updated Manticore Backup to 1.10.0, adding S3-compatible backup and restore support, including AWS S3, MinIO, Wasabi, and Cloudflare R2.
  • 🆕 v24.2.0 Issue #2079 Added hybrid search with Reciprocal Rank Fusion (fusion_method='rrf'), allowing SQL and JSON queries to combine full-text and KNN results, rank them with hybrid_score(), and support multiple KNN subqueries in a single fused result set.
  • 🆕 v24.1.0 PR #141 Updated MCL to 12.4.1, adding support for GGUF quantized local embedding models, T5 encoder models, and gated Hugging Face models via token-authenticated downloads.
  • 🆕 v23.2.0 PR #4372 Updated Buddy to 3.44.0, adding fuzzy search support for queries involving multiple tables.
  • 🆕 v23.1.0 PR #4357 Added a new Manticore bundle package for deb and rpm, replacing the previous meta package to simplify installation and distribution of bundled components.
  • 🆕 v21.1.0 PR #4352 Updated MCL to 12.1.0, improving KNN early-termination performance and adding more efficient 64-bit value encoding.
  • 🆕 v19.2.0 PR #4306 Updated MCL to 11.1.0, adding codec cache support.
  • 🆕 v19.1.0 PR #4271 Updated Buddy to 3.43.0, including improved metrics handling.
  • 🆕 v19.0.3 Issue #4303 Added separate interactive_timeout and wait_timeout handling for SQL connections, so interactive clients and non-interactive clients can use different idle timeouts like MySQL.
  • 🆕 v17.6.0 Issue #1124 Added MySQL-compatible prepared statements support, including binary protocol prepare/execute handling and bound parameter validation.

Bug Fixes

  • 🪲 v24.2.3 Issue #4375 Fixed false-positive full-text matches when max_query_time interrupts queries using operators such as NOTNEAR, MAYBE, or negation, so timed-out searches no longer return rows that do not actually satisfy the query.
  • 🪲 v24.2.2 Issue #4398 Fixed query time statistics so query log, global counters, and per-table SHOW STATUS timings stay consistent, and Buddy’s internal requests no longer distort user-facing daemon stats.
  • 🪲 v24.2.1 PR #653 Updated Buddy to 3.44.1, fixing incorrect default handling of empty request payloads.
  • 🪲 v24.1.3 PR #4396 Fixed manual searchd startup on macOS so Buddy-backed SQL commands no longer fail from loading an older system libcurl; runtime lookup now prefers Homebrew curl automatically, with MANTICORE_CURL_LIB still available as an explicit override.
  • 🪲 v24.1.2 PR #4394 Fixed macOS packaged builds so Buddy-backed SQL commands no longer fail because searchd links against an incompatible libcurl; the package now prefers Homebrew curl and supports a MANTICORE_CURL_LIB runtime override.
  • 🪲 v24.1.1 Issue #4388 Fixed replication in clusters when a transaction contains duplicate document IDs, so replicas no longer lose rows while the donor correctly removes duplicates.
  • 🪲 v24.0.1 Issue #4354 Fixed UPDATE handling when a changed attribute must also disable its secondary index, preventing incorrect warnings and inconsistent secondary-index state.
  • 🪲 v23.0.2 PR #4370 Updated MCL to 12.1.1, fixing crashes during auto-embedding generation when text contains invalid UTF-8, including inserts into tables with html_strip=1.
  • 🪲 v23.0.1 PR #4371 Fixed a missing RT segments lock during embedding validation, preventing crashes and race conditions in embedding-related operations.
  • 🪲 v21.0.3 Issue #4315 Fixed inserts into tables with auto-embedding columns so MVA values are preserved instead of being stored as empty.
  • 🪲 v21.0.2 PR #4277 Updated Buddy to 3.43.1, fixing autocomplete and fuzzy search handling for terms with numeric prefixes and wildcard asterisks.
  • 🪲 v21.0.1 PR #4349 Fixed a crash during embedding generation for tables using columnar storage.
  • 🪲 v19.2.5 PR #4333 Updated Executor to 1.4.1, switching PHP source downloads from php.net to GitHub to avoid CAPTCHA-protected links, and bumping bundled PHP to 8.4.18.
  • 🪲 v19.2.4 Issue #4314 Fixed model-backed float_vector columns to support an explicit empty FROM='', which now correctly means “use all text/string fields.”.
  • 🪲 v19.2.3 Issue #4315 Fixed inserts into tables with auto-embedding float_vector columns so MVA values are preserved instead of being stored as empty.
  • 🪲 v19.2.2 Issue #4297 Fixed IMPORT TABLE to copy external files correctly, including hitless_words, so imported tables no longer reference missing external files after import.
  • 🪲 v19.2.1 Issue #4229 Fixed LEFT JOIN results to emit proper MySQL NULL values instead of the string NULL, improving compatibility with native MySQL clients and drivers.
  • 🪲 v19.0.4 Issue #4308 Fixed daemon crashes caused by filtering on stored/full-text fields such as WHERE title='test'; these queries now return an error instead of crashing.
  • 🪲 v19.0.2 PR #4311 Fixed crashes in HTTP /sql?mode=raw multi-statement requests using .@files followed by SHOW META.
  • 🪲 v19.0.1 Issue #4103 Updated MCL to 11.0.0 to support KNN prefiltering.
  • 🪲 v18.0.1 Issue #4293 Fixed ALTER TABLE ... ADD COLUMN for auto-embedding float_vector columns so model_name and FROM are preserved correctly instead of being replaced with knn_dims='0'.
  • 🪲 v17.6.6 Issue #4264 Fixed kqueue EOF handling on macOS to prevent spurious HTTP receive warnings such as Resource temporarily unavailable during request processing.
  • 🪲 v17.6.5 PR #4296 Fixed document-count and cost estimation for full-text AND nodes, improving query planner decisions for intersecting full-text conditions.
  • 🪲 v17.6.4 Issue #4274 Fixed indextool --check failing to open disk-chunk hitless_words files by resolving their paths relative to the index directory.
  • 🪲 v17.6.3 Issue #4284 Fixed crashes on replica nodes when inserting into clustered tables with auto-embeddings by preserving the source text needed to generate embeddings during replicated commits.
  • 🪲 v17.6.2 Issue #4257 Fixed a Valgrind-detected invalid read in prepared statement execution by ensuring the parser input buffer is terminated correctly.
  • 🪲 v17.6.1 Issue #4207 Added a regression fix and test coverage for the RT disk chunk save race that could lose document kills and lead to duplicate rows after merges.
  • 🪲 v17.5.10 Issue #4207 Updated MCL to 10.2.2, fixing crashes when running searches while data is being inserted into tables with local embedding models by adding a concurrency guard around local model usage.
  • 🪲 v17.5.9 PR #4247 Fixed a race during RT disk chunk save that could lose document kills and produce duplicate rows after merges or saves.
  • 🪲 v17.5.8 PR #4241 Fixed incorrect post-limit attribute evaluation in joined tables, including LEFT JOIN queries after flushing RAM chunks to disk.
  • 🪲 v17.5.7 PR #4239 Clarified query-time and wall-time definitions in logging and status documentation.
  • 🪲 v17.5.6 PR #4245 Fixed global search_stats_ms_* metrics overreporting search time by double-counting local execution time; these statistics now match the actual query execution time.
  • 🪲 v17.5.5 Issue #858 Fixed HIGHLIGHT() and snippet generation for CJK text adding unnecessary spaces between words; highlighted excerpts now preserve the original text spacing instead of tokenized spacing.
  • 🪲 v17.5.4 Issue #1166 Fixed a crash on INSERT after TRUNCATE TABLE ... WITH RECONFIGURE for RT tables with index_field_lengths=1, particularly when fields and string attributes are mixed; field-length attributes are now set up correctly during reconfigure.
  • 🪲 v17.5.3 Fixed corrupted Wordforms documentation content in the manual.
  • 🪲 v17.5.2 Issue #3213 Fixed JOIN queries filtering on expressions built from aliases of joined-table columns, such as SELECT t2.i al, (al*0.1) pct ... WHERE pct > 0, which could fail with incoming-schema expression missing evaluator; these filters now evaluate correctly after the join.

Don't miss a new manticoresearch release

NewReleases is sending notifications on new releases.