Meilisearch v1.35.0stable Released Feb 02, 2026
⚠️ Breaking Change Impact Score: 7/10

Meilisearch v1.35.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.35.0 contains improvements to the observability of the search performance, a breaking change to the recently introduced `POST /indexes/<index_uid>/fields` route, and other bugfixes and improvements.
  • Breaking change: return pagination fields in `POST /indexes/<index_uid>/fields` route
  • Breaking change**: The `POST /indexes/<index_uid>/fields` route now returns an object containing the `results`, `offset`, `limit`, and `total` fields instead of returning an array of results. This change allows to know how many fields match a given filter
Read the original context ↗
Source flags breaking changes — review applicability
📄 .MD
⚡ Executive Summary (TL;DR)

Meilisearch v1.35.0. Source highlight: Meilisearch v1.35.0 contains improvements to the observability of the search performance, a breaking change to the recently introduced `POST /indexes/<index_uid>/fields` route, and other bugfixes and improvements.

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 (3)

  • Meilisearch v1.35.0 contains improvements to the observability of the search performance, a breaking change to the recently introduced `POST /indexes/<index_uid>/fields` route, and other bugfixes and improvements.
  • Breaking change: return pagination fields in `POST /indexes/<index_uid>/fields` route
  • Breaking change**: The `POST /indexes/<index_uid>/fields` route now returns an object containing the `results`, `offset`, `limit`, and `total` fields instead of returning an array of results. This change allows to know how many fields match a given filter

✨ New Features & Capabilities (1)

  • Add AI usage disclosure guidelines to CONTRIBUTING.md

⚡ Performance & Enhancements (6)

  • `POST /indexes/<index_uid>/search`
  • `GET /indexes/<index_uid>/search`
  • `POST /multi-search`
  • `POST /indexes/<index_uid>/similar`
  • `GET /indexes/<index_uid>/similar`
  • `showPerformanceDetails`: `true`/`false` (boolean)

🔧 Bug Fixes & Patches (2)

  • Bump mini-dashboard version to fix display of image in local UI interface
  • Fix mTLS compatibility with Go
📄 View Raw Release Notes (Original Developer Log)
Meilisearch v1.35.0 contains improvements to the observability of the search performance, a breaking change to the recently introduced `POST /indexes/<index_uid>/fields` route, and other bugfixes and improvements. # 🌈 Improvements ## Observe the search performance The search routes accept a new field named `showPerformanceDetails`. When set to `true`, the search response contains a performance trace, allowing the user to better understand what takes time during a search query. **impacted routes:** - `POST /indexes/<index_uid>/search` - `GET /indexes/<index_uid>/search` - `POST /multi-search` - `POST /indexes/<index_uid>/similar` - `GET /indexes/<index_uid>/similar` ### Search routes: `POST /indexes/<index_uid>/search` and `GET /indexes/<index_uid>/search` #### Request new request parameters: - `showPerformanceDetails`: `true`/`false` (boolean) <details> <summary>example</summary> ```jsonc { "q": "glass", "showPerformanceDetails": true } ``` </details> #### Response new response field: - `performanceDetails`: `{"<span>": "<human_duration>", .. }` (map) <details> <summary>example</summary> ```jsonc { "hits": [ // hits .. ], "query": "glass", "processingTimeMs": 5, "limit": 20, "offset": 0, "estimatedTotalHits": 1, "requestUid": "<uuid>", "performanceDetails": { "wait for permit": "295.29µs", "search > tokenize": "436.67µs", "search > resolve universe": "649.00µs", "search > keyword search": "515.71µs", "search > format": "288.54µs", "search": "3.56ms" } } ``` </details> ### Multi-search route: `POST /multi-search` #### Request new request parameters: - `queries.showPerformanceDetails`: `true`/`false` (boolean) <details> <summary>example</summary> ```jsonc "queries": [ { "indexUid": "<index_uid>", "q": "glass", "showPerformanceDetails": true } ] ``` </details> #### Response new response field: - `results.performanceDetails`: `{"<span>": "<human_duration>", .. }` (map) <details> <summary>example</summary> ```jsonc { "results": [ { "indexUid": "<index_uid>", "hits": [ // hits .. ], "query": "glass", "processingTimeMs": 5, "limit": 20, "offset": 0, "estimatedTotalHits": 1, "requestUid": "<uuid>", "performanceDetails": { "wait for permit": "295.29µs", "search > tokenize": "436.67µs", "search > resolve universe": "649.00µs", "search > keyword search": "515.71µs", "search > format": "288.54µs", "search": "3.56ms" } } ] } ``` </details> ### Federated Search route: `POST /multi-search` #### Request new request parameters: - `federation.showPerformanceDetails`: `true`/`false` (boolean) <details> <summary>example</summary> ```jsonc { "federation": { "showPerformanceDetails": true }, "queries": [ { "indexUid": "<index_uid>", "q": "glass" } ] } ``` </details> #### Response new response field: - `performanceDetails`: `{"<span>": "<human_duration>", .. }` (map) <details> <summary>example</summary> ```jsonc { "hits": [ // hits .. ], "query": "glass", "processingTimeMs": 5, "limit": 20, "offset": 0, "estimatedTotalHits": 1, "requestUid": "<uuid>", "performanceDetails": { "wait for permit": "213.83µs", "search > tokenize": "171.67µs", "search > resolve universe": "257.63µs", "search > keyword search": "577.71µs", "search > format": "114.96µs", "search > federation > wait for remote results": "62.71µs", "search > federation > merge results": "120.04µs", "search > federation > merge facets": "53.42µs", "search > federation": "237.04µs", "search": "289.08ms" } } ``` </details> ### Similar routes: `POST /indexes/<index_uid>/similar` and `GET /indexes/<index_uid>/similar` #### Request new request parameters: - `showPerformanceDetails`: `true`/`false` (boolean) <details> <summary>example</summary> ```jsonc { "id": 143, "embedder": "manual", "showPerformanceDetails": true } ``` </details> #### Response new response field: - `performanceDetails`: `{"<span>": "<human_duration>", .. }` (map) <details> <summary>example</summary> ```jsonc { "hits": [ // hits .. ], "id": "143", "processingTimeMs": "[duration]", "limit": 20, "offset": 0, "estimatedTotalHits": 4, "performanceDetails": { "search > format": "244.92µs", "search": "1.25ms" } } ``` </details> By @ManyTheFish in https://github.com/meilisearch/meilisearch/pull/6132 ## Stabilize multithreaded post-processing of facets and prefixes Multithreaded post-processing of facets and prefixes speeds-up indexing on multi-core machines. Before v1.35.0, it could be disabled with an [experimental feature](https://github.com/orgs/meilisearch/discussions/862). Meilisearch v1.35.0 removes that experimental feature, resulting in the multithreaded post-processing being always enabled. Cloud users upgrading to v1.35.0 will benefit from the speed-up. By @ManyTheFish in https://github.com/meilisearch/meilisearch/pull/6130 # 🦋 Fixes ## Breaking change: return pagination fields in `POST /indexes/<index_uid>/fields` route > [!WARNING] > **Breaking change**: The `POST /indexes/<index_uid>/fields` route now returns an object containing the `results`, `offset`, `limit`, and `total` fields instead of returning an array of results. This change allows to know how many fields match a given filter <details> <summary>Example: before/after</summary> Before: ```jsonc [ // fields .. ] ``` After: ```jsonc { "results": [ // [fields .. ] ], "offset": 0, "limit": 20, "total": 0 } ``` </details> By @ManyTheFish in https://github.com/meilisearch/meilisearch/pull/6126 ## `POST /indexes/<index_uid>/fields`: Fix pattern filtering when a parent field was matching a child pattern: `title` was matching the pattern `title.to*`. <details> <summary>Example: before/after</summary> For the following request: ```jsonc { "filter": { "attributePatterns": [ "title.en" ] } } ``` Before Response, `title` field is returned: ```jsonc { "results": [ { "name": "title", //metadata... }, ], "offset": 0, "limit": 20, "total": 1 } ``` After Response, nothing returned: ```jsonc { "results": [], "offset": 0, "limit": 20, "total": 0 } ``` </details> By @ManyTheFish, also in https://github.com/meilisearch/meilisearch/pull/6126 ## 🐛 Other fixes * Bump mini-dashboard version to fix display of image in local UI interface by @Strift in https://github.com/meilisearch/meilisearch/pull/6129 * Fix mTLS compatibility with Go by @curquiza in https://github.com/meilisearch/meilisearch/pull/6133 # 🔩 Miscellaneous - Add AI usage disclosure guidelines to CONTRIBUTING.md by @meili-bot in https://github.com/meilisearch/meilisearch/pull/6114 - Expose SettingsDelta and related types for external crate usage by @MkDev11 in https://github.com/meilisearch/meilisearch/pull/6119 ## New Contributors * @MkDev11 made their first contribution in https://github.com/meilisearch/meilisearch/pull/6119 ❤️ **Full Changelog**: https://github.com/meilisearch/meilisearch/compare/v1.34.3...v1.35.0