Skip to main content
← Back to list
01Issue
FeatureShippedSwamp CLI
Assigneesstack72

extension yank: allow unyank and version-specific yanks

Opened by bixu · 4/21/2026· Shipped 4/21/2026

Problem Statement

Currently swamp extension yank <name> yanks the entire extension (all versions, all future pushes blocked with HTTP 410). There is no unyank command and no way to yank only a specific version.

This creates two painful failure modes:

  1. Accidental push from the wrong branch — if you push from main instead of a PR branch, you yank the bad version, but now the *entire extension* is dead. Even bumping the version and pushing from the correct branch returns 410 forever.
  2. No recovery path — there is no CLI command or UI affordance to recover from a full-extension yank. The extension name is permanently unusable.

Observed Behavior

Running swamp extension yank @hivemq/harvester/fetch-kubeconfig 2026.04.21.1 --reason '...' (version-specific yank) blocked ALL future pushes, including 2026.04.21.2, with HTTP 410: Extension has been yanked.

swamp extension version @hivemq/harvester/fetch-kubeconfig still reports currentPublished: "2026.04.21.1" and nextVersion: "2026.04.21.2", but pushing the next version returns 410.

Proposed Solution

  1. Version-specific yanks should only block that version. Pushing a higher version to the same extension name should succeed after yanking a single version.
  2. Add swamp extension unyank <name> [version] — allow the extension owner to restore a yanked extension or specific version. At minimum, allow unyank of the full extension so the name can be reused.
  3. Clarify yank scope in the CLI — the yank help text should make clear whether the yank affects only the specified version or the entire extension.

Alternatives

  • Could use a new extension name as a workaround, but this breaks existing consumers and skill references.

Environment

Swamp version: 20260420.232916.0-sha.858cc512

02Bog Flow
OPENTRIAGEDIN PROGRESSSHIPPED+ 1 MOREASSIGNED+ 5 MOREREVIEW+ 3 MOREPR_MERGEDSHIPPED

Shipped

4/21/2026, 7:27:05 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
stack72 assigned stack724/21/2026, 5:38:01 PM

Sign in to post a ripple.