ci: release - #2419
Conversation
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
emdash-demo-cache | c316db2 | Aug 13 2026, 05:32 PM |
Scope checkThis PR touches 35 files. PRs with a broad scope are harder to review. Please confirm the scope hasn't drifted beyond the intended change. If this scope is intentional, no action needed. A maintainer will review it. If not, please consider splitting this into smaller PRs. See CONTRIBUTING.md for contribution guidelines. |
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
emdash-playground | c316db2 | Aug 13 2026, 05:34 PM |
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
emdash-demo-do | c316db2 | Aug 13 2026, 05:35 PM |
@emdash-cms/admin
@emdash-cms/auth
@emdash-cms/auth-atproto
@emdash-cms/blocks
@emdash-cms/cloudflare
@emdash-cms/contentful-to-portable-text
emdash
create-emdash
@emdash-cms/gutenberg-to-portable-text
@emdash-cms/plugin-cli
@emdash-cms/plugin-types
@emdash-cms/registry-client
@emdash-cms/registry-lexicons
@emdash-cms/registry-verification
@emdash-cms/sandbox-workerd
@emdash-cms/x402
@emdash-cms/plugin-ai-moderation
@emdash-cms/plugin-atproto
@emdash-cms/plugin-audit-log
@emdash-cms/plugin-color
@emdash-cms/plugin-embeds
@emdash-cms/plugin-field-kit
@emdash-cms/plugin-forms
@emdash-cms/plugin-webhook-notifier
commit: |
f3b3356 to
98c7719
Compare
22d6b6d to
b7db01a
Compare
8fde657 to
532a088
Compare
74b709d to
c316db2
Compare
c316db2 to
de9f80d
Compare
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@emdash-cms/admin@0.34.0
Minor Changes
#2187
6a77862Thanks @logelog! - Add a trusted plugin extension point for contributing isolated, host-framed panels to the saved content editor settings sidebar. Panels support collection and role filtering, deterministic ordering, manifest lifecycle checks, and render-error recovery.#2194
2d5fb0bThanks @logelog! - Adds collection-configured custom field columns to admin content lists. Collection seeds and schema APIs can declare up to four supported fields throughadmin.listColumns; EmDash validates them when building the manifest and renders their stored values between the title and status columns.#2212
fefb702Thanks @logelog! - Adds opt-in database indexes for scalar custom fields and stable cursor pagination when ordering content lists by those fields.#2218
8300c64Thanks @khoinguyenpham04! - Updates media management and selection throughout the admin with clearer asset details, previews, and editing workflows, while keeping stored image metadata consistent across validation and generated types.Patch Changes
#2312
a159b44Thanks @MA2153! - Adds a byline filter to the admin content list. Pick one or more bylines to see entries credited to any of them, or filter to entries with no byline assigned. Bylines inferred from an entry's author are ignored unless you turn on "Include inferred bylines".#1121
592a0e3Thanks @eyupcanakman! - Fixes admin dates showing the wrong time on SQLite-backed sites. Timezone-less stored timestamps in revision history, the dashboard, the content list, the editor's date metadata, and the scheduled publish time are now parsed as UTC, so they no longer drift by the viewer's offset.#2402
49bc75eThanks @danielmlr! - Fixes the editor's word-count footer showing English in every admin language. The word, character, and reading-time metrics now go through the translation catalogs and use each language's plural rules.Updated dependencies []:
emdash@0.34.0
Minor Changes
#2187
6a77862Thanks @logelog! - Add a trusted plugin extension point for contributing isolated, host-framed panels to the saved content editor settings sidebar. Panels support collection and role filtering, deterministic ordering, manifest lifecycle checks, and render-error recovery.#2194
2d5fb0bThanks @logelog! - Adds collection-configured custom field columns to admin content lists. Collection seeds and schema APIs can declare up to four supported fields throughadmin.listColumns; EmDash validates them when building the manifest and renders their stored values between the title and status columns.#2212
fefb702Thanks @logelog! - Adds opt-in database indexes for scalar custom fields and stable cursor pagination when ordering content lists by those fields.#2431
88f29f3Thanks @MA2153! - AddsGET,PUT, andDELETEon/_emdash/api/taxonomies/{name}plusGET /_emdash/api/taxonomies/{name}/translations, so a taxonomy definition can be read, edited, and removed rather than only listed and created.GETandPUTaddress one locale's definition via?locale=;DELETEtakes no locale and removes the taxonomy outright — every locale's definition, every term under that name, and those terms' content assignments.Patch Changes
#2305
f59f36dThanks @edrpls! - Fixes 404 logging for content misses. Templates answer a missing entry with a redirect to /404, which previously left the real missed path unrecorded — the log only ever accumulated one aggregate "/404" row. Misses are now logged under the path the visitor actually requested, and hits on the /404 error page itself are no longer logged.#2374
70f9ddcThanks @danielmlr! - Fixes returning visitors getting a page without CSS or JavaScript after a deploy that changed only code. Cached routes now revalidate against the build as well as the content, so a browser holding HTML from an earlier deployment is served a fresh page instead of a 304 pointing at asset files that deployment no longer has.#2443
3ceabc4Thanks @khoinguyenpham04! - Adds automatic, resumable background indexing so Media Usage can safely catch up on existing content without processing the whole site at once.#2422
e28963bThanks @khoinguyenpham04! - Adds resource limits to durable Media Usage indexing so already-oversized changed projections are rejected before the worker updates their index.#2460
d236776Thanks @ascorbic! - Fixes publishing collections without revision support so current content remains intact.#2459
6602ae0Thanks @ascorbic! - Fixes live collection filters so taxonomy names attached only to other collections no longer override matching content fields.#2427
6d29ceeThanks @logelog! - Fixes MCP taxonomy term pagination so manually ordered terms are returned without gaps or duplicates.#2324
c9d5ebdThanks @khoinguyenpham04! - Fixes retention of superseded media-usage projection generations during scheduled maintenance.#2312
a159b44Thanks @MA2153! - Adds a byline filter to the admin content list. Pick one or more bylines to see entries credited to any of them, or filter to entries with no byline assigned. Bylines inferred from an entry's author are ignored unless you turn on "Include inferred bylines".#2191
9e74e59Thanks @logelog! - Include schema fields marked searchable in admin content-list search, using the collection FTS index when available and a cross-dialect substring fallback otherwise.#2313
be283e2Thanks @edrpls! - Fixes full-text search matching Portable Text's internal JSON instead of just prose. Searches for structural tokens like "normal", "span", or "block" no longer match documents whose visible text doesn't contain them, and search snippets show prose instead of JSON fragments. Existing search indexes are rebuilt automatically by a migration on upgrade — no manual reindex needed.#2314
3d89f87Thanks @edrpls! - Fixes content saves re-tokenizing the full search index even when nothing searchable changed. Metadata-only saves (status changes, scheduling, autosave version bumps) no longer rewrite the FTS index, cutting save CPU and write-ahead-log volume on large documents. Existing deployments pick up the guarded triggers through the FTS rebuild migration.#2402
49bc75eThanks @danielmlr! - Fixes the editor's word-count footer showing English in every admin language. The word, character, and reading-time metrics now go through the translation catalogs and use each language's plural rules.#2218
8300c64Thanks @khoinguyenpham04! - Updates media management and selection throughout the admin with clearer asset details, previews, and editing workflows, while keeping stored image metadata consistent across validation and generated types.#2458
7385d43Thanks @ascorbic! - Fixes content saves accepting repeater values that violate item limits or nested field requirements.#2433
0cd7c73Thanks @khoinguyenpham04! - Fixes collection deletion so it can safely resume after an interruption and clean up related Media Usage data in the background.#2457
d7fe781Thanks @ascorbic! - Fixes concurrent content saves so revision pruning cannot remove newly created draft revisions.#2461
598e6fbThanks @ascorbic! - Fixes taxonomy assignments so adding or removing a term from one content translation updates every locale while preserving existing assignments during upgrade.#2385
8008772Thanks @danielmlr! - Skips the default/sitemap-[collection].xmlroute injection when the host site defines its own, matching the existing behaviour forrobots.txtandsitemap.xml.#2394
170c966Thanks @khoinguyenpham04! - Adds bounded controls for listing and retrying durable Media Usage indexing work.#2250
4831f77Thanks @marcusbellamyshaw-cell! - Fixes the default media upload allowlist acceptingimage/svg+xmlvia its bare"image/"prefix match, with no upload-time content validation for SVG. A logged-in Contributor+ user could upload an SVG containing an embedded<script>; the global allowlist now enumerates safe raster types (image/png,image/jpeg,image/gif,image/webp) explicitly instead of prefix-matching allimage/*. Fields that explicitly configureimage/svg+xmlin their ownallowedMimeTypesare unaffected.#2410
5a5adb7Thanks @danielmlr! - Fixes text alignment on public pages. Text centered, right-aligned, or justified in the editor now renders that way instead of falling back to the default alignment.#2136
6d9a0d5Thanks @dchaudhari7177! - Standard-format plugins (definePlugin(...)) run trusted viaplugins: []now receive the public single-argRouteContextin their route handlers. Previously the in-process adapter always used the sandboxed two-arg calling convention, so a handler written against the exportedRouteContextAPI got only{ input, request, requestMeta }at runtime —ctx.storage,ctx.email,ctx.kv, and every other capability surface wereundefinedand any route touching them threw. Sandbox-format entries (noidon the default export) keep the two-arg flattened convention unchanged.Updated dependencies [
6a77862,2d5fb0b,a159b44,592a0e3,fefb702,49bc75e,8300c64]:@emdash-cms/auth-atproto@0.2.34
Patch Changes
@emdash-cms/cloudflare@0.34.0
Patch Changes
#2443
3ceabc4Thanks @khoinguyenpham04! - Adds automatic, resumable background indexing so Media Usage can safely catch up on existing content without processing the whole site at once.#1716
1d3111cThanks @swissky! - Fixes every SSR request hanging indefinitely when D1 read replica sessions (session: "auto"/"primary-first") are combined with an environment that silently blocks the D1 Sessions API (such as theglobal_fetch_strictly_publiccompatibility flag). The first session query that never settles now falls back to the direct D1 binding after a short timeout, logs a descriptive error, and disables sessions for the rest of the isolate instead of hanging until the Worker is killed.Updated dependencies [
f59f36d,70f9ddc,6a77862,3ceabc4,e28963b,d236776,6602ae0,6d29cee,c9d5ebd,2d5fb0b,a159b44,9e74e59,be283e2,3d89f87,fefb702,49bc75e,8300c64,7385d43,0cd7c73,d7fe781,598e6fb,88f29f3,8008772,170c966,4831f77,5a5adb7,6d9a0d5]:@emdash-cms/plugin-embeds@0.1.42
Patch Changes
@emdash-cms/plugin-forms@0.2.5
Patch Changes
c91d56bThanks @masonjames! - Fixes the documented@emdash-cms/plugin-forms/uiimport so standalone forms can be embedded outside Portable Text content.@emdash-cms/sandbox-workerd@0.4.1
Patch Changes
f59f36d,70f9ddc,6a77862,3ceabc4,e28963b,d236776,6602ae0,6d29cee,c9d5ebd,2d5fb0b,a159b44,9e74e59,be283e2,3d89f87,fefb702,49bc75e,8300c64,7385d43,0cd7c73,d7fe781,598e6fb,88f29f3,8008772,170c966,4831f77,5a5adb7,6d9a0d5]:@emdash-cms/auth@0.34.0
@emdash-cms/blocks@0.34.0
create-emdash@0.34.0
@emdash-cms/gutenberg-to-portable-text@0.34.0
@emdash-cms/x402@0.34.0
@emdash-cms/fixture-perf-site@0.0.37
Patch Changes
f59f36d,70f9ddc,6a77862,3ceabc4,e28963b,d236776,6602ae0,6d29cee,c9d5ebd,2d5fb0b,a159b44,9e74e59,1d3111c,be283e2,3d89f87,fefb702,49bc75e,8300c64,7385d43,0cd7c73,d7fe781,598e6fb,88f29f3,8008772,170c966,4831f77,5a5adb7,6d9a0d5]:@emdash-cms/perf-demo-site@0.0.37
Patch Changes
f59f36d,70f9ddc,6a77862,3ceabc4,e28963b,d236776,6602ae0,6d29cee,c9d5ebd,2d5fb0b,a159b44,9e74e59,1d3111c,c91d56b,be283e2,3d89f87,fefb702,49bc75e,8300c64,7385d43,0cd7c73,d7fe781,598e6fb,88f29f3,8008772,170c966,4831f77,5a5adb7,6d9a0d5]:@emdash-cms/cache-demo-site@0.0.37
Patch Changes
f59f36d,70f9ddc,6a77862,3ceabc4,e28963b,d236776,6602ae0,6d29cee,c9d5ebd,2d5fb0b,a159b44,9e74e59,1d3111c,c91d56b,be283e2,3d89f87,fefb702,49bc75e,8300c64,7385d43,0cd7c73,d7fe781,598e6fb,88f29f3,8008772,170c966,4831f77,5a5adb7,6d9a0d5]:@emdash-cms/do-demo-site@0.0.37
Patch Changes
f59f36d,70f9ddc,6a77862,3ceabc4,e28963b,d236776,6602ae0,6d29cee,c9d5ebd,2d5fb0b,a159b44,9e74e59,1d3111c,c91d56b,be283e2,3d89f87,fefb702,49bc75e,8300c64,7385d43,0cd7c73,d7fe781,598e6fb,88f29f3,8008772,170c966,4831f77,5a5adb7,6d9a0d5]:@emdash-cms/do-solo-demo-site@0.0.37
Patch Changes
f59f36d,70f9ddc,6a77862,3ceabc4,e28963b,d236776,6602ae0,6d29cee,c9d5ebd,2d5fb0b,a159b44,9e74e59,1d3111c,c91d56b,be283e2,3d89f87,fefb702,49bc75e,8300c64,7385d43,0cd7c73,d7fe781,598e6fb,88f29f3,8008772,170c966,4831f77,5a5adb7,6d9a0d5]:@emdash-cms/plugin-mcp-smoke@5.0.0
Patch Changes
f59f36d,70f9ddc,6a77862,3ceabc4,e28963b,d236776,6602ae0,6d29cee,c9d5ebd,2d5fb0b,a159b44,9e74e59,be283e2,3d89f87,fefb702,49bc75e,8300c64,7385d43,0cd7c73,d7fe781,598e6fb,88f29f3,8008772,170c966,4831f77,5a5adb7,6d9a0d5]:Try this PR
Open a fresh playground →
A full working EmDash site, deployed from this branch. Each visit gets its own session-scoped sandbox: no login needed and no shared state. Try the admin, edit content, hit the public site.
Tracks
changeset-release/main. Updated automatically when the playground redeploys.