Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
latest_version: 3.2.17
latest_version: 3.2.18
released: 2026-05-29
---

Expand All @@ -12,6 +12,15 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

## [Unreleased]

## [3.2.18] — 2026-05-29 — dependency + size cleanup (reqwest→ureq · serde_yaml_ng · async-stack drop)

- **Perf/size: `reqwest` → `ureq` (blocking sync HTTP).** The 4 GitHub/tarball fetch sites (`update` · `vault-sync`) now use `ureq`, which carries no async runtime. This removes the entire async stack — `tokio` · `hyper` · `h2` · `tower` · `tower-http` · `hyper-rustls` · `tokio-rustls` · `hyper-util` — from the release binary (all pulled in only by reqwest). TLS stays rustls. Result: **−342 KB** binary (3.34 → 3.01 MB) · **−54 crates** (178 → 124) · **~12% faster clean build** (41.0s → 36.2s). Runtime of everyday commands is unchanged — they never made HTTP calls, and these fetch paths are network-bound.
- **Internal: removed the dead `tokio_helper` runtime shim.** It was reserved for "future async commands (v3.1+ serve)" with zero callers and was the only direct `tokio` user, so dropping it lets the async stack leave entirely. The daemon (v3.3) re-introduces `tokio` deliberately for its async RPC server.
- **Dep: `serde_yaml` (archived/unmaintained upstream) → `serde_yaml_ng`** via a package-rename alias — an actively-maintained drop-in, zero code changes.
- **Internal: dropped the unused `clap` `env` feature** (no `#[arg(env)]` anywhere in the tree).
- **Internal: unified the two `plugin update` text renderers** into one `render_plugin_update_inner`, removing the `PluginUpdateTextData` trait that existed only to make the static renderer generic over a test double (−~80 LOC · Code-Simplifier finding on PR #57).
- **Internal: renamed `vault_sync::run_silent` + `register_schedule::run_quiet` → both `run_embedded`** — same intent (the embedded-from-plugin-update entry point), now a consistent name (Consistency reviewer finding on PR #57).

## [3.2.17] — 2026-05-29 — `onebrain update`: refresh Homebrew tap before upgrade + dedicated npm channel

- **Fix: `onebrain update` on a Homebrew install now refreshes the `onebrain-ai/onebrain` tap before `brew upgrade`.** `brew upgrade` does not fetch new formulae, so running `onebrain update` right after a release found a stale local formula, no-op'd ("already installed"), and the post-install version guard then reported the upgrade "may not have taken effect" (a confusing false-ish failure that forced a manual `brew update && brew upgrade onebrain`). The fix git-pulls **only** our tap (not a full `brew update` — stays fast) so the freshly-published formula is visible and the upgrade applies in one `onebrain update`. Best-effort + non-fatal: a refresh failure falls through to `brew upgrade` exactly as before.
Expand Down
Loading
Loading