Repository navigation
v1.11.4
@oh-my-pi/pi-ai
Added
- OAuth callback servers also listen on this host's Tailscale address when a Tailscale interface is up, and
OAuthAuthInfo.tailnetLaunchUrlcarries a/launchshortcut on that address, so a provider login can be opened — and its callback finished — from another device on the tailnet instead of only fromlocalhost.
@oh-my-pi/chrome-annotate
Fixed
- Fixed Cmd+. / Ctrl+. sometimes doing nothing after the page re-rendered or removed the overlay, and one keypress toggling the overlay twice.
- Fixed duplicate overlays after reloading or updating the extension: the old copy now closes and stops answering the shortcut.
- Only one marker note input is open at a time; starting a new box saves the previous note.
@oh-my-pi/pi-coding-agent
Added
- Provider and MCP login screens (
/login, setup wizard,ompx auth-broker login, RPCopen_url) now show a Tailscale shortcut next to the local one when this machine is on a tailnet, with a hint to swaplocalhostfor the tailnet address if the final redirect lands on another device. ompx mnemopi-embed-serverserves memory embeddings over HTTP from one loaded model. Sessions use it throughmnemopi.embedServerUrl(defaulthttp://codemc:8793, override withMNEMOPI_EMBED_SERVER_URL, empty to disable), so a machine with many sessions keeps a single model in memory instead of one per session. When the server is unreachable, sessions embed locally and retry the server a minute later.
Changed
- The local memory embeddings worker (
__omp_worker_mnemopi_embed) now uses far less memory and CPU: it stays around 0.35–0.5 GB instead of 1.0–1.6 GB, a recall query takes ~0.1–0.3 s instead of ~0.4–1.4 s, and a worker left idle for 5 minutes exits and restarts on the next memory lookup. Before, every open session kept its own copy loaded until the session closed. - Compiled Linux and macOS binaries load rarely used code on first use instead of at startup. Each helper process (daemon broker, eval and embedding workers) now holds ~17 MB of private memory instead of ~105 MB, and an idle session ~270 MB instead of ~300 MB.
- Product Preview's web client (mermaid, canvas app, markdown renderer) loads when a preview starts instead of staying in every session's memory.
- Idle memory trim now also returns freed native memory to the OS (after a burst of parallel searches: ~990 MB back to ~90 MB), and when a background subagent or an unsent draft keeps the session busy at the idle deadline it tries again after another idle window instead of giving up until the next turn.
- Browser tabs left open by the agent now close after 10 minutes idle instead of 30 (
browser.idleCloseSec, new 5/10-minute options).
Fixed
- Advisor note artifacts are now written to a temp file and renamed into place. Before, the artifact path was advertised immediately while the write was still in flight, so a read could see an empty file. A block re-rendered each turn is now written only once.
- Exiting ompx inside a Herdr pane now clears the pane's agent status instead of leaving it stuck on idle/done.
- Codex models keep their prompt cache across turns and resumes:
grepis always available, and tools activated through tool search are restored when a session is resumed, so the tool list no longer changes mid-session (cache hit on a 3-turn session: ~78% → ~88%, turns after the first ~85% → ~98%, cost ~35% lower). - The shared headless Chromium no longer lingers after the agent is done with the browser: once no running session holds a tab in it, it stops ~15 s later (or at exit). Before, it kept running with zero tabs, using RAM and CPU, for as long as any ompx session stayed open in the project.
@oh-my-pi/pi-mnemopi
Changed
- Migrated all hashing operations from
node:cryptotoBun.SHA256
Fixed
- Local fastembed embeddings turn off ONNX Runtime's CPU memory arena and memory-pattern planning, stop padding every input to 512 tokens (only inputs of equal token length share a run, at most 8 per run). Vectors match to float noise; peak worker memory drops from ~1.6 GB to ~0.5 GB and a single-query embed is 2–4× faster.
@oh-my-pi/pi-natives
Added
- Added
appleFmAvailability,appleFmGenerate, andappleFmCancelnative bindings - Added
Encoding.JevtocountTokensfor offline TypeSafe Jev 1.13stateinput-token counts (request frame excluded), reconstructed from live API measurements
@oh-my-pi/pi-utils
Added
releaseNativeHeap()returns freed native-heap memory to the OS (malloc_trimon Linux glibc; a no-op elsewhere).
What's Changed
- feat(oauth): Tailscale login shortcut for remote provider login by @qtnx in #218
- fix(deps): bump faster-hex to 0.10.1 (RUSTSEC-2026-0306) by @qtnx in #219
- fix(advisor): write note artifacts atomically by @qtnx in #220
- test(learnings): wait for novelty reinforcement to persist by @qtnx in #221
- fix(herdr): release pane authority on exit so status clears by @qtnx in #222
- perf: cut ompx memory (shared lean embeddings, split binary, native heap trim) by @qtnx in #223
- fix(browser): stop idle shared Chromium when no session holds a tab by @qtnx in #225
- sync: merge upstream/main 18.2.11 into OMPx 1.11.3 by @qtnx in #224
- fix(deps): bump faster-hex to 0.10.1 for RUSTSEC-2026-0306 by @qtnx in #226
- feat(agent-config): serve central agent config from origin/main by @qtnx in #227
- fix(chrome-annotate): stabilize overlay toggle and prevent stacked overlays by @qtnx in #228
Full Changelog: v1.11.3...v1.11.4