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

## Executive Summary (TL;DR)
Medusa v2.14.0. Source highlight: This release open sources the Loyalty plugin and includes breaking changes related to Zod, account creation, and more. Please read carefully before updating.

## Breaking Changes & Deprecations
- This release open sources the Loyalty plugin and includes breaking changes related to Zod, account creation, and more. Please read carefully before updating.
- 🚧 Breaking change Medusa has been upgraded its Zod dependency from v3 to v4. This includes updates to all internal validation schemas and type definitions. For most users, this upgrade is seamless, but if you're using custom validation schemas or directly interacting with Zod types in your project, you may need to:
- I've updated my project to v2.14.0 of Medusa, which upgrades Zod to v4. This is a breaking change. Migrate all Zod v3 usage in my project to Zod v4.
- Breaking changes to fix ### Error customization
- 🚧 Breaking change The Medusa Icons package has been upgraded to support React v19. If you've installed the icons package directly and haven't upgraded to React v19 yet, you may need to update your React version or pin to an earlier version of the icons package. Otherwise, no action is needed.
- 🚧 Breaking change The `create-medusa-app` command and `medusa new` CLI now create projects using a monorepo structure based on the [dtc-starter](https://github.com/medusajs/dtc-starter) template. This provides better separation of concerns between the backend and storefront applications, and allows you to deploy your project to Medusa Cloud seamlessly.
- 🚧 Breaking change We've updated our HTTP types exported from `@medusajs/framework/types` to match exactly the Zod schemas used to validate API routes in the Medusa core. This change doesn't impact most users, and it doesn't impact the API routes interfaces. However, if you've explicitly used or relied any of the following types, make sure to apply the required changes.
- <summary>HTTP types breaking changes</summary>

## New Features
- feat(core-flows,medusa,types): add no_notification to markOrderFulfillmentAsDeliveredWorkflow by @NicolasGorga in #15106
- feat: add support for custom arguments in Twilio Sendgrid email notifications by @420coupe in #14879
- feat(medusa-oas-cli, oas-github-ci): support versioning for outputted oas by @shahednasser in #15123
- feat(dashboard,types): add metadata form to Stock Location by @NicolasGorga in #15025
- feat(core-flows,order,medusa,types): Version shipping method adjustments & implement missing creation flow for versioned adjustments by @NicolasGorga in #14482
- feat(core-flows,order,medusa,types): allow to update the original order.email on order customer transfer requests by @NicolasGorga in #14234

## Improvements
- chore: improve PR reviewer by @shahednasser in #15092
- chore: improve guidelines for PR reviewer by @shahednasser in #15073
- chore: improvement to PR review skill by @shahednasser in #15040

## Bug Fixes
- fix(order): remove fields causing excessive stack depth by @shahednasser in #15172
- fix(medusa): optimize currency code normalization migration by @shahednasser in #15165
- fix(loyalty-plugin): migrate to Zod v4 by @shahednasser in #15156
- fix(loyalty-plugin): remove delete gift cards action + cleanup by @shahednasser in #15150
- fix(loyalty-plugin): show gift card products section + error message for expiration date by @shahednasser in #15145
- fix(payment): fix currency code unset when updating payment collection by @shahednasser in #15144
