* origin/main:
fix: use pnpm when publishing (#8092)
Alexhancock/publish npm file format fix (#8091)
fix: iteration on the publish-npm workflow (#8087)
chore: ignore unmaintained warning for proc-macro-error (#8084)
chore: clean up stray recipe.yaml (#8086)
chore(release): bump version to 1.29.0 (minor) (#8088)
Update lockfile references (#8085)
Fix version bump (#8083)
Add a code review step which uses a short-lived provider token (#7932)
* origin/main:
fix: handle reasoning content blocks in OpenAI-compat streaming parser (#8078)
chore(acp): build native packages on latest mac (#8075)
Display delegate sub agents logs in UI (#7519)
Update tar version to avoid CVE-2026-33056 (#8073)
refactor: consolidate duplicated dependencies into workspace (#8041)
tui: set up for publishing via github actions (#8020)
feat: feature-gate local inference dependencies (#7976)
feat: ability to manage sub recipes in desktop ui (#6360)
* origin/main: (62 commits)
Tweak the release process: no more merge to main (#7994)
fix: gemini models via databricks (#8042)
feat(apps): Pass toolInfo to MCP Apps via hostContext (#7506)
fix: remove configured marker when deleting oauth provider configuration (#7887)
docs: add vmware-aiops MCP extension documentation (#8055)
Show setup instructions for ACP providers in settings modal (#8065)
deps: replace sigstore-verification with sigstore-verify to kill vulns (#8064)
feat(acp): add session/set_config and stabilize list, delete and close (#7984)
docs: Correct `gosoe` typo to `goose` (#8062)
fix: use default provider and model when provider in session no longer exists (#8035)
feat: add GOOSE_SHELL env var to configure preferred shell (#7909)
fix(desktop): fullscreen header bar + always-visible close controls (#8033)
docs: add Claude Code approve mode permission routing documentation (#7949)
chatgpt_codex: Support reasoning and gpt-5.4 (#7941)
refactor(anthropic): fix N+1 thinking message storage issue (#7958)
fix: handle mid-stream error events in OpenAI SSE streaming (#8031)
Fix apps extension: coerce string arguments from inner LLM responses (#8030)
feat: ability to expand sidebar to see chats names (#7816)
Fix config for GOOSE_MAX_BACKGROUND_TASKS (#7940)
set MACOSX_DEPLOYMENT_TARGET=12.0 (#7947)
...
* origin/main: (72 commits)
No Check do Check (#7942)
Log 500 errors and also show error for direct download (#7936)
fix: retry on authentication failure with credential refresh (#7812)
Remove java/.ai-usage-marker directory (#7925)
test(acp): add terminal delegation fixtures and fix shell singleton (#7923)
fix: bump pctx_code_mode to 0.3.0 for iterator type checking fix (#7892)
feat: persist GooseMode per-session via session DB (#7854)
feat(otel): propagate session.id to spans and log records (#7490)
fix(test): add env_lock to is_openai_reasoning_model tests (#7917)
fix(acp): pass session_id when loading extensions so skills are discovered (#7868)
updated canonical models (#7920)
feat(autovisualiser): Migrate the autovisualiser extension to MCP Apps (#7852)
fix: add tool_choice and parallel_tool_calls to chatgpt_codex provider (#7867)
fix: tool confirmation handling for multiple requests (#7856)
Remove dead OllamaSetup onboarding flow (#7861)
fix: resolve tokio::sync::Mutex deadlock in recipe retry path (#7832)
Upgrade Electron 40.6.0 → 41.0.0 (#7851)
Only show up to 50 lines of source code (#7578)
fix: stop writing without error when hitting broken pipe for goose session list (#7858)
feat(acp): add session/set_mode handler (#7801)
...
* origin/main: (29 commits)
Update to rmcp 1.1.0 (#7619)
Fix max turns configuration (#7612)
feat: add base path field to custom provider configuration (#7614)
fix: compare extension configs before skipping add_extension (#7650)
chore(release): release version 1.27.0 (minor) (#7611)
feat: better private channel detection, bot version debugging (#7680)
chore(deps): bump svgo from 3.3.2 to 3.3.3 in /documentation (#7667)
fix: only add viewable channels to bot context (#7678)
chore: added a recipe to help identify high risk change prs for testing (#7651)
fix: make sure platform binary exists (#7676)
fix(shell): replace global static output buffer with per-instance TempDir (#7632)
opt: remove timestamped config file backup (#7618)
chore(deps): bump @hono/node-server from 1.19.9 to 1.19.10 in /ui/desktop (#7662)
chore(deps): bump hono from 4.12.3 to 4.12.5 in /evals/open-model-gym/mcp-harness (#7661)
chore(deps): bump hono from 4.12.2 to 4.12.5 in /ui/desktop (#7660)
fix: resolve parameters in initial message with autosubmit (#7659)
fix: this should not be blocked (#7656)
Relax the assertion for the model list ACP test (#7653)
fix: add analyzer extension in recipe to maintain backwards compatibility (#7652)
docs: add GOOSE_INPUT_LIMIT environment variable documentation (#7299)
...
In some service mesh environments (e.g. Kubernetes with an Envoy sidecar),
all outbound HTTP must route through a local proxy rather than making direct
TCP connections to remote endpoints. Adds an optional `socket` field to
`ExtensionConfig::StreamableHttp` so connections can be routed through a
Unix domain socket, with `uri` preserved as the HTTP Host header and path.
Implements `rmcp::StreamableHttpClient` for a new `UnixSocketHttpClient`
using hyper + `tokio::net::UnixStream`, plugging into rmcp's existing
`StreamableHttpClientTransport::with_client()` extension point. Supports
both filesystem sockets and Linux abstract sockets (`@` prefix). Auth at
the transport layer (e.g. mutual TLS via the sidecar) makes OAuth retry
unnecessary on this path.
Configured via `socket: "@egress.sock"` alongside the existing `uri` field
in YAML config or the goosed API — no change for TCP-only deployments.