github multica-ai/multica v0.1.8

latest releases: v0.2.29, v0.2.28, v0.2.27...
one month ago

Changelog

  • 2ea7938 Add Docker support for Gateway and SDK documentation
  • dcca933 Add Hub Console with agent management and message routing
  • b36769f Add README with project overview
  • 6deac2f Add gateway URL configuration to Hub Console
  • 84fe9d9 Add monorepo setup with Turborepo and Web client
  • 81e64e9 Add workspace management and isolated worktree environments
  • 7d94b40 Implement WebSocket Gateway with NestJS and client SDK
  • 6b34ddc Initial project setup with multi-component architecture
  • 9d6468a Merge branch 'Bohan-J/rm-comm-style' into main
  • 3c303df Merge branch 'main' into exec-approvals
  • bb223d8 Merge branch 'main' into feat/connection-code
  • d699300 Merge branch 'main' of https://github.com/multica-ai/super-multica
  • ff06941 Merge branch 'main' of https://github.com/multica-ai/super-multica
  • 279d94b Merge pull request #1 from multica-ai/ldnvnbl/ts-gateway-research
  • 46a6cb3 Merge pull request #10 from multica-ai/feat/exec-process-tools
  • 91aa433 Merge pull request #100 from multica-ai/Bohan-J/cron-job-tool
  • 94d6e15 Merge pull request #101 from multica-ai/fix/credentials-reload
  • 0edc981 Merge pull request #102 from multica-ai/sessions-spawn-parent-trigger
  • dacf889 Merge pull request #103 from multica-ai/feat/heartbeat-mechanism
  • f31439e Merge pull request #104 from multica-ai/explore-approval-config
  • f6ad045 Merge pull request #106 from multica-ai/feat/telegram-channel
  • b7085b2 Merge pull request #107 from multica-ai/fix/new-user-onboarding
  • 5c26f92 Merge pull request #108 from multica-ai/Bohan-J/add-time-awareness
  • a12907d Merge pull request #109 from multica-ai/Bohan-J/fix-chat-error-catch
  • be312cd Merge pull request #110 from multica-ai/Bohan-J/dual-track-user-display-content-20260209
  • 4a3a910 Merge pull request #111 from multica-ai/Bohan-J/dual-track-user-display-content-20260209
  • f7ddcec Merge pull request #112 from multica-ai/NevilleQingNY/telegram-msg-issue
  • b9300f3 Merge pull request #113 from multica-ai/Bohan-J/dual-track-user-display-content-20260209
  • 7d49fa8 Merge pull request #114 from multica-ai/forrestchang/list-agent-tools
  • 86bd01b Merge pull request #115 from multica-ai/forrestchang/agent-design-review
  • bfa96d8 Merge pull request #116 from multica-ai/fix/remove-accidental-config
  • 187199d Merge pull request #117 from multica-ai/fix/gateway-pino-deadlock
  • cdff06d Merge pull request #118 from multica-ai/fix/gateway-pino-deadlock
  • 9d719c6 Merge pull request #119 from multica-ai/refactor/monorepo-restructure
  • dc1fba6 Merge pull request #12 from multica-ai/forrestchang/agent-arch-review
  • 98b8126 Merge pull request #120 from multica-ai/feat/subagent-concurrency-queue
  • 2cb5d4f Merge pull request #121 from multica-ai/Bohan-J/sync-main-updates
  • 22d0aca Merge pull request #122 from multica-ai/fix/ui-hmr-watch
  • c58a836 Merge pull request #123 from multica-ai/forrestchang/desktop-onboarding
  • 7562009 Merge pull request #124 from multica-ai/fix/desktop-branding-cleanup
  • cd07896 Merge pull request #125 from multica-ai/Bohan-J/desktop-auto-update
  • 16cd5d0 Merge pull request #126 from multica-ai/feat/subagent-announce-delivery
  • a7c194c Merge pull request #127 from multica-ai/forrestchang/finance-domain
  • b5ce496 Merge pull request #128 from multica-ai/feat/onboarding-check
  • b22ad5a Merge pull request #129 from multica-ai/fix/desktop-heartbeat-ack-filter
  • 3024e89 Merge pull request #13 from multica-ai/forrestchang/interactive-cli
  • b5f63f7 Merge pull request #130 from multica-ai/forrestchang/finance-pr
  • 14e9913 Merge pull request #131 from multica-ai/forrestchang/latex-render
  • ee8e0a6 Merge pull request #132 from multica-ai/refactor/desktop-page-container
  • 5c3fd3e Merge pull request #133 from multica-ai/fix/gateway-dockerfile
  • 7b91c15 Merge pull request #134 from multica-ai/feat/chat-abort-support
  • 8bc36a9 Merge pull request #136 from multica-ai/fix/agent-compaction
  • c251d94 Merge pull request #137 from multica-ai/codex/remove-finance-api-key-requirement
  • bad4d05 Merge pull request #138 from multica-ai/refactor/desktop-page-restructure
  • b0f3e1e Merge pull request #139 from multica-ai/feat/subagent-group-next
  • 143d779 Merge pull request #140 from multica-ai/forrestchang/earnings-analysis-skill
  • 28c83af Merge pull request #141 from multica-ai/fix/writeinternal-retry
  • 7bb0438 Merge pull request #142 from multica-ai/forrestchang/office-skills
  • ade5e5a Merge pull request #143 from multica-ai/Bohan-J/subagent-timeout
  • 0f4d579 Merge pull request #144 from multica-ai/feat/agent-workspace
  • e901bec Merge pull request #145 from multica-ai/NevilleQingNY/fix-core-dist-missing
  • 71433fc Merge pull request #146 from multica-ai/feat/message-source-tracking
  • 9a22ed1 Merge pull request #147 from multica-ai/docs/desktop-env-example
  • a986456 Merge pull request #148 from multica-ai/refactor/workspace-documents
  • d385915 Merge pull request #149 from multica-ai/feat/default-agent-name-multica
  • ad26eec Merge pull request #151 from multica-ai/forrestchang/telegram-file-send
  • c728a80 Merge pull request #152 from multica-ai/fix/markdown-strikethrough-parsing
  • 0ae17d6 Merge pull request #153 from multica-ai/docs/monorepo-dev-workflow
  • 065b686 Merge pull request #154 from multica-ai/fix/desktop-ci-publish
  • 7acf4cc Merge pull request #155 from multica-ai/fix/codex-oauth-expiry
  • 736df03 Merge pull request #156 from multica-ai/feat/desktop-auth
  • 882dc85 Merge pull request #157 from multica-ai/feat/improve-compaction
  • b2e4f08 Merge pull request #158 from multica-ai/feat/subagent-dashboard
  • 7578946 Merge pull request #159 from multica-ai/refactor/login-ui-consistency
  • ae3fee9 Merge pull request #160 from multica-ai/fix/codex-provider-api
  • c79e87e Merge pull request #161 from multica-ai/feat/desktop-device-id
  • adfff83 Merge pull request #162 from multica-ai/feat/desktop-device-id
  • 052c7ac Merge pull request #163 from multica-ai/feat/desktop-device-id
  • 911ed5a Merge pull request #164 from multica-ai/NevilleQingNY/persist-chat-tabs
  • fe6fdd4 Merge pull request #165 from multica-ai/forrestchang/analyze-run-logs
  • 0c748f5 Merge pull request #166 from multica-ai/NevilleQingNY/login-drag-region
  • 9877a4f Merge pull request #167 from multica-ai/feat/desktop-device-id
  • 9e3169e Merge pull request #168 from multica-ai/docs/desktop-build-guide
  • 4b6f42c Merge pull request #169 from multica-ai/fix/google-oauth-client-id
  • 77aff99 Merge pull request #170 from multica-ai/feat/desktop-api-client
  • 13e5492 Merge pull request #171 from multica-ai/forrestchang/markdown-accept
  • d6a1eda Merge pull request #172 from multica-ai/forrestchang/agent-test-logging
  • 597f24a Merge pull request #173 from multica-ai/chore/api-host-multica
  • c2a2c75 Merge pull request #174 from multica-ai/forrestchang/arch-analysis
  • 9189883 Merge pull request #175 from multica-ai/forrestchang/telegram-arch
  • badcaa4 Merge pull request #176 from multica-ai/forrestchang/dev-local-run-log
  • 87c03c1 Merge pull request #177 from multica-ai/forrestchang/telegram-table-fmt
  • 733798f Merge pull request #178 from multica-ai/fix/api-url-env-bridge
  • b1d6a6e Merge pull request #179 from multica-ai/forrestchang/desktop-menubar
  • e08a1e8 Merge pull request #181 from multica-ai/forrestchang/dev-config-isolation
  • 606bcd3 Merge pull request #182 from multica-ai/forrestchang/speed-up-ci-build
  • 418282d Merge pull request #183 from multica-ai/forrestchang/optimize-office-skills
  • ab2f411 Merge pull request #184 from multica-ai/dependabot/github_actions/actions/checkout-6
  • 828c32f Merge pull request #185 from multica-ai/dependabot/github_actions/actions/setup-node-6
  • 8c5ff8c Merge pull request #186 from multica-ai/dependabot/github_actions/actions/cache-5
  • 0fba476 Merge pull request #194 from multica-ai/forrestchang/telegram-bot-menu
  • 339b586 Merge pull request #195 from multica-ai/forrestchang/unify-multica-api-url
  • 59f8802 Merge pull request #196 from multica-ai/fix/chat-input-multiline
  • 358fcb3 Merge pull request #197 from multica-ai/forrestchang/create-pr
  • 51741d5 Merge pull request #198 from multica-ai/forrestchang/rm-cmd-b-shortcut
  • dba0c32 Merge pull request #199 from multica-ai/forrestchang/skill-env-storage
  • 4b3592b Merge pull request #2 from multica-ai/ldnvnbl/gateway-docker
  • 313f826 Merge pull request #200 from multica-ai/forrestchang/fix-telegram-conflict
  • 47f8e62 Merge pull request #201 from multica-ai/forrestchang/debug-agent-logs
  • 9cb6ee3 Merge pull request #202 from multica-ai/forrestchang/swe-bench-runner
  • 74c0ca0 Merge pull request #203 from multica-ai/forrestchang/finance-benchmark
  • 08b8c71 Merge pull request #204 from multica-ai/forrestchang/fix-onboarding-drag
  • b31a49c Merge pull request #205 from multica-ai/forrestchang/fix-orphan-tool-call
  • 9e40bd5 Merge pull request #206 from multica-ai/forrestchang/tg-reply-optimize
  • fa04040 Merge pull request #207 from multica-ai/fix/onboarding-header-centering
  • 94ae88e Merge pull request #208 from multica-ai/forrestchang/compaction-audit
  • faa54fc Merge pull request #209 from multica-ai/forrestchang/subagent-redesign
  • 47606ab Merge pull request #210 from multica-ai/forrestchang/serial-rerun
  • 292e2b9 Merge pull request #211 from multica-ai/codex/telegram-agent-welcome
  • a1bb77c Merge pull request #212 from multica-ai/codex/telegram-reply-context-queue-fix
  • db63369 Merge pull request #213 from multica-ai/codex/remove-legacy-subagent-registry
  • fc8a813 Merge pull request #214 from multica-ai/codex/chat-context-window-indicator
  • 6e71598 Merge pull request #215 from multica-ai/codex/docs-prune-and-regenerate-core-docs
  • e28ecb9 Merge pull request #216 from multica-ai/codex/meta-skill-installer-e2e-skills-benchmark
  • eebbf93 Merge pull request #217 from multica-ai/codex/queued-message-ux
  • 39fde8e Merge pull request #218 from multica-ai/codex/web-fetch-evidence-coverage
  • 62feefb Merge pull request #219 from multica-ai/codex/web-policy-hybrid-roadmap
  • f4bd5b7 Merge pull request #220 from multica-ai/codex/delegate-progress-timer
  • 700e643 Merge pull request #222 from multica-ai/codex/conversation-fasttrack-1-rebased
  • 47e9c3f Merge pull request #223 from multica-ai/codex/remove-legacy-memory
  • 7387216 Merge pull request #224 from multica-ai/codex/fix-multi-session-chat-sync
  • 61bbf8f Merge pull request #225 from multica-ai/fix/format-error-recovery
  • 5d39958 Merge pull request #226 from multica-ai/fix/auto-update-repo-url
  • e9e8b9c Merge pull request #227 from multica-ai/fix/remove-api-proxy
  • c10ad35 Merge pull request #228 from multica-ai/fix/tool-empty-div-flicker
  • 1eb8fda Merge pull request #229 from multica-ai/fix/macos-fullscreen-close-black-screen
  • ef13d07 Merge pull request #230 from multica-ai/fix/strip-aborted-toolcalls-from-repair
  • 3f589d8 Merge pull request #231 from multica-ai/fix/remove-broken-finance-actions
  • d757460 Merge pull request #233 from multica-ai/forrestchang/linear-sidebar-ui
  • 317e87f Merge pull request #234 from multica-ai/forrestchang/impl-plan
  • c6e34c5 Merge pull request #235 from multica-ai/forrestchang/fix-kanban-width
  • 4a273bc Merge pull request #236 from multica-ai/forrestchang/analyze-next-steps
  • e9555b8 Merge pull request #237 from multica-ai/forrestchang/remove-fe-mocks
  • 88ca784 Merge pull request #238 from multica-ai/codex/workspace-user-and-worktree-isolation
  • fff7753 Merge pull request #239 from multica-ai/forrestchang/jakarta
  • 1bf2b47 Merge pull request #24 from multica-ai/ldnvnbl/hub-gateway-config
  • 5d99353 Merge pull request #240 from multica-ai/feature/issue-ui-ux
  • 1a1f18c Merge pull request #241 from multica-ai/codex/disable-setup-seeding
  • 94c9b07 Merge pull request #242 from multica-ai/codex/local-codex-runtime-pairing
  • e3ea7bd Merge pull request #243 from multica-ai/feature/multi-agent-backend
  • 7d38614 Merge pull request #244 from multica-ai/codex/claude-verification-opt-in
  • 4bab6f7 Merge pull request #245 from multica-ai/feature/issues-ui-ux-optimization
  • 2e5e24f Merge pull request #246 from multica-ai/codex/shared-postgres-local-dev
  • 768a555 Merge pull request #247 from multica-ai/codex/default-workspace-daemon-pairing-fixes
  • 0b09a8a Merge pull request #248 from multica-ai/refactor/web-features-restructure
  • 9522cb0 Merge pull request #249 from multica-ai/forrestchang/remove-issue-git-repo
  • 438b1bd Merge pull request #25 from multica-ai/feat/extract-packages-ui
  • 5785093 Merge pull request #250 from multica-ai/feature/design-system-alignment
  • 63df5dc Merge pull request #251 from multica-ai/forrestchang/agent-arch-analysis
  • daaee73 Merge pull request #252 from multica-ai/forrestchang/skills-gap-analysis
  • f150b39 Merge pull request #253 from multica-ai/NevilleQingNY/review-fixes-acceptance
  • 04997b4 Merge pull request #254 from multica-ai/feat/homebrew-release
  • ade1139 Merge pull request #255 from multica-ai/NevilleQingNY/ui-ux-fixes
  • 6f8c9ef Merge pull request #26 from multica-ai/view-recent-commits
  • 0bc5380 Merge pull request #29 from multica-ai/agent-api-key-baseurl
  • 4a7d0fa Merge pull request #3 from multica-ai/ldnvnbl/hub-agent-mgmt
  • 75fba04 Merge pull request #30 from multica-ai/forrestchang/add-unit-tests
  • 4f50b3b Merge pull request #31 from multica-ai/copy-env-file
  • a3e9fb6 Merge pull request #32 from multica-ai/forrestchang/cli-build-bin
  • b66bbdd Merge pull request #33 from multica-ai/fix/openrouter-provider
  • 916223d Merge pull request #34 from multica-ai/copy-env-local
  • 20b45c0 Merge pull request #36 from multica-ai/feat/skills-system
  • fd46d7b Merge pull request #37 from multica-ai/feat/web-v1
  • 83ab7ee Merge pull request #38 from multica-ai/fix/chat-assistant-message-width
  • 96c93cf Merge pull request #39 from multica-ai/feat/tools-system
  • f7d03aa Merge pull request #4 from multica-ai/naiyuan/monorepo-setup
  • a5f979f Merge pull request #40 from multica-ai/forrestchang/fix-cli-multiline-flash
  • ace1a2f Merge pull request #41 from multica-ai/forrestchang/exec-blocking
  • b7e1063 Merge pull request #42 from multica-ai/forrestchang/find-skills-location
  • 6dd7961 Merge pull request #44 from multica-ai/forrestchang/skill-api-auth
  • a2fc300 Merge pull request #45 from multica-ai/forrestchang/cli-tool-details
  • 7695a3e Merge pull request #46 from multica-ai/docs/add-agents-md
  • 2d86d8a Merge pull request #47 from multica-ai/forrestchang/optimize-agent-templates
  • 144dc94 Merge pull request #48 from multica-ai/chore/update-pnpm-version
  • 9f48dca Merge pull request #49 from multica-ai/jiayuan/better-cli-commands
  • c0e3dab Merge pull request #5 from multica-ai/feat/agent-cli
  • 806279a Merge pull request #50 from multica-ai/jiayuan/agent-setup
  • 46b7906 Merge pull request #51 from multica-ai/jiayuan/fix-web-search
  • f4500ad Merge pull request #52 from multica-ai/naiyuan/refactor-frontend-logic
  • d5c4295 Merge pull request #53 from multica-ai/naiyuan/unify-gateway-sdk
  • 4d4da4e Merge pull request #54 from multica-ai/fetch-agent-history
  • 64878d9 Merge pull request #55 from multica-ai/feature/skills-profile-and-autocomplete-fix
  • 10f9aa3 Merge pull request #56 from multica-ai/feature/skills-progressive-loading
  • ebcab24 Merge pull request #57 from multica-ai/feature/ws-migration
  • a87aee9 Merge pull request #58 from multica-ai/feat/provider-switch
  • dd0fd2f Merge pull request #6 from multica-ai/refactor/agent-structure
  • 6b03404 Merge pull request #60 from multica-ai/fix/sdk-source-exports
  • 7122b12 Merge pull request #61 from multica-ai/feat/text-stream
  • 03347d9 Merge pull request #62 from multica-ai/forrestchang/agent-error-handling
  • 57097df Merge pull request #63 from multica-ai/feat/electron-init
  • 09f7e93 Merge pull request #64 from multica-ai/agent-intermediate-steps
  • d6f79d2 Merge pull request #65 from multica-ai/feat/pwa-support
  • e0c16cd Merge pull request #66 from multica-ai/feat/mobile-init
  • 0332c90 Merge pull request #67 from multica-ai/subagent-orchestration
  • de68602 Merge pull request #68 from multica-ai/session-writelock-repair
  • 0595d3a Merge pull request #69 from multica-ai/fix/streaming-protocol-sync
  • c189eb7 Merge pull request #7 from multica-ai/feat/session-persistence
  • ba555ba Merge pull request #71 from multica-ai/subagent-orchestration
  • dbe57f0 Merge pull request #72 from multica-ai/auth-profile-rotation
  • a995169 Merge pull request #73 from multica-ai/feat/admin-app
  • 91044de Merge pull request #74 from multica-ai/feat/connection-code
  • f3261d3 Merge pull request #75 from multica-ai/chore/pnpm-allow-build-scripts
  • 32c406a Merge pull request #76 from multica-ai/forrestchang/desktop-qr-refresh
  • e9ed53b Merge pull request #77 from multica-ai/feat/clean-web-store
  • cfe2b8f Merge pull request #78 from multica-ai/ws-auth-handshake
  • 5760b86 Merge pull request #79 from multica-ai/feat/agent-style-setting
  • 096b284 Merge pull request #80 from multica-ai/feat/web-qr-scanner
  • b85a186 Merge pull request #81 from multica-ai/system-prompt-engine
  • bef2e90 Merge pull request #83 from multica-ai/feat/issue-82-render-tool-call-styles
  • c70dd33 Merge pull request #84 from multica-ai/reasoning-mode-support
  • 1db8b21 Merge pull request #85 from multica-ai/feat/local-chat-ipc
  • c2b5ada Merge pull request #86 from multica-ai/exec-approvals
  • bd17784 Merge pull request #87 from multica-ai/Bohan-J/athens
  • a985009 Merge pull request #89 from multica-ai/Bohan-J/profile-progressive-load
  • 307e7fa Merge pull request #9 from multica-ai/refactor/agent-structure
  • 963bb6c Merge pull request #90 from multica-ai/feat/mobile-pwa-optimization
  • f1dff1e Merge pull request #91 from multica-ai/feat/mobile-pwa-optimization-2
  • 6e8f0a3 Merge pull request #92 from multica-ai/fix-session-mkdir-enoent
  • be35dd4 Merge pull request #93 from multica-ai/NevilleQingNY/fix-web-pwa-icons
  • 6ebd610 Merge pull request #94 from multica-ai/compaction-feedback
  • 363c65b Merge pull request #95 from multica-ai/Bohan-J/tool-result-pruning
  • 039a625 Merge pull request #96 from multica-ai/feat/message-return
  • f795006 Merge pull request #97 from multica-ai/cleanup/remove-old-chat-files
  • 2420479 Merge pull request #98 from multica-ai/copilothub-web-search
  • 3b09d8d Merge pull request #99 from multica-ai/message-aggregation
  • e9efb66 Merge remote-tracking branch 'origin/main' into Bohan-J/desktop-auto-update
  • e5feb96 Merge remote-tracking branch 'origin/main' into agent-api-key-baseurl
  • 4b10420 Merge remote-tracking branch 'origin/main' into auth-profile-rotation
  • ec6dbff Merge remote-tracking branch 'origin/main' into copilothub-web-search
  • b85138d Merge remote-tracking branch 'origin/main' into exec-approvals
  • 9bcb099 Merge remote-tracking branch 'origin/main' into exec-approvals
  • fd098c0 Merge remote-tracking branch 'origin/main' into feat/dashboard
  • 5ee08e9 Merge remote-tracking branch 'origin/main' into feat/desktop-api-client
  • 9026c27 Merge remote-tracking branch 'origin/main' into feat/desktop-api-client
  • 23905da Merge remote-tracking branch 'origin/main' into feat/telegram-channel
  • 0895d42 Merge remote-tracking branch 'origin/main' into feat/telegram-channel
  • fc035c4 Merge remote-tracking branch 'origin/main' into feature/issues-ui-ux-optimization
  • 0b7de54 Merge remote-tracking branch 'origin/main' into feature/multi-agent-backend
  • 1e71341 Merge remote-tracking branch 'origin/main' into message-aggregation
  • f133434 Merge remote-tracking branch 'origin/main' into session-writelock-repair
  • a7db286 Merge remote-tracking branch 'origin/main' into sessions-spawn-parent-trigger
  • 0212b02 Merge remote-tracking branch 'origin/main' into view-recent-commits
  • 4c6eb81 Provision default workspaces and harden daemon pairing
  • a131f3b Remove Multica App tab from Clients page (#190)
  • 00c80b5 Revert "feat(telegram): handle voice and audio messages with media:audio placeholder"
  • db25f8f chore(agent): add debug hook to inject invalid tool call id
  • 3e7fa97 chore(agent): drop bash tool alias
  • 98f3f7e chore(agent): remove --env-file from agent:cli script
  • d78f848 chore(agent): remove debug invalid tool-call injection
  • f605511 chore(agent): remove old sessions_spawn/sessions_list tools and update references
  • 63e7541 chore(benchmark): remove hardcoded output directories from case prompts
  • 486b090 chore(benchmark): translate finance e2e case prompts to English
  • 3c91180 chore(channels): remove unused Desktop Telegram channel plugin
  • 02f3534 chore(chat): set DEFAULT_MESSAGES_LIMIT to 200 for production
  • a86774e chore(ci): add GitHub Actions workflow (#28)
  • a8ef406 chore(ci): remove dependabot configuration (#189)
  • c6960d3 chore(claude): default to replacing stale flows
  • c35ffb1 chore(cli): update package.json and build script for unified CLI
  • 7a16df7 chore(compaction): add E2E compaction benchmark script
  • a9bf229 chore(daemon): add debug logging for task lifecycle troubleshooting
  • 40be100 chore(deps): Bump actions/cache from 4 to 5
  • 7224925 chore(deps): Bump actions/checkout from 4 to 6
  • 2a7cbfa chore(deps): Bump actions/setup-node from 4 to 6
  • 00b31e2 chore(deps): add croner for cron expression parsing
  • 5380b14 chore(deps): upgrade pi-ai and pi-agent-core to 0.52.9
  • e3c24fc chore(desktop): add deep link protocol and build scripts
  • 70cee08 chore(desktop): add dependencies for routing and QR code
  • eb07f12 chore(desktop): add env files for dev/production and update dev scripts
  • 6cc3a37 chore(desktop): clean up build artifacts and unused code
  • faecc32 chore(desktop): fix electron-builder config for releases
  • fc6c3e3 chore(desktop): remove coming soon label from remote agent button
  • ecb0cd3 chore(docs): remove non-e2e documentation
  • e35aa95 chore(gateway): rename client from Geneva to Multica
  • 1ddde84 chore(gateway): use provided PNG icon for PWA
  • 995be9d chore(pnpm): allow electron and esbuild build scripts
  • 368012b chore(providers): remove Mistral from provider registry
  • 28a14a4 chore(providers): update model registry with latest valid models
  • c97ee8e chore(release): bump version to 0.1.2
  • ac73332 chore(release): bump version to 0.1.3
  • 9c02ac7 chore(scripts): enable run log in dev:local script
  • b280d6f chore(skills): bump finance skill versions to 1.1.1
  • 3f15666 chore(skills): export new diagnostics and serialize modules
  • 8a69eb1 chore(skills): remove commit and code-review skills
  • 4b7567f chore(skills): remove finance API key requirement
  • 9b8aebd chore(skills): remove redundant provider skill
  • 1fe27a5 chore(store): remove unused Zustand stores and slim down package
  • e9d934a chore(telegram): add webhook setup script
  • 630f06e chore(tools): update web_search descriptions to Devv Search
  • 4e61155 chore(turbo): add src as global dependency for cache invalidation
  • 4caa038 chore(turbo): remove ^lint dependency for parallel lint execution
  • 1b252c1 chore(ui): switch primary color to shadcn default
  • 332a9b6 chore(web): add @dnd-kit for drag-and-drop support
  • 22c957e chore(web): enable experimental HTTPS and fix scanner active states
  • 39f2683 chore(web): gitignore self-signed HTTPS certificates
  • 986b08b chore(web): replace old icons with company logo
  • 4375a66 chore(web): set dev port to 3001 to avoid gateway conflict
  • 21efbf9 chore(web): update PWA logo assets
  • 8c51cf9 ci: add test step to CI pipeline
  • 2727ecd ci: parallelize jobs and add turbo cache persistence
  • 276e306 docs(agent): add web tools policy optimization roadmap
  • 4b71e3c docs(agent): add web tools to profile templates (#22)
  • 028c3a2 docs(agent): update tools template with complete tool documentation (#19)
  • 6e3ba38 docs(auth): clarify storage location for SID and user data
  • ee95102 docs(channel): add OpenClaw channel system source code research
  • be71614 docs(channels): add message paths documentation
  • 49623b4 docs(channels): add system overview and update media handling docs
  • c27f4e6 docs(channels): update README with route queue pattern and ack lifecycle
  • 52e9bf9 docs(claude): add code style rule for English comments
  • 5c5ac76 docs(desktop): add build commands and configuration guide to .env.example
  • 82ab988 docs(desktop): add comprehensive design document and TODO list
  • fbe55ab docs(desktop): add data flow architecture for Local/Remote modes
  • 82f0ccb docs(desktop): clean up README
  • 816c883 docs(desktop): improve .env.example with accurate configuration guide
  • e4ce334 docs(desktop): update TODO list in README
  • cea3336 docs(desktop): update TODO list with core improvements
  • 88582fe docs(development): restore dev-local workflow docs
  • 812710c docs(hub): add RPC protocol documentation
  • 37aafe6 docs(profile): add README with config.json documentation
  • 59ae49e docs(readme): add time awareness flow section
  • 5562fbe docs(skill-creator): add progressive disclosure section
  • b2d281c docs(skill-creator): emphasize correct skill directory path
  • dc2c369 docs(skill-creator): explicitly state no .skill packaging needed
  • 69cad35 docs(skill-creator): support profile-specific skill creation
  • 6bb8f2d docs(skill-creator): update precedence to reflect simplified sources
  • 578c8a6 docs(skills): add README for skills system
  • a07e3ae docs(skills): add documentation for diagnostics and serialization
  • 8974f52 docs(skills): add plugin system docs and Chinese translation
  • 58eb249 docs(skills): add profile-specific installation documentation
  • 40b6802 docs(skills): add skill invocation documentation
  • 9919378 docs(skills): update CLI commands and add profile skills documentation
  • 7b88567 docs(skills): update whisper skill with correct transcription priority
  • d01fcff docs(subagent): add architecture flowchart and README
  • cd0888d docs(tools): add Agent Profile integration section
  • 11e2564 docs(tools): add comprehensive README with architecture diagram
  • 1a98446 docs(tools): document memory tools
  • 22d60f8 docs(tools): simplify roadmap and add Chinese translation
  • 3548c91 docs(web): add development guidelines README
  • 4a503ec feat(agent): add AgentErrorEvent for error propagation via subscribe
  • 6e82219 feat(agent): add SyncAgent and AsyncAgent wrapper classes
  • b4303f9 feat(agent): add agent management UI, skills/tools/triggers, and issue assignment
  • d89b409 feat(agent): add auth profile rotation and cooldown module
  • 5931e8f feat(agent): add auto-backgrounding and process management (#17)
  • 4df3944 feat(agent): add communication style setting to profile
  • 0ebd9d6 feat(agent): add connected channels section to system prompt
  • 67cd46a feat(agent): add context window management with token-aware compaction (#14)
  • ca0b462 feat(agent): add default workspace directory per profile
  • e67682c feat(agent): add exec approval type definitions and safety evaluation engine
  • 1097ef5 feat(agent): add exec/process tools
  • 95e6ae4 feat(agent): add glob tool for file pattern matching (#18)
  • 14d2264 feat(agent): add interactive CLI for agent interaction
  • 4c4f898 feat(agent): add internal finance evidence decisioner
  • f8ca4ca feat(agent): add isContextOverflowError utility
  • 8c2b656 feat(agent): add pi-agent core integration and test CLI
  • 53bd52b feat(agent): add process list action for activity monitoring
  • a80c858 feat(agent): add profile name and user content management
  • 200b2ce feat(agent): add profile system and improve tools
  • d7eb0da feat(agent): add provider switching and OAuth credential support
  • 14bcebe feat(agent): add real-time streaming updates to exec tool
  • 77d5702 feat(agent): add reasoning mode types and thinking extraction
  • b8fb671 feat(agent): add reply context and responsiveness guidance to channel system prompt
  • ade7f2b feat(agent): add search-then-fetch guidance to web tools system prompt (#150)
  • a29366d feat(agent): add send_file tool for channel file sending
  • 49122e2 feat(agent): add session persistence and compaction
  • 83b557a feat(agent): add sessions_spawn tool for subagent orchestration
  • 50ae997 feat(agent): add skills system with profile integration (#21)
  • fa03ae6 feat(agent): add soul.md support for agent identity
  • d04bed8 feat(agent): add streaming support for AI message generation
  • b6db23c feat(agent): add structured run logging for debugging
  • 85f71e0 feat(agent): add subagent orchestration core
  • 4086fa6 feat(agent): add subscribe method for multiple event consumers
  • 5a06bed feat(agent): add system prompt engineering module
  • 6f6a4f8 feat(agent): add tools and skills management methods
  • 9b3ffd1 feat(agent): add web_fetch and web_search tools (#20)
  • 994242d feat(agent): auto-create init issue on agent creation with workspace context
  • 70f3755 feat(agent): emit compaction lifecycle events
  • a254daf feat(agent): enable parallel tool execution via pi-agent-core patch
  • b1d80f2 feat(agent): enhance interactive CLI with colors, spinner, and status bar (#43)
  • 299c947 feat(agent): expose isRunning and lastRunError on Agent and AsyncAgent
  • 953a296 feat(agent): implement reasoning mode in engine and CLI
  • dcc336f feat(agent): integrate auth profile rotation into runner and resolver
  • 3d2e539 feat(agent): integrate skills config into AgentOptions
  • 321b48a feat(agent): register cron tool in agent toolset
  • d3ef8ec feat(agent): replace sessions_spawn with synchronous delegate tool
  • 273e49f feat(agent): stream raw AgentEvent from engine to Hub via Gateway
  • 236863a feat(agent): support AGENT_PROVIDER and AGENT_MODEL env vars
  • 9858576 feat(agent): support custom API key and base URL configuration
  • 89089ef feat(agent): wire exec approval callback into tool execution pipeline
  • f13509e feat(auth): pass encrypted Device ID from Web to Desktop
  • edc5539 feat(benchmark): add finance e2e case suite
  • c38a576 feat(benchmark): parallelize finance e2e runs
  • 971d68b feat(channels): add ChannelManager and Telegram plugin
  • 5d63727 feat(channels): add channel plugin system with types, registry, and config
  • 0542c82 feat(channels): add credential write and per-account lifecycle control
  • 0500dc1 feat(channels): add inbound debouncer, ACK reactions, and sequentialize
  • 020d132 feat(channels): add media attachment types and cache directory
  • 01b89ed feat(channels): add message source prefix, sendFile, and channel info
  • 6e96fd1 feat(channels): add outbound media types and sendMedia to channel adapter
  • ceb960c feat(channels): add typing indicators and Telegram HTML formatting
  • 23da5a3 feat(channels): route media messages through agent
  • ec8b62c feat(chat): add context window usage indicator
  • 65c2fea feat(chat): add message history pagination with scroll-up loading
  • a2c1379 feat(cli): add --run-log flag and session dir output for agent-driven E2E testing
  • c55bb5a feat(cli): add /model command for switching models within provider
  • 9504eea feat(cli): add /provider command to show and switch providers
  • 7f25378 feat(cli): add binary build support for interactive CLI
  • 5520fec feat(cli): add detailed tool info display for glob, web_search, web_fetch
  • f15a28e feat(cli): add multica cron commands
  • 84f5c69 feat(cli): add real-time autocomplete dropdown for commands
  • ac6f8fb feat(cli): add tab completion for skill commands
  • 67d5430 feat(cli): add tools configuration options
  • aaf0522 feat(cli): display real-time tool execution updates
  • ac7c124 feat(cli): enhance status command with rich diagnostics
  • 051e56d feat(cli): improve /provider command display with ID column
  • b007ddf feat(cli): initialize Hub in run mode for full agent capabilities
  • e39f9a5 feat(cli): wait for sub-agents and output findings in run mode
  • ba44de8 feat(compaction): add metadata extraction and multi-level summary fallback
  • 5aa8a52 feat(compaction): make pruning and summary artifact-aware
  • 9e7907a feat(compaction): switch default to summary mode with split-turn and adaptive chunking
  • 037908c feat(connection): add device verification status feedback for collaborators
  • 30a1fd0 feat(console): enable CORS for cross-origin web app requests
  • f3ec056 feat(console): redesign Hub Console UI for desktop
  • 3dd7ff5 feat(context): add tool result pruning for smarter context management
  • ec413ef feat(core): add auth-store module to read local auth data
  • 8199dde feat(core): add message source tracking and persistence
  • 43198d9 feat(core): add rpc to generate channel welcome messages
  • f763125 feat(core): add shared api-client module for auth headers
  • d7ccbf0 feat(core): add testProvider method to AsyncAgent
  • d47594d feat(core): add unified data tool with finance domain support
  • 0513802 feat(credentials): add CLI credentials reader for OAuth providers
  • 3ee8946 feat(credentials): add JSON5 credential system
  • de355ca feat(cron): add cron job scheduling module
  • 678266e feat(daemon): add per-task isolated execution environments
  • bb45f17 feat(daemon): unified agent SDK supporting Claude Code and Codex
  • 4961604 feat(desktop): add --reset flag to clear user data for testing
  • 4de9947 feat(desktop): add 4-step onboarding flow
  • 309c27b feat(desktop): add API client with auth headers
  • c99675b feat(desktop): add Channels configuration page with Telegram support
  • ed681a9 feat(desktop): add Configure button in chat error banner
  • a8dd9f2 feat(desktop): add Cron Jobs management page
  • 2a4fcde feat(desktop): add IPC handlers for Hub, Tools, and Skills management
  • 150fde8 feat(desktop): add React hooks for Hub, Tools, and Skills state
  • d189b14 feat(desktop): add StepDots component and minor onboarding tweaks
  • b39a0dd feat(desktop): add Telegram QR code to Clients page and Onboarding
  • 03bcd85 feat(desktop): add UI components for Tools and Skills management
  • bdc2006 feat(desktop): add agent settings dialog
  • 2577475 feat(desktop): add authentication flow with Web login
  • 0459769 feat(desktop): add auto-update functionality
  • a33df19 feat(desktop): add chat abort support with partial content preservation
  • 37a68fc feat(desktop): add collapsible queued message panel
  • 16753d7 feat(desktop): add conversation switcher and new-session flow
  • ea7a2c8 feat(desktop): add cron tool to Tools page UI
  • 07c05b1 feat(desktop): add dev reset scripts for fresh install testing
  • ff827f0 feat(desktop): add device confirmation dialog and token registration IPC
  • 26df747 feat(desktop): add dual-mode chat page (Local/Remote)
  • 5ae86fe feat(desktop): add global channels store with zustand
  • 4a986b1 feat(desktop): add local chat IPC handlers
  • 3d25aa9 feat(desktop): add minimum window size constraints
  • 7691f81 feat(desktop): add model name input for OpenRouter configuration
  • 2349868 feat(desktop): add model switching to provider dropdown
  • 391bf32 feat(desktop): add pages for Home, Tools, and Skills with routing
  • 57cb99d feat(desktop): add persistent Device ID with encryption
  • a157c65 feat(desktop): add profile IPC handlers
  • 48245be feat(desktop): add provider IPC handlers
  • a143187 feat(desktop): add provider connection test to API key dialog
  • 197b77e feat(desktop): add provider selection UI
  • 07b8a01 feat(desktop): add resolvedTheme to theme provider
  • 9290fd1 feat(desktop): add searchable model dropdown for OpenRouter
  • 5d102c0 feat(desktop): add style selector to agent settings dialog
  • 499c573 feat(desktop): add subagent dashboard with real-time status tracking
  • d2e22a6 feat(desktop): add system tray for background agent status
  • fcbe966 feat(desktop): add verified device list and rich confirm dialog
  • 9bfef71 feat(desktop): add version, gateway, and update check to tray menu
  • 22db618 feat(desktop): add welcome page to onboarding flow
  • 0135951 feat(desktop): allow reconfiguration of already-configured providers
  • b7477cb feat(desktop): bridge MAIN_VITE_API_URL to process.env for packaged builds
  • c95b74f feat(desktop): default dev gateway URL and support GATEWAY_URL env override
  • 0e383f5 feat(desktop): display agent errors in Chat UI instead of hanging
  • 9663079 feat(desktop): expose heartbeat controls and status card
  • 7259832 feat(desktop): handle agent_error events and clearLastRoute in IPC
  • 16fe40b feat(desktop): hide native title bar with macOS hiddenInset style
  • 607adeb feat(desktop): implement local chat with direct IPC and mode switching
  • 2a6e104 feat(desktop): improve login page and add auth toasts
  • a4f8cbd feat(desktop): improve profile IPC and error handling
  • 437dc05 feat(desktop): improve setup step with radio indicators
  • a814373 feat(desktop): initialize electron app with routing and cleanup
  • 141af9e feat(desktop): integrate @multica/ui shared components
  • ff80cf0 feat(desktop): integrate Chat component into desktop app
  • 7e2f55b feat(desktop): integrate UpdateNotification into new sidebar layout
  • eb4e1f5 feat(desktop): persist onboarding state to file system
  • 04d227c feat(desktop): persist onboarding state with --force-onboarding flag
  • bfe0c82 feat(desktop): queue user messages while agent is busy
  • eb80778 feat(desktop): redesign connect step with single column layout
  • 272cabf feat(desktop): redesign home page with capabilities dashboard
  • 54bc00c feat(desktop): redesign privacy step with single column layout
  • ff026b1 feat(desktop): scaffold Electron app with Vite
  • d456052 feat(desktop): show delegate sub-task progress and timers
  • 3e04422 feat(desktop): use interactive sample prompts in Try It step
  • bc24b58 feat(desktop): wire Try It step to real agent chat
  • d367e77 feat(device): add clientName to DeviceMeta for multi-client display
  • 2074aac feat(e2e): add clawhub skills benchmark suite
  • a36cbac feat(exec-approval): default to full/off security and support no-timeout
  • 77953a6 feat(finance): replace API key auth with auth headers
  • 566f14f feat(gateway): add PWA mobile client
  • d75a247 feat(gateway): add Telegram QR deep link connection flow
  • 3622f82 feat(gateway): add auto-connect, hub discovery via list-devices
  • 5010d87 feat(gateway): add long-polling fallback for local Telegram development
  • f201437 feat(gateway): add typing indicator for Telegram bot responses
  • f5ac4b8 feat(gateway): handle send_file action in Telegram service
  • 25d447a feat(gateway): polish PWA client UI for mobile
  • 9646b08 feat(gateway): port Desktop Telegram channel features to Gateway webhook bot
  • 4a2ef83 feat(gateway): send agent-generated welcome after telegram connect
  • 708116a feat(gateway): support telegram active conversation sessions
  • ffa5355 feat(heartbeat): add heartbeat core runner and profile integration
  • 1e7d5f6 feat(hub): add RPC dispatcher with structured error handling
  • b2c0711 feat(hub): add device verification with token + whitelist + user confirmation
  • 874de76 feat(hub): add local exec approval routing for desktop IPC chat
  • 1859e32 feat(hub): add message aggregation module for block-level reply chunking
  • 5b6a1c6 feat(hub): add singleton pattern and subagent spawning
  • 203d760 feat(hub): filter forwarded events to 5 types useful for frontend
  • 9922355 feat(hub): integrate ChannelManager into Hub lifecycle
  • b82409c feat(hub): integrate cron service lifecycle
  • d742e66 feat(hub): integrate exec approval manager with Hub and Gateway
  • c03a607 feat(hub): integrate message aggregator into Hub event pipeline
  • c6d0476 feat(hub): persist agent list to disk for restart recovery
  • 1316d32 feat(hub): propagate compaction events to all frontend transports
  • 1f22c3e feat(hub): register RPC handlers for hub, agent, and gateway operations
  • c581183 feat(hub): store device metadata in whitelist and pass to confirm handler
  • 864d916 feat(hub): support profileId in createAgent
  • 8c87c50 feat(hub): wire heartbeat controls into hub and cron wake mode
  • c646165 feat(hub): wire send_file callback with dual-path routing
  • 3f71957 feat(inbox): notification triggers, unread badge, archive UI, View Issue link
  • db214b2 feat(media): add image/video description and local whisper priority
  • 4e57806 feat(media): transcribe audio via Whisper API before reaching agent
  • 8484ba6 feat(memory): add persistent key-value storage for agents
  • 01c82b2 feat(mobile): 移动端初始化
  • f0f6055 feat(platform): align conversation semantics across surfaces
  • 9467ac9 feat(profile): add config.json support for profile configuration
  • a990a1c feat(profile): add interactive setup command for agent profiles
  • f0aa1e1 feat(profile): add profile directory path to system prompt
  • 02b480d feat(profile): default new agent name to "Multica" instead of "Assistant"
  • cdc64f9 feat(profile): enforce file-based memory with stronger guidance
  • 9661226 feat(profile): enhance templates with user.md and workspace.md
  • a490c73 feat(providers): add gpt-5.3-codex and update OpenAI model lists
  • 2f54665 feat(release): add GoReleaser config and Homebrew tap support
  • a7c1b42 feat(report): add code stats report generator
  • 755ed5e feat(run-log): add result metadata to tool_end events
  • b9ce4da feat(runner): support OAuth providers (claude-code, openai-codex)
  • 35b13f9 feat(runner): validate provider credentials on startup
  • cdfa63a feat(runtime): add local codex daemon pairing
  • 90d374f feat(scripts): add SWE-bench runner for Multica agent evaluation
  • af7deb5 feat(scripts): add dev:local:archive to snapshot dev data for debugging
  • ca8c8e5 feat(scripts): isolate dev:local data and workspace directories
  • 2541745 feat(sdk): add RPC request method and types to GatewayClient
  • 0eac2b2 feat(sdk): add auto-verify handshake after gateway registration
  • d930040 feat(sdk): add exec approval action types for client integration
  • 0340358 feat(sdk): add thinking content extraction for stream events
  • dd701a2 feat(sdk): collect device metadata during verify handshake
  • cc22814 feat(server): add comment CRUD endpoints and issue filter/update enhancements
  • 5a3a72c feat(server): add task service layer and daemon REST protocol
  • 1e61c19 feat(server): implement full REST API with JWT auth and real-time WebSocket
  • 3f9a304 feat(session): add artifact storage and pre-emptive tool result truncation
  • 37e5b2c feat(session): add write lock, file repair, and transcript repair modules
  • 2783344 feat(session): externalize base64 images from session JSONL
  • 0c549f7 feat(session): integrate write lock and auto-repair into session flow
  • f74ac43 feat(shared): add error handling infrastructure (#27)
  • 8004403 feat(skill-creator): add activation flow and API key onboarding instructions
  • f19e51d feat(skill-creator): add init_skill.py script for reliable skill creation
  • 351afb1 feat(skills): add --profile option for installing to specific profile
  • ecaada1 feat(skills): add CLI commands for add/remove skills
  • 1105a7a feat(skills): add CLI for skills management
  • 28957ba feat(skills): add Excel spreadsheet (xlsx) skill
  • 7999d8f feat(skills): add PDF processing skill
  • 1c51932 feat(skills): add PowerPoint presentation (pptx) skill
  • 2774c0f feat(skills): add Word document (docx) skill
  • 3bd85b6 feat(skills): add async serialization for concurrent operations
  • 0c1856b feat(skills): add clawhub meta skill with security gate
  • deb9649 feat(skills): add detailed eligibility diagnostics with hints
  • bef8692 feat(skills): add earnings analysis skill for financial statement assessment
  • 8eba6c0 feat(skills): add file watcher for hot reload
  • bbda13d feat(skills): add finance evidence sufficiency gate
  • 6e28513 feat(skills): add finance research and DCF valuation skills
  • 5853c91 feat(skills): add install mechanism for skill dependencies
  • 8fbd72c feat(skills): add invocation types and parser support
  • 42e2943 feat(skills): add invoke module for skill commands
  • aee807e feat(skills): add module for GitHub skill installation
  • 8c2f8ad feat(skills): add plugin system for npm package discovery
  • 307b381 feat(skills): add provider skill for LLM provider management
  • c1cbdac feat(skills): add skill-creator meta-skill for self-extension
  • f021063 feat(skills): add web search integration to earnings analysis
  • 922a3b2 feat(skills): add whisper audio transcription skill
  • 8228643 feat(skills): auto-sync bundled skills based on version comparison
  • c165783 feat(skills): clean up removed bundled skills on update
  • 00915d7 feat(skills): enhance metadata and config system for OpenClaw compatibility
  • 6f67bb7 feat(skills): expose ineligible skills in system prompt for auto-discovery
  • 4e10ee7 feat(skills): extend SkillManager with invocation methods
  • 6f0be4a feat(skills): implement progressive loading for reduced token usage
  • 91709dd feat(skills): integrate watcher into SkillManager
  • 9f98ccc feat(skills): store API keys in per-skill .env files
  • f2adddc feat(skills): upgrade finance analysis workflows
  • d7d2861 feat(store): add shared Zustand store package with counter example
  • 4d6d571 feat(store): load agent message history via RPC
  • 3d13c28 feat(store): pass hubId and token to GatewayClient for verification
  • 583242b feat(store,ui): add tool execution lifecycle and ContentBlock rendering
  • e4f1d51 feat(store,ui): handle Hub error messages and display error banner
  • 12fb12b feat(subagent): add SubagentGroup type and registry support
  • d7a0218 feat(subagent): add announce:"silent" mode for deferred coalesced announcements
  • 716e69a feat(subagent): add anti-polling guards to sessions_list
  • 48185c3 feat(subagent): add groupId/next params to spawn and group display to list
  • 240fdd1 feat(subagent): add lane-based command queue with concurrency control
  • 9cc89cf feat(subagent): add sessions_list tool for viewing spawned sub-tasks
  • 45db13c feat(subagent): add two-tier announce delivery with debounced queue
  • 6786af4 feat(subagent): coalesce announcements into single parent notification
  • 2e6d419 feat(subagent): deferred record cleanup and error propagation
  • 58ec562 feat(subagent): improve system prompts for error reporting and timeout
  • 5b0cbd4 feat(subagent): increase default timeout from 10 min to 30 min
  • 683dfa7 feat(subagent): integrate command queue and configurable timeout
  • 9b16001 feat(subagent): pass tools to subagent system prompt
  • d392238 feat(subagent): tag internal orchestration messages and filter from user-facing history
  • f46c00e feat(subagent): update announce flow for group continuation
  • c343387 feat(system-prompt): add bootstrap budget control for workspace and skills
  • a1ac250 feat(system-prompt): enhance report with truncation tracking and token estimates
  • e9d54e9 feat(telegram): add inline keyboard onboarding and menu button
  • 87a83fb feat(telegram): add reply context parsing and send new messages for tool narration
  • 8270762 feat(telegram): convert Markdown tables to vertical list format
  • 78738e8 feat(telegram): detect and download media messages
  • 48f8302 feat(telegram): handle voice and audio messages with media:audio placeholder
  • dc60cb7 feat(telegram): replace Hub URL binding with connection link verification
  • dde8cc5 feat(telegram): show editable status message during tool execution
  • 3817e2d feat(tools): add HMAC-SHA256 request signing to web search
  • 9d0cc6f feat(tools): add cron tool for agent job management
  • 7ac90a2 feat(tools): add image resize wrapper for read tool
  • 6bfe836 feat(tools): add keyword-based memory_search tool
  • 57f31b2 feat(tools): add tool policy system with 4-layer filtering
  • ae6d516 feat(tools): add tools:cli for inspecting tool configuration
  • 3c0f132 feat(tools): integrate Profile tools config with runner
  • d9cd79f feat(tools): register memory tools and add group:memory
  • 8ea2f2a feat(tools): replace web search with CopilotHub API
  • 35ab158 feat(types): add AuthUser type for auth integration
  • 6535efd feat(ui): UI/UX polish — layout, sidebar, button, theme improvements
  • 953041e feat(ui): add LaTeX math rendering support to chat markdown
  • 9b87cd7 feat(ui): add Markdown rendering components
  • 2f5dbcd feat(ui): add QR code scanner to ConnectPrompt
  • f348d91 feat(ui): add Spinner component from multica
  • a1c28b3 feat(ui): add auto-scroll to bottom for chat messages
  • cdcce47 feat(ui): add brand icon and artistic font to sidebar header
  • d1d3cd0 feat(ui): add collapsible component
  • 44fef52 feat(ui): add container utility and loading spinner component
  • 5a3dc6c feat(ui): add data tool display config in chat UI
  • 7fdbf24 feat(ui): add exec approval card and refine tool/thinking expand style
  • ffaed12 feat(ui): add global scrollbar styling with light/dark support
  • 88d2e93 feat(ui): add light/dark theme toggle in sidebar
  • 4ff2276 feat(ui): add onSubmit/disabled props to ChatInput, convert AppSidebar to children slot
  • cff9c00 feat(ui): add paste mode success/error feedback with state-based rendering
  • ca1c260 feat(ui): add size prop to MulticaIcon bordered variant
  • 54ee2f3 feat(ui): add streaming indicator to StreamingMarkdown
  • 94f3270 feat(ui): auto-activate newly created agent
  • e144372 feat(ui): create @multica/ui package skeleton
  • d0681ef feat(ui): extend QR scanner hook with lifecycle control and flash API
  • c1129ff feat(ui): extract components, utils, and styles from apps/web
  • b825c6b feat(ui): improve MulticaIcon animation behavior
  • 544425a feat(ui): improve mobile onboarding copy and chat input sizing
  • 703c468 feat(ui): improve tool-call-item with status dots, smart subtitles, and accessibility
  • 845e503 feat(ui): redesign QR scanner with state machine and mobile sheet
  • 8e8a0d5 feat(ui): redesign connect prompt with scan/paste tabs and fullscreen QR
  • 86d00bb feat(ui): render AI messages with streaming markdown
  • 54b3ebe feat(ui): render error messages with Markdown
  • 0a6e930 feat(ui): render thinking content blocks in message list
  • b74a5ea feat(ui): replace ChatInput textarea with Tiptap editor
  • 8f4e894 feat(ui): show in-chat system message when context compaction occurs
  • 4e5c99a feat(ui): show task context for sessions_spawn in chat UI
  • 1e6da20 feat(ui): spin MulticaIcon on hover
  • 54d84ab feat(ui): unify font loading and add design system documentation
  • e8012a5 feat(ui): use default font size for messages and larger send button
  • 40fb94e feat(utils): add SMC_DATA_DIR env var to override root data directory
  • 242be23 feat(utils): unify encrypted Device ID across all platforms
  • 9bd1c14 feat(web): Linear-inspired sidebar with floating panel layout
  • 3ef7d53 feat(web): add @multica/sdk dependency and URL config module
  • 27c3ba5 feat(web): add Accept: text/markdown header for Cloudflare Markdown for Agents
  • 1ec6221 feat(web): add Chat page component placeholder
  • 7cb9788 feat(web): add ChatPage with DevicePairing and ChatView
  • a3b82fb feat(web): add Knowledge Base page placeholder
  • ba1a90c feat(web): add PWA support for installability and offline fallback
  • 2a1e5f0 feat(web): add SidebarTrigger to Chat header
  • ae86bba feat(web): add client-side auth with session storage and route protection
  • f0c9c43 feat(web): add desktop callback API route
  • f5c5208 feat(web): add drag-and-drop to kanban board
  • c5bf562 feat(web): add gateway, hub, active-agent hooks and real message state
  • 108cf7f feat(web): add login page for desktop auth callback
  • 1e18a80 feat(web): add mock data for Knowledge Base documents
  • cbb1712 feat(web): add multi-workspace switching and creation UI
  • 7d32669 feat(web): add scroll fade hint effect to chat message list
  • 3f522bc feat(web): add shared mock data for issues
  • 4036463 feat(web): add sidebar layout
  • 178d715 feat(web): add useGatewayConnection and useChat hooks
  • 0afff49 feat(web): enhance issue detail page with comment editing, deletion, and real-time updates
  • da7a45e feat(web): implement Issue detail page with properties and activity
  • e4ea4ab feat(web): implement Issues page with board and list views
  • 9b1e753 feat(web): implement Knowledge Base two-column UI
  • c0348fd feat(web): implement two-column Agents page with mock data
  • 57b399b feat(web): implement two-column Inbox UI with mock data
  • 78f4d88 feat(web): integrate frontend with live API and add auth context
  • db9d7ab feat(web): replace default Next.js branding with Multica icon
  • e7521b4 feat(web): replace sidebar with connection code flow
  • d04952d feat(web): restore agent ID copy button in chat header
  • cdd146e feat(web): restore device ID display and copy button in chat header
  • 0975510 feat(web): show full deviceId with copy button and toast feedback
  • 5319991 feat(web): wire Hub sidebar, real chat messaging, and layout integration
  • 92a1374 feat(web-search): replace HMAC signing with auth headers
  • 680668f feat(workspace): add context field for AI agent background info
  • 9127e54 feat: add event bus, WS workspace isolation, and global store migration
  • 21312ab feat: chat input padding
  • d4f5c5b feat: pivot to AI-native task management platform (#232)
  • 02df338 feat: structured skills system with meta skill runtime injection
  • 9c52dc0 fix(agent): 3-layer defense against context window overflow
  • de928cf fix(agent): add NO_REPLY detection utility for filtering silent replies
  • b820129 fix(agent): add OpenRouter provider support and guard against unknown models
  • a098a78 fix(agent): add getMessages method and fix TypeScript errors
  • 1cd778b fix(agent): add task minLength validation, remove unused parentSessionId
  • 0d9b687 fix(agent): address code review feedback
  • 8f9dcbf fix(agent): address compaction feedback review findings
  • 30f2345 fix(agent): align subagent lifecycle with openclaw
  • f649792 fix(agent): allow output reinit
  • 9fe6b92 fix(agent): always provide getApiKey callback and emit error events
  • bfab8d9 fix(agent): auto-recover from persistent 400 format errors by reloading session
  • aada291 fix(agent): clear timeout timer in delegate tool to prevent unhandled rejection
  • f0a359b fix(agent): emit compaction events only when compacted
  • 7eb18f4 fix(agent): enforce capability-gap skill recovery guidance
  • b5b65c6 fix(agent): enforce cross-turn web fetch evidence
  • 64d8427 fix(agent): enforce data-web evidence fusion
  • 850d553 fix(agent): enforce sufficient search-fetch evidence
  • ce6291e fix(agent): enforce web_fetch after successful web_search
  • 8d6a803 fix(agent): filter heartbeat ACK messages from desktop event stream
  • 96cfdc2 fix(agent): fix data races, add tests, and fix raw protocol detection
  • f733f0b fix(agent): fix system prompt reload and tool casing issues
  • 4b7f0af fix(agent): guard workaround and local skill mutation commands
  • 9ed4cdf fix(agent): handle auth profile failures and provider mismatch
  • 667f3e5 fix(agent): improve time awareness with timestamped turns
  • b13d40c fix(agent): increase token estimation safety margins
  • e1eaa73 fix(agent): infer run-log tool errors from payload
  • f585882 fix(agent): keep skills prompt without profile
  • e8815db fix(agent): loop-based rotation, timeout rotatable, error classification tests
  • 7294e76 fix(agent): only emit agent_error for auth issues, not runtime 400 errors
  • d162ba9 fix(agent): pass sessionId to tools for sub-agent session tracking
  • 15f6604 fix(agent): persist provider selection across restarts
  • 71f95d0 fix(agent): prevent double-save of assistant message on abort
  • f7267f6 fix(agent): prevent internal run leaks in async streams
  • 99473af fix(agent): prevent memory leak and buffer overflow in process tool
  • e13bc30 fix(agent): propagate session write errors
  • 99167b9 fix(agent): re-validate tool pairing after preflight compaction
  • 24df8b0 fix(agent): reload credentials dynamically
  • 47cbf60 fix(agent): reload tools after setProvider to fix stale closure
  • 239dc5a fix(agent): report accurate compaction metrics and add run-log observability
  • 4112d45 fix(agent): resolve TypeScript errors with exactOptionalPropertyTypes
  • 5716932 fix(agent): resolve merge conflict in runner.ts for credentials reload
  • 8fe2b5f fix(agent): resolve reasoningMode from profile config and session meta
  • 918b5d2 fix(agent): resolve stream race condition and add lifecycle tests
  • d627fb4 fix(agent): retry writeInternal once on transient LLM errors
  • cbb13b2 fix(agent): return collected output when exec auto-backgrounds
  • e2d4803 fix(agent): sanitize invalid tool call ids in context
  • 2fa8c38 fix(agent): save original provider ID instead of alias in session meta
  • a8e7a80 fix(agent): separate display content from agent user turns
  • 32dd627 fix(agent): soften tool errors
  • 033ff87 fix(agent): strip toolCalls from aborted/error assistant messages in transcript repair
  • 6fd4819 fix(agent): surface installed skill ids in prompt
  • d509044 fix(agent): use user message content type for displayContent
  • 8d32a06 fix(agent): validate API key before calling PiAgentCore.prompt()
  • 75fac3a fix(auth): fallback to dev auth.json for E2E tests
  • a8c5042 fix(auth-profiles): add file locking, type priority sort, credential filtering
  • a065d5f fix(auth-profiles): add jittered cooldowns
  • 2a96fc9 fix(autocomplete): Tab completes selected suggestion to input
  • 452ba8b fix(autocomplete): improve terminal compatibility and CJK support
  • b897719 fix(benchmark): support long-horizon timeout control
  • 614d2cf fix(channels): address code review issues
  • 43d11a6 fix(channels): address code review issues
  • 287e6d5 fix(channels): catch telegram bot polling errors gracefully
  • f9d1e5c fix(channels): correct reply routing and ack lifecycle for rapid-fire messages
  • 96f83c0 fix(channels): suppress heartbeat ack in outbound replies
  • 06c5792 fix(chat): stabilize multi-session sync and tool flow
  • 30e9041 fix(chunker): add table awareness and increase Telegram chunk limit
  • 6b6e8ac fix(ci): provision postgres for backend tests
  • 642b674 fix(ci): resolve runner parse break and desktop lint warning
  • 1a85cc1 fix(ci): use pnpm --filter for lint instead of turbo
  • 3293607 fix(cli): address code review findings
  • 7eb36a4 fix(cli): filter pnpm standalone -- arg and simplify dev scripts
  • 3435864 fix(cli): handle terminal line wrapping in autocomplete input
  • 8b660e5 fix(cli): use @multica/core imports instead of relative paths
  • fbb0b11 fix(compaction): fix system prompt token estimation and reduce safety margin
  • 0bce493 fix(compaction): handle pi-agent-core toolResult format in truncation and pruning
  • 58f02a2 fix(compaction): match artifact refs from both soft trim and truncation markers
  • d7e85d0 fix(compaction): prevent double-counting in split-turn detection
  • 40a2e8a fix(context-window): prioritize config over model for context window resolution
  • ef8b388 fix(core): check for "toolCall" type in hasToolUse() to match pi-ai types
  • c24ac8a fix(core): fix OpenRouter model resolution and add fallback for custom models
  • 882e34c fix(core): preserve context-specific auth error messages
  • d80e976 fix(core): read data tool API key from credentials.json5
  • afe51d3 fix(core): rebuild system prompt after provider switch
  • 1c24dd2 fix(credentials): add fallback to ~/.super-multica for custom data dirs
  • b5eca45 fix(cron): clarify agent-turn can use all tools in description
  • ab85a01 fix(cron): improve action parameter description for better model understanding
  • 2129fea fix(cron): replace require("fs") with ESM renameSync import
  • 828b75c fix(daemon): resolve codex app-server deadlock after turn completion
  • 357bf32 fix(data): propagate errors so is_error is set correctly in run-log
  • a939495 fix(data): remove broken finance actions (get_price_snapshot, get_prices, get_financial_metrics_snapshot)
  • 0b83a7c fix(desktop): add 'registered' to ConnectionState type
  • 0421efb fix(desktop): add compaction event types to LocalChatEvent
  • 4983deb fix(desktop): add cron API type to ElectronAPI interface
  • 2b3baa2 fix(desktop): add missing handleRefresh dependency to useEffect
  • a61e294 fix(desktop): add overflow-y scroll to provider dropdown
  • c0db46e fix(desktop): add required metadata for Linux deb build
  • 71cc8ae fix(desktop): add sessions_spawn to tool groups
  • c604085 fix(desktop): address review issues in device verification flow
  • fedb8fb fix(desktop): align onboarding step labels with content
  • e9c91cc fix(desktop): allow selecting configured providers in setup step
  • 7af2a0d fix(desktop): auto-approve Telegram connection during onboarding
  • 1e51745 fix(desktop): center onboarding step indicator using absolute positioning
  • 7af64a1 fix(desktop): clear forceOnboarding flag on onboarding completion
  • 8dfd4bc fix(desktop): enable window dragging on login page
  • 5c7d913 fix(desktop): externalize grammy in Vite Electron build
  • 5c5bf46 fix(desktop): fix Try It step UI overflow and missing chat input
  • 2cf1351 fix(desktop): fix lint errors and relax unused-vars rule
  • 9240e31 fix(desktop): improve Try It right panel visual separation
  • fe50519 fix(desktop): keep queued message bar hook order stable
  • 3c1fa3f fix(desktop): keep queued messages blocked during toolUse phases
  • 9f95566 fix(desktop): make login and onboarding windows draggable on macOS
  • e081201 fix(desktop): only show active provider when actually available
  • 54e2ac4 fix(desktop): open external links in system browser
  • 298299d fix(desktop): persist chat state across tab navigation
  • aa3ebeb fix(desktop): point auto-update to correct repository
  • 229a709 fix(desktop): prevent black screen when closing fullscreen window on macOS
  • 0d11318 fix(desktop): prevent duplicate welcome toast on login
  • d641c1a fix(desktop): prevent electron-builder auto-publish in CI
  • 0b50400 fix(desktop): read error body instead of statusText for gateway errors
  • c50bdd0 fix(desktop): reduce tray icon size to match menu bar conventions
  • eee6cf1 fix(desktop): refresh qr every 30s
  • e99600c fix(desktop): register ChatPage element in router
  • 02838bb fix(desktop): remove heartbeat section from home page
  • db69e0d fix(desktop): remove unsupported asChild prop from AlertDialogDescription
  • ff73959 fix(desktop): remove unused availableProviders destructuring
  • 2746517 fix(desktop): remove unused saving state in profile page
  • 240f25b fix(desktop): remove unused setupDeviceConfirmation import
  • 0c4f879 fix(desktop): require active provider before Continue in setup step
  • 60e71ce fix(desktop): require successful Telegram connection before Continue
  • f5a0d98 fix(desktop): resolve TypeScript build errors
  • 669cbc7 fix(desktop): resolve eslint exhaustive-deps warnings in useLocalChat
  • eb274d5 fix(desktop): resolve lint warnings for react-refresh and unused import
  • a5901b7 fix(desktop): restore remove action in collapsed queue
  • 2269677 fix(desktop): restructure to standard electron-vite layout for HMR
  • 68e2628 fix(desktop): store encrypted Device ID directly (40 hex chars)
  • e93e095 fix(desktop): suppress react-refresh lint warning for useTheme hook
  • 2c9d193 fix(desktop): update branding and fix code signing for development
  • c412e44 fix(desktop): update use-local-chat to use ContentBlock[] instead of string
  • ef32078 fix(desktop): use RENDERER_VITE_API_URL for renderer API host
  • 5e03b4d fix(desktop): use asterisk tray icon and show-only menu
  • f9b193d fix(desktop): use default import for electron-updater CJS module
  • 304c6a9 fix(desktop): wait for channel status to settle before returning
  • c928503 fix(e2e): use .first() for create issue assertion to avoid strict mode violation
  • 6ecdbc5 fix(exec-approval): treat expiresAtMs=-1 as non-expiring
  • 4a7a980 fix(frontend): apply code review fixes across store and UI
  • 25629f9 fix(gateway): add build stage for workspace packages in Dockerfile
  • 24b70e6 fix(gateway): add in-memory fallback for TelegramUserStore when no database
  • fe7c772 fix(gateway): add process-level error handlers and graceful shutdown
  • a7629db fix(gateway): enable CORS for HTTP endpoints
  • d9ba793 fix(gateway): extract content from payload in received messages
  • 5f2cc06 fix(gateway): fix Dockerfile build and copy static assets
  • 483f4a2 fix(gateway): graceful degradation when MySQL is unavailable
  • 01f64ff fix(gateway): include workspace packages in Docker build
  • 0887503 fix(gateway): persist Telegram users to JSON file when no database
  • 4d339ab fix(gateway): preserve telegram reply context ordering
  • cf94bc3 fix(gateway): relax rpc param generic for typed sdk payloads
  • d6393c6 fix(gateway): remove cleanupPendingRequests that rejects all concurrent users
  • 899a3d1 fix(gateway): rewrite Dockerfile to match current source layout
  • 604d74d fix(gateway): route messages to virtual devices in handleSend()
  • 0f8db70 fix(gateway): serve PWA client under /client subpath
  • 7775ba5 fix(gateway): stack target fields vertically for mobile
  • 31f38bb fix(gateway): update Dockerfile pnpm version and add pnpm-workspace.yaml
  • 5ba8c87 fix(gateway): use esbuild to bundle workspace packages in Docker
  • 19fed71 fix(heartbeat): bypass empty-file check for cron-triggered wakes
  • b9d9ae9 fix(heartbeat): keep manual trigger runs out of chat stream
  • c49ab1f fix(heartbeat): use internal run to hide heartbeat from chat history
  • 56ebe61 fix(hooks): handle agent_error events in useGatewayChat
  • 5ccf7bd fix(hooks): persist verified main conversation identity
  • efb1495 fix(hub): fence close must reject info strings per CommonMark spec
  • abc48e5 fix(hub): honor exec approval timeout fallback
  • f6fab68 fix(hub): include message_end text in aggregator
  • 6bd068a fix(hub): init subagent registry on startup and cleanup on shutdown
  • 0c6cdb0 fix(hub): initialize channelManager before restoreAgents
  • ef9b5af fix(hub): send error response to unverified device instead of silent drop
  • 1a9e915 fix(hub): skip text processing after MessageAggregator reset
  • 9f2a1c2 fix(hub): suppress heartbeat ack messages in streamed chat
  • 8406a1f fix(hub): use sessionId instead of profileId for exec approval routing
  • 2c02aa3 fix(issues): board polish — blocked column, drag fix, comment perms, task cleanup
  • 1bd25c5 fix(media): don't cache whisper binary detection failure
  • 424a330 fix(memory): fix TypeScript discriminated union narrowing
  • 22536fd fix(memory): handle exactOptionalPropertyTypes for optional fields
  • 16c325c fix(oauth): don't expire OAuth credentials that have refresh_token
  • a7f1c56 fix(profile): resolve exactOptionalPropertyTypes type error in updateStyle
  • eeabe0d fix(profile-setup): add agent identity questions to setup wizard
  • 13fbeaf fix(providers): use dedicated openai-codex provider instead of aliasing to openai
  • 22f1005 fix(release): add test step, fix checkout version, improve brew formula
  • 872d2d1 fix(release): match Go version to go.mod (1.26)
  • 2d53afe fix(release): remove before hook that fails in CI
  • 4c4f6c4 fix(release): use brews instead of homebrew_casks for CLI formula
  • 1819f41 fix(sdk): add AgentErrorEvent to StreamPayload type
  • 441c205 fix(sdk): point exports to source and remove .js import suffixes
  • d5b31ee fix(sdk,store): align frontend streaming protocol with new AgentEvent format
  • de0a983 fix(server): remove debug logging and add error handling from review
  • e23462d fix(session): add error logging and remove TOCTOU in ensureSessionDir
  • 71e44be fix(session): add explicit return type to maybeCompact method
  • d2827ae fix(session): add pruning to SessionEntry reason type
  • fa2616c fix(session): drop duplicate assistant messages in transcript repair
  • 2ec25cb fix(session): flush session writes before subagent result delivery
  • 3039e3b fix(session): handle transient ENOENT in session directory creation
  • f2ca86a fix(session): harden write lock and repair
  • d90edea fix(skills): call initializeManagedSkills in loadAllSkills
  • 845bcea fix(skills): enforce mandatory web search in earnings analysis
  • a4b7dea fix(skills): preserve all user files during bundled skill upgrades
  • 6c90fbf fix(skills): restore bundled skill documentation
  • da3bb25 fix(skills): support nested skill directories and managed skills
  • b394b0c fix(skills): use python3 and inject skill directory path into prompt
  • b6d7626 fix(store): use string prefix + URLSearchParams for connection URL parsing
  • 37ec8ff fix(streaming): use per-message stream ids and oauth resolver
  • 12075b9 fix(subagent): capture latest non-empty findings from child runs
  • a3f5a21 fix(subagent): clear run records immediately after successful announcement
  • 9687e7f fix(subagent): forward announce replies from internal runs
  • af3a42a fix(subagent): forward announcement summary to UI stream
  • 4d6017e fix(subagent): forward assistant stream events for internal announce
  • 121b644 fix(subagent): inherit parent provider in spawned subagents
  • a3acd73 fix(subagent): persist LLM summary after internal announce to parent context
  • 7726079 fix(subagent): recover delete cleanup after crash
  • a50239a fix(subagent): require coalesced announce to include all findings
  • 6284ffd fix(telegram): drop and recreate telegram_users table for schema change
  • d157069 fix(telegram): fix tool narration detection and typing indicator during tool execution
  • 5741402 fix(telegram): handle 409 polling conflict and add global error boundary
  • 81998e6 fix(telegram): skip tool narration messages, only send final answer
  • 4c1365f fix(telegram): strip existing bold markers in table conversion to prevent overlapping HTML tags
  • a94b6e8 fix(telegram): use DeviceMeta interface for verify RPC meta parameter
  • 0a5dd06 fix(test): add sleep after WS connect for Hub register timing
  • a5a5feb fix(test): events.NewBus → events.New (correct function name)
  • a5aedf5 fix(test): gracefully skip DB tests when database is unreachable
  • 9c8be30 fix(test): increase timeout for summary fallback artifact extraction test
  • ae6abc2 fix(test): pass JWT token and workspace_id in WS integration test
  • 97fa091 fix(test): register event bus listeners in integration test setup
  • fb709ff fix(test): remove skills column from integration test fixtures
  • cd3f4ec fix(test): update issues page tests for global store architecture
  • fc3dc39 fix(test): update tests for event bus + room-based Hub signatures
  • 77141cf fix(test): use correct var name testToken (not testAuthToken)
  • 691e33e fix(tools): auto-create group when custom groupId is provided
  • c24fafa fix(tools): prevent AbortSignal listener leak in exec and process tools
  • 7d04253 fix(tools): replace replaceAll with replace for ES2020 compatibility
  • e44861b fix(tools): resolve exactOptionalPropertyTypes errors
  • c012bff fix(tools): show findings and full runId in sessions_list list view
  • 02ed09b fix(tools): use boolean error flag in web_fetch and web_search error responses
  • 1592e0c fix(types): add undefined to optional properties for exactOptionalPropertyTypes
  • ea7f537 fix(ui): add missing tw-animate-css and shadcn dependencies
  • 8018290 fix(ui): add semantic colors to sonner toast icons
  • 6a02fd2 fix(ui): adjust chat input padding, icon, and button size
  • 24c3af1 fix(ui): handle possibly undefined values in strict mode
  • b718b95 fix(ui): improve chat input scroll behavior
  • bcaf144 fix(ui): improve disabled state cursor and no-agent empty state
  • 0c5de3c fix(ui): preserve newlines in chat input multiline text
  • 7e5bc7b fix(ui): prevent chat submit during IME composition
  • d96bdb0 fix(ui): prevent empty div flicker between tool transitions
  • 348b12b fix(ui): prevent long unbreakable strings from overflowing markdown
  • 57805cd fix(ui): remove Cmd+B sidebar toggle shortcut
  • 905e8c8 fix(ui): remove Shiki span background-color causing unwanted highlights
  • 374ce68 fix(ui): remove math plugins and disable single-tilde strikethrough
  • 1f7951d fix(ui): render tool calls immediately from assistant toolCall blocks
  • 5e174b8 fix(ui): responsive horizontal padding on message list
  • 058af56 fix(ui): show generating indicator while agent is processing (#191)
  • 3190be6 fix(ui): soften HubSidebar styling and improve UX
  • ec67dd6 fix(ui): strip channel metadata prefixes from user messages in display
  • 573d803 fix(ui): update component styles for Tailwind v4 compatibility
  • 3b1bc5a fix(ui): use data-active: syntax and add text color for active agent item
  • da5565a fix(ui): wrap agent ID in span for CSS truncate ellipsis
  • 8fcc14c fix(web): add API_URL to turbo.json globalEnv
  • 0629eb9 fix(web): add missing linkify-it dependency and types
  • bf7ea14 fix(web): add missing markdown dependencies (react-markdown, rehype-raw, remark-gfm, shiki)
  • 618be9c fix(web): add overflow-hidden to SidebarInset for rounded corners
  • c4a7cf9 fix(web): allow clearing workspace description and context fields
  • 0956277 fix(web): avoid setState in useEffect in AuthGuard
  • fd3694c fix(web): center issue content and make width responsive
  • 276e9a5 fix(web): defer MULTICA_API_URL check to runtime in next.config
  • 683182e fix(web): fix login page prerender error
  • 1ba0fb0 fix(web): fix stale state bugs, add real-time updates, and build verification pipeline
  • 9af889a fix(web): import toast from @multica/ui instead of bare sonner
  • 78543d7 fix(web): remove API proxy, use direct backend requests
  • 003bde4 fix(web): remove auth guard from home page
  • 86a8c91 fix(web): remove max-width constraint on assistant messages
  • f5c6f05 fix(web): replace PWA icons with full-bleed versions to fix iOS white border
  • 5f367fb fix(web): replace Zustand device store with local useDeviceId hook
  • 18cd938 fix(web): resolve TypeScript errors in test mocks and knowledge-base page
  • 2d83c91 fix(web): split maskable icon into separate entries for type safety
  • 047de2b fix(web): suppress deviceId hydration mismatch warning
  • 7b581b4 fix(web): update Google OAuth Client ID
  • 616f026 fix(web): update pair/local test mocks for new store imports
  • 20f5022 fix(web): wrap search params pages in suspense
  • 52a8b5a fix(web-search): use correct model name based on Perplexity API key type
  • 0ea9c38 fix(workspace): permission enforcement, invite auto-create, switch clears stores
  • 4502570 fix: add missing comma in package.json
  • 42aef6e fix: address review issues in skills system
  • 1a1c3ec fix: auto-load .env via --env-file flag in all tsx scripts
  • 8704e37 fix: clarify dev gateway is hardcoded in root package.json
  • 0c52b89 fix: code review — WS sync bug, Hub race condition, error feedback
  • 6becd79 fix: remove accidentally committed ~/.super-multica config
  • c0b248e fix: remove hardcoded URLs, reference config files instead
  • ad06679 fix: simplify - just say pnpm dev works directly
  • 428c6b5 fix: typecheck depends on build for type declarations
  • b310b57 merge: integrate origin/main into feat/onboarding-check
  • e0f80b0 merge: resolve conflict with main (keep both auth and subagents handlers)
  • ece00ca merge: resolve conflict with main (lucide-react migration)
  • 6a21a51 merge: resolve conflict with main branch
  • 7faf421 merge: resolve conflict with main branch (build scripts)
  • 06122df merge: resolve conflicts with main (skills feature)
  • dafbf85 merge: resolve conflicts with main branch
  • 83e1210 merge: resolve conflicts with main, keep pi-ai types + add extractThinkingFromEvent
  • c3ded8d merge: resolve conflicts with origin/main
  • 5c583cc polish(ui): inline editing, skeleton loading, toast feedback, empty states
  • 8333615 refactor(agent): integrate system prompt builder into profile, runner, and subagent
  • 5cccb06 refactor(agent): keep finance tool decisions internal
  • c5db9bf refactor(agent): make finance web usage dynamic
  • cb2dfd2 refactor(agent): move workspace to ~/Documents/Multica
  • 24435cd refactor(agent): remove hasWebTools conditional in data section
  • 0330b8b refactor(agent): remove keyword-based finance decisioner
  • 0f5bd5f refactor(agent): remove legacy memory subsystem
  • 0d1f48c refactor(agent): rename env vars to LLM_PROVIDER and provider-specific MODEL
  • da80ba1 refactor(agent): simplify AsyncAgent to use result.text instead of stream interception
  • 5fdae53 refactor(agent): split runner, tools, output, types
  • 218e6da refactor(apps): adopt conversation-first IPC and API surfaces
  • 972c887 refactor(apps): simplify layout components to pure navigation shells
  • 617ddfb refactor(auth-profiles): replace proper-lockfile with custom file lock
  • dee70ea refactor(channels): bind route keys to isolated conversations
  • 3123506 refactor(channels): persist route bindings across restarts
  • 112ae6c refactor(channels): read config from credentials.json5 instead of separate file
  • 9bb1fd6 refactor(channels): rewrite ChannelManager with lastRoute pattern
  • 716bbce refactor(chat, hooks): simplify handleSend and update useDeviceId to use useSyncExternalStore
  • a3e639f refactor(cli): make desktop app the default dev target
  • 5285092 refactor(cli): unify CLI with multica command and subcommands
  • 707b5ac refactor(cli): unify daemon into multica-cli binary with cobra subcommands
  • 8e245e7 refactor(clients): adopt conversation rpc with legacy fallback
  • b412ca9 refactor(compaction): remove dead code and legacy count mode
  • 92cf312 refactor(compaction): remove pre-flight tool result pruning
  • 37e5502 refactor(core): add baseDir DI and test helpers for mock-free testing
  • b8aa5ad refactor(core): convert MULTICA_API_URL constant to getApiBaseUrl() function
  • 909efb5 refactor(core): remove legacy subagent registry subsystem
  • 5af7aa7 refactor(core-hub): remove legacy agent RPC and fallback routing
  • e622b8c refactor(core-sdk): enforce conversation-only client protocol
  • bd0b380 refactor(credentials): remove skills.env.json5 support
  • 9bd1847 refactor(cron): align tool schema with OpenClaw patterns
  • f2228e4 refactor(daemon): rename DefaultWorkdir to ReposRoot for clarity
  • b5313b6 refactor(desktop): add container wrapper to page layouts
  • 3fd6e10 refactor(desktop): add silent option to provider store and improve devices
  • db0f8b3 refactor(desktop): drop legacy subagent dashboard wiring
  • 4cb8b93 refactor(desktop): hide manual Telegram bot creation, use official Gateway bot only
  • 8efc4ae refactor(desktop): improve clients page and QR code component architecture
  • fc77cb8 refactor(desktop): migrate provider state to zustand store
  • 6ea6c9f refactor(desktop): migrate to zustand stores and remove hook layer
  • bbf91a9 refactor(desktop): redesign layout with sidebar navigation
  • 1dc7539 refactor(desktop): remove Profile ID display from home page
  • ab65f4c refactor(desktop): replace OpenRouter model dropdown with text input
  • bc9b7d6 refactor(desktop): restructure pages and consolidate UI components
  • 22bd392 refactor(desktop): reuse shared ChatView, DevicePairing, and hooks in chat page
  • f3c5068 refactor(desktop): simplify onboarding routing structure
  • 2c28c4c refactor(dev): share postgres across main and worktrees
  • eef26d8 refactor(frontend): complete migration of all hooks and components to packages
  • 63861d0 refactor(frontend): extract shared stores and components into packages
  • 150c87a refactor(frontend): replace HTTP API with pure WebSocket RPC
  • 0e54c41 refactor(gateway): isolate telegram session routing by chat thread
  • 38181ab refactor(gateway): remove group chat support from Telegram bot
  • 7a21686 refactor(hooks,ui): extract useGatewayChat hook and update shared components
  • 3c85691 refactor(hub): add conversation-first rpc aliases
  • b7b3d32 refactor(hub): decouple agent and conversation runtime model
  • a0bb88e refactor(hub): enforce conversation-scoped device authorization
  • f63a67e refactor(hub): improve device whitelist persistence format
  • fc0c178 refactor(hub): remove Hub-level aggregation integration
  • eb4ce85 refactor(hub): rename Device ID to Hub ID in console layer
  • 49540e6 refactor(hub): replace mock Agent with AsyncAgent
  • da11e65 refactor(oauth): rename credentials/ to oauth/ for clarity
  • 5cdc697 refactor(profile): implement progressive disclosure for profile loading
  • 22e225c refactor(profile): remove Communication Style UI and programmatic API
  • e571bd5 refactor(profile): remove tools.md template
  • e7f8475 refactor(profile): simplify profile structure by removing identity and bootstrap
  • 34bfc81 refactor(profile-setup): simplify setup to focus on agent identity and user info
  • 7547e56 refactor(prompt): simplify profile and memory sections
  • 79e1dc0 refactor(prompt): update profile and memory sections
  • 754e604 refactor(protocol): add conversationId compatibility across hub/client
  • 6969790 refactor(protocol): deprecate legacy agentId conversation fallback
  • 9d1ac00 refactor(protocol): standardize sessionId alias across conversation flows
  • 6723aa8 refactor(providers): extract provider management to dedicated module
  • 932ecb5 refactor(providers): move oauth/ to providers/oauth/ and simplify model names
  • 3b3d2c4 refactor(release): rename multica-cli to multica
  • 3d7b135 refactor(sdk): unify gateway-sdk into @multica/sdk package
  • ef4e57f refactor(sdk): unify message types with pi-ai source of truth
  • cfd46ee refactor(sdk,store): clean up SDK exports and scope tool interruption
  • 759dd74 refactor(server): extract inbox creation to bus listeners, add agent visibility filtering
  • 4de8994 refactor(session): add agent/conversation hierarchical storage
  • 36e9acb refactor(shared): extract DATA_DIR constant to shared/paths.ts
  • 66cb3e5 refactor(skill-creator): use direct bash commands instead of Python script
  • 7ddf4f7 refactor(skills): add serialization to add/remove/install operations
  • 6234ba6 refactor(skills): deduplicate office/ module across docx, xlsx, pptx
  • 695d001 refactor(skills): hide technical finance decision block
  • 1140f09 refactor(skills): merge check_fillable_fields into extract_form_field_info
  • 8848f09 refactor(skills): remove hardcoded API key hints, use dynamic web search
  • 7a92f71 refactor(skills): remove unused SkillConfig.apiKey/env/primaryEnv (#192)
  • dafe108 refactor(skills): simplify loading to managed + profile sources
  • 162a86d refactor(store): consolidate 3 stores into ConnectionStore + MessagesStore
  • 5275bc5 refactor(store): migrate device-id hook to @multica/store
  • 97fce5b refactor(store): migrate messages hook to Zustand store
  • e491949 refactor(store): remove @multica/fetch dependency
  • 6b9e5d5 refactor(subagent): improve system prompt with anti-hallucination and group guidance
  • 1547da3 refactor(telegram): remove auto table creation, add SQL script for ops
  • 51ba86a refactor(tools): clean up web search naming and remove dead code
  • 12a4677 refactor(tools): integrate policy filtering into resolveTools
  • 1e1fa41 refactor(tools): remove KV memory tools in favor of file-based memory
  • 087d1a8 refactor(tools): remove tool profile layer from policy system
  • 53cffe9 refactor(tools): use shared api-client for auth headers
  • 056b9ab refactor(ui): deduplicate device-pairing with StatusWrapper and PairingHeader
  • 01790a5 refactor(ui): extract AppSidebar into shared UI component
  • 430f2c1 refactor(ui): move LoadingIndicator into MessageList
  • a088875 refactor(ui): move theme toggle from Chat to web app layout
  • dacbfa9 refactor(ui): purify Chat component and move header to app layouts
  • 6add5fc refactor(ui): remove sidebar, integrate connection flow into Chat
  • eb5c388 refactor(ui): reorganize components into ui/ subdirectory and share layout
  • f1244f4 refactor(ui): replace absolute-positioned delete with flex layout in HubSidebar
  • b896ac4 refactor(ui): self-contain Loading/Spinner styles and clarify usage semantics
  • 62267aa refactor(ui): split Chat into focused components with skeleton loading
  • 78e34a1 refactor(ui): unify agent item hover to full row
  • c6ca5f3 refactor(ui): unify container layout and adjust spacing
  • deb747a refactor(ui): unify loading indicator component
  • a2cabb5 refactor(ui): unify login page styling across web and desktop
  • 53c350e refactor(ui,hooks): extract shared ChatView and DevicePairing to packages
  • bece8f0 refactor(web): adapt chat page for extracted shared hooks
  • 6185b75 refactor(web): extract shared components, add tab system, and restructure issues page
  • e364351 refactor(web): move sidebar layout shell to layout.tsx
  • 44c3cec refactor(web): polish Issue detail page to match Linear design
  • 8fd1492 refactor(web): polish Issues page UI to match Linear design
  • ce95f73 refactor(web): redesign Activity section and comment input
  • b1140e9 refactor(web): redesign Issue detail page to closely match Linear
  • cb28fbe refactor(web): remove agent ID copy button from chat header
  • ada5687 refactor(web): remove frontend mock data, extract issue config
  • 31c8b1b refactor(web): replace devd proxy with Next.js rewrites
  • a8e18cc refactor(web): replace raw HTML with shadcn components on login page
  • a2d7501 refactor(web): restructure to feature-based architecture with zustand stores
  • 66e9913 refactor(web): self-contained shadcn UI with base-nova style and design tokens
  • 8f4680c refactor(web): unify design system with shadcn components and semantic tokens
  • 403c44f refactor(web): unify hub + agent state into single Zustand store
  • 5c240ab refactor(web): update imports to use @multica/ui package
  • 931ca53 refactor(web): update issue config to use icon-based status and bar-based priority
  • 6037be2 refactor: migrate from Hugeicons to Lucide icons
  • 66b1def refactor: migrate stores to features/, remove dead packages, add modals + workspace sync
  • e867688 refactor: remove repository field from issues
  • 6ef58a0 refactor: restructure to monorepo architecture
  • 4dba1cf refactor: unify API URL env var to MULTICA_API_URL
  • 0846578 revert(agent): remove parallel tool execution patch, keep serial
  • cedb8f9 revert: undo unintended .gitignore change
  • cf3ad1d style(desktop): update capabilities summary wording
  • bbf2a16 style(ui): soften dark mode background color
  • 18ab2da test(agent): add workspace resolution and initialization tests
  • 0385b0e test(agent): convert tool policy test
  • 98a447b test(cli): add comprehensive tests for output formatting functions
  • b15e1ee test(compaction): harden E2E integration tests for artifact pipeline
  • 0f8d032 test(context): add unit tests for context window guard
  • 9345128 test(context): add unit tests for token estimation and compaction
  • f6b6c29 test(core): migrate 5 tests from internal mocks to real implementations
  • 8a2b3e1 test(e2e): add natural Notion gap-discovery benchmark case
  • 5040791 test(e2e): add spotify capability-gap ux benchmark case
  • 6a778e3 test(hub): cover conversation rpc handlers
  • 4a9220b test(memory): add storage layer tests
  • 4201095 test(profile): add unit tests for profile storage
  • 0fee16f test(session): reset lock mock
  • de8ff73 test(skills): add unit tests for parser and eligibility checker
  • 5353161 test(skills): add unit tests for skills loader
  • 6d0ee87 test(skills): update eligibility tests for new context-based API
  • f6360c3 test(ssrf): expand SSRF test coverage
  • 7f9a018 test(subagent): add coalescing announcement tests
  • ab7c077 test(tools): add policy system unit tests
  • 44d0cef test(tools): add unit tests for...

Don't miss a new multica release

NewReleases is sending notifications on new releases.