Minor Changes
-
#539
8ed7969Thanks @jdevalk! - Addslocaleto theContentItemtype returned by the plugin content access API. Follow-up to #536 — plugins that build i18n URLs from content records need the locale to pick the right URL prefix, otherwise multilingual content is emitted at default-locale URLs. -
#523
5d9120eThanks @jdevalk! - Addnlwebto the allowedrelvalues forpage:metadatalink contributions, letting plugins inject<link rel="nlweb" href="...">tags for agent/conversational endpoint discovery. -
#536
9318c56Thanks @ttmx! - Addsslug,status, andpublishedAtto theContentItemtype returned by the plugin content access API. ExportsContentPublishStateChangeEventtype. FiresafterDeletehooks on permanent content deletion. -
#519
5c0776dThanks @ascorbic! - Enables the MCP server endpoint by default. The endpoint at/_emdash/api/mcprequires bearer token auth, so it has no effect unless a client is configured. Setmcp: falseto disable.Fixes MCP server crash ("exports is not defined") on Cloudflare in dev mode by pre-bundling the MCP SDK's CJS dependencies for workerd.
Patch Changes
-
#515
5beddc3Thanks @ascorbic! - Reduces logged-out page load queries by caching byline existence, URL patterns, and redirect rules at worker level with proper invalidation. -
#512
f866c9cThanks @mahesh-projects! - Fixes save/publish race condition in visual editor toolbar. When a user blurred a field and immediately clicked Publish, the in-flight save PUT could arrive at the server after the publish POST, causing the stale revision to be promoted silently. IntroducespendingSavePromisesopublish()chains onto the pending save rather than firing immediately. -
#537
1acf174Thanks @Glacier-Luo! - Fixes plugin bundle resolving dist path before source, which caused build failures and potential workspace-wide source file destruction. -
#538
678cc8cThanks @Glacier-Luo! - Fixes revision pruning crash on PostgreSQL by replacing column alias in HAVING clause with the aggregate expression. -
#509
d56f6c1Thanks @mvanhorn! - Fixes TypeError when setting baseline security headers on Cloudflare responses with immutable headers. -
#495
2a7c68aThanks @ascorbic! - Fixes atomicity gaps: content update _rev check, menu reorder, byline delete, and seed content creation now run inside transactions. -
#497
6492ea2Thanks @ascorbic! - Fixes migration 011 rollback, plugin media upload returning wrong ID, MCP taxonomy tools bypassing validation, and FTS query escaping logic. -
#517
b382357Thanks @ascorbic! - Improves plugin safety: hooks log dependency cycles, timeouts clear timers, routes don't leak error internals, one-shot cron tasks retry with exponential backoff (max 5), marketplace downloads validate redirect targets. -
#532
1b743acThanks @ascorbic! - Fixes cold-start query explosion (159 -> ~25 queries) by short-circuiting migrations when all are applied, fixing FTS triggers to exclude soft-deleted content, and preventing false-positive FTS index rebuilds on every startup. -
Updated dependencies [
3a96aa7,c869df2,10ebfe1,275a21c,af0647c,b89e7f3,20b03b4,ba0a5af,e2f96aa,4645103]:- @emdash-cms/admin@0.4.0
- @emdash-cms/auth@0.4.0
- @emdash-cms/gutenberg-to-portable-text@0.4.0