Releases: emdash-cms/emdash
emdash@0.2.0
Minor Changes
-
#367
8f44ec2Thanks @ttmx! - Addscontent:afterPublishandcontent:afterUnpublishplugin hooks, fired after content is published or unpublished. Both are fire-and-forget notifications requiringread:contentcapability, supporting trusted and sandboxed plugins. -
#431
7ee7d95Thanks @jdevalk! - Per-collection sitemaps with sitemap index and lastmod/sitemap.xmlnow serves a<sitemapindex>with one child sitemap per SEO-enabled collection. Each collection's sitemap is at/sitemap-{collection}.xmlwith<lastmod>on both index entries and individual URLs. Uses the collection'surl_patternfor correct URL building. -
#414
4d4ac53Thanks @jdevalk! - Addsbreadcrumbs?: BreadcrumbItem[]toPublicPageContextso themes can publish a breadcrumb trail as part of the page context, and SEO plugins (or any otherpage:metadataconsumer) can read it without having to invent their own per-theme override mechanism.BreadcrumbItemis also exported from theemdashpackage root. The field is optional and non-breaking — existing themes and plugins work unchanged, and consumers can adopt it incrementally. Empty array (breadcrumbs: []) is an explicit opt-out signal (e.g. for homepages);undefinedmeans "no opinion, fall back to consumer's own derivation". -
#111
87b0439Thanks @mvanhorn! - Adds repeater field type for structured repeating data -
#382
befaeecThanks @UpperM! - AddssiteUrlconfig option to fix reverse-proxy origin mismatch. ReplacespasskeyPublicOriginwith a single setting that covers all origin-dependent features: passkeys, CSRF, OAuth, auth redirects, MCP discovery, snapshots, sitemap, robots.txt, and JSON-LD.Supports
EMDASH_SITE_URL/SITE_URLenvironment variables for container deployments where the domain is only known at runtime.Disables Astro's
security.checkOrigin(EmDash's own CSRF layer handles origin validation with dual-origin support and runtime siteUrl resolution). WhensiteUrlis set in config, also setssecurity.allowedDomainssoAstro.urlreflects the public origin in templates.Breaking:
passkeyPublicOriginis removed. Rename tositeUrlin yourastro.config.mjs.
Patch Changes
-
#182
156ba73Thanks @masonjames! - Fixes media routes so storage keys with slashes resolve correctly. -
#422
80a895bThanks @baezor! - Fixes SEO hydration exceeding D1 SQL variable limit on large collections by chunking thecontent_id IN (...)clause inSeoRepository.getMany. -
#94
da957ceThanks @eyupcanakman! - Reject dangerous URL schemes in menu custom links -
#223
fcd8b7bThanks @baezor! - Fixes byline hydration exceeding D1 SQL variable limit on large collections by chunking IN clauses. -
#479
8ac15a4Thanks @ascorbic! - Enforces permission checks on content status transitions, media provider endpoints, and translation group creation. -
#250
ba2b020Thanks @JULJERYT! - Optimize dashboard stats (3x fewer db queries) -
#340
0b108cfThanks @mvanhorn! - Passes emailPipeline to plugin route handler context so plugins with email:send capability can send email from route handlers. -
#148
1989e8bThanks @masonjames! - Adds public plugin settings helpers. -
#352
e190324Thanks @barckcode! - Allows external HTTPS images in the admin UI by addinghttps:to theimg-srcCSP directive. Fixes external content images (e.g. from migration or external hosting) being blocked in the content editor. -
#72
724191cThanks @travisbreaks! - Fix CLI login against remote Cloudflare-deployed instances by unwrapping API response envelope and adding admin scope -
#480
ed28089Thanks @ascorbic! - Fixes admin demotion guard, OAuth consent flow, device flow token exchange, preview token scoping, and revision cleanup on permanent delete. -
#247
a293708Thanks @NaeemHaque! - Fixes email settings page showing empty by registering the missing API route. Adds error state to the admin UI so fetch failures are visible instead of silently swallowed. -
#324
c75cc5bThanks @barckcode! - Fixes admin editor crash when image blocks lack theassetwrapper. Image blocks withurlat the top level (e.g. from CMS migrations) now render correctly instead of throwingTypeError: Cannot read properties of undefined (reading 'url'). -
#353
6ebb797Thanks @ilicfilip! - fix(core): pass field.options through to admin manifest for plugin field widgets -
#209
d421ee2Thanks @JonahFoster! - Fixes base OG, Twitter, and article JSON-LD titles so they can use a page-specific title without including the site name suffix from the document title. -
#394
391caf4Thanks @datienzalopez! - Fixesplugin:activateandplugin:deactivatehooks not being called when enabling or disabling a plugin via the admin UI orsetPluginStatus. Previously,setPluginStatusrebuilt the hook pipeline but never invoked the lifecycle hooks. Nowplugin:activatefires after the pipeline is rebuilt with the plugin included, andplugin:deactivatefires on the current pipeline before the plugin is removed. -
#357
6474daeThanks @Vallhalen! - Fix: default adminPages and dashboardWidgets to empty arrays in manifest to prevent admin UI crash when plugins omit these properties. -
#453
30c9a96Thanks @all3f0r1! - Fixesctx.content.create()andctx.content.update()so plugins can write
to the core SEO panel. When the inputdatacontains a reservedseokey,
it is now extracted and routed to_emdash_seovia the SEO repository,
matching the REST API shape.ctx.content.get()andctx.content.list()
also hydrate theseofield on returned items for SEO-enabled collections. -
#326
122c236Thanks @barckcode! - Fixes WXR import not preserving original post dates or publish status. Useswp:post_date_gmt(UTC) with fallback chain topubDate(RFC 2822) thenwp:post_date(site-local). Ha...
create-emdash@0.2.0
create-emdash@0.2.0
@emdash-cms/x402@0.2.0
@emdash-cms/x402@0.2.0
@emdash-cms/plugin-webhook-notifier@0.1.2
Patch Changes
-
#463
701d0caThanks @sakibmd! - fix: replace code block with section in webhook notifier payload preview -
Updated dependencies [
156ba73,80a895b,da957ce,fcd8b7b,8ac15a4,ba2b020,0b108cf,1989e8b,e190324,724191c,ed28089,a293708,c75cc5b,6ebb797,d421ee2,391caf4,6474dae,30c9a96,122c236,5320321,8f44ec2,b712ae3,9cb5a28,7ee7d95,e1014ef,4d4ac53,476cb3a,87b0439,dd708b1,befaeec,c92e7e6,2ba1f1f,a13c4ec,a5e0603]:- emdash@0.2.0
@emdash-cms/plugin-embeds@0.1.2
Patch Changes
- Updated dependencies [
156ba73,80a895b,da957ce,fcd8b7b,8ac15a4,ba2b020,0b108cf,1989e8b,e190324,724191c,ed28089,a293708,c75cc5b,6ebb797,d421ee2,391caf4,6474dae,30c9a96,122c236,5320321,8f44ec2,b712ae3,9cb5a28,7ee7d95,e1014ef,4d4ac53,476cb3a,e1349e3,87b0439,dd708b1,befaeec,c92e7e6,2ba1f1f,a13c4ec,a5e0603]:- emdash@0.2.0
- @emdash-cms/blocks@0.2.0
@emdash-cms/gutenberg-to-portable-text@0.2.0
@emdash-cms/gutenberg-to-portable-text@0.2.0
@emdash-cms/cloudflare@0.2.0
Patch Changes
- Updated dependencies [
156ba73,80a895b,da957ce,fcd8b7b,8ac15a4,ba2b020,0b108cf,1989e8b,e190324,724191c,ed28089,a293708,c75cc5b,6ebb797,d421ee2,391caf4,6474dae,30c9a96,122c236,5320321,8f44ec2,b712ae3,9cb5a28,7ee7d95,e1014ef,4d4ac53,476cb3a,87b0439,dd708b1,befaeec,c92e7e6,2ba1f1f,a13c4ec,a5e0603]:- emdash@0.2.0
@emdash-cms/blocks@0.2.0
Patch Changes
- #246
e1349e3Thanks @estepanov! - Adds overflow-hidden and text-ellipsis to field value elements, with a title attribute for full-text tooltip on hover
@emdash-cms/auth@0.2.0
@emdash-cms/admin@0.2.0
Minor Changes
Patch Changes
-
#467
0966223Thanks @sakibmd! - fix: move useMemo above early returns in ContentListPage -
#349
53dec88Thanks @tsikatawill! - Fixes menu editor rejecting relative URLs like /about by changing input type from url to text with pattern validation. -
#99
3b6b75bThanks @all3f0r1! - Fix content list not fetching beyond the first API page when navigating to the last client-side page -
#247
a293708Thanks @NaeemHaque! - Fixes email settings page showing empty by registering the missing API route. Adds error state to the admin UI so fetch failures are visible instead of silently swallowed. -
#316
c9bf640Thanks @mvanhorn! - Allow relative URLs in menu custom links by changing input type from "url" to "text" -
#377
5eeab91Thanks @Pouf5! - Fixes new content always being created with localeenregardless of which locale is selected in the collection locale switcher. The "Add New" link now forwards the active locale to the new-content route, and the new-content page passes it through to the create API. -
#185
e3f7db8Thanks @ophirbucai! - Fixes field scroll-into-view not triggering when navigating to a field via URL parameter. -
#93
a5e0603Thanks @eyupcanakman! - Fix taxonomy links missing from admin sidebar -
Updated dependencies [
e1349e3]:- @emdash-cms/blocks@0.2.0