Changelog
- afeb518 Merge pull request #5908 from SivanCola/feature/bot-channel-settings-ui
- af1d915 Merge pull request #5906 from HaoyueQin/feat/image-preview-5832
- f6f90dc Preserve pasted images in browser mock
- 92539bb fix(bot): approve pairing into connection access
- 311a613 Add image preview interaction coverage
- e76d093 feat(bot): simplify per-channel settings
- 7a95eed feat(frontend): add image preview on click in composer and messages
- 96795f9 Merge pull request #5900 from SivanCola/feature/session-title-auto-refresh
- e6b7721 Merge pull request #5895 from SivanCola/feature/deep-provider-presets
- 403bfca Fix provider preset refresh auth and modified state
- df5ee95 feat(desktop): auto-refresh session titles
- 1439618 Merge pull request #5896 from SivanCola/fix/file-ref-cache-refresh
- 0076b88 fix(frontend): refresh workspace file caches
- 99928ce Add preset conflict actions
- de1fb49 Track provider preset install state
- 5c8e238 Guard provider presets from overwriting existing config
- 68a1a47 Merge pull request #5894 from SivanCola/feature/bot-gateway-upgrades
- 0f5a7f1 fix(bot): admit role-listed users
- 4a6dcda Compact provider preset cards
- 6e6c326 fix(bot): stabilize gateway CI checks
- d30e6f1 Polish provider preset card layout
- 7c64489 docs(bot): update gateway usage guide
- 73f6223 Add curated provider preset catalog
- 95cf355 feat(bot): consolidate related gateway improvements
- 54d5fe6 fix(bot): resolve gateway review findings
- 9237eb8 feat(bot): add project session navigation commands
- 62a95e3 Merge pull request #5890 from zlwu/fix/feishu-reaction-cleanup
- a1bbcd7 feat(bot): upgrade gateway operations
- b6f0a8e Fix queued bot reaction cleanup
- 23ce2a7 Merge pull request #5893 from SivanCola/fix/subagent-bot-workspace-routing
- c880b7a Fix workspace routing for subagents and bot sessions
- 499f7f2 Merge pull request #5887 from HaoyueQin/fix/desktop-paste-block-display
- 5308691 Merge pull request #5892 from SivanCola/fix/active-goal-transient-strip
- 850c4b5 Merge remote-tracking branch 'origin/main-v2' into fix/active-goal-transient-strip
- c57062b fix(feishu): remove pending reaction emoji after turn completes
- 26e5b6a Simplify pasted block controls
- 010b761 Merge pull request #5891 from SivanCola/feature/capability-orchestrator-routing
- 519f942 test(desktop): guard active-goal history display
- d0e0d4e Merge pull request #5889 from SivanCola/fix/reasoning-language-auto-anchor
- d451290 Make pasted block expansion reversible
- 29c859b Fix capability routing CI gates
- 91035dd fix(agent): strip active-goal from user previews
- 4eb0b6e fix(agent): anchor Chinese reasoning language from raw prompts
- 3cff8c9 Fix pasted block locale parsing
- 0003bef Add capability routing hints
- b82a97d Merge pull request #5886 from SivanCola/feature/third-party-parser-hardening
- 6968f1d fix(desktop): show pasted text blocks with preview/expand in message bubbles
- ecd14ab fix: remove unused parser helpers
- 174ea10 refactor: harden parsers with maintained libraries
- c876283 Merge pull request #5884 from SivanCola/chore/math-rendering-attribution
- e02e62c chore: record math rendering attribution
- fee799a Merge pull request #5172 from liaoyl830/fix-5167-tool-schema-properties
- 1e7379c Merge main-v2 into schema properties PR
- 0b579f2 Merge pull request #5883 from SivanCola/fix/provider-explicit-temperature
- 1ea049d fix(openai): default empty tool parameters
- 8e5d9e8 fix(provider): preserve explicit zero temperature
- cba9390 Merge pull request #5882 from SivanCola/fix/bash-repeat-guard-ast
- 34ca109 Merge pull request #5881 from SivanCola/fix/acp-host-owned-permissions
- 4c7386f fix(agent): parse bash redirects in repeat guard
- 224c6e6 Merge pull request #5840 from SauronSkywalker/fix/window-controls-ui-and-context-panel-realtime
- b44e9af fix(acp): leave persistent permissions to hosts
- e7a8a13 Merge pull request #5876 from SivanCola/fix/bash-ast-shell-parsing
- 7f51ad1 Refresh context panel on usage token changes
- 8664212 fix(bash): parse shell syntax with Bash AST
- 4ec73b2 Merge pull request #5875 from SivanCola/fix/sandbox-settings-diagnostics
- acd5677 Merge pull request #5874 from SivanCola/fix/sandbox-parallel-safety-integration
- a72c392 fix: align bash sandbox unavailable messaging
- 2e15cc9 test: make sandbox write root expectations portable
- eaba743 fix: clarify sandbox write roots settings
- 157809c fix(agent): harden bash sandbox and parallel tasks
- 1447b62 Merge pull request #5871 from SivanCola/fix/planmode-safe-null-redirects
- d3b5111 fix(planmode): allow safe null redirects
- a306a07 Merge pull request #5867 from SivanCola/fix/plan-mode-read-only-commands
- 15101b8 Merge pull request #5868 from SivanCola/fix/bash-devnull-redirect-permission
- 6f989b0 fix(permission): normalize cross-shell null redirects
- 110c5ec Merge pull request #5845 from myipanta/fix/workspace-prompt-5792
- 7837083 Merge remote-tracking branch 'origin/main-v2' into fix/plan-mode-read-only-commands
- f14ce69 fix(permission): match bash safe redirects
- bfda545 test: cover workspace prompt fork and rewind
- ee20852 Add plan-mode bash read-only trust approval
- a7a256a Merge pull request #5703 from morningtzh/feat/permission-decompose-compound-bash
- 0466fef Make workspace prompt escaping test portable
- dc68694 Merge pull request #5865 from esengine/fix/desktop-release-manifest-gateway
- a102978 Escape workspace root in prompt line
- 50a658e Merge pull request #5857 from SivanCola/fix/windows-shell-cancel-hang
- 9a4f56e fix(permission): preserve compound bash exact rules
- 0663477 fix: route desktop updater via release gateway
- 7bd9c13 Merge pull request #5856 from esengine/fix/session-conflict-recovery
- 107456d Cover shell routing during rapid tab switches
- f19c00f fix(desktop): surface recovery lease failures
- 2ba719e fix(planmode): allow declared read-only bash prefixes
- 7cb64f5 Preserve direct shell session isolation
- 2014231 Merge pull request #5864 from SivanCola/codex/fix-5753-fresh-human-memory-approval
- 787fe8a fix(session): require lease before recovery switch
- 9d0890f Merge pull request #5844 from myipanta/fix/memory-yolo-test-5753
- 79efac6 Unify tracked shell cancellation paths
- 6085275 Restrict remember/forget and plan approvals to fresh human-only flow
- 61baf00 test: cover project blank session workspace binding
- 0f89cec Merge pull request #5861 from SivanCola/fix/serve-http-auth-cookie
- 6482375 fix(session): preserve malformed metadata errors
- 5f2eac7 fix(serve): keep HTTP auth cookies usable
- f61118b Stabilize Windows Git Bash cancel regression
- 8ecdc89 fix(session): add transcript CAS and runtime leases
- faab493 fix: add workspace root to system prompt for project context awareness
- d7bd736 Use real Python for Windows Git Bash cancel test
- 4e3a1ae Fix Windows Git Bash regression test path
- afa8b71 Merge pull request #5773 from GTC2080/GTC/fix-5769-stop-button
- 02702c8 Fix Windows shell cancellation for tracked process trees
- 863d07b Merge main-v2 into PR 5773
- 2b105dd Merge pull request #5854 from GTC2080/GTC/fix-yolo-project-switch
- 7902c93 fix(session): recover stale controller transcripts
- 7e2a14e fix: preserve last-click tab activation
- 7135b32 Merge pull request #5720 from GTC2080/GTC/fix-5716-creation-tool-collapse
- acc954a fix: reconcile runtime on active tab fallback
- 4e44042 Merge pull request #5852 from GTC2080/GTC/fix-block-comment-prompt
- a9928d3 Merge pull request #5847 from SivanCola/feature/desktop-system-notifications
- 74b9dd7 Merge pull request #5851 from SivanCola/fix/session-snapshot-conflict
- 1e8fc36 fix: share slash comment prompt dispatch
- ec81416 chore: credit related notification contribution
- 4b4b976 fix(desktop): avoid duplicate Windows notification fallback
- aad432d fix(session): protect explicit rewrites from stale controllers
- a6807da Merge pull request #5059 from maoxin1234/feat/zhipu-thinking
- bf24e28 fix: reconcile opened topic runtime
- 31d3b7c docs(desktop): clarify provider compatibility settings
- 63fbad0 fix: allow block comment prompts
- d2e91a8 fix(session): guard snapshots against stale overwrites
- aeb6431 chore: avoid touching cache-sensitive config
- 98ee871 feat(desktop): add system notifications for turns
- 27b8673 Merge remote-tracking branch 'origin/main-v2' into HEAD
- 912bbd8 Merge pull request #5833 from SivanCola/codex/claude-plugin-compat
- 9399758 test: add YOLO regression test for remember/forget forced approval (#5753)
- 746d068 fix: window controls white box & ContextPanel real-time data
- bd31c9e test(permission): cover heredoc, leading operator, process substitution
- f55083f fix(permission): use tagged switch for parenDepth branch (QF1003)
- 23b429d feat(permission): match compound bash commands segment-by-segment
- a87adce Merge pull request #5838 from esengine/site-registry-origin
- 573f58a Merge remote-tracking branch 'origin/main-v2' into HEAD
- b7d1e95 fix(site): point skills registry API at the live worker
- a8fcd8c Merge pull request #5808 from ying-hua/fix/provider-extra-body
- 3307be7 feat(desktop): expose provider thinking override
- 639736f fix: return failure for plugin install JSON errors
- 2c7ad49 Merge pull request #5834 from esengine/admin-unify
- eefcb09 Add provider extra body settings UI
- 02a1741 fix(provider): honor DeepSeek thinking disable config
- 0f2ce65 chore(crash-dashboard): set reasonix-registry database_id
- 9bc6344 feat: add session plugin usage command
- dbced66 Merge main-v2 into provider extra_body
- 253faa1 feat: surface plugin package usage details
- 606d782 feat(crash-dashboard): fold skill/MCP registry into the admin backend
- ad3d063 feat: expand Claude-style plugin compatibility
- ac5f37f perf(crash-dashboard): cache identity + per-module queries + indexes
- 9b5c870 Merge pull request #5791 from SivanCola/feature/session-hook-subagent-depth
- 2b29e2d docs: expand plugin CLI usage
- bafd9db docs: describe desktop plugin settings
- 8ff0b64 fix(desktop): refine local plugin install layout
- 8de3dba fix(desktop): swap plugin install actions and options
- d2ec3a1 fix(desktop): compact plugin install name field
- 9b70f12 fix(desktop): left align plugin replace option
- a71a850 fix(desktop): extend plugin local path field
- 95d06df fix(desktop): align plugin install mode layouts
- addd112 fix(desktop): unify plugin install form layout
- 08cf2b4 fix(desktop): unify plugin install action label
- 052708f Support provider extra_body
- 554e881 fix(desktop): clarify plugin link mode
- 4e6db19 fix(desktop): clarify plugin replacement option
- 044936c refactor(desktop): simplify plugin install settings
- 48f9b94 feat(desktop): add plugin folder picker
- 8ac66a4 fix(history): satisfy around clamp lint
- b99c08a feat(desktop): add plugin settings page
- 61e943b fix(history): clamp around window without overflow
- 9e9d9e6 Merge pull request #5801 from esengine/docs/website-docs-refresh
- f7c6048 Refresh website documentation page
- 42ee48f feat(plugin): add unified plugin packages
- 6acdf3e test(control): wait for edited prompt autosave
- 5d63d8e fix(agent): satisfy hook context lint
- 26ef771 feat(agent): support hook context and nested subagents
- bf53799 Merge pull request #5786 from SivanCola/feature/mouse-capture-toggle
- ee9d976 feat(cli): auto-copy mouse selection and add mouse-capture toggle
- d5ba463 Merge pull request #5774 from SivanCola/fix/windows-classic-drag-rail
- 4762cd3 fix(desktop): add Windows classic drag rail
- 9838a27 fix: keep stop state when switching to running tabs
- ef1d287 fix(desktop): hide collapsed creation tool bodies
- 5b81feb fix(provider): include empty properties in tool schemas (#5167)
- c58805a docs: add reasoning-controls-by-provider reference
- 44876d2 feat(provider): generic thinking toggle + DeepSeek disable
- 8ecdf39 feat(provider): add Zhipu GLM thinking-mode support