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

## Executive Summary (TL;DR)
Medusa v2.9.0. Source highlight: Throw error on invalid promotions

## Breaking Changes & Deprecations
- Breaking change This release updates the promotion application logic to throw when applying an invalid promotion code. This change improves the experience for developers building storefronts by allowing them to handle invalid discount codes directly from the API response, rather than checking cart promotions after the API request.

## New Features
- docs: add section on customer account deletion
- docs: add how-to guides for retrieving cart and order totals
- docs: added examples to DatePicker component
- docs: add link to manage metadata section in OAS and API reference
- docs: add links to technical guides in user guides
- docs: add more totals to retrieve cart and totals guides

## Improvements
- docs: improvements and additions to admin customization chapters
- docs: improved workflows integration tests guide
- docs: improve instructions to install Medusa UI in standalone projects

## Bug Fixes
- fix(core-flows): guest customer updates email to another guest account
- fix(create-medusa-app): Don't allow dot in project name
- fix(promotion): check currency when computing actions for promotions
- fix(core-flows): refresh payment collection
- chore(ui): sync Figma resources
- fix(pricing): Calculate prices with multiple rule values
