Impact Score: 5/10
Meilisearch: v1.1.0 π‘
Source available β automated, not human-reviewed
Component: meilisearch Β· Channel: stable. Automated analysis, not a compatibility certification. How this works.
Analysis updated: 2026-11-01.
β‘ Executive Summary (TL;DR)
Meilisearch v1.1.0. Source highlight: Meilisearch v1.1.0 introduces the much-requested multi-index search! You can now use one single HTTP request to perform different searches in multiple indexes.
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.
β¨ New Features & Capabilities (6)
- Improve error messages: introduction of "did you mean ...?" suggestions when making typos in a Meilisearch parameter (#3492) @irevoire
- Add tests with rust nightly in CI (#3495) @ztkmkoo
- Add `--all` to test CI (#3403) @curquiza
- Add prototype guide to CONTRIBUTING.md (#3433) @curquiza
- Add image hyperlink to the README.md (#3420) @gregsadetsky
- Add support for running milli on iOS and macOS when using App Sandbox by activating Cargo feature for LMDB's POSIX semaphores (#3407) @GregoryConrad
β‘ Performance & Enhancements (6)
- Enhance Greek support by normalizing diacritics and final sigma
- Enhance Arabic support by ignoring Tatweel
- Enhance language detection: detection now happens during indexing, reducing erroneous language recognition during search
- Allow wildcards (`*`) at the end of index names when creating API keys or tenant tokens (#3174) @Kerollmops & @akhildevelops
- Customize the CSV delimiter (default: `,`) with the `csvDelimiter` parameter in the document addition or update, and document addition or replace endpoints (#3505, #3534) @MixusMinimax and @irevoire
- Automatically batch addition and deletion tasks together to speed up indexing (#3470) @irevoire
π§ Bug Fixes & Patches (6)
- Improve facet string normalization: fixes issues when using `sortBy` with accented characters (#3372) @ManyTheFish
- Fix web interface issues: bump version of search preview to v0.2.7 (#3623) @bidoubiwa
- Unify "Bad latitude" and "Bad longitude" errors (#3479) @cymruu
- Prevent "Cannot allocate memory" errors when creating a lot of indexes (#3331) @dureuill
- Fix Japanese support (see the related issue) thanks to the new language detection (#3347) @ManyTheFish
- Remove `MDB_BAD_VALSIZE` error by avoiding fetching an LMDB value with an empty string (#3577) @Kerollmops
π View Raw Release Notes (Original Developer Log)
Meilisearch v1.1.0 introduces the much-requested multi-index search! You can now use one single HTTP request to perform different searches in multiple indexes.
Additional new features include: the `geoBoundingBox` geosearch filter, the addition of a `facetStats` object to queries using the `facets` search parameter, and the customization of CSV separators.
π§° All official Meilisearch integrations (including SDKs, clients, and other tools) are compatible with this Meilisearch release. Integration deployment happens between 4 to 48 hours after a new version becomes available.
Some SDKs might not include all new featuresβconsult the project repository for detailed information. Is a feature you need missing from your chosen SDK? Create an issue letting us know you need it, or, for open-source karma points, open a PR implementing it (we'll love you for that <3).
# New features and improvements π₯
## Multi-index search: allow multiple searches in a single request
Perform searches in multiple indexes in a single HTTP request using the new `/multi-search` endpoint:
```bash
curl \
-X POST 'http://localhost:7700/multi-search' \
-H 'Content-Type: application/json' \
--data-binary '{
"queries": [
{
"indexUid": "products",
"q": "Nike",
"limit": 1
},
{
"indexUid": "brands",
"q": "Nike",
"limit": 1
}
]
}'
```
When you use the multi-index search endpoint, Meilisearch returns an array of results for each queried index:
```json
{
"results": [
{
"indexUid": "products",
"hits": [β¦],
"query": "Nike",
"processingTimeMs": 1,
"limit": 1,
"offset": 0,
"estimatedTotalHits": 17
},
{
"indexUid": "brands",
"hits": [β¦],
"query": "Nike",
"processingTimeMs": 0,
"limit": 1,
"offset": 0,
"estimatedTotalHits": 7
}
]
}
```
Done by @dureuill in #3417
## Introduce `facetStats`
Queries containing the `facets` parameter now include a `facetStats` object by default:
```bash
curl \
-X POST 'http://localhost:7700/indexes/movies/search' \
-H 'Content-Type: application/json' \
--data-binary '{
"facets": ["price"]
}'
```
`facetStats` only lists facets containing numerical values. Facets with other types of values are not included in the `facetStats` object. This object contains the minimum (`min`) and the maximum (`max`) of each numerical facet:
```json
{
"hits": [β¦],
"facetDistribution": {
"price": {β¦}
},
"facetStats": {
"price": {
"min": 2,
"max": 60
}
}
}
```
Done by @dureuill in #3423.
## New geosearch filter: `_geoBoundingBox`
Use the `filter` search parameter and the `_geoBoundingBox` filter expression to obtain results contained within a specific geographic area.
```bash
curl \
-X POST 'http://localhost:7700/indexes/restaurants/search' \
-H 'Content-type:application/json' \
--data-binary '{ "filter": "_geoBoundingBox([45.472735, 9.184019],[45.473711, 9.185613] )" }'
```
`_geoBoundingBox([lat, lng], [lat, lng])` accepts two parameters: one array specifying the top right corner, and a second array specifying the bottom left corner.
Done by @gmourier and @irevoire in #3405 and #3529.
## Removing limits on index size and count
Meilisearch no longer limits the size nor the amount of indexes a single instance may contain. You can now create an unlimited number of indexes, whose maximum size will be only dictated by the memory address space devoted to a single process by the OS. Under Linux, the limit is at about 80TiB.
Done by @dureuill in #3319, #3331 and #3544.
## Experimental feature: monitor Meilisearch usage with Prometheus
This release introduces an experimental feature allowing you to monitor metrics with [Prometheus](https://prometheus.io/).
When launching Meilisearch, use the following flag:
```bash
meilisearch --experimental-enable-metrics
```
The `/metrics` route will be available and compatible with Prometheus.
π£οΈ Since this feature is experimental, we need your help to iterate on it! You are more than welcome to share your thoughts and your feedback on [this discussion](https://github.com/meilisearch/meilisearch/discussions/3518).
β οΈ The experimental feature API can break between Meilisearch versions. Be careful if using it in production.
Done by @irevoire, @dureuill, and @james-2001 in #3496, #3524, #3538 and #3543.
## Improve language support
* Enhance Greek support by normalizing diacritics and final sigma
* Enhance Arabic support by ignoring Tatweel
* Enhance language detection: detection now happens during indexing, reducing erroneous language recognition during search
π―π΅ For people using Japanese datasets, language detection might still fail on small datasets. For instance, a song dataset that only contains titles in Japanese will still be detected as Chinese.<br>
If you encounter any issue, we recommend you use [this prototype](https://github.com/meilisearch/meilisearch/pull/3588) which is an alternative version of Meilisearch v1.1 for Japanese users. Please, let us know about any feedback you may have in [this dicussion](https://github.com/meilisearch/product/discussions/532).
Done in #3347, #3569 and on [Charabia](https://github.com/meilisearch/charabia/releases/tag/v0.7.1) by @choznerol, @cymruu, @james-2001 and @ManyTheFish.
## Other improvements
* Allow wildcards (`*`) at the end of index names when creating API keys or tenant tokens (#3174) @Kerollmops & @akhildevelops
* Customize the CSV delimiter (default: `,`) with the `csvDelimiter` parameter in the document addition or update, and document addition or replace endpoints (#3505, #3534) @MixusMinimax and @irevoire
* Improve error messages: introduction of "did you mean ...?" suggestions when making typos in a Meilisearch parameter (#3492) @irevoire
* Automatically batch addition and deletion tasks together to speed up indexing (#3470) @irevoire
* Accept `null` as a valid `_geo` field when importing or updating documents (#3515) @irevoire
* Reduce crate size (from ~200MB to ~50MB) by compressing dictionaries (#3347) @ManyTheFish
* Cache the indexes stats results (#3541) @irevoire
# Fixes π
* Improve facet string normalization: fixes issues when using `sortBy` with accented characters (#3372) @ManyTheFish
* Fix web interface issues: bump version of search preview to [v0.2.7](https://github.com/meilisearch/mini-dashboard/releases/tag/v0.2.7) (#3623) @bidoubiwa
* Unify "Bad latitude" and "Bad longitude" errors (#3479) @cymruu
* Prevent "Cannot allocate memory" errors when creating a lot of indexes (#3331) @dureuill
* Fix Japanese support (see [the related issue](https://github.com/meilisearch/meilisearch/issues/2403)) thanks to the new language detection (#3347) @ManyTheFish
* Remove `MDB_BAD_VALSIZE` error by avoiding fetching an LMDB value with an empty string (#3577) @Kerollmops
* Fix snapshots permissions on Unix system (#3561) @irevoire
* Ensure the task queue is correctly imported (#3597) @irevoire
* Fix facet normalization (#3621) @ManyTheFish
# Misc
The following changes do not impact user experience.
* GitHub CIs & test suite
* Create a preview environment for every PR using Uffizzi (#3040 and #3482) @waveywaves
* Improve `publish-aarch64` job that used ubuntu-18.04 (#3568) @curquiza
* Add tests with rust nightly in CI (#3495) @ztkmkoo
* Add `--all` to test CI (#3403) @curquiza
* Remove cache from test CI to prevent Windows CI failures (#3422) @curquiza
* Pin Rust version in Clippy job (#3451) @curquiza
* Update comments in version bump CI (#3519) @curquiza
* Fix cargo flaky (#3348) @irevoire
* Make clippy happy for Rust 1.67, allow `uninlined_format_args` (#3434) @dureuill
* Internal documentation
* Fixup `dumps-destination` into `dump-directory` section header in help link (#3199) @dureuill
* Add prototype guide to CONTRIBUTING.md (#3433) @curquiza
* Rework technical information in the README (#3399) @curquiza
* Add image hyperlink to the README.md (#3420) @gregsadetsky
* Update migration link to the docs (#3539) @curquiza
* Internal changes
* Add support for running milli on iOS and macOS when using App Sandbox by activating Cargo feature for LMDB's POSIX semaphores (#3407) @GregoryConrad
* Extract creation and last updated timestamp for v3 dump (#3343) @FrancisMurillo
* Gitignore VScode & Jetbrains IDE folders (#3480) @AymanHamdoun
* Import the milli repository (#3346) @Kerollmops
* Identify builds git tagged with `prototype-...` in CLI and analytics (#3467) @dureuill
* Use the workspace inheritance: the Meilisearch version is now present in `Cargo.toml` at the root of the repository (#3499) @irevoire
* Dependencies: bump libgit2-sys and tokio (#3409 and #3456)
β€οΈ Thanks again to our external contributors:
- [Meilisearch](https://github.com/meilisearch/meilisearch): @akhildevelops, @AymanHamdoun, @cymruu, @FrancisMurillom @GregoryConrad, @gregsadetsky, @james-2001, @MixusMinimax, @waveywaves, and @ztkmkoo.
- [Charabia](https://github.com/meilisearch/charabia): @choznerol, @cymruu, and @james-2001.