Skip to content

ci: release - #2833

Open
emdashbot[bot] wants to merge 1 commit into
mainfrom
changeset-release/main
Open

ci: release#2833
emdashbot[bot] wants to merge 1 commit into
mainfrom
changeset-release/main

Conversation

@emdashbot

@emdashbot emdashbot Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

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.37.0

Minor Changes

  • #2746 c7b6fdf Thanks @ascorbic! - Adds DirectPdsClient for reading package profiles and releases with AT Protocol repository proofs, and updates experimental decentralized registry installs and updates to verify current signed records directly from the publisher's PDS.

    Aggregator record integrity

    Install and update reject aggregator-supplied profile or release metadata whose URI or CID does not match the publisher's signed records. The server returns AGGREGATOR_RECORD_MISMATCH before fetching the artifact or requesting consent.

    Publisher identity display

    The admin treats handle resolution as an advisory identity signal. It keeps the install button disabled while attempting to resolve the package DID back to a handle, then blocks installation when resolveDidToHandle() conclusively returns "invalid". An indeterminate result caused by a network failure, unsupported DID method, or missing handle displays the publisher DID and does not block installation.

    Install and update trust the publisher DID and the signed repository proofs for the profile and release records. A handle is display metadata and is not an authorization or record-integrity input.

    Provenance and release policy

    The installer applies the signed profile's release policy, independently fetches and verifies supplied Sigstore/SLSA provenance, and binds moderation labels to the exact profile or release CID. Missing required provenance and any supplied provenance that is unavailable, malformed, mismatched, or unsupported block installation and updates. Artifact checksums, archive paths, bundle limits, manifest identity, and version use the same verification rules as the registry release tooling.

    The verification package also exports inspectPackageReleaseRecords for validating signed records and policy before artifact and provenance evidence is available.

    Registry install and update consent now show the exact verified profile and release CIDs, signed publisher policy, and provenance status. Install consent uses permissions and MCP tools read from the verified bundle rather than the aggregator's record copy.

    Install, update, and delegated-release verification require lowercase base32 multibase sha2-256 multihashes for package artifacts and provenance documents. The plugin CLI already produces this format. The authenticated image-artifact proxy still accepts legacy bare hexadecimal SHA-256 checksums for display-only images.

Patch Changes

  • #2761 8fb13cf Thanks @khoinguyenpham04! - Adds a dedicated Used in tab to media details, keeping file information and focal-point controls separate from usage references.

  • #2126 7887577 Thanks @swissky! - Fixes a silent draft-overwrite in the page editor. The editor now echoes the entry's _rev token on save and autosave, so the server rejects a save that is based on a stale read with a 409 conflict instead of silently replacing a newer draft revision. Editors who hit a conflict now see a clear error and can reload instead of losing work.

  • #2761 8fb13cf Thanks @khoinguyenpham04! - Updates Media Library grid cards to show filenames and file formats below larger previews.

  • #2830 965bf33 Thanks @khoinguyenpham04! - Fixes image fields and Portable Text editors so they preserve direct image URLs and external provider identities, allowing selected images to continue rendering after saving or replacement.

  • #2860 afa81c5 Thanks @ascorbic! - Fixes Publish saving and awaiting the editor's latest changes before making content live. Validation errors, failed saves, and revision conflicts now stop publishing instead of promoting stale draft data.

  • #2858 bb8b087 Thanks @ascorbic! - Fixes sandboxed content:beforeSave hooks being unable to reject content creation or updates.

    Return a version 1 sandbox hook result with a SAVE_REJECTED error to stop the save and show the reason to the editor:

    return {
    	__emdashSandboxHookResult: true,
    	version: 1,
    	error: {
    		code: "SAVE_REJECTED",
    		reason: "Add a title before saving.",
    	},
    };

    The reason must contain 1–500 characters of plain text. Invalid error results and unexpected sandbox exceptions stop the save with a generic hook error instead of exposing internal details.

  • #2761 8fb13cf Thanks @khoinguyenpham04! - Updates image previews to show a theme-aware checkerboard behind transparent areas.

  • Updated dependencies [52fffdc, 3b124f2, 920e1f3, e0e60ba, c7b6fdf]:

    • @emdash-cms/registry-client@0.5.0
    • @emdash-cms/blocks@0.37.0

@emdash-cms/auth@0.37.0

Minor Changes

  • #2745 b8873c7 Thanks @ascorbic! - Adds PasskeyConfig.userVerification so sites can require, prefer, or discourage passkey user verification. Existing callers keep the preferred behavior.

    Adds typed, versioned challenge contexts for registration and authentication. Declare a codec with defineChallengeContext(), bind data with bindChallengeContext() when generating options, and pass the codec with an AtomicChallengeStore to verifyAuthenticationResponse() or verifyRegistrationResponse() to recover the typed value after verification.

    Atomic challenge stores declare readonly atomic: true, so an unrelated consume() method on an existing challenge store cannot silently change its behavior. EmDash retains optional challenge context data in its database-backed challenge store.

    Authentication rejects assertions whose signature counter drops from a nonzero value to zero because the counter change can indicate a cloned authenticator.

emdash@0.37.0

Minor Changes

  • #2746 c7b6fdf Thanks @ascorbic! - Adds DirectPdsClient for reading package profiles and releases with AT Protocol repository proofs, and updates experimental decentralized registry installs and updates to verify current signed records directly from the publisher's PDS.

    Aggregator record integrity

    Install and update reject aggregator-supplied profile or release metadata whose URI or CID does not match the publisher's signed records. The server returns AGGREGATOR_RECORD_MISMATCH before fetching the artifact or requesting consent.

    Publisher identity display

    The admin treats handle resolution as an advisory identity signal. It keeps the install button disabled while attempting to resolve the package DID back to a handle, then blocks installation when resolveDidToHandle() conclusively returns "invalid". An indeterminate result caused by a network failure, unsupported DID method, or missing handle displays the publisher DID and does not block installation.

    Install and update trust the publisher DID and the signed repository proofs for the profile and release records. A handle is display metadata and is not an authorization or record-integrity input.

    Provenance and release policy

    The installer applies the signed profile's release policy, independently fetches and verifies supplied Sigstore/SLSA provenance, and binds moderation labels to the exact profile or release CID. Missing required provenance and any supplied provenance that is unavailable, malformed, mismatched, or unsupported block installation and updates. Artifact checksums, archive paths, bundle limits, manifest identity, and version use the same verification rules as the registry release tooling.

    The verification package also exports inspectPackageReleaseRecords for validating signed records and policy before artifact and provenance evidence is available.

    Registry install and update consent now show the exact verified profile and release CIDs, signed publisher policy, and provenance status. Install consent uses permissions and MCP tools read from the verified bundle rather than the aggregator's record copy.

    Install, update, and delegated-release verification require lowercase base32 multibase sha2-256 multihashes for package artifacts and provenance documents. The plugin CLI already produces this format. The authenticated image-artifact proxy still accepts legacy bare hexadecimal SHA-256 checksums for display-only images.

Patch Changes

  • #2783 cd294dc Thanks @yumam0815! - Fixes publication workflows so callers can pass the approved _rev to publish, unpublish, or discard a draft and receive a CONFLICT response when the entry changed. Calls that omit _rev keep the existing behavior.

  • #2745 b8873c7 Thanks @ascorbic! - Adds PasskeyConfig.userVerification so sites can require, prefer, or discourage passkey user verification. Existing callers keep the preferred behavior.

    Adds typed, versioned challenge contexts for registration and authentication. Declare a codec with defineChallengeContext(), bind data with bindChallengeContext() when generating options, and pass the codec with an AtomicChallengeStore to verifyAuthenticationResponse() or verifyRegistrationResponse() to recover the typed value after verification.

    Atomic challenge stores declare readonly atomic: true, so an unrelated consume() method on an existing challenge store cannot silently change its behavior. EmDash retains optional challenge context data in its database-backed challenge store.

    Authentication rejects assertions whose signature counter drops from a nonzero value to zero because the counter change can indicate a cloned authenticator.

  • #2830 965bf33 Thanks @khoinguyenpham04! - Fixes image fields and Portable Text editors so they preserve direct image URLs and external provider identities, allowing selected images to continue rendering after saving or replacement.

  • #2858 bb8b087 Thanks @ascorbic! - Fixes sandboxed content:beforeSave hooks being unable to reject content creation or updates.

    Return a version 1 sandbox hook result with a SAVE_REJECTED error to stop the save and show the reason to the editor:

    return {
    	__emdashSandboxHookResult: true,
    	version: 1,
    	error: {
    		code: "SAVE_REJECTED",
    		reason: "Add a title before saving.",
    	},
    };

    The reason must contain 1–500 characters of plain text. Invalid error results and unexpected sandbox exceptions stop the save with a generic hook error instead of exposing internal details.

  • Updated dependencies [529b28b, 52fffdc, 8fb13cf, 3b124f2, 7887577, 920e1f3, 8fb13cf, b8873c7, 965bf33, afa81c5, bb8b087, e0e60ba, 8fb13cf, c7b6fdf, c7b6fdf]:

    • @emdash-cms/registry-verification@0.3.0
    • @emdash-cms/registry-client@0.5.0
    • @emdash-cms/admin@0.37.0
    • @emdash-cms/auth@0.37.0
    • @emdash-cms/gutenberg-to-portable-text@0.37.0

@emdash-cms/plugin-cli@0.10.0

Minor Changes

  • #2747 3b124f2 Thanks @ascorbic! - Adds typed clients for the experimental delegated release service. ReleaseServiceClient submits, polls, and cancels GitHub OpenID Connect release intents; manages publisher workload policies and retained delegation; and lets publishers check whether profile-listed approvers have an active passkey and inspect publisher-scoped audit events through a publisher session. ReleaseServiceOperatorClient exposes the Cloudflare Access status and sanitized audit, sharded publisher and approver inventory, pause, suspension, revocation, cancellation, reconciliation, resumable encryption-key rotation, Workflow-backed fleet verification, audited key retirement, encrypted R2 archive, and fail-safe publisher restore and abort operations.

    ReleaseServiceClient can request, poll, list, and confirm GitHub workflow connections. The first permanent release run records GitHub's signed repository, workflow, ref, and environment as a pending request and returns a browser approval URL. The publisher must confirm those details before the service creates a workload policy. Tag-based connections can cover the current tag or all version tags while keeping the repository and workflow path exact.

    Both clients validate response envelopes and return stable ReleaseServiceError codes with retry metadata. Mutation helpers require idempotency keys, and workload polling requests a fresh token from the configured provider for each call.

    The plugin CLI adds emdash-plugin release dry-run, release submit, release status, and release cancel for GitHub Actions jobs. The first release submit requests browser approval for the permanent workflow and waits for confirmation before creating an intent. Dry-run verifies existing workload admission without creating a connection request, intent, consuming rate budget, or reserving a version. The commands request audience-bound OIDC tokens from the runner, support JSON output, and use the GitHub run identity as the default idempotency key where a mutation occurs.

    Delegated submissions use a URL-source release record: each package or listing-image artifact supplies a checksum-bound HTTPS URL and no blob. The service stages and uploads those bytes through the publisher's delegation, then creates a blob-only release record. Submit and dry-run reject mixed or blob-backed source inputs before requesting GitHub OIDC.

    Interactive release delegate, revoke, workload, enrol, approve, and reject commands print validated browser handoffs. Publisher application sessions, OAuth credentials, and passkey assertions remain at the release-service origin instead of entering the terminal process.

  • #2749 920e1f3 Thanks @ascorbic! - Adds emdash-plugin release setup to create the permanent GitHub Actions workflow for delegated plugin releases. The generated workflow builds and attests the plugin, waits for first-run browser authorization, and uploads its exact bundle and provenance through GitHub OIDC before publishing.

    ReleaseServiceClient.uploadReleaseArtifact() supports custom workflows that need to stage checksum-bound bundle, image, or provenance bytes. Existing URL-source release submit workflows remain supported.

Patch Changes

  • #2743 d99a0e8 Thanks @ascorbic! - Fixes saved OAuth sessions failing to refresh or revoke after the original loopback callback server closes. New logins retain the loopback client registration needed to recreate the same OAuth client.

    Sessions created before this fix do not contain that registration metadata and cannot be resumed. Sign in again after upgrading.

  • #2848 e0e60ba Thanks @ascorbic! - Adds publisher-created workflow connection invitations to delegated releases. First-time or unmatched GitHub workflows must use a package-bound, single-use invitation before they can request publisher approval; connected workflows continue without one.

    Create the invitation in the publisher dashboard or with createWorkflowConnectionInvitation(), then save its value as the repository's EMDASH_CONNECTION_INVITATION GitHub Actions secret. The generated release workflow passes this secret to the release Action automatically. Custom workflows can pass invitationToken to requestWorkflowConnection(), and publishers can reject pending requests with rejectWorkflowConnection().

  • Updated dependencies [52fffdc, 3b124f2, 920e1f3, e0e60ba, c7b6fdf]:

    • @emdash-cms/registry-client@0.5.0

@emdash-cms/registry-client@0.5.0

Minor Changes

  • #2849 52fffdc Thanks @ascorbic! - Adds DirectPdsClient.getPackageRepository() for reading a package profile and every package release from one proof-verified AT Protocol repository export.

    Use the method when authorization or version selection requires a complete signed package snapshot:

    const { profile, releases } =
    	await directPdsClient.getPackageRepository("gallery");

    The client verifies the repository commit signature, record blocks, and complete Merkle search tree before returning records. Unsigned repo.getRecord and repo.listRecords envelopes cannot substitute or omit package data. Repository exports use the client's maxResponseBytes limit, which defaults to 5 MiB, and a missing export reports REPOSITORY_NOT_FOUND.

  • #2747 3b124f2 Thanks @ascorbic! - Adds typed clients for the experimental delegated release service. ReleaseServiceClient submits, polls, and cancels GitHub OpenID Connect release intents; manages publisher workload policies and retained delegation; and lets publishers check whether profile-listed approvers have an active passkey and inspect publisher-scoped audit events through a publisher session. ReleaseServiceOperatorClient exposes the Cloudflare Access status and sanitized audit, sharded publisher and approver inventory, pause, suspension, revocation, cancellation, reconciliation, resumable encryption-key rotation, Workflow-backed fleet verification, audited key retirement, encrypted R2 archive, and fail-safe publisher restore and abort operations.

    ReleaseServiceClient can request, poll, list, and confirm GitHub workflow connections. The first permanent release run records GitHub's signed repository, workflow, ref, and environment as a pending request and returns a browser approval URL. The publisher must confirm those details before the service creates a workload policy. Tag-based connections can cover the current tag or all version tags while keeping the repository and workflow path exact.

    Both clients validate response envelopes and return stable ReleaseServiceError codes with retry metadata. Mutation helpers require idempotency keys, and workload polling requests a fresh token from the configured provider for each call.

    The plugin CLI adds emdash-plugin release dry-run, release submit, release status, and release cancel for GitHub Actions jobs. The first release submit requests browser approval for the permanent workflow and waits for confirmation before creating an intent. Dry-run verifies existing workload admission without creating a connection request, intent, consuming rate budget, or reserving a version. The commands request audience-bound OIDC tokens from the runner, support JSON output, and use the GitHub run identity as the default idempotency key where a mutation occurs.

    Delegated submissions use a URL-source release record: each package or listing-image artifact supplies a checksum-bound HTTPS URL and no blob. The service stages and uploads those bytes through the publisher's delegation, then creates a blob-only release record. Submit and dry-run reject mixed or blob-backed source inputs before requesting GitHub OIDC.

    Interactive release delegate, revoke, workload, enrol, approve, and reject commands print validated browser handoffs. Publisher application sessions, OAuth credentials, and passkey assertions remain at the release-service origin instead of entering the terminal process.

  • #2749 920e1f3 Thanks @ascorbic! - Adds emdash-plugin release setup to create the permanent GitHub Actions workflow for delegated plugin releases. The generated workflow builds and attests the plugin, waits for first-run browser authorization, and uploads its exact bundle and provenance through GitHub OIDC before publishing.

    ReleaseServiceClient.uploadReleaseArtifact() supports custom workflows that need to stage checksum-bound bundle, image, or provenance bytes. Existing URL-source release submit workflows remain supported.

  • #2848 e0e60ba Thanks @ascorbic! - Adds publisher-created workflow connection invitations to delegated releases. First-time or unmatched GitHub workflows must use a package-bound, single-use invitation before they can request publisher approval; connected workflows continue without one.

    Create the invitation in the publisher dashboard or with createWorkflowConnectionInvitation(), then save its value as the repository's EMDASH_CONNECTION_INVITATION GitHub Actions secret. The generated release workflow passes this secret to the release Action automatically. Custom workflows can pass invitationToken to requestWorkflowConnection(), and publishers can reject pending requests with rejectWorkflowConnection().

  • #2746 c7b6fdf Thanks @ascorbic! - Adds DirectPdsClient for reading package profiles and releases with AT Protocol repository proofs, and updates experimental decentralized registry installs and updates to verify current signed records directly from the publisher's PDS.

    Aggregator record integrity

    Install and update reject aggregator-supplied profile or release metadata whose URI or CID does not match the publisher's signed records. The server returns AGGREGATOR_RECORD_MISMATCH before fetching the artifact or requesting consent.

    Publisher identity display

    The admin treats handle resolution as an advisory identity signal. It keeps the install button disabled while attempting to resolve the package DID back to a handle, then blocks installation when resolveDidToHandle() conclusively returns "invalid". An indeterminate result caused by a network failure, unsupported DID method, or missing handle displays the publisher DID and does not block installation.

    Install and update trust the publisher DID and the signed repository proofs for the profile and release records. A handle is display metadata and is not an authorization or record-integrity input.

    Provenance and release policy

    The installer applies the signed profile's release policy, independently fetches and verifies supplied Sigstore/SLSA provenance, and binds moderation labels to the exact profile or release CID. Missing required provenance and any supplied provenance that is unavailable, malformed, mismatched, or unsupported block installation and updates. Artifact checksums, archive paths, bundle limits, manifest identity, and version use the same verification rules as the registry release tooling.

    The verification package also exports inspectPackageReleaseRecords for validating signed records and policy before artifact and provenance evidence is available.

    Registry install and update consent now show the exact verified profile and release CIDs, signed publisher policy, and provenance status. Install consent uses permissions and MCP tools read from the verified bundle rather than the aggregator's record copy.

    Install, update, and delegated-release verification require lowercase base32 multibase sha2-256 multihashes for package artifacts and provenance documents. The plugin CLI already produces this format. The authenticated image-artifact proxy still accepts legacy bare hexadecimal SHA-256 checksums for display-only images.

@emdash-cms/registry-verification@0.3.0

Minor Changes

  • #2746 c7b6fdf Thanks @ascorbic! - Adds optional artifact digest candidates to GitHubProvenanceVerifier, allowing callers that compute several supported digest algorithms in one isolated artifact fetch to verify the digest selected by a signed SLSA provenance subject.

    Existing callers can continue passing only artifactDigest. Successful results return the candidate that matched the signed subject.

    Fixes @emdash-cms/registry-verification when it is rebundled into an Astro Cloudflare application, preventing requests from failing during Worker startup.

    Adds @emdash-cms/registry-verification/records for Worker callers that supply an explicit ProvenanceVerifier. The runtime-neutral entry does not load the Node-oriented default Sigstore verifier, while the package root keeps the existing default-verifier behavior.

    Fixes @emdash-cms/registry-verification when it is rebundled into an Astro Cloudflare application, preventing requests from failing during Worker startup.

  • #2746 c7b6fdf Thanks @ascorbic! - Adds DirectPdsClient for reading package profiles and releases with AT Protocol repository proofs, and updates experimental decentralized registry installs and updates to verify current signed records directly from the publisher's PDS.

    Aggregator record integrity

    Install and update reject aggregator-supplied profile or release metadata whose URI or CID does not match the publisher's signed records. The server returns AGGREGATOR_RECORD_MISMATCH before fetching the artifact or requesting consent.

    Publisher identity display

    The admin treats handle resolution as an advisory identity signal. It keeps the install button disabled while attempting to resolve the package DID back to a handle, then blocks installation when resolveDidToHandle() conclusively returns "invalid". An indeterminate result caused by a network failure, unsupported DID method, or missing handle displays the publisher DID and does not block installation.

    Install and update trust the publisher DID and the signed repository proofs for the profile and release records. A handle is display metadata and is not an authorization or record-integrity input.

    Provenance and release policy

    The installer applies the signed profile's release policy, independently fetches and verifies supplied Sigstore/SLSA provenance, and binds moderation labels to the exact profile or release CID. Missing required provenance and any supplied provenance that is unavailable, malformed, mismatched, or unsupported block installation and updates. Artifact checksums, archive paths, bundle limits, manifest identity, and version use the same verification rules as the registry release tooling.

    The verification package also exports inspectPackageReleaseRecords for validating signed records and policy before artifact and provenance evidence is available.

    Registry install and update consent now show the exact verified profile and release CIDs, signed publisher policy, and provenance status. Install consent uses permissions and MCP tools read from the verified bundle rather than the aggregator's record copy.

    Install, update, and delegated-release verification require lowercase base32 multibase sha2-256 multihashes for package artifacts and provenance documents. The plugin CLI already produces this format. The authenticated image-artifact proxy still accepts legacy bare hexadecimal SHA-256 checksums for display-only images.

Patch Changes

  • #2847 529b28b Thanks @ascorbic! - Fixes delegated-release provenance verification so verified GitHub attestations include the repository, workflow, commit, and run identity needed to enforce an exact authorized workload.

@emdash-cms/auth-atproto@0.2.37

Patch Changes

  • Updated dependencies [b8873c7]:
    • @emdash-cms/auth@0.37.0

@emdash-cms/cloudflare@0.37.0

Patch Changes

@emdash-cms/plugin-embeds@0.1.45

Patch Changes

  • Updated dependencies []:
    • @emdash-cms/blocks@0.37.0

@emdash-cms/sandbox-workerd@0.5.3

Patch Changes

@emdash-cms/blocks@0.37.0

create-emdash@0.37.0

@emdash-cms/gutenberg-to-portable-text@0.37.0

@emdash-cms/x402@0.37.0

@emdash-cms/labeler@0.0.2

Patch Changes

@emdash-cms/release-action@0.0.1

Patch Changes

@emdash-cms/release-service@0.0.1

Patch Changes

@emdash-cms/release-verifier@0.0.1

Patch Changes

@emdash-cms/fixture-perf-site@0.0.40

Patch Changes

@emdash-cms/perf-demo-site@0.0.40

Patch Changes

@emdash-cms/cache-demo-site@0.0.40

Patch Changes

@emdash-cms/do-demo-site@0.0.40

Patch Changes

@emdash-cms/do-solo-demo-site@0.0.40

Patch Changes

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Scope check

This PR touches 36 files. PRs with a broad scope are harder to review. Please confirm the scope hasn't drifted beyond the intended change.
This PR spans 5 different areas (area/core, area/admin, area/plugins, area/auth, area/cloudflare). Consider breaking it into smaller, focused PRs.

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.

@pkg-pr-new

pkg-pr-new Bot commented Sep 1, 2026

Copy link
Copy Markdown

Open in StackBlitz

@emdash-cms/admin

npm i https://pkg.pr.new/@emdash-cms/admin@2833

@emdash-cms/auth

npm i https://pkg.pr.new/@emdash-cms/auth@2833

@emdash-cms/auth-atproto

npm i https://pkg.pr.new/@emdash-cms/auth-atproto@2833

@emdash-cms/blocks

npm i https://pkg.pr.new/@emdash-cms/blocks@2833

@emdash-cms/cloudflare

npm i https://pkg.pr.new/@emdash-cms/cloudflare@2833

@emdash-cms/contentful-to-portable-text

npm i https://pkg.pr.new/@emdash-cms/contentful-to-portable-text@2833

emdash

npm i https://pkg.pr.new/emdash@2833

create-emdash

npm i https://pkg.pr.new/create-emdash@2833

@emdash-cms/gutenberg-to-portable-text

npm i https://pkg.pr.new/@emdash-cms/gutenberg-to-portable-text@2833

@emdash-cms/plugin-cli

npm i https://pkg.pr.new/@emdash-cms/plugin-cli@2833

@emdash-cms/plugin-types

npm i https://pkg.pr.new/@emdash-cms/plugin-types@2833

@emdash-cms/registry-client

npm i https://pkg.pr.new/@emdash-cms/registry-client@2833

@emdash-cms/registry-lexicons

npm i https://pkg.pr.new/@emdash-cms/registry-lexicons@2833

@emdash-cms/registry-moderation

npm i https://pkg.pr.new/@emdash-cms/registry-moderation@2833

@emdash-cms/registry-verification

npm i https://pkg.pr.new/@emdash-cms/registry-verification@2833

@emdash-cms/sandbox-workerd

npm i https://pkg.pr.new/@emdash-cms/sandbox-workerd@2833

@emdash-cms/x402

npm i https://pkg.pr.new/@emdash-cms/x402@2833

@emdash-cms/plugin-ai-moderation

npm i https://pkg.pr.new/@emdash-cms/plugin-ai-moderation@2833

@emdash-cms/plugin-atproto

npm i https://pkg.pr.new/@emdash-cms/plugin-atproto@2833

@emdash-cms/plugin-audit-log

npm i https://pkg.pr.new/@emdash-cms/plugin-audit-log@2833

@emdash-cms/plugin-color

npm i https://pkg.pr.new/@emdash-cms/plugin-color@2833

@emdash-cms/plugin-embeds

npm i https://pkg.pr.new/@emdash-cms/plugin-embeds@2833

@emdash-cms/plugin-field-kit

npm i https://pkg.pr.new/@emdash-cms/plugin-field-kit@2833

@emdash-cms/plugin-forms

npm i https://pkg.pr.new/@emdash-cms/plugin-forms@2833

@emdash-cms/plugin-webhook-notifier

npm i https://pkg.pr.new/@emdash-cms/plugin-webhook-notifier@2833

commit: bfae9a8

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 1, 2026

Copy link
Copy Markdown

🚀 Deploying Preview to Cloudflare 🚀

Preview URL: https://changeset-release-main.try.emdashcms.com, https://changeset-release-main-emdash-playground.emdash-cms.workers.dev (commit bfae9a8)

This URL reflects your latest Preview deployment

Preview Deployments by commit

Status Deployment URL Commit Updated (UTC) See this deployment's details
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://cbdba06f.try.emdashcms.com, https://cbdba06f-emdash-playground.emdash-cms.workers.dev bfae9a8 2026-09-02T17:34:20.850Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://82f1a227.try.emdashcms.com, https://82f1a227-emdash-playground.emdash-cms.workers.dev 94dcf26 2026-09-02T16:32:14.960Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://2b70a8bd.try.emdashcms.com, https://2b70a8bd-emdash-playground.emdash-cms.workers.dev 9962b8d 2026-09-02T15:55:08.792Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://f18aa0f6.try.emdashcms.com, https://f18aa0f6-emdash-playground.emdash-cms.workers.dev 1c86174 2026-09-02T15:18:40.147Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://b4e4f20a.try.emdashcms.com, https://b4e4f20a-emdash-playground.emdash-cms.workers.dev d278922 2026-09-02T13:32:06.902Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://8af7b503.try.emdashcms.com, https://8af7b503-emdash-playground.emdash-cms.workers.dev 5fd9805 2026-09-02T13:15:40.038Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://22e84669.try.emdashcms.com, https://22e84669-emdash-playground.emdash-cms.workers.dev 2d85bcf 2026-09-02T13:08:25.433Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://a173fcfc.try.emdashcms.com, https://a173fcfc-emdash-playground.emdash-cms.workers.dev 54a2115 2026-09-02T12:57:17.787Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://d5212024.try.emdashcms.com, https://d5212024-emdash-playground.emdash-cms.workers.dev 86625d7 2026-09-02T12:14:13.920Z Visit the dashboard ↗
  • Build: In progress 🔵

View logs ↗
7785e46 2026-09-02T12:05:33.289Z View logs ↗

View all previews: View all previews ↗

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Overlapping PRs

This PR modifies files that are also changed by other open PRs:

This may cause merge conflicts or duplicated work. A maintainer will coordinate.

@emdashbot
emdashbot Bot force-pushed the changeset-release/main branch 2 times, most recently from b6946a5 to 51b5aee Compare September 2, 2026 07:33
@github-actions github-actions Bot added size/L and removed size/M labels Sep 2, 2026
@emdashbot
emdashbot Bot force-pushed the changeset-release/main branch 9 times, most recently from 2d85bcf to 5fd9805 Compare September 2, 2026 13:10
@github-actions github-actions Bot added size/XL and removed size/L labels Sep 2, 2026
@emdashbot
emdashbot Bot force-pushed the changeset-release/main branch 2 times, most recently from ad2b118 to d278922 Compare September 2, 2026 13:26
@emdashbot
emdashbot Bot force-pushed the changeset-release/main branch 3 times, most recently from 9962b8d to 94dcf26 Compare September 2, 2026 16:26
@emdashbot
emdashbot Bot force-pushed the changeset-release/main branch from 94dcf26 to bfae9a8 Compare September 2, 2026 17:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants