Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9ef7a92dce | |||
| 6dfbded9c8 | |||
| 45b6239777 | |||
| d00eef2acb |
+125
@@ -15,8 +15,133 @@ Pre-v1.0.0 tags followed the pi npm version (`v{pi_version}[letter]`).
|
||||
|
||||
_Nothing yet — next release's changes will accrue here._
|
||||
|
||||
## v1.6.3 — 2026-07-25
|
||||
|
||||
Patch release. Headline: **pi `0.81.1` → `0.82.1`** (npm `latest`) — the first
|
||||
pi bump since v1.6.1.
|
||||
|
||||
### Changed
|
||||
|
||||
- **pi `0.81.1` → `0.82.1`.** CI resolves `pi@latest` at build time; latest is
|
||||
now `0.82.1` (via `0.82.0`). pi is installed in the **variant** layer
|
||||
(`Dockerfile.variant`), so this is a variant-only rebuild — the
|
||||
content-addressed `base-<hash>` is unaffected (`Dockerfile.base`, `rootfs/`,
|
||||
`entrypoint*.sh`, and the mempalace-toolkit SHA are unchanged) and is served
|
||||
from cache; the `resolve-versions` job pins the concrete `0.82.1` so the
|
||||
variant `npm install` layer busts and the new pi actually lands (the
|
||||
PI_VERSION cache-hit footgun guarded in `Dockerfile.variant`). Both `0.82.0`
|
||||
and `0.82.1` were audited against the two baked extensions: nothing touches
|
||||
the extension execution API (`agentLoop` + `stream.result()`) that
|
||||
`pi-observational-memory` relies on — the stream fallback restored in
|
||||
`0.81.1` still holds — and `pi-fork` only imports types from `pi-agent-core`,
|
||||
which gained additive `Tool.constrainedSampling` / capability flags with no
|
||||
breaking changes. The Node engine requirement is unchanged (`>=22.19.0`; the
|
||||
base ships `22.23.1`). Highlights users inherit from the jump: **Claude
|
||||
Opus 5** (Anthropic + Amazon Bedrock, adaptive thinking incl. `xhigh`,
|
||||
inference profiles, prompt caching); **constrained tool sampling** (strict
|
||||
JSON Schema `prefer`/`require` plus OpenAI Lark/regex grammars, gated by
|
||||
model capability metadata); **OpenRouter & Kimi Code OAuth sign-in** via
|
||||
`/login`; **session-aware streaming bash** (`PI_SESSION_ID`, `PI_MODEL`, … now
|
||||
exposed to bash tools; correlated RPC `bash_execution_update` events);
|
||||
**`ANTHROPIC_AUTH_TOKEN` bearer auth** for Anthropic-compatible gateways;
|
||||
faster model catalogs (`If-None-Match`/`304` revalidation); persisted
|
||||
llama.cpp model catalogs; and a bundled **`protobufjs` 7.6.5** security bump
|
||||
(GHSA-j3f2-48v5-ccww). See the [pi changelog][pi-changelog] for the full
|
||||
list.
|
||||
|
||||
## v1.6.2 — 2026-07-23
|
||||
|
||||
Patch release. **Completes the v1.6.1 studio publish.** CI-only change; the
|
||||
shipped image content is identical to v1.6.1 apart from the bumped `pi`
|
||||
version resolution at build time (still `0.81.1`).
|
||||
|
||||
> **Note on v1.6.1.** Ran on 2026-07-23; the non-studio variant (`v1.6.1`,
|
||||
> `latest`, `base-latest`) shipped cleanly, but the studio variant was blocked
|
||||
> in the smoke-studio job by a size assertion that was still calibrated for
|
||||
> the pre-`agent-browser` baseline. `v1.6.1-studio` and `latest-studio` were
|
||||
> never pushed; `latest-studio` on Hub still points at v1.5.0-studio until
|
||||
> v1.6.2 lands. Users who pull `joakimp/pi-devbox:v1.6.1` today get a valid
|
||||
> non-studio image with `pi 0.81.1` baked; there is no `v1.6.1-studio` image.
|
||||
|
||||
### Fixed (CI)
|
||||
|
||||
- **`scripts/smoke-test.sh`: raise `SIZE_THRESHOLD_MB` from `3500` to `3800`.**
|
||||
The 3500 threshold was set in v1.0.0 based on a local arm64 build measured
|
||||
at 3.20 GB plus a `+300 MB` margin. v1.6.0 baked in `agent-browser` +
|
||||
Playwright Chromium (~291 MB net, documented in v1.6.0's entry) but the
|
||||
threshold was never updated — v1.6.0 never ran to smoke because of the
|
||||
site-network fault, so nothing surfaced the miscalibration until
|
||||
run 512 (v1.6.1) reached smoke-studio and reported
|
||||
`3574 MB exceeds threshold 3500 MB`. Actual CI amd64 sizes observed on
|
||||
run 512: **3411 MB non-studio**, **3574 MB studio**. The new 3800 MB
|
||||
ceiling carries ~225 MB margin above the studio number — enough to absorb
|
||||
minor arch/build-cache variance and small future growth, still tight
|
||||
enough to catch a genuine +GB regression. The comment above the constant
|
||||
is refreshed to reflect the new baseline (agent-browser included, run 512
|
||||
actuals). Not base-affecting; base hash unchanged.
|
||||
|
||||
- **`scripts/smoke-test.sh`: don't hard-code a `v` prefix on `release_tag`
|
||||
in the `pi-devbox-version` human-output assertion.** (Landed on the
|
||||
retagged `v1.6.1` and carried forward in `v1.6.2`.) The smoke workflow
|
||||
deliberately passes `RELEASE_TAG=smoke` / `RELEASE_TAG=smoke-studio` to
|
||||
the variant build so smoke images don't collide with real `vX.Y.Z` tags,
|
||||
and `pi-devbox-version` correctly prints `pi-devbox smoke`. The prior
|
||||
assertion required the literal substring `pi-devbox v` — only true for
|
||||
real releases — so it fired on every smoke run once it existed. The two
|
||||
neighbouring assertions on `--json` and `--quiet` already cover the value
|
||||
of `release_tag`; the human-output assertion now only verifies that the
|
||||
line renders (substring `pi-devbox ` — note the trailing space). Never
|
||||
fired before because `pi-devbox-version` was added post-v1.5.0 and every
|
||||
CI attempt since was blocked before smoke ran.
|
||||
|
||||
## v1.6.1 — 2026-07-22
|
||||
|
||||
Patch release. Headline: **pi `0.80.6` → `0.81.1`** (npm `latest`) — the first
|
||||
pi bump since v1.5.0.
|
||||
|
||||
> **Note on v1.6.0.** The `v1.6.0` git tag was cut on 2026-07-17 (agent-browser +
|
||||
> `pi-devbox-version`, see below) but never reached Docker Hub: the variant
|
||||
> publish was blocked by an intermittent SYN-drop fault on the on-prem CI
|
||||
> network (`ci-network-diagnosis.md`, since resolved). v1.6.1 lands v1.6.0's
|
||||
> content **plus** the pi bump in one release; there is no `v1.6.0` image on
|
||||
> Docker Hub. The `v1.6.0` git tag is left in place as an accurate record of
|
||||
> what was intended on that day.
|
||||
|
||||
### Changed
|
||||
|
||||
- **pi `0.80.6` → `0.81.1`.** The CI resolves `pi@latest` at build time; latest
|
||||
is now `0.81.1`. The intermediate `0.81.0` is deliberately skipped: 0.81.0
|
||||
removed the default stream fallback for extensions using the pre-0.81
|
||||
`@earendil-works/pi-agent-core` API, which `pi-observational-memory` relies
|
||||
on (`agentLoop` + `stream.result()` in the observer/reflector/dropper
|
||||
agents). 0.81.1 restored the fallback ([earendil-works/pi#6915][pi-6915]),
|
||||
making 0.81.1 — but not 0.81.0 — a safe drop-in. `pi-fork` only imports
|
||||
types from `pi-agent-core` and is unaffected. Everything since v1.5.0's
|
||||
baked `0.80.6` (i.e. `0.80.7`–`0.80.10`, `0.81.0`, `0.81.1`) was audited for
|
||||
breaking changes against the two baked extensions — none affect this image.
|
||||
The Node engine requirement rose to `>=22.19.0` in `0.81.0`; the base still
|
||||
ships `22.23.1` (nodesource 22.x), so no engine bump is needed. Highlights
|
||||
users inherit from the upstream jump: **local llama.cpp router support**
|
||||
(search + download Hugging Face models, explicit load/unload, live
|
||||
progress); **full pi-ai provider extensions** (extensions can now register
|
||||
complete providers with native auth, model refresh, filtering, and
|
||||
streaming); **Qwen Token Plan** subscription providers; **resilient
|
||||
compaction / branch-summary retries** on transient provider failures with
|
||||
lifecycle events exposed to interactive, JSON, RPC, and SDK consumers;
|
||||
expanded usage accounting for tools, compaction, and branch summaries.
|
||||
Base-affecting (npm install line rebuilds), so `base-<hash>` rebuilds. See
|
||||
the [pi changelog][pi-changelog] for the full list.
|
||||
|
||||
[pi-6915]: https://github.com/earendil-works/pi/issues/6915
|
||||
[pi-changelog]: https://github.com/earendil-works/pi/blob/main/CHANGELOG.md
|
||||
|
||||
## v1.6.0 — 2026-07-13
|
||||
|
||||
> ⚠️ **Never published to Docker Hub.** Tagged in git on 2026-07-17 but the
|
||||
> variant publish was blocked by a site-network fault before the image reached
|
||||
> the registry. Superseded by v1.6.1, which carries this release's content
|
||||
> forward alongside the `pi 0.81.1` bump.
|
||||
|
||||
### Added
|
||||
|
||||
- **`agent-browser` — headless browser automation, baked into every variant.**
|
||||
|
||||
@@ -31,11 +31,14 @@ IMAGE="${1:?usage: $0 <image>}"
|
||||
PASS=0; FAIL=0
|
||||
# pi-devbox v1.0.0 (decoupled from opencode-devbox) added pandoc, graphviz,
|
||||
# imagemagick, yq, tealdeer, a baked /etc/tmux.conf, and the non-modal
|
||||
# editors nano + micro (~15 MB combined). Local arm64 build
|
||||
# observed 3.20 GB. CI amd64 builds may differ slightly; threshold below
|
||||
# carries +300 MB margin to absorb arch differences without false reds.
|
||||
# Tighten in a follow-up release once amd64 actuals are observed in CI logs.
|
||||
SIZE_THRESHOLD_MB=3500
|
||||
# editors nano + micro (~15 MB combined). v1.6.0 baked in agent-browser +
|
||||
# Playwright Chromium (~291 MB net after dropping the unused headless-shell
|
||||
# build), which lifted the baseline. CI amd64 actuals observed on run 512
|
||||
# (v1.6.1): 3411 MB non-studio, 3574 MB studio. Threshold below carries
|
||||
# ~225 MB margin above the studio number to absorb minor arch/build-cache
|
||||
# differences and small future growth without false reds, while still
|
||||
# catching an unexpected +GB regression.
|
||||
SIZE_THRESHOLD_MB=3800
|
||||
|
||||
run() {
|
||||
local label="$1"; local cmd="$2"
|
||||
@@ -166,7 +169,7 @@ run "manifest has no unresolved ('unknown') components" \
|
||||
run "pi-devbox-version binary present + executable" \
|
||||
"test -x /usr/local/bin/pi-devbox-version"
|
||||
run_expect "pi-devbox-version human output shows release tag" \
|
||||
"pi-devbox-version" "pi-devbox v"
|
||||
"pi-devbox-version" "pi-devbox "
|
||||
run_expect "pi-devbox-version --json round-trips the manifest" \
|
||||
"pi-devbox-version --json" '"release_tag"'
|
||||
run_expect "pi-devbox-version --quiet is a compact one-liner" \
|
||||
|
||||
Reference in New Issue
Block a user