Skip to content

chore: drop Composer/Packagist, Maven Central, and NuGet CLI publishing - #214

Merged
Mikola Lysenko (mikolalysenko) merged 4 commits into
mainfrom
chore/drop-composer-maven-nuget-publish
Aug 19, 2026
Merged

chore: drop Composer/Packagist, Maven Central, and NuGet CLI publishing#214
Mikola Lysenko (mikolalysenko) merged 4 commits into
mainfrom
chore/drop-composer-maven-nuget-publish

Conversation

@mikolalysenko

@mikolalysenko Mikola Lysenko (mikolalysenko) commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator

The CLI now publishes to GitHub releases, npm, PyPI, crates.io, and RubyGems only. This removes the Composer/Packagist, Maven Central, and NuGet cross-publishing flows — none of the three ever shipped in a tagged release (verified: no composer/, maven/, or nuget/ in the v3.1.0v3.3.0 trees, and Packagist can't serve a version without a root composer.json at a tag). Patching support for the composer/maven/nuget ecosystems is completely unchanged — crawlers, hosted/vendor rewriters, fixtures, and e2e cells all stay.

What's removed

  • composer/, maven/, nuget/ launcher packages and the root composer.json Packagist manifest
  • release.yml: the packagist-publish, maven-central-publish, and nuget-publish jobs (all leaves — no needs: edges break) + header credential-matrix entries
  • ci.yml lint-ecosystems: the PHP/Java/.NET launcher lint steps (job name unchanged, so branch protection is unaffected)
  • scripts/version-sync.sh: the composer/maven/nuget stamp stanzas (release gate re-verified green: release-lint.sh --sync-only passes end-to-end)
  • .gitattributes: the Packagist export-ignore allowlist — deliberate behavior change: GitHub's auto-generated "Source code" release archives and codeload tarballs are restored to full source (they were stripped to composer-only files)
  • Self-update install-channel wording: the LauncherCache channel stays (the RubyGems launcher uses the same cache layout) but its upgrade hint is now gem update socket-patch (was "… or composer update …"); unit + e2e tests updated in the same commit (launcher_cache_refuses_with_gem_hint{,_windows})
  • Docs: README install table, docs/installer-hosting.md, CLI_CONTRACT.md rows, and the CHANGELOG [Unreleased] entries that announced the never-shipped channels

Runbook

docs/releasing.md is rewritten as the full publish runbook: channel/auth table, bump → dispatch → npm 2FA approval → per-registry verification commands → mid-release failure recovery.

Ops follow-ups

None. The packagist/maven-central/nuget environments, their secrets, and the registry-side accounts (Packagist package, dev.socket namespace, nuget.org policy) were never set up, so there is nothing to clean up outside this repo.

Verification

  • cargo test -p socket-patch-core --lib update — 129 passed
  • cargo test -p socket-patch-cli --test self_update_channels_e2e launcher_cache — passed
  • bash scripts/release-lint.sh --sync-only — version coherence green with the trimmed sync
  • Both workflows YAML-parse; remaining release.yml jobs: version, build, tag, github-release, cargo-publish, npm-publish, pypi-publish, rubygems-publish
  • Multi-agent audit + adversarial verify sweep over the full diff (residue greps, workflow graph, runbook operator walk)

🤖 Generated with Claude Code

The CLI now publishes to GitHub releases, npm, PyPI, crates.io, and
RubyGems only. Removes the three launcher packages (composer/, maven/,
nuget/), the root composer.json Packagist manifest and its export-ignore
allowlist in .gitattributes, the three release.yml publish jobs, the ci.yml
launcher lint steps, and the version-sync stanzas; updates README install
docs and rewrites docs/releasing.md as the publish runbook. Patching
support for the composer/maven/nuget ecosystems is unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…pdate entry

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The LauncherCache channel stays (the RubyGems launcher uses the same
cache layout) but its upgrade hint, label, docs, and tests no longer
name the removed Composer launcher; CLI_CONTRACT rows updated to match.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…; verify socket-patch-hook too

Review findings from the adversarial verify pass: the credentials-skip
claim described only the deleted Packagist/Maven/NuGet secret-based
jobs; also strip the stray trailing blank line the job deletion left
at release.yml EOF.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@mikolalysenko
Mikola Lysenko (mikolalysenko) merged commit 0009bee into main Aug 19, 2026
176 of 178 checks passed
@mikolalysenko
Mikola Lysenko (mikolalysenko) deleted the chore/drop-composer-maven-nuget-publish branch August 19, 2026 16:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants