From d0075d4387dfb1d216302601eebb451cdfe61bf0 Mon Sep 17 00:00:00 2001 From: "uptide-release[bot]" <338861287+uptide-release[bot]@users.noreply.github.com> Date: Thu, 22 Oct 2026 20:22:40 +0000 Subject: [PATCH] chore(release): version packages --- .changeset/agent-did-not-change-anything.md | 5 ----- .changeset/lock-guard-onto-upgrade.md | 5 ----- .changeset/not-installed.md | 5 ----- .changeset/rule-summary-titles.md | 5 ----- packages/cli/CHANGELOG.md | 12 ++++++++++++ packages/cli/package.json | 2 +- 6 files changed, 13 insertions(+), 21 deletions(-) delete mode 100644 .changeset/agent-did-not-change-anything.md delete mode 100644 .changeset/lock-guard-onto-upgrade.md delete mode 100644 .changeset/not-installed.md delete mode 100644 .changeset/rule-summary-titles.md diff --git a/.changeset/agent-did-not-change-anything.md b/.changeset/agent-did-not-change-anything.md deleted file mode 100644 index 6f17c92..0000000 --- a/.changeset/agent-did-not-change-anything.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"uptide": patch ---- - -`fix` no longer hides an agent session that could not work. When the Anthropic API refuses the request (an invalid key, an empty credit balance, a model the key cannot use), the Agent SDK ends the session after one turn with nothing spent and the API's message; Uptide dropped that message, recorded "made no change" for every site and ran the feedback rounds into the same error. Now the task records the error (`llm.tasks[].error`, gate `error`), no further session starts, and every task that leaves nothing says why in `llm.tasks[].noChange`: the API's error, no turn, no output, a refusal, a stop, or every edit rejected. When nothing the agent did stayed, `report.json` (`llm.agentIdle`), the terminal and the PR body say "The agent did not change anything: ", and the PR body no longer says the code was migrated when every site is still manual. diff --git a/.changeset/lock-guard-onto-upgrade.md b/.changeset/lock-guard-onto-upgrade.md deleted file mode 100644 index 93c8581..0000000 --- a/.changeset/lock-guard-onto-upgrade.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"uptide": patch ---- - -The lockfile check no longer stops an upgrade when the package manager moves an unchanged package's dependency onto the copy the upgrade installs. Upgrading express 4 to 5, pnpm can move another package's `qs` or `iconv-lite` onto the newer copy express 5 brings: the old copy leaves the lockfile, and every package depending on it read as "same version, different resolution", so the run fell back to an agent-led draft. Such a move is now in scope when it stays in the same major (the same minor below 1.0) and never goes back, and the copy it left goes with it when nothing else needs it; the PR body and the terminal list each one as lockfile housekeeping ("onto the upgrade's copy"). A move to a release the upgrade did not bring, a downgrade, a major apart, or a change to what the repository declares itself is still refused. The same applies to npm (a nested copy dropped for the hoisted one) and Yarn Berry (a descriptor that now resolves to the upgrade's copy). diff --git a/.changeset/not-installed.md b/.changeset/not-installed.md deleted file mode 100644 index c001305..0000000 --- a/.changeset/not-installed.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"uptide": patch ---- - -`fix` and `check` in a checkout whose dependencies are not installed now stop before any analysis with `PACKAGE_NOT_INSTALLED` (exit 2), name the `package.json` that declares the package, say whether nothing is installed or only that package is missing, and give the frozen install for the lockfile (`npm ci`, `pnpm install --frozen-lockfile`, `yarn install --frozen-lockfile`, `yarn install --immutable`). Before, a `node_modules` in a directory above the project counted as the project's install, so a fresh clone under such a directory got past the check and `fix` failed with a misleading "has no upgrade". Uptide still installs nothing in your checkout. `check --json` now answers every refusal on stdout with `{"error": {"code", "message"}}`, as `fix --json` does. When the package is already at or past the target, `fix` says " is already at (target )". diff --git a/.changeset/rule-summary-titles.md b/.changeset/rule-summary-titles.md deleted file mode 100644 index 41fe78e..0000000 --- a/.changeset/rule-summary-titles.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"uptide": patch ---- - -The PR body titles each group of sites by what changed instead of an internal key: a pack rule's group by the pack's one-line summary of the rule (`report.json` keeps them as `ruleSummaries`), and sites no rule covers, keyed by the path of the declaration that changed (`e.query`), by what the compiler said there or by what changed ("`e.query` was removed in express 5.3.0"). diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 588b4ff..010449c 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,17 @@ # uptide +## 0.18.3 + +### Patch Changes + +- [#271](https://github.com/uptide-dev/uptide/pull/271) [`b66598e`](https://github.com/uptide-dev/uptide/commit/b66598eabcc5dd281ea252422b930af7bfc3ea5c) Thanks [@lucasbraum](https://github.com/lucasbraum)! - `fix` no longer hides an agent session that could not work. When the Anthropic API refuses the request (an invalid key, an empty credit balance, a model the key cannot use), the Agent SDK ends the session after one turn with nothing spent and the API's message; Uptide dropped that message, recorded "made no change" for every site and ran the feedback rounds into the same error. Now the task records the error (`llm.tasks[].error`, gate `error`), no further session starts, and every task that leaves nothing says why in `llm.tasks[].noChange`: the API's error, no turn, no output, a refusal, a stop, or every edit rejected. When nothing the agent did stayed, `report.json` (`llm.agentIdle`), the terminal and the PR body say "The agent did not change anything: ", and the PR body no longer says the code was migrated when every site is still manual. + +- [#271](https://github.com/uptide-dev/uptide/pull/271) [`b66598e`](https://github.com/uptide-dev/uptide/commit/b66598eabcc5dd281ea252422b930af7bfc3ea5c) Thanks [@lucasbraum](https://github.com/lucasbraum)! - The lockfile check no longer stops an upgrade when the package manager moves an unchanged package's dependency onto the copy the upgrade installs. Upgrading express 4 to 5, pnpm can move another package's `qs` or `iconv-lite` onto the newer copy express 5 brings: the old copy leaves the lockfile, and every package depending on it read as "same version, different resolution", so the run fell back to an agent-led draft. Such a move is now in scope when it stays in the same major (the same minor below 1.0) and never goes back, and the copy it left goes with it when nothing else needs it; the PR body and the terminal list each one as lockfile housekeeping ("onto the upgrade's copy"). A move to a release the upgrade did not bring, a downgrade, a major apart, or a change to what the repository declares itself is still refused. The same applies to npm (a nested copy dropped for the hoisted one) and Yarn Berry (a descriptor that now resolves to the upgrade's copy). + +- [#273](https://github.com/uptide-dev/uptide/pull/273) [`51d0370`](https://github.com/uptide-dev/uptide/commit/51d03700a4752743181403552ce40dc167f6e216) Thanks [@lucasbraum](https://github.com/lucasbraum)! - `fix` and `check` in a checkout whose dependencies are not installed now stop before any analysis with `PACKAGE_NOT_INSTALLED` (exit 2), name the `package.json` that declares the package, say whether nothing is installed or only that package is missing, and give the frozen install for the lockfile (`npm ci`, `pnpm install --frozen-lockfile`, `yarn install --frozen-lockfile`, `yarn install --immutable`). Before, a `node_modules` in a directory above the project counted as the project's install, so a fresh clone under such a directory got past the check and `fix` failed with a misleading "has no upgrade". Uptide still installs nothing in your checkout. `check --json` now answers every refusal on stdout with `{"error": {"code", "message"}}`, as `fix --json` does. When the package is already at or past the target, `fix` says " is already at (target )". + +- [#271](https://github.com/uptide-dev/uptide/pull/271) [`b66598e`](https://github.com/uptide-dev/uptide/commit/b66598eabcc5dd281ea252422b930af7bfc3ea5c) Thanks [@lucasbraum](https://github.com/lucasbraum)! - The PR body titles each group of sites by what changed instead of an internal key: a pack rule's group by the pack's one-line summary of the rule (`report.json` keeps them as `ruleSummaries`), and sites no rule covers, keyed by the path of the declaration that changed (`e.query`), by what the compiler said there or by what changed ("`e.query` was removed in express 5.3.0"). + ## 0.18.2 ### Patch Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index 64f2923..cd64f78 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "uptide", - "version": "0.18.2", + "version": "0.18.3", "description": "Uptide finds what a dependency upgrade breaks in your code, migrates it, and proves it with your compiler and tests.", "license": "Apache-2.0", "type": "module",