v1.0.1
v1.0.1
- Release type: stable patch release hygiene and license-boundary proof
- Release source SHA: to be stamped by
refs/tags/v1.0.1 - Previous stable release:
v1.0.0 - Tracking issues / source PRs:
#382,#485,#492,#484 - Package artifact:
neondiff@1.0.1after publish - Rollback baseline:
v1.0.0
Purpose
Cut the first stable patch after GA so release operations stop depending on
historical beta surfaces.
This patch keeps the v1.0 launch boundary unchanged: npm install -g neondiff
installs the CLI, neondiff dashboard opens the local HTML setup/status
dashboard, and the minimal Mac launcher remains the desktop entry point until
the v1.1 signed desktop lane lands.
Included Changes
- Remove public npm install exposure for the pre-1.0 beta train:
- remove the
betadist-tag; - unpublish
neondiff@0.4.30-beta.1where npm permits; - verify
neondiff@betaandneondiff@0.4.30-beta.1return 404; - verify
neondiff@latestresolves to1.0.0before this patch publishes.
- remove the
- Delete historical GitHub prerelease pages while preserving Git tags/source
refs for provenance and rollback. - Add npm publish-token preflight to the publish workflow so missing
NPM_TOKEN
fails early with an actionable error. - Retire the old manual npm publish default of
v0.4.30-beta.1; manual
workflow dispatch now defaults tov1.0.1. - Pin public CI and npm publish workflows to immutable
actions/checkoutand
actions/setup-nodev5 commit SHAs compatible with the GitHub Actions Node 24
runtime. The workflows still install Node.js 26 for NeonDiff itself. - Keep the hosted website/install surface in the public release manifest as a
required published channel. The hosted installer defaults to npmlatest, so
it picks upneondiff@1.0.1after the npm promotion without a website code
deploy. - Keep the public/private license boundary guarded in release-readiness tests:
public repositories may run free whenlicense.publicReposFreeis true, and
private/commercial repositories require an active entitlement before checkout,
provider calls, or posting.
Required Gates
- Focused validation:
NODE_OPTIONS=--experimental-sqlite npx vitest run tests/public-release-readiness.test.ts tests/linux-packaging.test.ts tests/license.test.ts --pool=forks --maxWorkers=1npm run buildnode scripts/check-public-claims.mjsnode scripts/check-secret-scan.mjsgit diff --check
- License API proof:
docs/evidence/v1.0.1-license-api-healthz.jsondocs/evidence/v1.0.1-license-checkout-issuance-unauthenticated.jsondocs/evidence/v1.0.1-license-checkout-issuance-authenticated.json
- Rollback target proof:
docs/evidence/v1.0.1-rollback-refs.json
- Registry/release cleanup proof:
- registry and GitHub release-page cleanup evidence linked from the release
tracker and cleanup issue.
- registry and GitHub release-page cleanup evidence linked from the release
Caveats
- This release does not ship signed/notarized desktop artifacts, Sparkle
appcast, or auto-update proof. Those remain tracked by#116and#449. - This release does not delete historical Git tags; it removes public GitHub
prerelease pages and npm install channels only. - This release does not claim CodeRabbit parity, calibrated 95% review accuracy,
auto-merge, approvals, native ZCode skills/MCP/memory, or target-repo mutation.
Rollback
: "${REPO_ROOT:?set REPO_ROOT to your local NeonDiff checkout}"
cd "$REPO_ROOT"
git fetch origin --tags
git checkout main
git reset --hard refs/tags/v1.0.0
npm dist-tag add neondiff@1.0.0 latest