Skip to content

emdash

v@emdash-cms/[email protected] Feature

This release adds 2 notable features for engineering teams evaluating rollout.

Published 6d Productivity & Wikis
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

astro cms emdash typescript

Summary

AI summary

Adds CLI command to edit published plugin registry records without cutting a new release.

Changes in this release

Feature Medium

Adds CLI command `emdash-plugin update-package` to edit published plugin registry record without new release.

Adds CLI command `emdash-plugin update-package` to edit published plugin registry record without new release.

Source: llm_adapter@2026-05-28

Confidence: high

Feature Low

`update-package` prints diff and exits without writing if `--yes` is not provided.

`update-package` prints diff and exits without writing if `--yes` is not provided.

Source: granite4.1:30b@2026-05-28-audit

Confidence: low

Feature Low

With `--yes`, `update-package` writes updated record using atproto's `swapRecord` precondition, handling concurrent writes as `STALE_RECORD`.

With `--yes`, `update-package` writes updated record using atproto's `swapRecord` precondition, handling concurrent writes as `STALE_RECORD`.

Source: granite4.1:30b@2026-05-28-audit

Confidence: low

Feature Low

`update-package` bumps the `lastUpdated` timestamp on successful write.

`update-package` bumps the `lastUpdated` timestamp on successful write.

Source: granite4.1:30b@2026-05-28-audit

Confidence: low

Feature Low

Optional fields follow "manifest absent = no change" policy, preserving existing published values when keys are removed.

Optional fields follow "manifest absent = no change" policy, preserving existing published values when keys are removed.

Source: granite4.1:30b@2026-05-28-audit

Confidence: low

Feature Low

Renaming a plugin via the manifest now shows a "looks like a rename" message listing the publisher's existing packages to prevent orphaned releases.

Renaming a plugin via the manifest now shows a "looks like a rename" message listing the publisher's existing packages to prevent orphaned releases.

Source: granite4.1:30b@2026-05-28-audit

Confidence: low

Refactor Low

Publishing client (`@emdash-cms/registry-client`) adds `swapRecord` parameter to `putRecord` and `unsafePutRecord` for optimistic-concurrency writes.

Publishing client (`@emdash-cms/registry-client`) adds `swapRecord` parameter to `putRecord` and `unsafePutRecord` for optimistic-concurrency writes.

Source: granite4.1:30b@2026-05-28-audit

Confidence: low

Full changelog

Minor Changes

  • #1126 cf3c706 Thanks @ascorbic! - Adds emdash-plugin update-package, a CLI command for editing an already-published plugin's registry record (license, authors, security contacts, name, description, keywords) without cutting a new release. Without --yes it prints a diff and exits without writing; with --yes it writes the updated record to the publisher's PDS using atproto's swapRecord precondition (concurrent writes surface as STALE_RECORD instead of silently overwriting each other) and bumps lastUpdated. Optional fields use a "manifest absent = no change" policy: removing a key from the manifest doesn't wipe the published value, matching publish semantics. Renaming a plugin via the manifest now surfaces a "looks like a rename" message listing the publisher's existing packages instead of a generic not-found, so publishers don't accidentally orphan releases under the old slug.

    The publishing client (@emdash-cms/registry-client) gains a swapRecord parameter on putRecord and unsafePutRecord for callers needing optimistic-concurrency writes.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track emdash

Get notified when new releases ship.

Sign up free

About emdash

All releases →

Related context

Related tools

Earlier breaking changes

Beta — feedback welcome: [email protected]