What's new in EmDash 0.5.0 — and everything since 0.1.0

EmDash has come a long way since the initial 0.1.0 preview release. Here's a recap of what's been added over the past few versions:

0.2.0 — The First Big Feature Drop

  • Plugin lifecycle hooks for publish/unpublish events
  • Per-collection XML sitemaps with proper lastmod timestamps
  • Breadcrumb support in public page context
  • Repeater field type for structured repeating data
  • New siteUrl config (replaced passkeyPublicOrigin)
  • Plus a laundry list of fixes: media routing, SEO/byline scaling, permissions, remote CLI login, plugin activation/deactivation hooks, WXR import improvements

0.3.0 — Container-Ready

  • Runtime S3 config via environment variables — no rebuilds needed for Node/container deployments
  • Defensive SQL identifier validation
  • Fixed admin loading when installed from npm

0.4.0 — APIs, MCP, and Going Global

  • Richer plugin content API fields: locale, slug, status, publishedAt
  • rel="nlweb" support in page metadata
  • afterDelete hooks for permanent content deletion
  • MCP endpoint enabled by default with bearer-token auth
  • Performance: reduced logged-out/cold-start query counts
  • Fixed visual editor save/publish race condition
  • Massive i18n expansion: Basque, Brazilian Portuguese, Simplified Chinese, full Lingui coverage

0.5.0 — Polish & Quality of Life

  • RTL language support infrastructure in the admin
  • JSON field editor for content forms
  • Fixed invite flow and passkey registration
  • Fixed sandboxed plugin loading in Cloudflare worker loader
  • Fixed table block rendering in Portable Text (sanitized links, improved styling)

If you started with 0.1.0 and haven't updated yet, the jump to 0.5.0 brings better plugin APIs, built-in MCP support, broader internationalization, and a more stable editing experience.

What's been your favorite addition so far? Any issues upgrading between versions?

Posted Apr 15, 2026, 10:28 PM UTC

61
Loading comments…