github sipeed/picoclaw v0.2.4

8 hours ago

Changelog

  • 14a28ae docs: note that workspace config files are hot-reloaded (#1747)
  • 2fec249 refactor(agent): improve SubTurn error handling and logging
  • 3293220 Add configurable logger
  • 92b7687 Add configurable logger
  • 647071d Add default value for config
  • f35516c Add default value for config
  • f79469c Add model-native search (prefer_native) for OpenAI/Codex (#1618)
  • b24c577 Add security config to ExtraBody round-trip test
  • be6bf9f Add virtual model support for multi-key expansion
  • e05d262 Added tests to verify SubTurn context cancellation behavior when parent finishes early - identified need for Critical+heartbeat+timeout mechanism.
  • 9d761b7 Delete .claude/settings.json
  • 009a8d7 Feat/feishu card parsing (#1534)
  • 899558b Feat/issue 1218 agent md context structure (#1705)
  • b23a6b3 Feat/move weixin login to auth and update docs (#1945)
  • 828971d Feat/qq local file upload (#1722)
  • 75d8672 Feat/wecom aibot processing message config (#1785)
  • dd82794 Feat/weixin openclaw port (#1873)
  • 75270c4 Fix 1886 media cleanup policy (#1887)
  • d4e56bc Fix lint
  • 6bd8fec Fix security config precedence during migration (#1984)
  • 073ae48 Fix spelling
  • e3cc5b1 Fix the limitation on the number of tables in cards caused by Feishu (#1736)
  • 8b6cbd9 Fix: Prevent security.yml from being overwritten during config migration (#1966)
  • 9a25fad Implement the latest long-connection mode for the WeCom AI Bot. (#1295)
  • 0459dec Initial plan
  • 4c8526d Merge branch 'feat-configurable-logger' of https://github.com/kunalk16/picoclaw into feat-configurable-logger
  • 7767feb Merge branch 'feat/provider-extra-body-config' of github.com:uiYzzi/picoclaw into feat/provider-extra-body-config
  • 02393b3 Merge branch 'feat/provider-extra-body-config' of github.com:uiYzzi/picoclaw into feat/provider-extra-body-config
  • 3791f06 Merge branch 'main' into feat/markdown-output-format-web-fetch
  • 13d4801 Merge branch 'main' into feat/markdown-output-format-web-fetch
  • 9835e82 Merge branch 'main' into feat/markdown-output-format-web-fetch
  • 6a5a4a5 Merge branch 'main' into feat/provider-extra-body-config
  • d3ba400 Merge branch 'main' into feat/skill-channel-commands
  • 583c586 Merge branch 'main' into feat/subturn-poc
  • 4f646ef Merge branch 'main' into feat/subturn-poc
  • 4398e3e Merge branch 'main' into fix-doc
  • 317c70a Merge branch 'main' into fix/1323-telegram-endless-typing
  • fddfd56 Merge branch 'main' into fix/binary-tool-output-handling
  • 14a4983 Merge branch 'main' into fix/binary-tool-output-handling
  • 5a8aab8 Merge branch 'main' into version
  • cfd3a1b Merge branch 'main' into version
  • 36f9d20 Merge branch 'main' into version
  • 7c854fe Merge branch 'main' into version
  • 94fcb25 Merge branch 'main' into version
  • 284ced1 Merge branch 'main' into version
  • 927958e Merge branch 'main' into version
  • 7bf4831 Merge branch 'main' into version
  • 6508271 Merge branch 'main' of https://github.com/sipeed/picoclaw into feat-configurable-logger
  • 8490084 Merge branch 'main' of https://github.com/sipeed/picoclaw into feat-configurable-logger
  • 7ba8682 Merge branch 'refactor/agent' into feat/subturn-poc
  • c732e63 Merge branch 'upstream-main' into feat/subturn-poc
  • 532ea4b Merge branch 'upstream-main' into feat/subturn-poc
  • 1bd144a Merge branch 'upstream-main' into feat/subturn-poc
  • 54889f2 Merge branch 'upstream-main' into feat/subturn-poc
  • c18d8a2 Merge branch 'upstream-main' into feat/subturn-poc
  • 24d6cb5 Merge branch 'upstream-main' into feat/subturn-poc
  • 431a53c Merge branch 'upstream-main' into feat/subturn-poc
  • e801ccb Merge branch 'upstream-main' into feat/subturn-poc
  • cff9065 Merge pull request #1352 from cytown/version
  • bd4317f Merge pull request #1390 from kiannidev/fix/1323-telegram-endless-typing
  • 74f2a15 Merge pull request #1479 from securityguy/fix/claude-cli-error-surfacing
  • 5e92a38 Merge pull request #1490 from is-Xiaoen/refactor/context-boundary
  • 79b0568 Merge pull request #1536 from alexhoshina/fix/allow-picoclaw-media-tempdir
  • dfafdf7 Merge pull request #1570 from alexhoshina/fix/cron-deliver-default-false
  • c0bb8d6 Merge pull request #1617 from yzxlr/codex/fix-1561-heartbeat-template-idle
  • cefa140 Merge pull request #1622 from afjcjsbx/feat/markdown-output-format-web-fetch
  • 729a878 Merge pull request #1636 from lppp04808/feat/subturn-poc
  • f901218 Merge pull request #1640 from argobell/main
  • 2f61440 Merge pull request #1645 from dimonb/fix/mask-bot-tokens-in-logger
  • 8a8cc35 Merge pull request #1663 from hyperwd/fix/glm-nil-input
  • 11a7ee5 Merge pull request #1690 from Alix-007/docs/issue-529-exec-guard-limitations
  • 513537d Merge pull request #1702 from Alix-007/fix/issue-1153-model-round-robin-cleanbase
  • 7bf12c3 Merge pull request #1710 from liuy/fix/cron-test-subscribe-outbound
  • 8a188cf Merge pull request #1759 from afjcjsbx/docs/add-italian-language
  • 7a47d7a Merge pull request #1782 from biisal/chore/docker-data-in-gitignore
  • 71ce219 Merge pull request #1798 from sipeed/dependabot/github_actions/goreleaser/goreleaser-action-7
  • ffe0289 Merge pull request #1799 from sipeed/dependabot/github_actions/docker/setup-qemu-action-4
  • 100720b Merge pull request #1818 from Alix-007/fix/issue-1815-empty-response-message
  • 54de9ad Merge pull request #1822 from alexhoshina/feat/agent-eventbus
  • 73a683f Merge pull request #1827 from alexhoshina/refactor/agent-loop
  • 75cfee4 Merge pull request #1832 from taorye/main
  • 04def0f Merge pull request #1844 from afjcjsbx/fix/scope-steering
  • 931eee9 Merge pull request #1853 from kunalk16/feat-configurable-logger
  • e6ea9c4 Merge pull request #1855 from badgerbees/fix/telegram-group-id-validation
  • 9107740 Merge pull request #1857 from lc6464/main
  • 5286464 Merge pull request #1861 from amirmamaghani/feat/agent-browser-skill-heavy-dockerfile
  • 0432fac Merge pull request #1863 from alexhoshina/feat/hook-manager
  • 3cd674e Merge pull request #1865 from sipeed/revert-1752-feat/exec-tool-enhancement
  • 3a61892 Merge pull request #1875 from BeaconCat/docs/readme-restructure-v2
  • e7ee80f Merge pull request #1878 from uiYzzi/feat/provider-extra-body-config
  • 2f6f25d Merge pull request #1882 from lc6464/frontend-fix
  • 809aef8 Merge pull request #1885 from alexhoshina/fix-1884-qq-long-audio-file-fallback
  • 2a0efb6 Merge pull request #1889 from afjcjsbx/fix/binary-tool-output-handling
  • 3500080 Merge pull request #1891 from RussellLuo/audio-transcription
  • 054b55f Merge pull request #1893 from afjcjsbx/feat/skill-channel-commands
  • 4d84bd9 Merge pull request #1894 from sipeed/refactor/agent
  • 2c48cd3 Merge pull request #1907 from xiwuqi/wuxi/fix-reasoning-channel-content
  • c328562 Merge pull request #1918 from cytown/panic
  • 96e3126 Merge pull request #1926 from cytown/fix
  • 4057199 Merge pull request #1930 from uiYzzi/feat/filter-sensitive-data-from-tool-results
  • 69cf934 Merge pull request #1938 from huaaudio/fix/weixin-load
  • 3d20976 Merge pull request #1948 from cytown/fix-doc
  • 1b9445b Merge pull request #1955 from alexhoshina/refactor/wecom
  • ff50ffa Merge pull request #1962 from wj-xiao/fix/configure-pico-channel
  • 8da0638 Merge pull request #1976 from alexhoshina/refactor/wecom
  • eee74f3 Merge pull request #1977 from uiYzzi/fix/virtual-models-bug
  • aa9bd69 Merge pull request #1985 from wj-xiao/refactor/split-systray
  • 5f50ae5 Merge pull request #1997 from wj-xiao/fix/freebsd-build
  • 440bc26 Merge remote branch fix/1323-telegram-endless-typing
  • e00a3d9 Merge upstream/main into feat/subturn-poc
  • 310358d Merge upstream/main into fix/1323-telegram-endless-typing
  • 608ec6d Move minimax reasoning_split injection to provider factory
  • 53c6dd3 Move minimax reasoning_split injection to provider factory
  • de0364c Move minimax reasoning_split injection to provider factory
  • 998b456 Remove UI components and gateway management for picoclaw-launcher-tui
  • 12c0132 Remove redundant Darwin tray stub (#1694)
  • ebcd564 Revert "feat(tools): add exec tool enhancement with background execution and …"
  • cf80ec8 Update config_test.go
  • b6c5f58 Update qrcode of wechat group (#1744)
  • d1d2155 Use ModelName instead of Model in test config structs
  • 79df938 Use getter/setter methods for API key access in ModelConfig
  • 2d9517c Use getter/setter methods for API key access in ModelConfig
  • fa5ab72 WeChat Web QR Code Integration (#1961)
  • e414234 add systray ui for all platform (#1649)
  • 7359b2c add testcase for migrate from v0 to v1
  • d921bbb bug fix for security initial cause can't save model in launcher (#1952)
  • afe22c5 bug fix: gateway should not start when gateway server is not running (#1562)
  • 0499cda build: use WEB_GO for web targets and preserve backend dist directory (#1671)
  • 40279c8 chore(config): move loglevel settings under gateway (#1912)
  • 77d0c67 chore(deps): bump @tabler/icons-react in /web/frontend (#1803)
  • 4178b2c chore(deps): bump @tanstack/react-router in /web/frontend (#1609)
  • 68d182a chore(deps): bump Go toolchain to 1.25.8 for stdlib security fixes (#1821)
  • f247c3b chore(deps): bump actions/setup-go from 5 to 6 (#1600)
  • 44ac304 chore(deps): bump actions/setup-node from 4 to 6 (#1597)
  • 99304d1 chore(deps): bump dayjs from 1.11.19 to 1.11.20 in /web/frontend (#1608)
  • b7b8d1e chore(deps): bump docker/build-push-action from 6 to 7 (#1602)
  • 0c94e6f chore(deps): bump docker/login-action from 3 to 4 (#1604)
  • 4d4243b chore(deps): bump docker/setup-buildx-action from 3 to 4 (#1595)
  • 876898f chore(deps): bump docker/setup-qemu-action from 3 to 4
  • 2f40a8c chore(deps): bump github.com/anthropics/anthropic-sdk-go (#1601)
  • e9d240d chore(deps): bump github.com/caarlos0/env/v11 from 11.3.1 to 11.4.0 (#1599)
  • 80d9a90 chore(deps): bump github.com/ergochat/irc-go from 0.5.0 to 0.6.0 (#1800)
  • 43eb6fe chore(deps): bump github.com/github/copilot-sdk/go from 0.1.23 to 0.1.32 (#1603)
  • dd93630 chore(deps): bump github.com/mymmrac/telego from 1.6.0 to 1.7.0 (#1598)
  • 45c01f4 chore(deps): bump golang.org/x/oauth2 from 0.35.0 to 0.36.0 (#1596)
  • 5ada0df chore(deps): bump goreleaser/goreleaser-action from 6 to 7
  • b8dfd0b chore(deps): bump jotai from 2.18.0 to 2.18.1 in /web/frontend (#1605)
  • c9ac19c chore(deps): bump maunium.net/go/mautrix from 0.26.3 to 0.26.4 (#1805)
  • 3bf8a27 chore(deps): bump react-i18next from 16.5.4 to 16.5.8 in /web/frontend (#1607)
  • 1fd6dd1 chore(deps): bump shadcn from 4.0.5 to 4.0.8 in /web/frontend (#1808)
  • cff85cf chore(deps): bump tailwindcss from 4.2.1 to 4.2.2 in /web/frontend (#1809)
  • bda18f5 chore(deps): upgrade eslint dependency chain to resolve flatted vulnerability (#1820)
  • fe87376 chore(deps): upgrade modelcontextprotocol go-sdk to v1.4.1 for security fixes (#1823)
  • 736baf2 chore(deps-dev): bump @types/node in /web/frontend (#1806)
  • a93bd01 chore(deps-dev): bump @vitejs/plugin-react in /web/frontend (#1606)
  • 8a488ee chore(deps-dev): bump typescript-eslint in /web/frontend (#1807)
  • ee03d12 chore(tui): add build target for picoclaw-launcher TUI and create README for TUI launcher (#1995)
  • c806598 chore(web): upgrade eslint deps to resolve flatted vulnerability (#1629)
  • 41ebe1e chore: Ignore the docker/data directory.
  • 77d4716 config: add baidu_search example to config.example.json (#1990)
  • 08259d7 docs(agent-refactor): add context.md for Track 6 boundary clarification
  • da1fddc docs(exec): document build tool guard limitation
  • 6148ccc docs(feishu): note that Feishu channel does not support 32-bit devices (#1851)
  • 9978c95 docs(hooks): inline and translate hook examples
  • 5790d3e docs(it): add model command to CLI Reference
  • 7f16365 docs(matrix): Update docs
  • 92678d1 docs(voice): Update docs for audio-transcription
  • 94fe54b docs(wecom): align docs with unified channel
  • b0bcf1d docs(wecom): update examples and docs
  • 1236dd9 feat(agent): add concurrency semaphore and hard abort for SubTurn
  • 337e43e feat(agent): add configurable hook mounting
  • af61d0b feat(agent): add event bus foundation
  • cf68c91 feat(agent): add hook manager foundation
  • acd436a feat(agent): add session state rollback on hard abort
  • 0e075f7 feat(agent): centralize turn lifecycle and continue queued steering
  • 57cde73 feat(agent): expand event bus coverage
  • 777230d feat(agent): implement /subagents command and fix sub-turn observability
  • f8defe3 feat(agent): implement graceful finish vs hard abort for SubTurn lifecycle
  • c639e2c feat(agent): include current sender in dynamic context (#1696)
  • 50cc710 feat(agent): make event logs show event kind clearly
  • ae23193 feat(agent): port subturn PoC to refactor/agent branch
  • 021aa7d feat(agent): steering (#1517)
  • ceeae15 feat(agent): wire SubTurn into AgentLoop and Spawn Tool
  • e760cb7 feat(auth): add wecom cli qr login
  • adf1a57 feat(config): add command pattern detection tool in exec settings (#1971)
  • 7b9fdae feat(config): add exec controls and gate cron commands on exec settings (#1685)
  • e35906b feat(config): expose context_window in example config and web UI
  • e73d9d9 feat(config): support multiple API keys for failover (#1707)
  • 2f10b47 feat(credential): part1 add AES-GCM encryption, SecureStore, and onboard ke… (#1521)
  • f776611 feat(cron): refactor scheduler to event-driven model and add unit tests (#1313)
  • 9381da2 feat(matrix): support encrypted messages with E2EE
  • fab9603 feat(matrix): support encrypted messages with E2EE
  • a4b5a9e feat(mcp): per server deferred mode (#1654)
  • 3b3062a feat(models): add extra_body config field in model add/edit UI (#1969)
  • 5449408 feat(pico): add pico_client outbound WebSocket channel (#1198)
  • 9a3ca8e feat(provider): add Alibaba Coding Plan and regional Qwen endpoints (#1748)
  • b787131 feat(providers): add AWS Bedrock provider (#1903)
  • a005e5b feat(providers): add extra_body config to inject custom fields into request body
  • 8a046e9 feat(providers): add extra_body config to inject custom fields into request body
  • c7544f7 feat(providers): add extra_body config to inject custom fields into request body
  • f2985b8 feat(providers): add extra_body config to inject custom fields into request body
  • 60a7098 feat(search): add Baidu Qianfan AI Search provider with i18n docs
  • 16d23d8 feat(security): add sensitive data filtering for tool results sent to LLM
  • d7d2bf6 feat(skills): add channel commands to list and force installed skills
  • ce311be feat(subturn): add configurable runtime parameters under agents.defaults
  • 99b189d feat(subturn): implement token budget tracking for SubTurns
  • 53404f1 feat(subturn): support stateful iteration for evaluator-optimizer pattern
  • 71134ba feat(telegram): stream LLM responses via sendMessageDraft (#1101)
  • ff975ab feat(tool): anti cloudflare challenge in web_fetch (#1762)
  • 7673b62 feat(tool): debug tool usage via channels (#1332)
  • d5c2bc5 feat(tool): markdown format in output web_fetch tool
  • e931756 feat(tool): overwrite flag in write_file (#1761)
  • b402888 feat(tools): add SpawnStatusTool for reporting subagent statuses (#1540)
  • f901af8 feat(tools): add exec tool enhancement with background execution and PTY support (#1752)
  • fcc20ec feat(tools): add tool argument schema validation before execution (#1877)
  • 8ad4b9b feat(voice): add audio-model transcription support
  • aa3300c feat(web): Tool feedback on UI (#1933)
  • eb307e9 feat(web): add WeCom QR binding flow to channel settings (#1994)
  • fcb6986 feat(web): add configurable cron command execution settings (#1647)
  • e6ebeae feat(web): implement macOS app feature and file logger (#1723)
  • 4d7a629 feat(web): improve Weixin channel binding flow (#1968)
  • b446831 feat(web): whitelist private fetch targets (#1688)
  • 3b498d2 feat(wecom): add channel-side streaming support
  • c3631d8 feat(wecom): send media via temp uploads
  • 578f908 feat: Add Novita provider support (#1677)
  • 2a6ade0 feat: add /reload to gateway api and command (#1725)
  • dd9adf8 feat: add ElevenLabs Scribe STT transcriber and Telegram SendVoice support (#1905)
  • 08f305d feat: add IsLark field to FeishuConfig to switch between Feishu and Lark domains (#1753)
  • 5203916 feat: add agent-browser skill and Dockerfile.heavy with full runtime
  • 7b4d5d4 feat: add channels management page and integrate into home menu
  • 8c44597 feat: add chat functionality to home page for interactive AI sessions
  • 02da117 feat: add gateway management page to TUI and integrate into home menu
  • 545b7af feat: add model selection synchronization to main config in TUI
  • ed47d5f feat: add onboarding command execution for non-existent config directory
  • 8a44410 feat: add web gateway hot reload and polling state sync (#1684)
  • 5a199ec feat: implement TUI configuration and user management for picoclaw-launcher-tui
  • 8e3e517 feat: render mixed Markdown+HTML in assistant messages and skills (#1900)
  • 12f4029 feat: telegram use parse mode ModeMarkdownV2 instead of ModeHTML (#1018)
  • f735b05 fix
  • 1e98f86 fix Ooutboundmedia
  • 5d5536a fix delivery and steering
  • 930dd02 fix err and placeholder
  • d773757 fix for ci/cd
  • affd77f fix for feat(web): implement macOS app feature and file logger (#1735)
  • cf9e049 fix launcher can't save model api_key issue (#1928)
  • 388505d fix lint
  • 827449a fix lint
  • de68688 fix lint
  • 8f46072 fix lint + error check
  • 9e34459 fix logic
  • 6ea9636 fix weixin config
  • 1c65866 fix(agent) scope steering
  • 844a4ee fix(agent): avoid process exit on exec init failure and add regression test (#1784)
  • 8034ee7 fix(agent): correct media token arithmetic and tool call double-counting
  • 12a8590 fix(agent): enhance SubTurn robustness and fix race conditions
  • edbdc3b fix(agent): findSafeBoundary returns 0 for single-Turn history
  • 7868c58 fix(agent): fix subturn panic result, hard abort rollback, and drain bus exit
  • 9c65d78 fix(agent): forceCompression must not assume history[0] is system prompt
  • c63c644 fix(agent): forceCompression recovers from single oversized Turn
  • 3611034 fix(agent): implement Critical flag, complete tools.SubTurnConfig, remove redundant subTurnResults
  • d5fdd5e fix(agent): include ReasoningContent and Media in token estimation
  • efd4032 fix(agent): preallocate messages slice in budget test
  • 672d11c fix(agent): prevent double result delivery and panic bypass in SubTurn
  • c7ea018 fix(agent): prevent duplicate history during subturn context recoveries
  • 276a0cb fix(agent): rebind provider after /switch model to (#1769)
  • 6b5d7e3 fix(agent): resolve critical race conditions and resource leaks in SubTurn
  • 3c2d373 fix(agent): resolve race conditions and resource leaks in SubTurn
  • e20ff43 fix(agent): resolve subturn deadlocks, panics and context retry state
  • 336d5d4 fix(agent): route reasoning_content to reasoning channel
  • 82d574e fix(agent): separate empty-response and tool-limit fallbacks
  • 85dfb34 fix(agent): suppress heartbeat tool feedback (#1937)
  • 1961aab fix(agent): use ModelName in loop tests
  • 4e3769e fix(agent): use ModelName in loop tests (#1923)
  • 54654d2 fix(anthropic): skip tool calls with empty names to prevent API errors (#1739)
  • d014f3e fix(api): include auth header in local model probe (#1896)
  • 3e33d10 fix(backend): add no-cgo tray fallback for darwin and freebsd (#1691)
  • 51f8285 fix(build): disable Matrix gateway import on freebsd/arm
  • 2ccac18 fix(build): exclude matrix on unsupported mipsle and netbsd targets (#1975)
  • ce16190 fix(chat): avoid full secret exposure for 7-char secrets (#1942)
  • 7eaadfd fix(chat): preserve blank lines and add input hint
  • 74a9dca fix(ci): Make CI happy
  • 56fb0dc fix(claude_cli): surface stdout in error when CLI exits non-zero
  • 38e1fe4 fix(config): model_list inherits api_key/api_base from providers (#1786)
  • d23c24c fix(config): normalize empty security config before save/load (#1956)
  • 9fb01bc fix(config): persist disabled placeholder settings (#1902)
  • cd48c3b fix(config): remove stale wecom security merge fields
  • fcf406b fix(config): start model round robin from the first match
  • f71eaaf fix(cron): default scheduled jobs to agent execution
  • 61a899c fix(cron): update test to use OutboundChan instead of removed SubscribeOutbound
  • 3e9b7ce fix(feishu): invalidate cached token on auth error to enable retry recovery (#1318)
  • 5660b8f fix(heartbeat): ignore untouched default template
  • bc0be17 fix(identity): support negative integers in isNumeric for Telegram group IDs
  • fca0158 fix(lint): align VoiceConfig env tags
  • b150d7d fix(lint): fix gci import formatting in config.go
  • 30db993 fix(lint): fix golines line length in WebToolsConfig struct
  • c786f35 fix(lint): fix golines/gci formatting in WebToolsConfig
  • 95204db fix(lint): remove CGO_ENABLED=0 for lint and fix (#1989)
  • 4bc6449 fix(lint): run golangci-lint fmt to fix golines/gci struct tag formatting
  • 11b6b10 fix(linter): fix ci lint err
  • 8fc36a4 fix(logger): mask bot tokens in 3rd-party logger output
  • 64ceb5a fix(logger): show first/last 4 chars of bot token for identification
  • 6aff5b7 fix(pico): use O(1) session indexing and harden websocket concurrency handling (#1970)
  • f81b44b fix(provider): deduplicate tool results and merge consecutive tool_result blocks for Anthropic API (#1793)
  • 05c65d2 fix(provider): skip empty anthropic tool names (#1772)
  • 8d97896 fix(providers): handle nil input in GLM series tool_use blocks
  • f06173a fix(qq): preserve filenames in file uploads (#1913)
  • 2c31744 fix(qq): send long audio as file
  • a1e8ee5 fix(telegram): improve HTML chunking and preserve word boundaries (#1651)
  • dc037f0 fix(telegram): stop typing indicator when LLM fails or hangs
  • 1984bb5 fix(test): mock gateway health check in status tests
  • e71ef37 fix(test): reduce blank identifiers to comply with dogsled linter
  • df4f322 fix(tool): route binary outputs through the media pipeline.
  • 1bc05e8 fix(tools): allow sandbox access to temp media files
  • bb1a414 fix(tools): harden whitelist path resolution
  • cef0f28 fix(tools): normalize whitelist path checks for symlinked allowed roots (#1660)
  • 29a161e fix(tools): prevent nil pointer dereference in spawn tools
  • eb86e10 fix(tools): propagate tool registry to subagents (#1711)
  • dea99da fix(web): auto-configure Pico channel on launcher startup
  • 6e31f15 fix(web): ensure at least 40% of the characters are hidden for api key
  • f1ac1a1 fix(web): ensure at least 40% of the characters are masked for api key
  • ffbcbea fix(web): persist api_key when adding models (#1958)
  • c513ad2 fix(web): refactor pico chat flow and fix proxied websocket URLs (#1639)
  • f93d2b4 fix: Avoid failure of the main agent process due to tool call failures (#1023)
  • 9c31b0c fix: Fixed the bug where the bus was closed and consumers had unfinished messages. (#1179)
  • 71e2b63 fix: Use secure defaults for Pico channel setup and stop leaking the token in the URL (#1563)
  • 0fe0582 fix: add fallback DNS resolver for Android with multi-DNS support (#1835)
  • 08fa9bb fix: agent triggered on empty message in telegram (#1927)
  • 1f9d390 fix: apply security credentials before config validation in web handlers
  • b17cbe5 fix: apply security credentials before config validation in web handlers
  • 2b3c95b fix: lint err
  • a65e0e9 fix: lint err
  • 1120718 fix: proxy WebSocket through web server port (#1665)
  • 724cc1b fix: resolve merge conflict markers in README files
  • 48cba90 fix: restore missing assets and address Copilot review comments
  • f12c09b fix: retry on dimension failure for tg media upload (#1409)
  • 1ace296 fix: use fileEvent instead of event when appending fields for file logger
  • df17684 implement panic log for gateway and launcher
  • 3dfe484 make yaml indent with 2
  • 88d754b merge main
  • 24a382b merge main
  • f7f27e2 merge: resolve conflicts between refactor/agent and main
  • c48954d merge: sync main into refactor/agent
  • a26a7db moved turnState and related code from subturn.go to a new turn_state.go file
  • 1c123e0 refactor Config to add Version and migratable
  • be4a33c refactor gateway/helpers and add server.pid to health (#1646)
  • 9c82b0b refactor(agent): context boundary detection, proactive budget check, and safe compression
  • 639739c refactor(agent): use Turn as the atomic unit for compression cut-off
  • 174fbba refactor(backend): add darwin no-cgo tray fallback (#1689)
  • b9aaad9 refactor(media): centralize temp media dir path
  • 01c2f8d refactor(subturn): remove redundant system prompt handling in runTurn function
  • 345452f refactor(tools): remove unused validatePath wrapper
  • 4d2b244 refactor(voice): share audio format support and restrict transcriber selection
  • a10036a refactor(web): clean up systray platform build files
  • a1f95f0 refactor(wecom): rebuild ai bot channel
  • c07f5c9 refactor: centralize environment variable key constants (#1730)
  • 119cc2e refactor: enhance TUI configuration and user management with improved UI elements and concurrency
  • 087e851 refactor: improve code readability and consistency across multiple files
  • 670b433 refactor: replace interface{} with any for improved type clarity
  • e455eb5 refactor: seperate security.yml for store keys
  • 955d6e7 refactor: update interface types to use 'any' and improve code formatting
  • a8ce992 refactor[gateway]: just reload the changed channels on reload occurred (#1773)
  • 482c88c remove merge conflict markers from .gitignore
  • 4e876eb remove useless logs output
  • 310f788 rename security.yml to .security.yml
  • be59133 resolve conflicts
  • b90c500 resolve conflicts
  • 8ed171d resolved conflicts
  • 7c1a1c2 style(agent): fix gci comment alignment in test
  • 74a145c style: apply cyberpunk theme to TUI components for enhanced visual appeal
  • b7f1c2b test(agent): add realistic session-shaped tests for context budget
  • f2f6987 test(agent): allow mock custom tool args (#1965)
  • b768dab test(agent): use realistic session data in context retry test
  • 1ef2b69 test(web): add percentage checking of characters displaying in APIKey
  • 66d2efc test(web): add test for maskAPIKey
  • de11f95 update security migration documents

Released by GoReleaser.

Don't miss a new picoclaw release

NewReleases is sending notifications on new releases.