Skip to content

chore(release): 0.9.13 - #375

Merged
juanpin merged 1 commit into
mainfrom
juanpin/release-0.9.13
Sep 4, 2026
Merged

chore(release): 0.9.13#375
juanpin merged 1 commit into
mainfrom
juanpin/release-0.9.13

Conversation

@juanpin

@juanpin juanpin commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Cuts 0.9.13, whose one change is #374.

What ships

fix(n2): send the whole screenshot history, pruning only to fit the wire cap (#374)

The n2 loop no longer windows each request down to the two newest image-bearing messages. It sends every frame the run has taken and drops oldest-first only when the serialized request would exceed the 10 MB cap.

The window bought the model nothing — the API's n2 handler applies exactly that window itself before serving the model — while it emptied the request log a run's replay is built from, which is why a macOS run's story stopped after its last two frames.

  • prune_n2_screenshots_to_budget replaces retain_n2_image_window + fit_n2_request_images_to_budget in the loop, matching the reference harness's pruneScreenshotsToBudget, including its 64 KB headroom and its silence (a dropped frame leaves no marker).
  • retain_n2_image_window stays exported; fit_n2_request_images_to_budget is removed (never exported from yutori.navigator, never in api.md).
  • prepare_n2_image_data_url reads the media type off the data-URL header instead of decoding the payload, keeping the now-per-frame conversion pass cheap.

Callers should expect larger requests. A run past roughly 50 steps now sends several MB per request instead of two frames' worth. That is the trade the change exists to make.

Release mechanics

Version bumped in pyproject.toml, install.sh regenerated via scripts/build_install.sh, and the navigator_n2 cookbook pins moved to 0.9.13 — the same five-file shape as #371.

Merging this tags v0.9.13 on the merge commit and publishes to PyPI.

Test plan

  • pytest -m "not slow" — 865 passed, 9 skipped
  • scripts/check_install_sh_fresh.sh — clean

🤖 Generated with Claude Code


Note

Low Risk
Diff is version and pin updates only; behavioral risk lives in the already-merged #374 n2 request sizing change users get when they upgrade to 0.9.13.

Overview
Release cut that bumps the SDK from 0.9.12 to 0.9.13 and keeps install/cookbook pins in sync.

pyproject.toml sets the package version; install.sh updates YUTORI_INSTALLER_VERSION (regenerated via scripts/build_install.sh). The navigator_n2 cookbook pins move to yutori==0.9.13 in pyproject.toml, the macOS install line in README.md, and the direct X11 Dockerfile.

Merging is intended to tag v0.9.13 and publish 0.9.13 to PyPI. That release includes the n2 screenshot-history fix from #374 (full frame history with budget pruning); this diff is only the version/release mechanics, not that loop change.

Reviewed by Cursor Bugbot for commit df8f875. Bugbot is set up for automated code reviews on this repo. Configure here.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@juanpin
juanpin merged commit 50eb295 into main Sep 4, 2026
16 checks passed
@juanpin
juanpin deleted the juanpin/release-0.9.13 branch September 4, 2026 06:56
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.

1 participant