@emdash-cms/admin@0.36.0
Minor Changes
-
#2765
9d92b55Thanks @ascorbic! - Updates plugin publishing to host package bundles, icons, banners, and screenshots as blobs on the publisher's Personal Data Server by default. Runemdash-plugin publishfrom the plugin directory; the CLI builds the bundle, checks the stored OAuth grant, uploads the artifacts, and writes CID-bound checksums into the release record.Existing scripts can keep externally hosted package bundles with
emdash-plugin publish --url <https-url>. The CLI still downloads that URL to validate and hash the served bytes. Listing images are uploaded as publisher blobs on both paths.The experimental aggregator release envelope replaces
mirrorswith typedartifactCaches. The field is optional during rolling upgrades, and updated clients treat an omitted field as an empty cache list. A record-scoped cache descriptor supplies its service endpoint; clients derive/r/{did}/{collection}/{rkey}/{recordCid}/{blobCid}so cache admission is bound to the exact release revision.Install and update verify raw cache, PDS, and external fallback bytes against the signed checksum and blob metadata. The authenticated image proxy may serve a transformed record-scoped cache rendition; if that cache is unavailable, it falls back to checksum-verified PDS or external bytes. Listing images remain capped at 1 MiB.
Sites must upgrade EmDash before installing a release whose package artifact is available only as a PDS blob. Older EmDash versions require an external package URL.
What should I do?
Remove
--artifact-base-urlfrom publish scripts and stop pre-uploading listing images. The CLI rejects the removed option with migration guidance. Replace any experimentalreleaseView.mirrorsaccess withreleaseView.artifactCaches ?? []. If an existing granular login reportsMISSING_BLOB_SCOPE, runemdash-plugin logoutand log in again to grantblob:application/gzipandblob:image/*. -
#2582
8d8d3deThanks @khoinguyenpham04! - Adds numbered page navigation and page-size controls to the local Media Library. Media list requests can opt into numbered pages withpageand receive an exacttotalCount; cursor pagination remains the default.MediaLibraryaccepts controlled numbered pagination throughpagination. ExistinghasMoreandonLoadMoreprops remain supported whenpaginationis omitted. -
#2622
089d747Thanks @khoinguyenpham04! - Adds Lua and Zig to code block language selectors in the admin and inline visual editors. Lua code is syntax highlighted, while Zig uses the existing plain-text fallback. -
#2609
d379d10Thanks @danielmlr! - Adds an optional dark mode counterpart to image fields, so editors can pick a second image that the site shows in dark color schemes.Enable the slot per field with the
darkVariantwidget option ("options": { "darkVariant": true }in a seed file, or the Dark mode variant switch in the admin field editor). Editors then see Add dark mode variant below the selected image. The variant is stored inside the field value asdarkVariant, in the same shape as the primary image.The
Imagecomponent fromemdash/uirenders both images when a variant is present and shows the matching one with CSS: adarkorlightclass on<html>pins the scheme, otherwiseprefers-color-schemedecides. Both images share the primary image's alt text and loading attributes, and anidyou pass lands on the primary image while the variant gets it with a--darksuffix. Withoutpriority, the hidden one stays lazy and is not fetched until the scheme changes; withpriority, both images download. Sites with another theme convention can override the.emdash-image--lightand.emdash-image--darkselectors; the Dark Mode guide shows the rules. Fields without the option, and values without a variant, render exactly as before. -
#2624
436f63dThanks @khoinguyenpham04! - Adds focal points for local images so cover-cropped thumbnails, galleries, and image components keep the selected subject visible. -
#2586
815553cThanks @khoinguyenpham04! - Adds flat-folder organization to the local Media Library. Editors can create, rename, and delete folders. Authors can organize their own local media, and editors can organize any local media, through Media Details or by dragging a media card or row onto a visible folder.Uploads continue to enter the Main library. Deleting a folder returns its media to the Main library without deleting files or changing their URLs.
-
#2538
9c52b39Thanks @khoinguyenpham04! - Adds a media usage tracking setting. Tracking is enabled during initial setup. Existing sites enable it from Settings, keep the page open while EmDash scans existing content, and can return later to continue from saved progress. -
#2470
f527127Thanks @khoinguyenpham04! - Adds a coverage-aware Used in section to local media details. -
#2647
e3ad082Thanks @ascorbic! - Adds signed-label policy and listing-status support to the plugin registry client. Registry requests use the aggregator's required listing policy with an optional accepted-labeler declaration, and withdrawn releases are excluded from install and update results.The EmDash admin waits for a fresh listing-policy response before rendering registry metadata, uses the approved author name or publisher DID instead of a mutable handle, and does not request media for an unapproved release. Install, update, and media-proxy checks enforce listing withdrawal independently from the existing plugin-code and capability checks.
Registry artifact downloads and proxied media connect only to the public IP addresses validated for each URL, preventing DNS changes between validation and connection from reaching private services.
Patch Changes
-
#2590
724241fThanks @khoinguyenpham04! - Adds a resizable settings panel to the desktop content editor, including keyboard controls and bounded widths. -
#2468
72664adThanks @khoinguyenpham04! - Fixes vertical alignment of editor sidebar drag handles with standard and collapsible section headings. -
#2614
561f1d1Thanks @danielmlr! - Fixes the content editor's autosave so that a draft that the server rejected, such as a field value that exceeds itsmaxLength, is not resent every few seconds. The editor keeps the unsaved changes and tries again only after the content changes. -
#2683
3e90689Thanks @hossein-webdev! - Fixes AVIF images being rejected with "File type not allowed" on upload.image/avifis back in the default media allowlist alongside PNG, JPEG, GIF, and WebP, so editors can upload.aviffiles again from the media library and from image fields that use the default allowlist.The admin file picker now offers
.aviffiles and renders their thumbnails, the built-in "Images" preset in a field's allowed-types editor includes AVIF, and.avifworks as extension shorthand in a field'sallowedMimeTypes.SVG stays excluded from the default allowlist.
-
#2606
22c4422Thanks @khoinguyenpham04! - Fixes code blocks in the admin and inline visual editors with syntax highlighting for supported languages and readable, borderless styling in light and dark appearances. -
#2610
2ffda17Thanks @MatsudaTsunenori! - Completes the Japanese admin translation so Japanese-speaking users see localized text for every catalog message. -
#2686
42fa5d8Thanks @MatsudaTsunenori! - Fixes translated admin guidance and WordPress import summaries so links, emphasized text, dynamic values, and plural counts can follow each locale's word order. Clarifies the content type empty-state action. -
#2754
70c487cThanks @khoinguyenpham04! - Updates the content editor's byline controls with a focused search-and-create flow, clear automatic owner credits, accessible ordering and roles, and actions that distinguish post credits from reusable byline profiles. -
#2490
2b54096Thanks @khoinguyenpham04! - Fixes image action controls intermittently failing to appear when selecting an image in the editor. -
#2632
76dd3ebThanks @khoinguyenpham04! - Fixes implicit English locale guidance in the content editor by replacing the persistent warning with compact, accessible help. -
#2599
b383a67Thanks @khoinguyenpham04! - Fixes code blocks in the admin and inline visual editors so Tab and Shift+Tab indent and outdent code instead of moving focus. -
#2687
05b0a8bThanks @MatsudaTsunenori! - Fixes newly created taxonomies not appearing in the admin sidebar until the page is reloaded. -
#2548
1f2678bThanks @ahliweb! - Completes the Indonesian admin translations, covering the image gallery block, plugin MCP tool settings, byline filters, content locale settings, and scheduled publishing warnings. -
#2590
724241fThanks @khoinguyenpham04! - Updates the content editor's Move to Trash section to match the other settings surfaces and use a softer destructive button treatment. -
#2778
3367faeThanks @MatsudaTsunenori! - Adds missing Japanese translations and improves existing phrasing across the admin content, media, comments, menus, redirects, widgets, sections, users, plugins, import, settings, date-range filter, and code-block UIs. -
#2603
f5e18d8Thanks @khoinguyenpham04! - Adds one-click copy actions to code-block controls in the admin and inline visual editors, and polishes the layout so controls stay usable on narrow screens and in right-to-left locales. -
#2561
f9a488aThanks @khoinguyenpham04! - Refines admin table toolbars with consistent compact search and filters, including a calendar-based date range picker for content lists. -
#2629
52f7c91Thanks @emdashbot! - Fixes the Section editor so plugin-provided Portable Text blocks appear in the slash menu alongside core blocks, matching the content and widget editors. -
#2676
7571581Thanks @MatsudaTsunenori! - Fixes the vertical alignment of the Required and Translatable switches in the byline field editor when helper text appears below Translatable. -
#2468
72664adThanks @khoinguyenpham04! - Fixes the meta description field shifting after the first character is entered. -
#2463
f613a14Thanks @helio-cf! - Fixes media previews for streaming providers such as Cloudflare Stream. Video from these providers now shows its poster thumbnail in the media library grid and list, plays in the detail panel instead of stalling at 0:00, and reports the file size the provider supplies. Also exportsMediafromemdash/ui, so frontends can render provider-backed video and audio thatImagecannot. -
#2628
1c6b893Thanks @scottbuscemi! - Fixes line breaks entered in table cells disappearing from saved content. -
Updated dependencies [
9d92b55,6178888,e3ad082]:- @emdash-cms/registry-client@0.4.0
- @emdash-cms/registry-lexicons@0.4.0
- @emdash-cms/blocks@0.36.0