Manticore Search 25.0.0 has been released. This version brings a simpler packaging model together with major improvements in hybrid search, vector filtering, backups, RT table maintenance, and application integration.
Upgrade Notes
Please review these before upgrading:
- MCL 13.0.0 is required. Manticore Search 25.0.0 updates the daemon/MCL interface and adds API_URL and API_TIMEOUT for auto-embedding models. If you manage MCL separately, upgrade the daemon and MCL together. ( PR #123 )
- Replication clusters require coordinated upgrades. Mixed-version clusters are not compatible with the replication changes in 24.0.0. Upgrade clustered nodes together. ( Issue #4343 )
- Newer bigram tokenization options affect downgrade paths. If you rebuild indexes with the bigram tokenization changes introduced in 23.0.0, those rewritten indexes are not compatible with older Manticore versions. ( Issue #4364 )
- Filtered KNN results may change. Since KNN prefiltering was introduced in 19.0.0, filtered vector queries can now prioritize nearest neighbors that satisfy the filter during search, rather than filtering only after candidate selection. ( Issue #4103 )
Packaging Simplified
Starting with 25.0.0, manticore is the bundle package for deb and rpm. It includes the daemon, tools, converter, development headers, ICU data, bundled dependency packages, and built-in language packs for German, English, and Russian, along with Jieba support.
In most cases, upgrading is now simpler: install manticore and let the bundle pull in the components you need. If older split packages conflict with the new layout, remove them first with apt remove 'manticore*' or yum remove 'manticore*' and then install manticore. Your existing data remains intact. On yum-based systems, the package manager may replace the config file, but it automatically keeps a backup of the previous one.
This is an important operational change: it reduces packaging friction and makes installation simpler and more predictable.
Highlights
Hybrid search is now a first-class option
Manticore now supports hybrid search , allowing you to combine full-text and vector retrieval in a single query. This makes it much easier to build retrieval pipelines that balance lexical precision with semantic recall.
You can use hybrid search via both SQL and JSON interfaces. In SQL, you can combine MATCH() with one or more KNN() subqueries. For teams building modern search experiences, this is one of the biggest additions in the release line.
Better vector search with KNN prefiltering
With KNN prefiltering , attribute filters can be applied during vector search instead of only after candidate selection. That matters when you need "the nearest neighbors among documents that also match my filter", not just "the nearest neighbors overall, filtered afterward".
This improves both relevance and predictability for filtered vector search workloads such as category-constrained product search, tenant-aware search, and permission-filtered semantic retrieval.
Faster RT maintenance with parallel chunk merging
Manticore RT tables now handle heavy maintenance much better thanks to N-way merges and parallel OPTIMIZE jobs. We covered the details in
Parallel chunk merging
.
The result is simpler to explain than the implementation: when a table accumulates many disk chunks, cleanup and compaction take less time, so RT tables perform better under sustained write load.
Easier application integration with prepared statements
Manticore now supports MySQL-compatible prepared statements, which we covered in Prepared statements in Manticore Search . This improves compatibility with MySQL clients, connection pools, ORMs, and frameworks that expect binary protocol prepare/execute behavior.
For application developers, this removes one more integration edge case and makes Manticore easier to adopt in existing stacks.
S3-compatible backup and restore
Backup operations are more flexible now thanks to S3-compatible backup and restore . Manticore Backup supports AWS S3, MinIO, Wasabi, and Cloudflare R2, making it easier to ship backups to object storage and build cleaner disaster-recovery workflows.
This is especially useful for containerized and cloud-native deployments where local disk is temporary but object storage is the durable layer.
Auto-embeddings keep improving
25.0.0 also extends Manticore's recent auto-embeddings work. The new MCL version adds API_URL and API_TIMEOUT controls for auto-embedding models. Recent development also added support for GGUF quantized local embedding models, T5 encoders, gated Hugging Face downloads, and replication-safe embedding handling for RT tables.
Taken together, these changes make Manticore more practical both for local embedding pipelines and for deployments that rely on external model endpoints.
Other Notable Improvements
This release also includes 36 bug fixes across query execution, replication, macOS packaging, auto-embeddings, RT tables, and SQL compatibility.
- False-positive full-text matches caused by
max_query_timeinterruptions in complex queries were fixed, so timed-out searches no longer return rows that do not actually satisfy the query. ( Issue #4375 ) - Replication was fixed for transactions containing duplicate document IDs, so replicas no longer lose rows while the donor removes duplicates correctly. ( Issue #4388 )
- Several auto-embedding stability issues were fixed, including crashes during embedding generation, invalid UTF-8 handling, and missing RT locks during validation. ( PR #4349 , PR #4370 , PR #4371 )
LEFT JOINnow returns proper MySQLNULLvalues instead of the stringNULL, improving compatibility with MySQL clients and drivers. ( Issue #4229 )- A race during RT disk chunk save that could lose killed documents and produce duplicate rows after merges or saves was fixed. ( Issue #4207 )
- Fuzzy search now works across queries involving multiple tables. ( PR #4372 )
Why 25.0.0 Matters
Manticore Search 25.0.0 combines the packaging changes with several important capabilities that are now available together:
- hybrid lexical + vector retrieval
- filtered vector search that behaves the way users expect
- simpler integration through prepared statements
- object-storage-friendly backup workflows
- faster RT table compaction and maintenance
- more flexible auto-embedding deployments
For the complete technical details, see the changelog .
Need help or want to connect?
- Join our Slack
- Visit the Forum
- Report issues or suggest features on GitHub
- Email us at
[email protected]
