Repository navigation
Version Packages - #265
Merged
Merged
Version Packages#265
Conversation
|
Review complete. No issues found — approved ✅. This PR consumes the
Reviewed commit: 765f384 |
uptide-release
Bot
force-pushed
the
changeset-release/main
branch
2 times, most recently
from
October 20, 2026 16:35
e3f7bb5 to
44f9e56
Compare
uptide-release
Bot
force-pushed
the
changeset-release/main
branch
from
October 20, 2026 17:34
44f9e56 to
8d226ac
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or setup this action to publish automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
uptide@0.18.2
Patch Changes
#267
907dffbThanks @lucasbraum! - The agent can no longer change dependencies outside the upgrade. An agent edit that changes or removes an existing dependency in anypackage.json, or touchesoverrides,resolutionsor thepnpmfield, is refused and reverted. Uptide sends the refusal back to the agent in the next feedback round, naming the package, and records it inreport.json(outOfScopeDependencyEdits). That includes the upgraded package and its planned companions, whose versions the engine wrote: only a rewrite to the same value is allowed. The agent may still add a new dependency: it is kept, recorded (agentAddedDependencies) and listed under "Added by the agent" in the PR body. Lockfiles,.npmrc,.yarnrc(.yml),.pnpmfile.cjs,pnpm-workspace.yamland newpackage.jsonfiles are read-only for the agent.#267
907dffbThanks @lucasbraum! - A companion that would move a new major is planned only when the upgraded package asks for it: its own manifest at the target pins the companion, the companion's manifest declares the upgraded package, or the upgraded package's pack names it. When a third package asks for it (@guardian/libs33 pinning@guardian/ophan-tracker-js3.1.0 during a typescript upgrade), Uptide no longer moves it. The PR lists it under "Blocked" with the declaring package, the manifest field and the range. Release pairs still move with their lead:react-domwithreact,@ai-sdk/*withai,@sentry/profiling-nodewith@sentry/node.#267
907dffbThanks @lucasbraum! - A package that does not move no longer drags another one through its pins:fix typescripton guardian/support-dotcom-components moved@guardian/ophan-tracker-js2.8.3 → 3.1.0 because@guardian/libs33.0.0, which stayed, pins it. A pin the same manifest also declares as a peer the install satisfies moves nothing either, and a pin reason now names the manifest field and the installed version.#266
a5e3f57Thanks @lucasbraum! -uptide fixno longer upgrades a peer blocker across a major that no migration pack covers. Before,redis5 → 6 next totypeorm0.3 (which peers on redis ^5) moved typeorm to 1.1.0 and ended in an agent-led draft. Now the blocker keeps its version, with a peer override scoped to it in package.json: npmoverrides.<blocker>.<peer>, pnpmpnpm.peerDependencyRules.allowedVersions, Yarnresolutions["<blocker>/<peer>"]. The lockfile scope check still covers the install. The PR body names the override, which release was not taken and why. Inreport.json, eachpeerConflictsentry now hasstrategy(override,blockedornone),declinedandoverride. If verification fails with the override, the blocker is reported as a blocker and is still not upgraded. A blocker you name on the command line, or one whose major a pack covers, is upgraded as before.#264
2089d0aThanks @lucasbraum! -uptide fixno longer stops when the package manager resolves a different version than the target. Yarn classic ignored the pin for a direct dependency and resolved a range such as^7.0.105to its newest match (7.0.146). Now the lockfile resolves exactly the target with npm, pnpm, Yarn classic and Yarn Berry, and the manifest keeps its range. If the package manager still resolves another version, the run continues only when that version is in the same major, inside the manifest range and covered by the pack. The PR body, the terminal summary andreport.json(resolvedVersion,lockfile.resolved) then name both versions. Otherwise the run stops with an error that names the target, the resolved version and the reason.#268
4cee03aThanks @lucasbraum! -fixcomputes the agent's cost itself, per model and token class, from Uptide's price table:report.jsonand--jsonlist each model's uncached input, cache read, 5-minute and 1-hour cache write and output tokens, the rate applied to each and the cost, so the total can be redone by hand. The Agent SDK's own figure is kept apart assdkReportedCostUsd;--max-costcounts the higher of the two, a gap above 5% is printed as a warning, and a model missing from the table uses the SDK's figure, marked unverified.llm.inputTokensnow counts uncached input only.#268
4cee03aThanks @lucasbraum! - Sonnet 5.5 cache reads are priced at the published $0.10 per million tokens (0.05x input), not $0.20. Every Anthropic rate in the price table was checked against Anthropic's pricing page on 2026-10-20, and a test now pins each one.