# Meilisearch v1.50.0 — Release & Upgrade Intelligence
- **Product:** Meilisearch (https://meilisearch.com)
- **Version:** v1.50.0
- **Released:** Jul 20, 2026
- **Impact Score:** 7/10
- **Breaking Changes:** Source flagged
- **Canonical Analysis:** https://changelogs.us/meilisearch/updates/v1.50.0/

## Executive Summary (TL;DR)
Meilisearch v1.50.0. Source highlight: Meilisearch v1.50 revamps the Dynamic Search Rules, adds support for federated document fetch in sharded configurations, among other improvements

## Breaking Changes & Deprecations
- Breaking changes This release introduces breaking changes for users using some experimental features
- This release introduces breaking changes for users using some experimental features

## New Features
- **GET** `indexes/:uid/documents`
- **GET** `indexes/:uid/documents/:document_id`
- **POST** `indexes/:uid/documents/fetch`
- Add a new `DELETE /dynamic-search-rule` route that deletes all the DSRs
- Add the concept of "DSR fuel" that determines how much energy is spent resolving DSR during a search. The fuel is initialized with some default variables that can be overridden using environment variables:
- Add missing route descriptions for documentation

## Improvements
- This also unlocks future improvements such as filter activation conditions for search rules
- The `conditions.query.words` behaves differently from `query.contains`: previously, a rule would match if its conditions `query.contains` would be substrings of `q` in the search query in the sense of `str::contains`. Now, a rule matches if all the words in `conditions.query.words` appear in `q` (after normalization). For `q = hero super`, `query.contains = super hero` would **not** match, whereas `conditions.query.words = super hero` does now match. This behavior is more in line with regular se
- Improve maintenability by simplifying partitioning step

## Bug Fixes
- Fix frequently failing tests on Windows
