Releases: manticoresoftware/manticoresearch
Manticore Search 13.2.3
Version 13.2.3
Released: July 8th 2025
Blogpost: https://manticoresearch.com/blog/manticore-search-13-2-3/
This version focuses on making Vector Search faster, more memory-efficient, and better suited for large-scale data, while also improving compatibility and stability.
Breaking Changes
⚠️ v13.0.0 Updated the KNN library API to support empty float_vector values. This update doesn’t change the data format but does increase the Manticore Search / MCL API version.⚠️ v12.0.0 PR #3516 Fixed a bug with incorrect source and destination row IDs during KNN index training and building. This update doesn’t change the data format but increases the Manticore Search / MCL API version.⚠️ v11.0.0 Added support for new KNN vector search features like quantization, rescoring, and oversampling. This version changes the KNN data format and the KNN_DIST() SQL syntax. The new version can read older data, but older versions won't be able to read the new format.
New Features and Improvements
- 🆕 v13.2.0 PR #3549 Fixed an issue with
@@collation_database
that caused incompatibility with certain mysqldump versions - 🆕 v13.1.0 Issue #3489 Fixed a bug in Fuzzy Search that prevented parsing of certain SQL queries
- 🆕 v12.1.0 Issue #3426 Added support for RHEL 10 operating systems
- 🆕 v11.1.0 Added support for empty float vectors in KNN search
- 🆕 v10.2.0 Issue #3252 log_level now also adjusts Buddy's logging verbosity
Bug Fixes
- 🪲 v13.2.3 PR #3556 Fixed "oversampling" option parsing in JSON queries
- 🪲 v13.2.2 Fixed crash logging on Linux and FreeBSD by removing usage of Boost stacktrace
- 🪲 v13.2.1 Issue #3298 Fixed crash logging when running inside a container
- 🪲 v12.0.2 Improved accuracy of per-table statistics by counting in microseconds
- 🪲 v12.0.1 PR #3522 Fixed a crash when faceting by MVA in a joined query
- 🪲 v11.0.3 Issue #3502 Fixed a crash related to Vector Search Quantization
- 🪲 v11.0.2 Issue #3493 Changed
SHOW THREADS
to display CPU utilization as an integer - 🪲 v11.0.1 Fixed paths for columnar and secondary libraries
- 🪲 v10.2.7 Added support for MCL 5.0.5, including a fix for the embeddings library filename
- 🪲 v10.2.6 Issue #3469 Applied another fix related to issue #3469
- 🪲 v10.2.4 Issue #3469 Fixed an issue where HTTP requests with bool queries returned empty results
- 🪲 v10.2.5 Changed default filename for the embeddings library and added checks for the 'from' field in KNN vectors
- 🪲 v10.2.3 PR #3464 Updated Buddy to version 3.30.2, which includes PR #565 about memory usage and error logging
- 🪲 v10.2.2 Issue #3470 Fixed JSON string filters, null filters, and ordering issues in JOIN queries
- 🪲 v10.2.1 Fixed a bug in
dist/test_kit_docker_build.sh
that caused the Buddy commit to be missing - 🪲 v10.1.4 Fixed a crash when grouping by MVA in a joined query
- 🪲 v10.1.3 Issue #3434 Fixed a bug with filtering empty strings
- 🪲 v10.1.2 PR #3452 Updated Buddy to version 3.29.7, which resolves Buddy #507 - error on multi-query requests with fuzzy search and Buddy #561 - Fix for metrics rate, required for Helm Release 10.1.0
- 🪲 v10.1.1 Updated Buddy to version 3.29.4, resolving #3388 - "Undefined array key 'Field'" and Buddy #547 - layouts='ru' may not work
Manticore Search 10.1.0
Version 10.1.0
Released: June 9th 2025
Blogpost: https://manticoresearch.com/blog/manticore-search-10-1-0/
This version represents an update with new features, one breaking change and numerous stability improvements and bug fixes. The changes focus on enhancing monitoring capabilities, improving search functionality, and fixing various critical issues that affected system stability and performance.
Starting with version 10.1.0, CentOS 7 is no longer supported. Users are encouraged to upgrade to a supported operating system.
Breaking Changes
⚠️ v10.0.0 Issue #540 BREAKING CHANGE: setlayouts=''
as the default for fuzzy search
New Features and Improvements
- 🆕 v10.1.0 Issue #537 Added built-in Prometheus exporter
- 🆕 v9.8.0 Issue #3409 Added ALTER TABLE tbl REBUILD KNN
- 🆕 v9.7.0 Issue #1778 Added automatic embeddings generation (we're not officially announcing it yet, as the code is in the main branch but still needs more testing)
- 🆕 v9.6.0 Bumped KNN API version for auto-embeddings support
- 🆕 v9.5.0 Issue #1894 Improved cluster recovery: save
seqno
periodically for faster node restart after crash - 🆕 v9.4.0 Issue #2400 Added support for latest Logstash and Beats
Bug Fixes
- 🪲 v10.0.1 Fixed wordform handling: user-defined forms now override auto-generated ones; added test cases to test 22
- 🪲 v9.8.2 Fix: updated deps.txt again to include packaging fixes in MCL related to the embeddings library
- 🪲 v9.8.1 Fix: updated deps.txt with packaging fixes for MCL and the embeddings library
- 🪲 v9.7.3 Issue #3306 Fixed crash with signal 11 during indexing
- 🪲 v9.7.2 Issue #3109 Fixed issue where non-existent
@@variables
always returned 0 - 🪲 v9.7.1 Issue #3377 Fixed crash related to remove_repeats()
- 🪲 v9.6.3 PR #3411 Fix: use dynamic versions detection for telemetry metrics
- 🪲 v9.6.2 Fix: small fix in SHOW VERSION output
- 🪲 v9.6.1 Fix: crash when creating a table with a KNN attribute but no model
- 🪲 v9.5.16 Issue #3342 Fixed issue where
SELECT ... FUZZY=0
didn't always disable fuzzy search - 🪲 v9.5.15 PR #3397 Added support for MCL 4.2.2; fixes errors with older storage formats
- 🪲 v9.5.14 Issue #3392 Fixed incorrect handling of strings in HTTP JSON replies
- 🪲 v9.5.13 Issue #3356 Fixed crash in tricky full-text query case (common-sub-term)
- 🪲 v9.5.12 Fixed typo in disk chunk auto flush error message
- 🪲 v9.5.11 Issue #3195 Improved auto disk chunk flush: skip saving if optimization is running
- 🪲 v9.5.10 Issue #3313 Fixed duplicate ID check for all disk chunks in RT table using indextool
- 🪲 v9.5.9 Issue #3132 Added support for
_random
sorting in JSON API - 🪲 v9.5.8 Issue #3382 Fixed issue: couldn't use uint64 document ID via JSON HTTP API
- 🪲 v9.5.7 Issue #3385 Fixed incorrect results when filtering by
id != value
- 🪲 v9.5.6 PR #538 Fixed a critical bug with fuzzy matching in some cases
- 🪲 v9.5.5 Issue #3199 Fixed space decoding in Buddy HTTP query parameters (e.g.,
%20
and+
) - 🪲 v9.5.4 Issue #3133 Fixed incorrect sorting on
json.field
in facet search - 🪲 v9.5.3 Issue #3091 Fixed inconsistent search results for delimiters in SQL vs JSON API
- 🪲 v9.5.2 Issue #2819 Improved performance: replaced
DELETE FROM
withTRUNCATE
for distributed tables - 🪲 v9.5.1 Issue #3080 Fixed crash when filtering aliased
geodist()
with JSON attributes
Manticore Search 9.3.2
Version 9.3.2
Released: May 2nd 2025
This release includes multiple bug fixes and stability improvements, better table usage tracking, and enhancements to memory and resource management.
❤️ Special thanks to @cho-m for fixing build compatibility with Boost 1.88.0 and @benwills for improving documentation around stored_only_fields
.
-
🪲 v9.3.2 Fixed an issue where the "Show Threads" column showed CPU activity as a float instead of a string; also fixed a PyMySQL result set parsing error caused by a wrong data type.
-
🪲 v9.3.1 Issue #3343 Fixed leftover
tmp.spidx
files when the optimize process was interrupted. -
🆕 v9.3.0 PR #3337 Added a per-table command counter and detailed table usage statistics.
-
🪲 v9.2.39 Issue #3236 Fix: prevent table damage by removing complex chunk updates. Using wait functions inside the serial worker broke serial processing, which could damage tables.
Reimplemented autoflush. Removed external polling queue to avoid unnecessary table locks. Added "small table" condition: if the number of documents is below the 'small table limit' (8192) and no Secondary Index (SI) is used, flushing is skipped. -
🪲 v9.2.38 Fix: skip creating Secondary Index (SI) for filters using
ALL
/ANY
on string lists, without affecting JSON attributes. -
🪲 v9.2.37 Issue #2898 Added backtick support for system tables.
-
🪲 v9.2.36 Fix: use a placeholder for cluster operations in legacy code. In the parser, we now clearly separate fields for table and cluster names.
-
🪲 v9.2.35 Fix: crash when unquoting a single
'
. -
🪲 v9.2.34 Issue #3090 Fix: handling of large document IDs (could previously fail to find them).
-
🪲 v9.2.33 Fix: use unsigned integers for bit vector sizes.
-
🪲 v9.2.32 Fix: reduce peak memory usage during merge. docid-to-rowid lookups now use 12 bytes per document instead of 16 bytes. Example: 24 GB RAM for 2 billion docs instead of 36 GB.
-
🪲 v9.2.31 Issue #3238 Fix: incorrect
COUNT(*)
value in large real-time tables. -
🪲 v9.2.30 Fix: undefined behavior when zeroing string attributes.
-
🪲 v9.2.29 Minor fix: improved a warning text.
-
🪲 v9.2.28 Issue #3290 Improvement: enhanced
indextool --buildidf
-
🪲 v9.2.27 Issue #3032 With the Kafka integration, you can now create a source for a specific Kafka partition.
-
🪲 v9.2.26 Issue #3301 Fix:
ORDER BY
andWHERE
onid
could cause OOM (Out Of Memory) errors. -
🪲 v9.2.25 Issue #3171 Fix: crash caused by segmentation fault when using grouper with multiple JSON attributes on an RT table that has multiple disk chunks
-
🪲 v9.2.24 Issue #3246 Fix:
WHERE string ANY(...)
queries failed after RAM chunk flush. -
🪲 v9.2.22 Issue #2763 Fix: global idf file was not loaded when using
ALTER TABLE
. -
🪲 v9.2.21 Fix: global idf files can be large. We now release tables sooner to avoid holding unnecessary resources.
-
🪲 v9.2.20 PR #3277 Improvement: better validatation of sharding options.
-
🪲 v9.2.19 PR #3275 Fix: build compatibility with Boost 1.88.0.
-
🪲 v9.2.18 Issue #3228 Fix: crash during distributed table creation (invalid pointer issue).
-
🪲 v9.2.16 Issue #3063 Fix: bug in distance calculation when using the
GEODIST
function. -
🪲 v9.2.15 Issue #3027 Minor improvement: support for Elastic's
query_string
filter format.
Manticore Search 9.2.14
Version 9.2.14
Released: March 28th 2025
Minor changes
- Commit fe94 Implemented
--mockstack
flag to calculate recursive operation stack requirements. The new--mockstack
mode analyzes and reports the necessary stack sizes for recursive expression evaluation, pttern matching operations, filter processing. Calculated stack requirements are output to console for debugging and optimization purposes. - Issue #3058 Enabled boolean_simplify by default.
- Issue #3172 Added a new config option:
searchd.kibana_version_string
, which can be useful when using Manticore with specific versions of Kibana or OpenSearch Dashboards that expect a particular Elasticsearch version. - Issue #3211 Fixed CALL SUGGEST to work with 2-character words.
- Issue #490 Improved fuzzy search: previously, it couldn't sometimes find "defghi" when searching for "def ghi" if another matching document existed.
⚠️ BREAKING Issue #3165 Changed_id
toid
in some HTTP JSON responses for consistency. Make sure to update your app accordingly.⚠️ BREAKING Issue #3186 Added a check forserver_id
during cluster joins to ensure each node has a unique ID. TheJOIN CLUSTER
operation can now fail with an error message indicating a duplicate server_id when the joining node has the sameserver_id
as an existing node in the cluster. To resolve this issue, ensure that each node in the replication cluster has a unique server_id. You can change the default server_id in the "searchd" section of your configuration file to a unique value before attempting to join the cluster. This change updates the replication protocol. If you are running a replication cluster, you need to:- First, cleanly stop all your nodes
- Then, start the node that was stopped last with
--new-cluster
, using the toolmanticore_new_cluster
in Linux. - Read about restarting a cluster for more details.
Bugfixes
- Commit 6fda Fixed a crash caused by losing the scheduler after a wait; now, specific schedulers like
serializer
are properly restored. - Commit c333 Fixed a bug where weights from the right joined table couldn't be used in the
ORDER BY
clause. - Issue #2644 gcc 14.2.0: fixed
lower_bound
call error withconst knn::DocDist_t*&
. ❤️ Thank you @Azq2 for the PR. - Issue #3018 Fixed an issue with handling uppercase table names during auto-schema inserts.
- Issue #3119 Fixed a crash when decoding invalid base64 input.
- Issue #3121 Fixed two related KNN index issues on
ALTER
: float vectors now keep their original dimensions, and KNN indexes are now properly generated. - Issue #3123 Fixed a crash when building a secondary index on an empty JSON column.
- Issue #3138 Fixed a crash caused by duplicate entries.
- Issue #3151 Fixed:
fuzzy=1
option couldn't be used withranker
orfield_weights
. - Issue #3163 Fixed a bug where
SET GLOBAL timezone
had no effect. - Issue #3181 Fixed an issue where text field values could be lost when using IDs larger than 2^63.
- Issue #3189 Fixed:
UPDATE
statements now correctly respect thequery_log_min_msec
setting. - Issue #3247 Fixed a race condition when saving real-time disk chunks that could cause
JOIN CLUSTER
to fail.
Manticore Search 7.4.6
Version 7.4.6
Released: Feb 28th 2025
➡️➡️➡️ DOWNLOAD HERE ⬅️⬅️⬅️
Major changes
- Issue #832 Integration with Kibana for easier and more efficient data visualization.
Minor changes
- Issue #1727 Fixed floating-point precision differences between arm64 and x86_64.
- Issue #2995 Implemented performance optimizations for join batching.
- Issue #3039 Implemented performance optimizations for EstimateValues in histograms.
- Issue #3099 Added support for Boost 1.87.0. ❤️ Thank you, @cho-m for the PR.
- Issue #77 Optimized block data reuse when creating filters with multiple values; added min/max to attribute metadata; implemented pre-filtering of filter values based on min/max.
Bugfixes
- Commit 73ac Fixed handling of expressions in joined queries when attributes from both the left and right tables are used; fixed the index_weights option for the right table.
- Issue #2915 Using
avg()
in aSELECT ... JOIN
query could lead to incorrect results; this is now fixed. - Issue #2996 Fixed an incorrect result set caused by the implicit cutoff when join batching was enabled.
- Issue #3031 Fixed a crash in the daemon during shutdown when an active chunk merge was in progress.
- Issue #3037 Fixed an issue where
IN(...)
could produce incorrect results. - Issue #3038 Setting
max_iops
/max_iosize
in version 7.0.0 could degrade indexing performance; this is now fixed. - Issue #3042 Fixed a memory leak in the join query cache.
- Issue #3052 Fixed the handling of query options in joined JSON queries.
- Issue #3054 Fixed an issue with the ATTACH TABLE command.
- Issue #3079 Fixed inconsistencies in error messages.
- Issue #3087 Setting
diskchunk_flush_write_timeout=-1
per table did not disable index flushing; this is now fixed. - Issue #3088 Resolved duplicate entries after bulk replacing large IDs.
- Issue #3126 Fixed a daemon crash caused by a full-text query with a single
NOT
operator and an expression ranker. - Issue #3128 Fixed a potential vulnerability in the CJSON library. ❤️ Thank you, @tabudz for the PR.
Manticore Search 7.0.0
Version 7.0.0
Released: Jan 30th 2025
➡️➡️➡️ DOWNLOAD HERE ⬅️⬅️⬅️
📢📢📢Announcement blog post📢📢📢
Major changes
- Issue #1497 Added new Fuzzy Search and Autocomplete functionality for easier searching.
- Issue #1500 Integration with Kafka.
- Issue #1928 Introduced secondary indexes for JSON.
- Issue #2361 Updates and searches during updates are no longer blocked by chunk merging.
- Issue #2787 Automatic disk chunk flush for RT table to improve performance; now, we automatically flush a RAM chunk to a disk chunk, preventing performance issues caused by the lack of optimizations in RAM chunks, which could sometimes lead to instability depending on chunk size.
- Issue #2811 Scroll option for easier pagination.
- Issue #931 Integration with Jieba for better Chinese tokenization.
Minor changes
⚠️ BREAKING Issue #1111 Fixed support forglobal_idf
in RT tables. Requires table recreation.⚠️ BREAKING Issue #2103 Removed Thai characters from internalcjk
charset. Update your charset definitions accordingly: if you havecjk,non_cjk
and Thai characters are important for you, change it tocjk,thai,non_cjk
, orcont,non_cjk
, wherecont
is the new designation for all continuous-script languages (i.e.,cjk
+thai
). Modify existing tables using ALTER TABLE.⚠️ BREAKING Issue #2458 Incorporated zlib support in Windows packages.⚠️ BREAKING Issue #2468 CALL SUGGEST / QSUGGEST now compatible with distributed tables. This increases the master/agent protocol version. If you are running Manticore Search in a distributed environment with multiple instances, make sure to first upgrade the agents, then the masters.⚠️ BREAKING Issue #2889 Changed column name fromName
toVariable name
for PQ SHOW META.⚠️ BREAKING Issue #879 Introduced per-table binlog with new options: binlog_common, binlog forcreate table
/alter table
. You need to make a clean shutdown of the Manticore instance before upgrading to the new version.⚠️ BREAKING Issue #1789 Fixed incorrect error message when a node joins a cluster with the wrong replication protocol version. This change updates the replication protocol. If you are running a replication cluster, you need to:- First, cleanly stop all your nodes
- Then, start the node that was stopped last with
--new-cluster
, using the toolmanticore_new_cluster
in Linux. - Read about restarting a cluster for more details.
⚠️ BREAKING Issue #2308 Added support for multiple tables inALTER CLUSTER ADD
andDROP
. This change also affects the replication protocol. Refer to the previous section for guidance on handling this update.- Issue #2997 Fixed dlopen issue on Macos.
- Commit 4954 Changed the default cutoff for OPTIMIZE TABLE on tables with KNN indexes to improve search performance.
- Commit cfc8 Added
COUNT(DISTINCT)
support forORDER BY
inFACET
andGROUP BY
. - Issue #1103 Improved clarity in logging chunk merging.
- Issue #1130 Added support for DBeaver.
- Issue #1546 Implemented secondary indexes for POLY2D()/GEOPOLY2D() functions.
- Issue #1630 HTTP requests now support
Content-Encoding: gzip
. - Issue #1831 Added
SHOW LOCKS
command. - Issue #2187 Allowed Buddy request to daemon to bypass the searchd.max_connections constraint.
- Issue #2208 Added support for joining tables via the JSON HTTP interface.
- Issue #2235 Log successfully processed queries via Buddy in their original form.
- Issue #2249 Added special mode to run
mysqldump
for replicated tables. - Issue #2268 Improved external files renaming on copy for
CREATE TABLE
andALTER TABLE
statements. - Issue #2402 Updated searchd.max_packet_size default to 128MB.
- Issue #2419 Added support for IDF boost modifier in JSON "match".
- Issue #2430 Enhanced binlog writing synchronization to prevent errors.
- Issue #2479 Added support for SHOW TABLE INDEXES command.
- Issue #2485 Set session metadata for Buddy replies.
- Issue #2490 Millisecond resolution for aggregations at compatibility endpoints.
- Issue #2500 Changed error messages for cluster operations when replication fails to start.
- Issue #2584 New performance metrics in SHOW STATUS: min/max/avg/95th/99th percentile per query type for the last 1, 5, and 15 minutes.
- Issue #2639 Replaced all instances of
index
withtable
in requests and responses. - Issue #2643 Added
distinct
column to HTTP/sql
endpoint aggregation results. - Issue #268 Implemented autodetection of data types imported from Elasticsearch.
- Issue #2744 Added collation support for string JSON field comparison expressions.
- [Issue #2752](https://githu...
Manticore Search 6.3.8
Manticore Search 6.3.6
Manticore Search 6.3.6
Released: August 2nd 2024
➡️ INSTALL ⬅️
Version 6.3.6 continues the 6.3 series and includes only bug fixes.
Bug fixes
- Issue #2477 Fixed a crash introduced in version 6.3.4, which could occur when dealing with expressions and distributed or multiple tables.
- Issue #2352 Fixed a daemon crash or internal error upon early exit caused by max_query_time when querying multiple indexes.
Manticore Search 6.3.4
Version 6.3.4
Released: July 31st 2024
➡️ INSTALL ⬅️
Version 6.3.4 continues the 6.3 series and includes only minor improvements and bug fixes.
Minor changes
- Issue #1130 Added support for DBeaver.
- Issue #2146 Improved escaping of delimiters in word forms and exceptions.
- Issue #2268 Improved external files renaming on copy for CREATE and ALTER TABLE statements.
- Issue #2315 Added string comparison operators to SELECT list expressions.
- Issue #2363 Added support for null values in Elastic-like bulk requests.
- Issue #2374 Added support for mysqldump version 9.
- Issue #2375 Improved error handling in HTTP JSON queries with JSON path to the node where the error occurs.
Bug fixes
- Issue #2280 Fixed performance degradation in wildcard queries with many matches when disk_chunks > 1.
- Issue #2332 Fixed crash in MVA MIN or MAX SELECT list expressions for empty MVA arrays.
- Issue #2339 Fixed incorrect processing of Kibana's infinite range request.
- Issue #2342 Fixed join filter on columnar attributes from the right table when the attribute is not in the SELECT list.
- Issue #2343 Fixed duplicate 'static' specifier in Manticore 6.3.2.
- Issue #2344 Fixed LEFT JOIN returning non-matching entries when MATCH() over the right table is used.
- Issue #2350 Fixed saving of disk chunk at RT index with
hitless_words
. - Issue #2364 The 'aggs_node_sort' property can now be added in any order among other properties.
- Issue #2368 Fixed error on full-text vs filter order in the JSON query.
- Issue #2376 Fixed bug related to incorrect JSON response for long UTF-8 requests.
- Issue #2684 Fixed calculation of presort/prefilter expressions that depend on joined attributes.
- Issue #301 Changed the method of calculating data size for metrics to read from the
manticore.json
file instead of checking the entire size of the data directory. - Issue #302 Added handling of validation requests from Vector.dev.
Manticore Search 6.3.2
Version 6.3.2
Released: June 26th 2024
➡️➡️➡️ DOWNLOAD HERE ⬅️⬅️⬅️
Version 6.3.2 continues the 6.3 series and includes several bug fixes, some of which were discovered after the release of 6.3.0.
Breaking changes
⚠️ Issue #2305 Updated aggs.range values to be numeric.
Bug fixes
- Commit c51c Fixed grouping by stored check vs rset merge.
- Commit 0e85 Fixed a crash in the daemon when querying with wildcard characters in an RT index using a CRC dictionary and
local_df
enabled. - Issue #2200 Fixed a crash in JOIN on
count(*)
without GROUP BY. - Issue #2201 Fixed JOIN not returning a warning when attempting grouping by a full-text field.
- Issue #2230 Addressed issue where adding an attribute via
ALTER TABLE
did not take KNN options into account. - Issue #2231 Fixed failure in removing
manticore-tools
Redhat package in version 6.3.0. - Issue #2242 Corrected issues with JOIN and multiple FACET statements returning incorrect results.
- Issue #2250 Fixed ALTER TABLE producing an error if the table is in a cluster.
- Issue #2252 Fixed the original query being passed into buddy from the SphinxQL interface.
- Issue #2267 Improved wildcard expansion in the
CALL KEYWORDS
for RT index with disk chunks. - Issue #271 Fixed hanging of incorrect
/cli
requests. - Issue #274 Resolved issues where concurrent requests to Manticore could get stuck.
- Issue #275 Fixed hanging of
drop table if exists t; create table t
via/cli
.
Replication-related
- Issue #2270 Added support for
cluster:name
format in the/_bulk
HTTP endpoint.