# Medusa v2.18.0 — Release & Upgrade Intelligence
- **Product:** Medusa (https://medusajs.com)
- **Version:** v2.18.0
- **Released:** Jul 23, 2026
- **Impact Score:** 7/10
- **Breaking Changes:** Source flagged
- **Canonical Analysis:** https://changelogs.us/medusajs/updates/v2.18.0/

## Executive Summary (TL;DR)
Medusa v2.18.0. Source highlight: This release comes with new features, bug fixes, and dependency updates for better security.

## Breaking Changes & Deprecations
- 🚧 Breaking change The default database load strategy has changed from `SELECT_IN` to `BALANCED`, matching MikroORM v7's intended default. MikroORM picks between a joined and a select-in approach per relation, which improves query performance in most cases. Because it changes how relations are loaded, review query-heavy paths and any snapshot or query-count assertions in your tests after upgrading.
- 🚧 Breaking change > This affects usages of [generated internal services](https://docs.medusajs.com/learn/fundamentals/modules/service-factory#generated-internal-services). They do not impact methods generated by `MedusaService` such as `deletePosts`.

## New Features
- feat: Implement support for cross-module filtering at the DAL by @sradevski in #15918
- feat: Pass crossjoinable info to joiner by @sradevski in #15951
- feat(admin-vite-plugin,dashboard): add config.label to document title resolution seo fallback by @NicolasGorga in #15984
- feat(dashboard,medusa,types): filter notifications in admin dashboard for logged in user by @NicolasGorga in #15923
- feat(core-flows): automatically refresh taxes upon state change by @NicolasGorga in #15924
- feat(dashboard): resizable datagrid columns by @NicolasGorga in #15925

## Improvements
- docs: improve instructions for MCP server  by @shahednasser in #15998
- docs: improve docs for pricing and shipping option price types by @shahednasser in #16056
- docs: improvements in promotions related to application methods and values by @shahednasser in #16060
- docs: improvements to JS SDK and UI docs by @shahednasser in #16086
- tsdocs: improvements related to payments and cart completion by @shahednasser in #16077
- chore: improvements to cart and pricing tsdocs by @shahednasser in #16047

## Bug Fixes
- fix(dashboard): call useStateAwareTo unconditionally in RouteFocusModal by @merkelis-p in #15752
- fix(dashboard): fixes to sidebar styling for layout configuration by @shahednasser in #15985
- fix(core-flows): correctly clear a region payment providers by @NicolasGorga in #15986
- fix(eslint-plugin): remove use-query-context-utility rule by @adem-loghmari in #15850
- fix(file-s3,file-local): decode upload content by MIME type to stop binary file corruption by @BIGSUS24 in #15811
- fix(utils): fix delete operation when primary key is not `id` by @shahednasser in #15989
