Changelog
- 849e37c * Load zoneinfo from TZ and ZONEINFO env (#2279)
- 26fa98c Align rendering with Matrix' CommonMark guidelines
- bae4342 Feat/tool read_file by lines (#1981)
- bb2eddc Feature/add mimo provider (#1987)
- 06be65e Fix API key links for Z.AI API key and add Z.AI example
- c36b06a Fix Telegram HTML links broken by italic regex matching inside href URLs (#2164)
- efbe806 Fix bug double ,
- ba1538f Fix: cannot create session github copilot
- 4d6292c Merge branch 'main' into fix/update-assets
- f9bfa6b Merge branch 'main' into t3
- 475d377 Merge branch 'main' into t3
- 50b8d9b Merge branch 'main' into t3
- 9c28870 Merge branch 'main' into t3
- 6b9ceaa Merge branch 'sipeed:main' into main
- d805e12 Merge branch 'sipeed:main' into main
- f81269e Merge branch 'sipeed:main' into main
- 7970e2d Merge branch 'sipeed:main' into main
- 45582b0 Merge pull request #1510 from dim/matrix/improved-formatting
- a995a94 Merge pull request #1826 from 3mp3ri0r/fix/container-run-app-stopped-on-sigint-sigterm
- 664e23e Merge pull request #1828 from liuy/feat/logging-config
- 4bdf8f0 Merge pull request #1829 from perhapzz/test/add-fileutil-health-tests
- 34b4848 Merge pull request #1838 from jonahzheng/patch-1
- 4125f8a Merge pull request #1849 from gaaralbakuu/main
- a098dfb Merge pull request #1957 from lepotatoguy/web-ui-input-fix
- ffa65b5 Merge pull request #1982 from Kathent/fix-deny-pattern
- 0fb4550 Merge pull request #1988 from loafoe/main
- 5db1e94 Merge pull request #1998 from abnerhexu/main
- 174c4e5 Merge pull request #2000 from Alix-007/docs/issue-1868-cron-docs
- 187b2c2 Merge pull request #2004 from Huangting-xy/docs-add-security-config-ref
- 848f9dd Merge pull request #2014 from badgerbees/fix/context-pruning-guards
- 1dff5e6 Merge pull request #2016 from badgerbees/fix/context-overflow-errors
- 463a647 Merge pull request #2043 from apnea/main
- e6c05cb Merge pull request #2069 from Alix-007/docs/issue-1908-model-cascade
- 25ce527 Merge pull request #2070 from afjcjsbx/feat/improve-web-tools
- 9cbb4ab Merge pull request #2071 from afjcjsbx/fix/array-placeholder
- 76cd7f8 Merge pull request #2085 from lc6464/fix/chat/break-word
- 4d34824 Merge pull request #2088 from badgerbees/fix/telegram-dm-policy-security
- 415abc8 Merge pull request #2092 from badgerbees/fix/telegram-edit-timeout
- 30155c1 Merge pull request #2119 from BeaconCat/fix/update-assets
- 1154017 Merge pull request #2129 from kunalk16/chore-azure-openai-responses-tests
- 803b8bc Merge pull request #2131 from imalasong/pr/3
- a5f8b0f Merge pull request #2134 from cytown/t3
- e34c4f8 Merge pull request #2154 from cytown/logger
- 7b3f471 Merge pull request #2176 from Alix-007/fix/issue-2135-retry-after
- cbe9228 Merge pull request #2184 from cytown/config
- 073cc3f Merge pull request #2196 from SiYue-ZO/feature/tour-guide
- c7461f9 Merge pull request #2221 from Alexandersfg4/doc/option-use-markdown-v2
- 6842a41 Merge pull request #2287 from sipeed/dependabot/github_actions/actions/upload-artifact-7
- f542c92 Merge pull request #2288 from sipeed/dependabot/go_modules/github.com/rs/zerolog-1.35.0
- 0f395ce Refactor/asr tts (#1939)
- e4b104c Update helpers.go
- e23eda5 Update tests and error cases handling
- 7a1f2ab add check for gateway port and fix logger.Fatal not record issue (#2185)
- 1ef0553 add logger test case for console log format for component (#2162)
- 9ac21c5 add missing recover panic in subturn.go (#2253)
- 0bb5615 add pid file for gateway running and auth token for /reload and pico channel
- ae94893 adding test units
- d11f1bc assets: update WeChat QR code image (#2207)
- a9c76ec bug: fix picoToken is empty when gateway started by launcher (#2241)
- f3ad5d9 bug: fix typo in Makefile cause ln not work (#2301)
- 7fd6772 build(deps): bump @tanstack/react-query in /web/frontend (#2296)
- de2f2eb build(deps): bump actions/upload-artifact from 4 to 7
- fd9914d build(deps): bump github.com/aws/aws-sdk-go-v2/service/bedrockruntime (#2061)
- d844bf3 build(deps): bump github.com/github/copilot-sdk/go from 0.1.32 to 0.2.0 (#2058)
- b732abf build(deps): bump github.com/rs/zerolog from 1.34.0 to 1.35.0
- 74dfd93 build(deps): bump golang.org/x/time from 0.14.0 to 0.15.0 (#2059)
- 7dc0d02 build(deps): bump i18next from 25.8.20 to 25.10.10 in /web/frontend (#2065)
- 465baba build(deps): bump i18next from 26.0.1 to 26.0.3 in /web/frontend (#2292)
- 5c6e13e build(deps): bump modernc.org/sqlite from 1.46.1 to 1.47.0 (#2063)
- 4169eb3 build(deps): bump react-i18next from 16.6.6 to 17.0.2 in /web/frontend (#2295)
- 8aa110c build(deps): bump shadcn from 4.1.1 to 4.1.2 in /web/frontend (#2297)
- 82c78e8 build(deps): upgrade pty and reorganize sqlite dependencies (#2012)
- 8dfea24 build(deps-dev): bump eslint-plugin-react-refresh in /web/frontend (#2294)
- 5e1b6a3 build(deps-dev): bump globals from 16.5.0 to 17.4.0 in /web/frontend (#2067)
- edda02c build(web): refactor launcher build flow and expand WebUI documentation (#2174)
- 98c7836 change default debug level to warn (#2084)
- 1809d04 chore(provider): use openai responses api for azure openai endpoints (#2110)
- f07a8a8 chore(web): patch vulnerable frontend tooling dependencies (#2182)
- c783bab doc: added documentaion for use_markdown_v2
- 6b1d08f docs(configuration): add security config reference at document start
- 9f02a5f docs(providers): clarify automatic model failover cascade
- 465ca03 docs(wecom): add fr/ja/pt-br/vi translations for unified WeCom channel docs
- 4f90909 feat(bedrock): detect SSO token expiration and provide actionable error
- 6c0798c feat(channels): make Channel.Send return delivered message IDs (#2190)
- ed618e1 feat(channels): support multi-message sending via split marker (#2008)
- dc956f2 feat(config): allow placeholder text to be string or list
- 60d7ec2 feat(log): prompt tokens (#2047)
- 155af28 feat(logger): add PICOCLAW_LOG_FILE env var for file-only logging
- e70928c feat(mcp): support DisableStandaloneSSE for HTTP transport (#2108)
- b114dca feat(model): llm rate limiting (#2198)
- bbcfeaa feat(provider): add Venice AI support and update related documentation (#2238)
- ee02e30 feat(provider): add lmstudio and align local provider default auth/base handling (#2193)
- 2d85562 feat(telegram): include quoted reply context and media in inbound turns (#2200)
- 48c04e0 feat(tools) range in web_search
- 70c4714 feat(tools): add exec tool enhancement with background execution and PTY support
- 3f1ac29 feat(tools): add exec tool enhancement with background execution and PTY support (#1752)
- e88df4f feat(tools): add reaction tool and reply-aware message sends (#2156)
- 49e61fa feat(updater): robust self-update selection & extraction (nightly default) (#2201)
- 2bf842e feat(web): add service log level controls (#2227)
- c0464bd feat(web): add skill marketplace hub and registry install flow (#2246)
- ff0266a feat(web): display backend version info in sidebar (#2087)
- e075be6 feat(web): move version display to the config page header (#2273)
- 7f7b4c4 feat(web): persist dashboard token in launcher config (#2304)
- 6ea364e feat(web): protect launcher dashboard with token and SPA login (#1953)
- 3b3f95c feat(web): refine model availability states and preserve API key preview placeholder (#2226)
- f2a19ab feat(web): support image messages in pico chat (#2299)
- 7eba27c feat: add ContextManager abstraction for pluggable context management (#2203)
- b5ce620 feat: add VK channel support (#2276)
- b832746 feat: add first-time tour guide for new users
- 31afad6 feat: add load_image tool for local file vision (#2116)
- 2c446e1 feat: add userAgent config for ModelConfig (#2242)
- 5b116b0 fix comment in Makefile (#2300)
- b7f6ab7 fix conf
- 0c9e4f0 fix for FlexibleStringSlice cause picoclaw start crash issue (#2078)
- f0c0219 fix for review
- f1cb7cc fix gateway reload will cause pico stop working issue (#2082)
- e2018c4 fix lint
- 31fcf55 fix linter (#2206)
- e4893d2 fix test and lint in web (#2219)
- adf7809 fix typo in create_dmg.yml (#2255)
- 170ae09 fix windows make build error and support custom build env (#2281)
- 93f391a fix(agent): include SystemParts in token estimation and add reasoning guards
- 1a44752 fix(agent): prevent double-counting system message tokens in estimator Treat SystemParts as an alternative representation of message Content rather than an additive one. This prevents systematic overestimation of system message tokens which could trigger premature context pruning or summarization. - Picks the maximum of Content vs. SystemParts to stay conservative. - Adds a per-part overhead (20 chars) to account for JSON metadata. - Streamlines the ReasoningContent counting logic. Fixes a deficiency where structured blocks for cache-aware adapters caused overestimated budgets or hidden overflows.
- e011284 fix(agent): use light provider for routed model calls (#2038)
- f327859 fix(api): enhance model availability probing with backoff and caching mechanisms (#2231)
- 257aa0f fix(channels): fail fast when all channel startups fail (#2262)
- b5e29ae fix(chat): add break-words class to user message for better text wrapping
- d385491 fix(config): array placeholder
- 5c210e6 fix(config): disable tool feedback by default (#2026)
- e414b82 fix(cron): publish agent response to outbound bus for cron-triggered jobs (#2100)
- b6951b6 fix(dingtalk): honor mention-only groups and strip leading mentions (#2054)
- 4309554 fix(feishu): skip empty random_reaction_emoji entries
- 230942d fix(loop): polling (#2103)
- 97dec16 fix(providers): improve context overflow detection and classification
- e4f4afc fix(release): ignore nightly tags in goreleaser changelog (#1999)
- cd3f660 fix(utils): honor Retry-After for 429 retries
- dd54601 fix(web): hydrate cached Pico token for websocket proxy (#2222)
- bd56e10 fix(web): improve logs panel scroll handling (#2305)
- 93f4c4a fix(web): skills page uses theme colors for dark mode (#2166)
- a4574f7 fix(web/config): persist Discord token updates from channel settings (#2024)
- 11dec0c fix(weixin): persist context tokens to disk to survive restarts (#2124)
- 0e13f6b fix/wechat-new-protocol (#2106)
- 2a28198 fix: check json.Decode errors and use errors.New instead of fmt.Errorf
- 123b9db fix: correct struct field alignment for gci
- ae021ef fix: more accurate deny pattern for disk wiping
- 62d40a0 fix: resolve typecheck errors in loop_test.go and dingtalk_test.go (#2122)
- 27f638e fix: unified restart required (#1978)
- 2973b30 implement create dmg for macOS 10.11 & above (#2252)
- 275c101 make gateway reload use new loglevel (#2155)
- 42e3aaf make logger more clear with highlight component and use package name for default component
- 8f56cce missing ,
- 5e7545a perf: precompute BM25 index for repeated searches (#2177)
- 9375781 refactor config and add ModelConfig.Enabled
- b646d3b refactor config and security to simplified the structure (#2068)
- 1fc5345 refactor(cron): remove deliver and type params, unify agent execution path (#2147)
- dad5dcc refactor(web): load channel configs without exposing secret values (#2277)
- 33ce6ed resolve conflicts
- 8d5fc73 security: add open-by-default warning and '*' allow_from support
- 026a133 simplified duplicated code (#1935)
- 0276554 test(fileutil,health): add unit tests for WriteFileAtomic and health server
- e2a9bb9 unify all panic event to panic log file (#2250)
- 010d807 update docs according to newest config version 2 (#2186)
- d08bb02 update restart policy to unless-stopped
- 61a31df use explicit port headers before falling back to wsPort in picoWebUIAddr
- 9440beb utils: anchor date retry-after to response date and cap delay
- 7116851 utils: gofumpt http retry formatting
- 345d4fd utils: make retry-after numeric clamp overflow-safe
- b90a6d1 fix(telegram): refine duplicate-message protection with narrow error classification
Released by GoReleaser.