diff --git a/Cargo.lock b/Cargo.lock index e5fd443f6..f006c3ed3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2330,7 +2330,7 @@ dependencies = [ [[package]] name = "pi-ast" -version = "15.11.4" +version = "15.11.5" dependencies = [ "anyhow", "ast-grep-core", @@ -2398,7 +2398,7 @@ dependencies = [ [[package]] name = "pi-iso" -version = "15.11.4" +version = "15.11.5" dependencies = [ "async-trait", "libc", @@ -2410,7 +2410,7 @@ dependencies = [ [[package]] name = "pi-natives" -version = "15.11.4" +version = "15.11.5" dependencies = [ "anyhow", "arboard", @@ -2458,7 +2458,7 @@ dependencies = [ [[package]] name = "pi-shell" -version = "15.11.4" +version = "15.11.5" dependencies = [ "anyhow", "brush-builtins", diff --git a/Cargo.toml b/Cargo.toml index f51c2f766..489533d74 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,7 @@ exclude = ["crates/brush-core-vendored", "crates/brush-builtins-vendored"] resolver = "3" [workspace.package] -version = "15.11.4" +version = "15.11.5" edition = "2024" license = "MIT" authors = ["Can Boluk"] diff --git a/bun.lock b/bun.lock index d9466bce7..ab321e782 100644 --- a/bun.lock +++ b/bun.lock @@ -15,7 +15,7 @@ }, "packages/agent": { "name": "@oh-my-pi/pi-agent-core", - "version": "15.11.4", + "version": "15.11.5", "dependencies": { "@oh-my-pi/pi-ai": "catalog:", "@oh-my-pi/pi-catalog": "catalog:", @@ -32,7 +32,7 @@ }, "packages/ai": { "name": "@oh-my-pi/pi-ai", - "version": "15.11.4", + "version": "15.11.5", "dependencies": { "@bufbuild/protobuf": "catalog:", "@oh-my-pi/pi-catalog": "catalog:", @@ -47,7 +47,7 @@ }, "packages/catalog": { "name": "@oh-my-pi/pi-catalog", - "version": "15.11.4", + "version": "15.11.5", "dependencies": { "@bufbuild/protobuf": "catalog:", "@oh-my-pi/pi-utils": "catalog:", @@ -60,7 +60,7 @@ }, "packages/coding-agent": { "name": "@oh-my-pi/pi-coding-agent", - "version": "15.11.4", + "version": "15.11.5", "bin": { "omp": "src/cli.ts", }, @@ -108,7 +108,7 @@ }, "packages/hashline": { "name": "@oh-my-pi/hashline", - "version": "15.11.4", + "version": "15.11.5", "dependencies": { "diff": "catalog:", "lru-cache": "catalog:", @@ -119,7 +119,7 @@ }, "packages/mnemopi": { "name": "@oh-my-pi/pi-mnemopi", - "version": "15.11.4", + "version": "15.11.5", "bin": { "mnemopi": "src/cli.ts", }, @@ -137,7 +137,7 @@ }, "packages/natives": { "name": "@oh-my-pi/pi-natives", - "version": "15.11.4", + "version": "15.11.5", "devDependencies": { "@napi-rs/cli": "catalog:", "@types/bun": "catalog:", @@ -145,7 +145,7 @@ }, "packages/snapcompact": { "name": "@oh-my-pi/snapcompact", - "version": "15.11.4", + "version": "15.11.5", "dependencies": { "@oh-my-pi/pi-ai": "catalog:", "@oh-my-pi/pi-natives": "catalog:", @@ -157,7 +157,7 @@ }, "packages/stats": { "name": "@oh-my-pi/omp-stats", - "version": "15.11.4", + "version": "15.11.5", "bin": { "omp-stats": "./src/index.ts", }, @@ -183,7 +183,7 @@ }, "packages/swarm-extension": { "name": "@oh-my-pi/swarm-extension", - "version": "15.11.4", + "version": "15.11.5", "bin": { "omp-swarm": "src/cli.ts", }, @@ -199,7 +199,7 @@ }, "packages/tui": { "name": "@oh-my-pi/pi-tui", - "version": "15.11.4", + "version": "15.11.5", "dependencies": { "@oh-my-pi/pi-natives": "catalog:", "@oh-my-pi/pi-utils": "catalog:", @@ -240,7 +240,7 @@ }, "packages/utils": { "name": "@oh-my-pi/pi-utils", - "version": "15.11.4", + "version": "15.11.5", "dependencies": { "@oh-my-pi/pi-natives": "catalog:", "beautiful-mermaid": "catalog:", @@ -280,17 +280,17 @@ "@huggingface/transformers": "^4.2.0", "@mozilla/readability": "^0.6.0", "@napi-rs/cli": "3.7.0", - "@oh-my-pi/hashline": "15.11.4", - "@oh-my-pi/omp-stats": "15.11.4", - "@oh-my-pi/pi-agent-core": "15.11.4", - "@oh-my-pi/pi-ai": "15.11.4", - "@oh-my-pi/pi-catalog": "15.11.4", - "@oh-my-pi/pi-coding-agent": "15.11.4", - "@oh-my-pi/pi-mnemopi": "15.11.4", - "@oh-my-pi/pi-natives": "15.11.4", - "@oh-my-pi/pi-tui": "15.11.4", - "@oh-my-pi/pi-utils": "15.11.4", - "@oh-my-pi/snapcompact": "15.11.4", + "@oh-my-pi/hashline": "15.11.5", + "@oh-my-pi/omp-stats": "15.11.5", + "@oh-my-pi/pi-agent-core": "15.11.5", + "@oh-my-pi/pi-ai": "15.11.5", + "@oh-my-pi/pi-catalog": "15.11.5", + "@oh-my-pi/pi-coding-agent": "15.11.5", + "@oh-my-pi/pi-mnemopi": "15.11.5", + "@oh-my-pi/pi-natives": "15.11.5", + "@oh-my-pi/pi-tui": "15.11.5", + "@oh-my-pi/pi-utils": "15.11.5", + "@oh-my-pi/snapcompact": "15.11.5", "@opentelemetry/api": "^1.9.1", "@opentelemetry/context-async-hooks": "^2.7.1", "@opentelemetry/exporter-trace-otlp-proto": "^0.218.0", diff --git a/crates/pi-natives/src/lib.rs b/crates/pi-natives/src/lib.rs index a5ba8a9c7..b66f61257 100644 --- a/crates/pi-natives/src/lib.rs +++ b/crates/pi-natives/src/lib.rs @@ -71,7 +71,7 @@ use napi_derive::{module_init, napi}; /// MUST stay in sync with `VERSION_SENTINEL_EXPORT` in /// `packages/natives/native/index.js` (which derives the name from /// `package.json#version`). -#[napi(js_name = "__piNativesV15_11_4")] +#[napi(js_name = "__piNativesV15_11_5")] pub const fn pi_natives_version_sentinel() {} /// Native module entry point: install crash diagnostics before any tool can diff --git a/package.json b/package.json index 1f3ab165d..38d576f05 100644 --- a/package.json +++ b/package.json @@ -21,17 +21,17 @@ "@huggingface/transformers": "^4.2.0", "@mozilla/readability": "^0.6.0", "@napi-rs/cli": "3.7.0", - "@oh-my-pi/hashline": "15.11.4", - "@oh-my-pi/omp-stats": "15.11.4", - "@oh-my-pi/pi-agent-core": "15.11.4", - "@oh-my-pi/pi-ai": "15.11.4", - "@oh-my-pi/pi-catalog": "15.11.4", - "@oh-my-pi/pi-coding-agent": "15.11.4", - "@oh-my-pi/pi-mnemopi": "15.11.4", - "@oh-my-pi/pi-natives": "15.11.4", - "@oh-my-pi/pi-tui": "15.11.4", - "@oh-my-pi/pi-utils": "15.11.4", - "@oh-my-pi/snapcompact": "15.11.4", + "@oh-my-pi/hashline": "15.11.5", + "@oh-my-pi/omp-stats": "15.11.5", + "@oh-my-pi/pi-agent-core": "15.11.5", + "@oh-my-pi/pi-ai": "15.11.5", + "@oh-my-pi/pi-catalog": "15.11.5", + "@oh-my-pi/pi-coding-agent": "15.11.5", + "@oh-my-pi/pi-mnemopi": "15.11.5", + "@oh-my-pi/pi-natives": "15.11.5", + "@oh-my-pi/pi-tui": "15.11.5", + "@oh-my-pi/pi-utils": "15.11.5", + "@oh-my-pi/snapcompact": "15.11.5", "@opentelemetry/api": "^1.9.1", "@opentelemetry/context-async-hooks": "^2.7.1", "@opentelemetry/exporter-trace-otlp-proto": "^0.218.0", diff --git a/packages/agent/package.json b/packages/agent/package.json index 256a0a003..32e7c5f44 100644 --- a/packages/agent/package.json +++ b/packages/agent/package.json @@ -1,7 +1,7 @@ { "type": "module", "name": "@oh-my-pi/pi-agent-core", - "version": "15.11.4", + "version": "15.11.5", "description": "General-purpose agent with transport abstraction, state management, and attachment support", "homepage": "https://omp.sh", "author": "Can Boluk", diff --git a/packages/ai/CHANGELOG.md b/packages/ai/CHANGELOG.md index 41f664c62..6e90db630 100644 --- a/packages/ai/CHANGELOG.md +++ b/packages/ai/CHANGELOG.md @@ -2,6 +2,8 @@ ## [Unreleased] +## [15.11.5] - 2026-06-12 + ### Added - Added `AuthStorage.listUsageHistory` to retrieve historical usage snapshots with optional `provider` and `sinceMs` filtering @@ -22,9 +24,6 @@ - Fixed one-shot request-debug path handling so an explicit request log target is consumed after the next request and no longer affects subsequent calls - Fixed explicit request-debug path mode to create missing parent directories before writing request logs - Fixed explicit request-debug mode to overwrite existing `.res.log` files for the requested path instead of failing when they already exist - -### Fixed - - Fixed OpenAI Responses `previous_response_id` chaining on Zero Data Retention orgs: the in-provider retry classifier missed the ZDR-specific 400 ("Previous response cannot be used for this organization due to Zero Data Retention"), so chained turns kept failing every other request after a brief recovery — the chain was reset but not disabled, so the next successful full-replay turn re-armed it. The ZDR phrasing is now classified categorically: one strike disables chaining for the session (skipping the three-strike circuit breaker) and the in-call retry drops `store: true`/`previous_response_id` and replays the full transcript instead ([#2341](https://github.com/can1357/oh-my-pi/issues/2341)). ## [15.11.4] - 2026-06-12 @@ -3323,4 +3322,4 @@ _Dedicated to Peter's shoulder ([@steipete](https://twitter.com/steipete))_ ## [0.9.4] - 2025-11-26 -Initial release with multi-provider LLM support. \ No newline at end of file +Initial release with multi-provider LLM support. diff --git a/packages/ai/package.json b/packages/ai/package.json index 5adfc4723..808cd295c 100644 --- a/packages/ai/package.json +++ b/packages/ai/package.json @@ -1,7 +1,7 @@ { "type": "module", "name": "@oh-my-pi/pi-ai", - "version": "15.11.4", + "version": "15.11.5", "description": "Unified LLM API with automatic model discovery and provider configuration", "homepage": "https://omp.sh", "author": "Can Boluk", diff --git a/packages/catalog/package.json b/packages/catalog/package.json index ac13e2ba4..ca65ccdca 100644 --- a/packages/catalog/package.json +++ b/packages/catalog/package.json @@ -1,7 +1,7 @@ { "type": "module", "name": "@oh-my-pi/pi-catalog", - "version": "15.11.4", + "version": "15.11.5", "description": "Model catalog for omp: bundled model database, provider discovery descriptors, model identity, classification, and equivalence", "homepage": "https://omp.sh", "author": "Can Boluk", diff --git a/packages/coding-agent/CHANGELOG.md b/packages/coding-agent/CHANGELOG.md index 6c6127a55..7d32db36e 100644 --- a/packages/coding-agent/CHANGELOG.md +++ b/packages/coding-agent/CHANGELOG.md @@ -2,6 +2,12 @@ ## [Unreleased] + +### Fixed + +- Fixed the Subagents HUD order so progress updates no longer move active rows; batched subagents keep their task order. +## [15.11.5] - 2026-06-12 + ### Added - Added `codexResets.autoRedeem`, `codexResets.minBlockedMinutes`, and `codexResets.keepCredits` settings so Codex users can opt in to automatic spending of saved rate-limit resets @@ -29,21 +35,18 @@ - Compressed the `eval`, `browser`, `read`, and `irc` tool prompts (6156 → 4932 tokens o200k, −20%): deduplicated claims across sections, tightened helper reference descriptions, trimmed redundant examples; input grammar, examples, and template conditionals (`py`/`js`/`spawns`, read display modes) unchanged - Changed the Nerd Font `tool.task` icon to the Octicons tasklist glyph. -### Removed - -- Removed the todo task notes feature: `op: "note"`, the `text` payload, task `notes` state, markdown note blocks, and note rendering are no longer supported. - ### Fixed - Fixed settings search to rank matching tabs by relevance so exact matches appear before incidental matches - Fixed the `/settings` search bar ignoring regular editor hotkeys: the query is now a real single-line input with cursor movement (`←/→`, word jumps, Home/End), word deletion (`Alt+Backspace`, `Ctrl+W`), kill/yank, undo, and paste support - Fixed snapcompact `toolResults` imaging confusing models into reporting tool malfunctions: the note prepended to rasterized tool results now tells the model the result is in the PNG frame(s) below and that the image delivery is deliberate, not a tool error, instead of the bare `[Rasterized]` marker - Fixed tool-call boxes rendering "inside themselves" after slow tool runs: a pending collapsed preview that sat byte-static past the stable-prefix window (e.g. an edit's tail-window diff while the apply + LSP pass ran) had its settled head committed to native scrollback, and the result render then stranded that stale call-box fragment above the final block. Pending collapsed tool previews are now provisional (`isTranscriptBlockCommitStable`) and never enter scrollback mid-run; expanded top-anchored streams keep committing mid-stream - -### Fixed - - Fixed the higher-level Responses retry classifier to recognize OpenAI Zero Data Retention rejections (`Previous response cannot be used for this organization due to Zero Data Retention`) as stale-replay errors. The provider-level fix in `@oh-my-pi/pi-ai` covers the common case in a single turn; this layer additionally guarantees that any ZDR error that still bubbles up resets the Responses session and retries at zero backoff instead of falling back to a different model ([#2341](https://github.com/can1357/oh-my-pi/issues/2341)). +### Removed + +- Removed the todo task notes feature: `op: "note"`, the `text` payload, task `notes` state, markdown note blocks, and note rendering are no longer supported. + ## [15.11.4] - 2026-06-12 ### Added @@ -10188,4 +10191,4 @@ Initial public release. - Git branch display in footer - Message queueing during streaming responses - OAuth integration for Gmail and Google Calendar access -- HTML export with syntax highlighting and collapsible sections \ No newline at end of file +- HTML export with syntax highlighting and collapsible sections diff --git a/packages/coding-agent/package.json b/packages/coding-agent/package.json index 5c2c634d5..2c085bb43 100644 --- a/packages/coding-agent/package.json +++ b/packages/coding-agent/package.json @@ -1,7 +1,7 @@ { "type": "module", "name": "@oh-my-pi/pi-coding-agent", - "version": "15.11.4", + "version": "15.11.5", "description": "Coding agent CLI with read, bash, edit, write tools and session management", "homepage": "https://omp.sh", "author": "Can Boluk", diff --git a/packages/hashline/package.json b/packages/hashline/package.json index 53eadbcb6..91f237c6e 100644 --- a/packages/hashline/package.json +++ b/packages/hashline/package.json @@ -1,7 +1,7 @@ { "type": "module", "name": "@oh-my-pi/hashline", - "version": "15.11.4", + "version": "15.11.5", "description": "Hashline: a compact, line-anchored patch language and applier. Pluggable FS/IO so it works over disk, in-memory, or any custom backend.", "homepage": "https://omp.sh", "author": "Can Boluk", diff --git a/packages/mnemopi/package.json b/packages/mnemopi/package.json index 2646bd1fe..d5d08fc0a 100644 --- a/packages/mnemopi/package.json +++ b/packages/mnemopi/package.json @@ -1,7 +1,7 @@ { "type": "module", "name": "@oh-my-pi/pi-mnemopi", - "version": "15.11.4", + "version": "15.11.5", "description": "Local SQLite memory engine for Oh My Pi agents", "homepage": "https://omp.sh", "author": "Can Boluk", diff --git a/packages/natives/native/index.d.ts b/packages/natives/native/index.d.ts index 057e1761c..7c70ee736 100644 --- a/packages/natives/native/index.d.ts +++ b/packages/natives/native/index.d.ts @@ -136,7 +136,7 @@ export declare class Shell { * `packages/natives/native/index.js` (which derives the name from * `package.json#version`). */ -export declare function __piNativesV15_11_4(): void +export declare function __piNativesV15_11_5(): void /** * Apply conservative pre-execution rewrites to a bash command. diff --git a/packages/natives/native/index.js b/packages/natives/native/index.js index dee8fc114..f3f19c9c4 100644 --- a/packages/natives/native/index.js +++ b/packages/natives/native/index.js @@ -23,7 +23,7 @@ export const PtySession = nativeBindings.PtySession; export const Shell = nativeBindings.Shell; // functions -export const __piNativesV15_11_4 = nativeBindings.__piNativesV15_11_4; +export const __piNativesV15_11_5 = nativeBindings.__piNativesV15_11_5; export const applyBashFixups = nativeBindings.applyBashFixups; export const astEdit = nativeBindings.astEdit; export const astGrep = nativeBindings.astGrep; diff --git a/packages/natives/package.json b/packages/natives/package.json index 8826263b1..368c62031 100644 --- a/packages/natives/package.json +++ b/packages/natives/package.json @@ -1,6 +1,6 @@ { "name": "@oh-my-pi/pi-natives", - "version": "15.11.4", + "version": "15.11.5", "description": "Native Rust bindings for grep, clipboard, image processing, syntax highlighting, PTY, and shell operations via N-API", "type": "module", "homepage": "https://omp.sh", diff --git a/packages/snapcompact/package.json b/packages/snapcompact/package.json index b432f36a6..147340236 100644 --- a/packages/snapcompact/package.json +++ b/packages/snapcompact/package.json @@ -1,7 +1,7 @@ { "type": "module", "name": "@oh-my-pi/snapcompact", - "version": "15.11.4", + "version": "15.11.5", "description": "Bitmap-frame context compression for vision-capable LLMs", "homepage": "https://omp.sh", "author": "Can Boluk", diff --git a/packages/stats/package.json b/packages/stats/package.json index 94df5db48..a650b6872 100644 --- a/packages/stats/package.json +++ b/packages/stats/package.json @@ -1,7 +1,7 @@ { "type": "module", "name": "@oh-my-pi/omp-stats", - "version": "15.11.4", + "version": "15.11.5", "description": "Local observability dashboard for pi AI usage statistics", "homepage": "https://omp.sh", "author": "Can Boluk", diff --git a/packages/swarm-extension/package.json b/packages/swarm-extension/package.json index 7bc41c032..ace19f82b 100644 --- a/packages/swarm-extension/package.json +++ b/packages/swarm-extension/package.json @@ -1,7 +1,7 @@ { "type": "module", "name": "@oh-my-pi/swarm-extension", - "version": "15.11.4", + "version": "15.11.5", "description": "Swarm orchestration extension for omp", "homepage": "https://omp.sh", "author": "Derek Rynd", diff --git a/packages/tui/CHANGELOG.md b/packages/tui/CHANGELOG.md index c9f16dc4f..d3bdf91fc 100644 --- a/packages/tui/CHANGELOG.md +++ b/packages/tui/CHANGELOG.md @@ -1,6 +1,8 @@ # Changelog ## [Unreleased] + +## [15.11.5] - 2026-06-12 ### Added - Added `fuzzyRank` to return sorted matches together with a fuzzy score diff --git a/packages/tui/package.json b/packages/tui/package.json index 5fe836ba7..5f7a9dcca 100644 --- a/packages/tui/package.json +++ b/packages/tui/package.json @@ -1,7 +1,7 @@ { "type": "module", "name": "@oh-my-pi/pi-tui", - "version": "15.11.4", + "version": "15.11.5", "description": "Terminal User Interface library with differential rendering for efficient text-based applications", "homepage": "https://omp.sh", "author": "Can Boluk", diff --git a/packages/utils/package.json b/packages/utils/package.json index 7e2e29c45..9e56d99e7 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,7 +1,7 @@ { "type": "module", "name": "@oh-my-pi/pi-utils", - "version": "15.11.4", + "version": "15.11.5", "description": "Shared utilities for pi packages", "homepage": "https://omp.sh", "author": "Can Boluk",