Release v1.0.0
Major Changes
-
33b41fe: ## Breaking Changes
API Routes Changed
All API endpoints moved from
/api/admin/notification-plugin/to/api/admin/mpn/. Update all API integrations.Changed endpoints:
/api/admin/notification-plugin/events→/api/admin/mpn/events/api/admin/notification-plugin/notifications→/api/admin/mpn/notifications/api/admin/notification-plugin/render-template→/api/admin/mpn/render-template
New endpoints:
/api/admin/mpn/available-templates/api/admin/mpn/templates/api/admin/mpn/templates/[id]/blocks/api/admin/mpn/templates/types/api/admin/mpn/templates/types/[type]/services/api/admin/mpn/templates/types/[type]/services/[service]/templates
Admin UI Routes Changed
Admin UI routes changed from
/notifications-emails/to/mpn/notifications/. Update all Admin UI links/bookmarks.Changed routes:
/notifications-emails/list→/mpn/notifications/list/notifications-emails/render→/mpn/notifications/render
New routes:
/mpn/templates- templates list/mpn/templates/[id]/blocks- template blocks editor
Module Restructure
Modules moved from
templates/tomodules/mpn-builder/. Update all direct imports fromtemplates/.Removed locations:
src/templates/emails/email-template-service.tssrc/templates/slack/slack-template-service.tssrc/templates/emails/types.tssrc/templates/slack/types.ts
New locations:
src/modules/mpn-builder/services-local/email-template-service.tssrc/modules/mpn-builder/services-local/slack-template-service.tssrc/modules/mpn-builder/types/
Old Workflows Removed
Removed old workflows (
email-service,mpn-templates/*). Migrate to newmpn-builder/*workflows.Email and Slack Service Import Changed
Changed import and execution method for
emailServiceandslackService:Before:
import { emailService } from "../templates/emails" await emailService.render(...)
After:
import { emailServiceWorkflow } from "../workflows/mpn-builder-services/email-service" await emailServiceWorkflow(container).run({...})
New Features
MPN Builder Module
Added complete
mpn-buildermodule with template management (services, models, 3 migrations).UI Builder for Templates
Added full UI builder with drag & drop, inline editing, and template preview. Supports multiple block types (heading, text, row, separator, group, repeater, product-item).
Slack Block Kit Support
Added full Slack Block Kit format support with block transformation and data interpolation. Supports all Slack block types (header, section, divider, etc.) and nested structures.
External Templates Support
Added support for external templates with type filtering. Configure via
medusa-config.ts:{ resolve: "@codee-sh/medusa-plugin-notification-emails", options: { extend: { services: [ { id: "slack", // Service ID (e.g., "slack", "email") templates: [ { name: "external_template-name", path: path.resolve(require.resolve("@package/templates/slack/template")) } ] } ] } } }
Template Types:
system- Built-in system templates (default)db- Templates stored in database (created via UI or API)external- External templates registered programmatically or via configuration
New Block Types
Added support for new block types (group, repeater, product-item) with recursive rendering, data interpolation, and nested structures.
New Workflows and Steps
Added 10+ workflows for template management:
create-template- create templateedit-template- edit templatedelete-template- delete templateedit-template-blocks- edit template blocksget-template- get single templateget-blocks-by-template-id- get template blocksget-templates-services- get template servicesget-templates-types- get template typesget-templates-by-type-service- get templates by typeget-services-types-templates- get templates with filtering
All workflows include full JSDoc documentation.
Helper Components
Added helper components (ManagerFields, TwoColumnPage, form fields: TextField, TextAreaField, SelectField, NumberField, CheckboxField).
Store and Region Workflows
Added workflows for retrieving Store and Region data (
get-store-by-id,get-region-by-id) for template preview context.API Middleware
Added middleware for API routing (error handling, request validation).
Improvements
- Code refactoring: standardized naming (
settings→options), renamedrenderTemplate→renderAction, removed unused methods, consolidated similar methods - Template ID handling fixes: unified template ID handling (removed
system_prefix in UI, kebab-case format, fixed recognition logic) - Removed unused files (old workflows, types, interfaces, console.logs, placeholder text)
- Fixed block data structure (added
parent_idsupport, fixedchildrenstructure, addedarrayPathfor repeaters) - Added JSDoc documentation for all workflows and steps
- UI improvements: button sizes, field descriptions, two-column layout, better error messages
- Improved data handling: added
regionto order queries, improved template filtering, fixed Slack Block Kit transformation - Added new UI dependencies (
@dnd-kit/core,@lexical/*,@react-email/*,react-email)
Pull Requests
Improvements
Other Changes
Full Changelog: v0.2.1...v1.0.0