New
Manticore Search 17.5.1
Version 17.5.1
Released: February 7th 2026
Recommended Libraries
If you follow the official installation guide, you don't need to worry about this.
❤️ We’d like to thank for their work on .
Unclaimed project
Are you a maintainer of manticoresearch? Claim this project to take control of your public changelog and roadmap.
Changelog
Easy to use open source fast database for search | Good alternative to Elasticsearch now | Drop-in replacement for E in the ELK stack
Released: February 7th 2026
If you follow the official installation guide, you don't need to worry about this.
❤️ We’d like to thank for their work on .
DROP CACHE. This updates the interface between the daemon and MCL. Older Manticore Search versions don't suport the newer MCL._id and _score as numbers instead of strings, matching regular search; this is a breaking change for clients that relied on string type for these fields.CREATE TABLE (semicolon-separated values; wordforms/exceptions use > or => for pairs, with \ escaping), so tables can be created without external files; SHOW CREATE TABLE returns these inline values.SELECT * with KNN on columnar tables.--quiet (-q) flag to suppress startup output (banner and precache messages), printing only errors; useful when starting and stopping searchd in a loop or from scripts.Keep-Alive header explicitly, reducing random connection failures in API clients (e.g. PHP, Go). To close a connection, the client sends Connection: close. HTTP/1.0 still requires Connection: keep-alive for persistence.j.s) returning no matches; they now work like joins on plain string attributes.REPLACE INTO as well as INSERT INTO, so tables are created on demand when missing.GROUP BY results on columnar MVA with multiple GROUP BY columns by rejecting such queries with the same error as rowwise ("MVA values can't be used in multiple group-by").highlight() with html_strip_mode=strip corrupting content by decoding entities and altering tags; original entity form is now preserved in the highlighted output.ALTER TABLE REBUILD SECONDARY failing with failed to rename … .tmp.spjidx when the table had multiple disk chunks.ATTACH TABLE now migrates these files to the new chunk-based format and updates disk chunk headers, so after ALTER TABLE RENAME the daemon no longer reports missing external files on restart.(@name ="^New York$") | (@ascii_name ="^New York$")) returning matches from other fields; boolean simplification no longer drops field restrictions in that case.ALTER TABLE with table-level settings (e.g. html_strip='1') failing on tables with auto-embeddings with "knn_dims can't be used together with model_name"; serialization now omits knn_dims when model_name is set.HIGHLIGHT and snippet generation now support REGEX in the query string, so REGEX matches are highlighted correctly when the same REGEX query is used in MATCH and HIGHLIGHT.HISTOGRAM() returning incorrect values (e.g. zero) when the first argument is a float expression such as price*100; histogram now uses float bucketing for float-like arguments so expression results are binned correctly.HIGHLIGHT() and snippet generation now support the explicit OR operator (|) inside quoted expressions, using the same query transform as search.DROP CACHE to clear query, docstore, skip, and secondary index caches.ORDER BY included a string column: the scroll token is now applied correctly and returns the next page instead of repeating the first page.WHERE clause filters; previously in some cases (e.g. when the right table had no full-text field) the query ran without error and returned an empty result set.CREATE TABLE and in expressions, so tables and queries can use reserved words as identifiers when escaped with backticks.SHOW CREATE TABLE now outputs column names that are reserved or special (e.g. knn) in backticks, so that CREATE TABLE ... LIKE and re-executing the shown DDL work when the source table has such columns.ALTER so the non-existent .spds rename no longer occurs, and preserved existing blob data in the blob pool when adding columnar attributes so "Blob offset out of bounds" and query/merge crashes no longer occur.0000000000), producing invalid JSON; string attributes are now always serialized as quoted JSON strings.searchd.attr_autoconv_strict option (default 0) to control string-to-number conversion on INSERT/REPLACE into RT tables: when enabled, invalid values (empty string, non-numeric, trailing characters, overflow) return errors instead of silently converting to 0.must_not in JSON search so it behaves as logical NOT (returning all documents that do not match the inner query); also fixed SphinxQL WHERE NOT ... for filter expressions.libstemmer_el) bug #204, preventing the server crash that could occur with certain Greek text when using morphology='libstemmer_el' (see issue #2888).LazyNetEvents_c::EventTick().CREATE TABLE, so either naming can be used when defining tables (e.g. CREATE TABLE t (id bigint, tags mva64, ...) type='pq'). Schema output (e.g. DESC table) continues to use the existing type names for compatibility.ALTER CLUSTER ... ADD TABLE was run on another node after the joiner had restarted and re-joined.NOTNEAR full-text operator so it correctly excludes matches when the right-hand term appears within the specified distance either before or after the left-hand term (symmetric/backward matching). Previously NOTNEAR only considered the right term when it appeared after the left term, so for example d NOTNEAR/3 a could incorrectly match a document containing "a b c d". NEAR now also returns an error when the distance is 0.OPTION fuzzy=1) followed by show meta on /cli and /sql?mode=raw.