fix(qa): derive release ranges, render assistant payloads and find packages #43

Merged
dsh merged 1 commit from fix/qa-release-package into master 2026-10-24 01:28:07 +00:00
Owner

What

The last three sweep issues.

#28 — release plan ignored current_version's tag

buildReleasePlan now derives the range v<current_version>...<repo-default-branch> when current_tag is absent, honours an explicit from_tag/to_tag, and returns a clear error when the tag cannot be resolved instead of silently replaying the last 50 commits. Already-released commits no longer contaminate the changelog, so the bump is correct.

Live: current_version: "0.7.40-dsh.7" → Release Plan: v0.8.0 (minor bump …), 13 post-tag commits, no already-released package-rename commit.

#31 — release assistant printed “Preflight complete” for every action

Formatter branches on the payload: validate_semver → valid minor bump from 0.7.40-dsh.7 to 0.8.0. (or the validation error); preview_notes → per-language note blocks; preflight unchanged.

#36 — package_get 404s for listed packages

Forgejo's name-only package path 404s. getRegistryPackage now queries the working package list (type + q), filters exact type/name, returns all versions (or the requested version), and gives a clear not-found for a missing name/version. Added an optional version parameter and a version-list formatter.

Live: package_get dsh-plugins npm dsh-gitea → 4 versions with timestamps/URLs instead of 404.

Verification

  • test/release-package.test.mjs (11 tests): derived/explicit ranges, missing tag, validate/invalid/notes/preflight, package list/filter/not-found.
  • npm test 141/141, leak scan clean, node --check clean.
  • Live checks above, plus packages_list still shows the same versions.

Closes #28, #31, #36.

## What The last three sweep issues. ### #28 — release plan ignored `current_version`'s tag `buildReleasePlan` now derives the range `v<current_version>...<repo-default-branch>` when `current_tag` is absent, honours an explicit `from_tag`/`to_tag`, and returns a clear error when the tag cannot be resolved instead of silently replaying the last 50 commits. Already-released commits no longer contaminate the changelog, so the bump is correct. Live: `current_version: "0.7.40-dsh.7"` → `Release Plan: v0.8.0 (minor bump …)`, 13 post-tag commits, no already-released package-rename commit. ### #31 — release assistant printed “Preflight complete” for every action Formatter branches on the payload: `validate_semver` → `valid minor bump from 0.7.40-dsh.7 to 0.8.0.` (or the validation error); `preview_notes` → per-language note blocks; `preflight` unchanged. ### #36 — `package_get` 404s for listed packages Forgejo's name-only package path 404s. `getRegistryPackage` now queries the working package list (`type` + `q`), filters exact `type`/`name`, returns all versions (or the requested `version`), and gives a clear not-found for a missing name/version. Added an optional `version` parameter and a version-list formatter. Live: `package_get dsh-plugins npm dsh-gitea` → 4 versions with timestamps/URLs instead of 404. ## Verification - `test/release-package.test.mjs` (11 tests): derived/explicit ranges, missing tag, validate/invalid/notes/preflight, package list/filter/not-found. - `npm test` 141/141, leak scan clean, `node --check` clean. - Live checks above, plus `packages_list` still shows the same versions. Closes #28, #31, #36.
Release plan starts at v<current_version> and fails clearly on a missing tag; the release assistant formats validate_semver and preview_notes instead of claiming preflight; package_get filters the working package list and returns versions, with an optional version filter.
dsh merged commit b74ca23cb1 into master 2026-10-24 01:28:07 +00:00
Sign in to join this conversation.
No description provided.