Meilisearch v1.44.0stable Released May 18, 2026
โš ๏ธ Breaking Change Impact Score: 7/10

Meilisearch v1.44.0 โ€” Release Notes & Engineering Impact

Source available โ€” automated, not human-reviewed

Component: meilisearch ยท Channel: stable. Automated analysis, not a compatibility certification. How this works.

Analysis updated: 2026-11-01.

Breaking-change evidence from the source

  • Meilisearch v1.44.0 adds remote federated facet search, indexing performance improvements, and other improvements and bugfixes. It also contains a couple of breaking changes, detailed below.
  • Breaking changes - When using the `network` experimental feature, with sharding enabled (`leader` is not `null` in the network configuration), `POST /indexes/{indexUid}/facet-search` calls now default to a remote federated facet search, fetching and merging results from all shards in the network.
Read the original context โ†—
Source flags breaking changes โ€” review applicability
๐Ÿ“„ .MD
โšก Executive Summary (TL;DR)

Meilisearch v1.44.0. Source highlight: Meilisearch v1.44.0 adds remote federated facet search, indexing performance improvements, and other improvements and bugfixes. It also contains a couple of breaking changes, detailed below.

Who Does This Impact? (Role-Based Analysis)

๐Ÿ’ป Software Engineers & Devs

Check the source notes against the package and APIs you use before upgrading.

๐Ÿ“Š Product & Engineering Leads

Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.

โš™๏ธ DevOps & Security

Verify the target version, runtime requirements and rollback procedure in the official documentation.

โš ๏ธ Breaking Changes & Deprecations (2)

  • Meilisearch v1.44.0 adds remote federated facet search, indexing performance improvements, and other improvements and bugfixes. It also contains a couple of breaking changes, detailed below.
  • Breaking changes - When using the `network` experimental feature, with sharding enabled (`leader` is not `null` in the network configuration), `POST /indexes/{indexUid}/facet-search` calls now default to a remote federated facet search, fetching and merging results from all shards in the network.

โœจ New Features & Capabilities (4)

  • When using the `network` experimental feature, with sharding enabled (`leader` is not `null` in the network configuration), `POST /indexes/{indexUid}/facet-search` calls now default to a remote federated facet search, fetching and merging results from all shards in the network.
  • If you are using the `network` experimental feature and have a `leader` defined for your network, **remote calls are now the default** for calls to `POST /indexes/{indexUid}/facet-search`
  • Add query to federated search metadata
  • Remove issue template for feature issues

โšก Performance & Enhancements (1)

  • Improve the documentation of the health route

๐Ÿ”ง Bug Fixes & Patches (4)

  • The timeout for calling an external REST embedder at search time is now tied to the `searchCutOffMs` defined in the index, rather than fixed.
  • Settings changes performed via a settings subroute (**not** the "all settings" route) are now correctly propagated to other remotes on the network. By @dureuill in https://github.com/meilisearch/meilisearch/pull/6380
  • The chat route no longer fails in some condition when using Mistral as a provider. By @renezander030 in https://github.com/meilisearch/meilisearch/pull/6327
  • Prevent accidentally renaming a remote when modifying the network configuration. By @dureuill in https://github.com/meilisearch/meilisearch/pull/6370
๐Ÿ“„ View Raw Release Notes (Original Developer Log)
Meilisearch v1.44.0 adds remote federated facet search, indexing performance improvements, and other improvements and bugfixes. It also contains a couple of breaking changes, detailed below. # Breaking changes - When using the `network` experimental feature, with sharding enabled (`leader` is not `null` in the network configuration), `POST /indexes/{indexUid}/facet-search` calls now default to a remote federated facet search, fetching and merging results from all shards in the network. - The timeout for calling an external REST embedder at search time is now tied to the `searchCutOffMs` defined in the index, rather than fixed. - If you observe missing semantic results after upgrading, or HTTP 500 errors for pure semantic search, please increase the value of the search cutoff in the index settings. - By @dureuill in https://github.com/meilisearch/meilisearch/pull/6377 # ๐ŸŒˆ Improvements ## Remote facet search Meilisearch now has the ability to search across all shards of a network during facet search via the existing dedicated facet search route. - If you are using the `network` experimental feature and have a `leader` defined for your network, **remote calls are now the default** for calls to `POST /indexes/{indexUid}/facet-search` - The behavior can be controlled explicitly via the new `useNetwork` parameter of the [facet search object](https://www.meilisearch.com/docs/reference/api/facet-search/search-in-facets#body-facet-name). By @dureuill in https://github.com/meilisearch/meilisearch/pull/6375 ## Reduce memory usage of the indexing Reduces allocated memory when computing prefixes and speeds up some operations to avoid unnecessary deserialization. If you still see high memory usage while the engine is post-processing, we recommend using the `--experimental-reduce-indexing-memory-usage` option. By @Kerollmops in https://github.com/meilisearch/meilisearch/pull/6334 ## Improve GeoJSON indexing performance This PR upgrades the `cellulite` library to a version that includes a GeoJSON indexing optimization. With this change, GeoJSON indexing avoids reprocessing documents that were already indexed in dense cells, and only handles newly added documents incrementally as they descend through the recursive cell tree. By @YoEight in https://github.com/meilisearch/meilisearch/pull/6374 ## Human-formatted sizes and detailed DB sizes in stats Adds two new query parameters to `GET /indexes/{indexUid}/stats` and `GET /stats`: - `showInternalDatabaseSizes`: boolean, optional, defaults to `false`. When present, the index stat objects in responses of the stat routes now contain an additional `internalDatabaseSizes` key, whose value is a dictionary of the internal database names and their current size in the index, like in the stats object of a batch. - `sizeFormat`: `human` or `raw`: optional, defaults to `raw`. When present and set to `human`, then all database sizes in responses of the stat routes will be returned as a string containing an appropriate unit (MiB, GiB, etc). When missing or set to `raw`, then the current behavior of expressing the size in bytes as a number is retained. Note for integrations: The keys in `internalDatabaseSizes` are subject to change and should not be exposed as a strongly typed object. This is the same as the existing `internalDatabaseSizes` in batch stats. <details> <summary> Adding `showInternalDatabaseSizes` to an index stats </summary> ```jsonc // curl -X GET "http://localhost:7700/indexes/movies/stats?showInternalDatabaseSizes=true" { "numberOfDocuments": 31944, "rawDocumentDbSize": 20594688, "avgDocumentSize": 636, "isIndexing": false, "internalDatabaseSizes": { "wordPairProximityDocids": 100827136, "documents": 20594688, "wordPositionDocids": 18694144, "wordFidDocids": 10715136, "wordPrefixPositionDocids": 10256384, "wordDocids": 9453568, "wordPrefixFidDocids": 4603904, "wordPrefixDocids": 3424256, "main": 1425408, "externalDocumentsIds": 999424, "fieldIdWordCountDocids": 245760, "exactWordPrefixDocids": 16384, "celluliteMetadata": 16384 }, "numberOfEmbeddings": 0, "numberOfEmbeddedDocuments": 0, "fieldDistribution": { "genres": 31944, "id": 31944, "overview": 31944, "poster": 31944, "release_date": 31944, "title": 31944 } } ``` </details> <details> <summary> Adding `showInternalDatabaseSizes` and `sizeFormat=human` to global stats </summary> ```jsonc // curl -X GET "http://localhost:7700/stats?showInternalDatabaseSizes=true&sizeFormat=human" { "databaseSize": "351.38 MiB", "usedDatabaseSize": "350.64 MiB", "lastUpdate": "2026-04-16T13:07:02.74243Z", "indexes": { "comics": { "numberOfDocuments": 31944, "rawDocumentDbSize": "23.14 MiB", "avgDocumentSize": "751 B", "isIndexing": false, "internalDatabaseSizes": { "wordPairProximityDocids": "98.06 MiB", "documents": "23.14 MiB", "wordPositionDocids": "17.22 MiB", "wordFidDocids": "10.36 MiB", "wordPrefixPositionDocids": "9.47 MiB", "wordDocids": "8.97 MiB", "wordPrefixFidDocids": "4.36 MiB", "wordPrefixDocids": "3.27 MiB", "main": "1.36 MiB", "externalDocumentsIds": "944 KiB", "fieldIdWordCountDocids": "240 KiB", "exactWordPrefixDocids": "16 KiB", "celluliteMetadata": "16 KiB" }, "numberOfEmbeddings": 0, "numberOfEmbeddedDocuments": 0, "fieldDistribution": { "genres": 31944, "id": 31944, "overview": 31944, "poster": 31944, "release_date": 31944, "title": 31944 } }, "movies": { "numberOfDocuments": 31944, "rawDocumentDbSize": "19.64 MiB", "avgDocumentSize": "636 B", "isIndexing": false, "internalDatabaseSizes": { "wordPairProximityDocids": "96.16 MiB", "documents": "19.64 MiB", "wordPositionDocids": "17.83 MiB", "wordFidDocids": "10.22 MiB", "wordPrefixPositionDocids": "9.78 MiB", "wordDocids": "9.02 MiB", "wordPrefixFidDocids": "4.39 MiB", "wordPrefixDocids": "3.27 MiB", "main": "1.36 MiB", "externalDocumentsIds": "976 KiB", "fieldIdWordCountDocids": "240 KiB", "exactWordPrefixDocids": "16 KiB", "celluliteMetadata": "16 KiB" }, "numberOfEmbeddings": 0, "numberOfEmbeddedDocuments": 0, "fieldDistribution": { "genres": 31944, "id": 31944, "overview": 31944, "poster": 31944, "release_date": 31944, "title": 31944 } } } } ``` </details> <details> <summary> The call without any parameters is the same as in previous versions. </summary> ```jsonc // curl -X GET "http://localhost:7700/stats" { "databaseSize": 368443392, "usedDatabaseSize": 367673344, "lastUpdate": "2026-04-16T13:07:02.74243Z", "indexes": { "comics": { "numberOfDocuments": 31944, "rawDocumentDbSize": 24264704, "avgDocumentSize": 751, "isIndexing": false, "numberOfEmbeddings": 0, "numberOfEmbeddedDocuments": 0, "fieldDistribution": { "genres": 31944, "id": 31944, "overview": 31944, "poster": 31944, "release_date": 31944, "title": 31944 } }, "movies": { "numberOfDocuments": 31944, "rawDocumentDbSize": 20594688, "avgDocumentSize": 636, "isIndexing": false, "numberOfEmbeddings": 0, "numberOfEmbeddedDocuments": 0, "fieldDistribution": { "genres": 31944, "id": 31944, "overview": 31944, "poster": 31944, "release_date": 31944, "title": 31944 } } } } ``` </details> By @dureuill in https://github.com/meilisearch/meilisearch/pull/6338 # ๐Ÿฆ‹ Fixes - Settings changes performed via a settings subroute (**not** the ["all settings" route](https://www.meilisearch.com/docs/reference/api/settings/update-all-settings)) are now correctly propagated to other remotes on the network. By @dureuill in https://github.com/meilisearch/meilisearch/pull/6380 - The chat route no longer fails in some condition when using Mistral as a provider. By @renezander030 in https://github.com/meilisearch/meilisearch/pull/6327 - Prevent accidentally renaming a remote when modifying the network configuration. By @dureuill in https://github.com/meilisearch/meilisearch/pull/6370 # ๐Ÿ”ฉ Miscellaneous changes - Replace boolean by PatternMatch for searchable by @ManyTheFish in https://github.com/meilisearch/meilisearch/pull/6344 - Add query to federated search metadata by @StephaneRob in https://github.com/meilisearch/meilisearch/pull/6371 - Remove issue template for feature issues by @curquiza in https://github.com/meilisearch/meilisearch/pull/6372 - Improve the documentation of the health route by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/6376 ## New Contributors * @renezander030 made their first contribution in https://github.com/meilisearch/meilisearch/pull/6327 * @quyentonndbs made their first contribution in https://github.com/meilisearch/meilisearch/pull/6382 **Full Changelog**: https://github.com/meilisearch/meilisearch/compare/v1.43.1...v1.44.0