github emdash-cms/emdash emdash@0.4.0

latest releases: create-emdash@0.4.0, @emdash-cms/auth@0.4.0, @emdash-cms/plugin-embeds@0.1.4...
9 hours ago

Minor Changes

  • #539 8ed7969 Thanks @jdevalk! - Adds locale to the ContentItem type 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 5d9120e Thanks @jdevalk! - Add nlweb to the allowed rel values for page:metadata link contributions, letting plugins inject <link rel="nlweb" href="..."> tags for agent/conversational endpoint discovery.

  • #536 9318c56 Thanks @ttmx! - Adds slug, status, and publishedAt to the ContentItem type returned by the plugin content access API. Exports ContentPublishStateChangeEvent type. Fires afterDelete hooks on permanent content deletion.

  • #519 5c0776d Thanks @ascorbic! - Enables the MCP server endpoint by default. The endpoint at /_emdash/api/mcp requires bearer token auth, so it has no effect unless a client is configured. Set mcp: false to 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 5beddc3 Thanks @ascorbic! - Reduces logged-out page load queries by caching byline existence, URL patterns, and redirect rules at worker level with proper invalidation.

  • #512 f866c9c Thanks @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. Introduces pendingSavePromise so publish() chains onto the pending save rather than firing immediately.

  • #537 1acf174 Thanks @Glacier-Luo! - Fixes plugin bundle resolving dist path before source, which caused build failures and potential workspace-wide source file destruction.

  • #538 678cc8c Thanks @Glacier-Luo! - Fixes revision pruning crash on PostgreSQL by replacing column alias in HAVING clause with the aggregate expression.

  • #509 d56f6c1 Thanks @mvanhorn! - Fixes TypeError when setting baseline security headers on Cloudflare responses with immutable headers.

  • #495 2a7c68a Thanks @ascorbic! - Fixes atomicity gaps: content update _rev check, menu reorder, byline delete, and seed content creation now run inside transactions.

  • #497 6492ea2 Thanks @ascorbic! - Fixes migration 011 rollback, plugin media upload returning wrong ID, MCP taxonomy tools bypassing validation, and FTS query escaping logic.

  • #517 b382357 Thanks @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 1b743ac Thanks @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

Don't miss a new emdash release

NewReleases is sending notifications on new releases.