Changelog
- [f062cb] 1
- [1055e0] Add MCP section to config web UI (#2770)
- [bdaff5] Add pretty_print and disable_escape_html to tool_feedback defaults
- [569939] Fix stop_mqtt_channel
- [2287de] Linter fixed
- [c731ec] Merge branch 'main' into fix/gemini-mcp-schema-sanitization
- [6e6293] Merge pull request [#2158] from afjcjsbx/feat/agent-discovery-prompt
- [01280e] Merge pull request [#2413] from ex-takashima/refactor/line-sdk
- [658961] Merge pull request [#2531] from is-Xiaoen/feat/delegate-tool
- [306f96] Merge pull request [#2645] from loafoe/feat/bedrock-streaming
- [272dee] Merge pull request [#2669] from david1gp/fix/network-error-retry
- [ba4abf] Merge pull request [#2670] from david1gp/fix/tool-feedback-pretty-print
- [be67ae] Merge pull request [#2677] from alexhoshina/feat/runtime-events-plan
- [828a7c] Merge pull request [#2681] from afjcjsbx/fix/gemini-mcp-schema-sanitization
- [f4a5d6] Merge pull request [#2682] from dtapps/fix/docs-agent-defaults-model-format
- [8508f8] Merge pull request [#2705] from hehaijunandhenry/main
- [490d90] Merge pull request [#2717] from LiusCraft/feat/deepseek-vision-unsupported-error
- [7dc784] Merge pull request [#2719] from loafoe/feat/slack-webhook-channel
- [574595] Merge pull request [#2731] from sipeed/dependabot/go_modules/github.com/aws/aws-sdk-go-v2/service/bedrockruntime-1.50.6
- [4e8bd7] Merge pull request [#2735] from sipeed/dependabot/go_modules/github.com/aws/aws-sdk-go-v2/config-1.32.17
- [f7d25c] Merge pull request [#2741] from lc6464/fix/deepseek-stream-reasoning-content
- [777269] Merge pull request [#2758] from bogdanovich/codex/telegram-media-groups
- [788cda] Merge pull request [#2762] from afjcjsbx/feat/stop-command
- [71c498] Merge pull request [#2764] from alexhoshina/main
- [0df050] Merge pull request [#2766] from SiYue-ZO/docs/v3-config-format-sync
- [eb4e18] Merge pull request [#2767] from afjcjsbx/fix/leaf-summary-target-validation
- [0129da] Merge pull request [#2773] from zhangxinping666/codex/fix-telegram-svg-media
- [894c62] Merge pull request [#2783] from zhangxinping666/codex/fix-reload-voice-media-store
- [2834db] Merge pull request [#2801] from sipeed/dependabot/go_modules/github.com/google/jsonschema-go-0.4.3
- [6817aa] Merge pull request [#2811] from afjcjsbx/fix/mcp-streamable-http-support
- [f571a1] Merge pull request [#2823] from bogdanovich/fix/parent-session-tool-feedback-cleanup
- [af9016] Merge pull request [#2828] from bogdanovich/fix/queued-voice-followups
- [eb0653] Merge pull request [#2857] from afjcjsbx/feat/edit-file-diff-preview
- [c62a9b] Merge pull request [#2862] from lc6464/fix/mimo-reasoning-history-replay
- [33f9d6] Merge pull request [#2891] from SiYue-ZO/feat/factory-reset
- [87ee76] Merge remote-tracking branch 'origin/fix/gemini-mcp-schema-sanitization' into fix/gemini-mcp-schema-sanitization
- [188ee2] Merge remote-tracking branch 'origin/main' into refactor/line-sdk
- [5b0c9e] Merge remote-tracking branch 'origin/main' into refactor/line-sdk
- [e7c0dc] Merge remote-tracking branch 'remotes/upstream/main'
- [6f6270] Merge upstream/main into feat/agent-discovery-prompt
- [9f0f91] Merge upstream/main into feat/delegate-tool
- [5c0492] add MQTT channel support
- [4ddd65] align ToolFeedbackConfig field spacing
- [f4338d] build(deps): bump @tabler/icons-react in /web/frontend (#2806)
- [e3a05b] build(deps): bump @tailwindcss/vite from 4.2.2 to 4.2.4 in /web/frontend (#2734)
- [00742b] build(deps): bump @tanstack/react-router in /web/frontend (#2733)
- [d0ab5a] build(deps): bump fyne.io/systray from 1.12.0 to 1.12.1 (#2803)
- [eec443] build(deps): bump github.com/adhocore/gronx from 1.19.6 to 1.19.7 (#2868)
- [b792d8] build(deps): bump github.com/aws/aws-sdk-go-v2/config
- [330aa2] build(deps): bump github.com/aws/aws-sdk-go-v2/service/bedrockruntime
- [e94810] build(deps): bump github.com/google/jsonschema-go from 0.4.2 to 0.4.3
- [0977f5] build(deps): bump github.com/larksuite/oapi-sdk-go/v3 (#2736)
- [89631b] build(deps): bump github.com/larksuite/oapi-sdk-go/v3 (#2864)
- [2f8429] build(deps): bump github.com/mymmrac/telego from 1.8.0 to 1.9.0 (#2866)
- [dc41c9] build(deps): bump golang.org/x/net from 0.53.0 to 0.54.0 (#2867)
- [041949] build(deps): bump i18next from 26.0.7 to 26.0.8 in /web/frontend (#2732)
- [3788e9] build(deps): bump i18next from 26.0.8 to 26.0.10 in /web/frontend (#2809)
- [8ab455] build(deps): bump jotai from 2.19.1 to 2.20.0 in /web/frontend (#2869)
- [4db116] build(deps): bump modernc.org/sqlite from 1.48.2 to 1.50.1 (#2863)
- [c2044e] build(deps): bump react-i18next from 17.0.4 to 17.0.6 in /web/frontend (#2808)
- [b7edd3] build(deps): bump shadcn from 4.3.0 to 4.7.0 in /web/frontend (#2804)
- [c0bc8a] build(deps): bump tailwindcss from 4.2.2 to 4.2.4 in /web/frontend (#2729)
- [215d98] build(deps): bump tailwindcss from 4.2.4 to 4.3.0 in /web/frontend (#2872)
- [b22562] build(deps): update @tailwindcss/vite to 4.3.0 (#2876)
- [7c8cd7] build(deps-dev): bump globals from 17.5.0 to 17.6.0 in /web/frontend (#2807)
- [a4abbf] build(deps-dev): bump prettier-plugin-tailwindcss in /web/frontend (#2870)
- [864bfa] build(deps-dev): bump typescript-eslint in /web/frontend (#2730)
- [dab839] build(deps-dev): bump typescript-eslint in /web/frontend (#2871)
- [d8385c] build(deps-dev): bump vite from 8.0.10 to 8.0.13 in /web/frontend (#2865)
- [1c25dc] build(go): bump Go to 1.25.10 to fix stdlib vulnerabilities (#2818)
- [32c8b8] chore(config): add default values for max_llm_retries and llm_retry_backoff_secs
- [07748b] chore: revert unrelated golines formatting
- [a94ba8] chore: update WeChat group QR code (#2747)
- [bfb2b3] chore: update slack-go to v0.23.1 (#2875)
- [ffe091] docs(cli): mention streamable-http in mcp add transport help
- [fce800] docs(events): align hook design with runtime observation
- [f4a246] docs(events): remove stale subturn event names
- [0ac870] docs(tests): document integration test strategy
- [c47f5f] feat(agent): add TargetAgentID to SubTurnConfig for cross-agent delegation
- [3b173c] feat(agent): add multi-agent discovery prompt and per-agent
- [06fad9] feat(agent): add network error retry with configurable max retries and backoff
- [bcc3d4] feat(agent): add pretty_print and disable_escape_html options for tool feedback
- [a0245c] feat(agent): stop command
- [f3ef70] feat(agent): stop command
- [039f35] feat(agent): wire delegate tool registration for multi-agent setups
- [f53222] feat(api): add POST /api/config/reset endpoint
- [ad5232] feat(bedrock): implement StreamingProvider for real-time token streaming
- [b12f03] feat(channels): add slack_webhook channel
- [789f90] feat(chat): add independent code block copy and collapse controls (#2882)
- [b7db05] feat(chat,seahorse): persist and display model_name across history (#2897)
- [d61902] feat(config): add ResetToDefaults and CLI
config resetcommand - [b3d9f8] feat(events): add configurable runtime event logging
- [eedeba] feat(events): add runtime event bus
- [8caf9a] feat(events): publish runtime service events
- [3f6531] feat(frontend): add factory reset button with confirmation dialog
- [e61325] feat(gateway): publish lifecycle runtime events
- [96621e] feat(i18n): add Portuguese (Brazil) locale (#2037)
- [578762] feat(provider): add SiliconFlow provider support (#2885)
- [5bbebb] feat(provider): add gpt4free openai-compatible provider (#2909)
- [81a050] feat(provider,web,asr): enhance model management with explicit provider metadata (#2701)
- [794eb0] feat(providers): add gemini web search provider (#2763)
- [cd7717] feat(tool): tool schema semplification
- [484ef3] feat(tools): add delegate tool for synchronous cross-agent task handoff
- [4a81f0] feat(tools): show unified diff for edit_file edits
- [941bac] feat(web): add chat detail visibility selector (#2886)
- [f6190b] feat(web,api): fetch models and saved catalog support (#2832)
- [d2c0b6] feat(web,api): provider selection and model form foundation (#2831)
- [604187] feat(web,api): test connection with real connectivity verification (#2833)
- [1722cf] feat: add DeepSeek vision unsupported error detection
- [2992ec] feat: add request-scoped context policies (#2914)
- [b3a7b7] feat: agent self evolution (#2847)
- [639b32] feat: support streaming (#2892)
- [97b1c3] fix duplicate toolFeedbackArgsPreview function declaration
- [bca131] fix lint
- [ec21dd] fix lint
- [4eeb69] fix lint
- [4d6337] fix runtime event logger reload and shutdown
- [09d3df] fix telegram media group album handling
- [7a1f5f] fix test
- [23df82] fix test
- [7b3e80] fix test
- [e0370a] fix test
- [9bc702] fix test: enable pretty_print in tool feedback test
- [dd8e24] fix(agent): align MCP prompt registration with tool allowlist
- [610e9e] fix(agent): dismiss session tool feedback on skipped outbound
- [d63430] fix(agent): don't arm pending stop when /stop targets idle session
- [a7e52e] fix(agent): drain scoped follow-up queue when pending stop skips turn startup
- [409251] fix(agent): fail closed on invalid AGENT frontmatter
- [abeb2d] fix(agent): fall back to first AGENT line for discovery
- [b8f425] fix(agent): filter discovery by spawn permissions
- [148583] fix(agent): hide discovery when spawn is unavailable
- [e7e21d] fix(agent): honor explicit thinking off (#2898)
- [f5f1dc] fix(agent): load only allowed MCP servers
- [96fd88] fix(agent): match MCP server allowlists case-insensitively
- [38baf1] fix(agent): normalize nil args and improve error handling in FormatArgsJSON
- [e1ed47] fix(agent): remove unused scheduled helper
- [ffa184] fix(agent): resolve primary provider from frontmatter model
- [d601b7] fix(agent): send SVG attachments as files
- [c6a09a] fix(agent): suppress MCP discovery when no servers are selectable
- [836220] fix(agent): transcribe queued voice follow-ups
- [2ae25b] fix(agent): treat empty AGENT.md tools as allow none
- [057683] fix(agent): use runtime event kind for LLM retry
- [27bd81] fix(agent): validate AGENT tool declarations from registry
- [765a16] fix(agent): warn on unknown frontmatter capabilities
- [703f63] fix(ci): define golang image and volumes for integration-runner
- [6dd30a] fix(ci): ensure go binary resolution and correct command execution
- [612097] fix(config): align gci formatting for LLM retry fields
- [d2f6a0] fix(config): align gci formatting for MaxLLMRetries field
- [1b2f8a] fix(config): align indentation for new LLM retry default fields
- [f0dc70] fix(config): fix golines max-len for MaxLLMRetries field
- [68e572] fix(config): make load_image configurable (#2879)
- [d5c8bf] fix(docs): correct Baidu Search free tier from 1000/day to 1500/month (#2784) (#2825)
- [78fd08] fix(events): keep runtime observers non-blocking
- [91f024] fix(gateway): keep media store aligned after reload
- [f55d7a] fix(i18n): sync locale strings for model provider UI (#2911)
- [ffb824] fix(integration): docker runner workspace mounts and go command path
- [4edbc7] fix(integration): execute suite commands directly in docker runner
- [6d7d1b] fix(line): capture QuoteToken for all message types and handle location
- [9b7fc7] fix(line): classify SDK errors with HTTP status and add client timeout
- [ad78ba] fix(line): close HTTP response body from WithHttpInfo calls
- [bacb9a] fix(line): close response body on successful SendMedia calls
- [ffc8bd] fix(mcp): normalize streamable-http before config validation
- [1ff8a4] fix(mcp): sanitize MCP tool schemas for Gemini function calling
- [6e8590] fix(mcp): support streamable HTTP alias and request-response mode
- [6ae7dc] fix(openai_compat): align MiMo reasoning replay with DeepSeek
- [10f446] fix(openai_compat): parse SSE events and reasoning variants in streams
- [b00ff5] fix(openai_compat): parse reasoning_content in streaming responses
- [412705] fix(pico): preserve image media across pico attachments and client (#2874)
- [cb5d33] fix(powershell): windows security enhancement, sec deny powershell encoding bypass via iex inje… (#2836)
- [7a8d7f] fix(scripts): allow command expansion in integration runner
- [a1b55f] fix(seahorse): enforce target token thresholds for leaf summaries
- [6801cc] fix(telegram): wrap long voice media append
- [131f33] fix(tests): add t.Parallel() to mcp streamable subtests
- [870484] fix(tools) diff preview for files without trailing newline
- [56cca3] fix(tools) limit edit diff preview size for user and model
- [871892] fix(tools): exempt MCP discovery tools from agent allowlists
- [df486b] fix(tools): normalize agent_id before self-check and delegation
- [30938d] fix(web): use stored API key when fetching models for saved providers (#2910)
- [4d3070] fix(web): 兼容 HTTP 环境复制按钮 (#2712)
- [e656dd] fix: align struct tag spacing in AgentDefaults config
- [8dca2a] fix: improve error handling and nil consistency in FormatArgsJSON
- [847218] refactor(agent): added mcp allowlist
- [0ef25f] refactor(agent): move delegation details out of discovery prompt
- [6ee661] refactor(agent): simplify delegate registration gate
- [6429f6] refactor(agent): source discovery identity from AGENT.md frontmatter
- [795ee3] refactor(events): emit agent runtime events directly
- [b954e6] refactor(events): remove legacy agent event bus
- [b2249d] refactor(events): split agent event payload types
- [d9717b] refactor(events): start runtime event consumer migration
- [fe51cd] refactor(line): use official LINE Bot SDK v8
- [548dc1] refactor(models): unify provider metadata around backend catalog (#2896)
- [f1f6e1] removed unused code
- [41d615] style(line): shorten long line for golines linter
- [3c4523] test(agent): add unit tests for network error retry backoff strategy
- [a34120] test(agent): assert child turn uses target agent model
- [a3edbc] test(agent): satisfy lint for tool feedback cleanup
- [c8335b] test(agent): verify TargetAgentID resolves to correct agent instance
- [b03fa6] test(bedrock): add unit tests for ChatStream/parseStreamResponse
- [dc80e8] test(events): migrate agent tests to runtime events
- [6e8a81] test(events): prefer runtime hook observation
- [0ff78f] test(tools): add delegate tool unit tests
- [6db17b] test(tools): verify normalization prevents self-delegation bypass
- [fc89fe] test(utils): add unit tests for FormatArgsJSON
Released by GoReleaser.