Skip to content

release: 0.12.1 - #234

Merged
huhamhire merged 4 commits into
masterfrom
dev
Sep 10, 2026
Merged

huhamhire merged 4 commits into
masterfrom
dev

Conversation

@huhamhire

Copy link
Copy Markdown
Owner

Patch release for 0.12.1 — fixes the read-only install failure (#232) that makes the released 0.12.0 Windows build unusable.

Pre-release checklist

  • Version — apps/desktop/package.json set to 0.12.1, lockfile synced
  • CHANGELOG — ## [0.12.1] - 2026-09-10 in both locales, each with a [0.12.1]: …/compare/v0.12.0...v0.12.1 link reference
  • Proofread — one entry, matching in both locales; it is the only user-visible change in this release

lint / typecheck / test / build pass.

What changed

One fix (#233): the tiktoken encoding files bundled with the review engine were out of date, so tiktoken re-downloaded them into the installation directory on every run — which has no write permission under C:\Program Files. They are now baked in correctly at assemble time, and a smoke-test assertion prevents shipping them stale again.

Verified against a genuinely read-only directory in both directions: the fix loads, and restoring the stale file reproduces the reported error.

Post-release (mandatory, right after tagging)

  1. Back-merge master into dev — verify git log dev..master is empty
  2. Bump dev to the next -dev

Tag must be v0.12.1 to match package.json.

🤖 Generated with Claude Code

huhamhire and others added 4 commits September 9, 2026 20:56
Marks dev as the development state after shipping 0.12.0, per the -dev rule.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Every /describe and /review on an installed Windows build died with
PermissionError under C:\Program Files. The cause is a bad file in the package,
not a permissions setting.

litellm points TIKTOKEN_CACHE_DIR at its own tokenizers/ directory and ships
encoding files there to be offline-capable, but the files it ships fail the
expected_hash pinned by the tiktoken it depends on -- all three of them. tiktoken
therefore treats the cache as invalid on every run and re-downloads into
site-packages, which is writable while building and read-only once installed.
It is not model specific: every path that counts tokens goes through it.

scripts/tiktoken-cache.py prime repairs the bundled bytes at assemble time, so
the cache is a hit and nothing is written at runtime. verify asserts it, and
runs after slimming so a slim rule that deletes the cache is caught too.

The assertion compares hashes rather than just loading the encoding, because
loading proves nothing here: a stale file loads fine on a machine that can
re-download it. That is exactly how 0.12.0 shipped -- assembled clean, smoke
tested clean, then failed on the first run of every install. Expected hashes are
read from the installed tiktoken rather than copied here, so they cannot drift
from it on the next upgrade.

Documents the general rule in AGENTS.md and the runtime design doc: the install
directory is read-only, a dev machine never shows this because vendor/ is
writable, so a dependency that writes under its own package must be
pre-populated at assemble time and asserted.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Patch release for the read-only install failure (#232): version, changelog
section in both locales with their compare links, lockfile synced.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
fix(pragent): bake the tiktoken encodings so a read-only install works (0.12.1)
@huhamhire huhamhire added the release 发布 PR / 版本发布 label Sep 10, 2026
@huhamhire
huhamhire merged commit 03153e7 into master Sep 10, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release 发布 PR / 版本发布

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant