What's Changed
- feat(gui): render official integration icons and reposition Add button (#786) by @ric03uec in #787
- blog: v26.6.5 release notes by @ric03uec in #785
- feat(demos): scenes.yaml tape.output_format supports gif by @ric03uec in #789
- chore(blog): link features to GitHub issues in v26.6.5 release post by @ric03uec in #791
- fix(macos): openclaw E2E support + #720 fail-fast + bedrock prefix rename by @ric03uec in #792
- chore(itx): scaffold execution phases for #790 by @ric03uec in #798
- feat(workspace): openclaw workspace overlay GA on macOS (#770) by @ric03uec in #799
- feat(workspace): hermes workspace overlay GA on macOS (#772) by @ric03uec in #804
- fix(gui): resolve agent model from tier-1 attachment + providers.json (#793) by @ric03uec in #800
- fix(hosts): prune legacy config.provider/providers/channels on load (#795) by @ric03uec in #803
- feat(workspace): land Phases 5+6 to main (recover #801, #804 stacked-merge propagation gap) by @ric03uec in #806
- fix(lifecycle): stop persisting config.provider/providers/channels mirror (#794) by @ric03uec in #807
- chore(cleanup): delete dead code + defensive comments referencing config.* mirror (#797) by @ric03uec in #805
- fix(blog): add truncate marker to v26.6.5 release post by @ric03uec in #796
- feat(shell): macOS support for
clawctl agent shell(#808) by @ric03uec in #809 - feat(skills): add /sync-upstream maintainer skill by @ric03uec in #813
- fix(openclaw): collapse install/configure/sync onto canonical render (#756) by @ric03uec in #818
- fix(openclaw): add litellm branch to verify_config.py by @ric03uec in #821
- fix(openclaw): consolidate gateway.auth through hosts.py read/write helpers by @ric03uec in #823
- fix(openclaw): consolidate version probe onto home_root_for seam (#752) by @ric03uec in #822
- fix(openclaw): install plugins on clawctl agent sync, not just configure (#755) by @ric03uec in #824
- fix(core): refuse sync on incomplete-install instead of misleading upgrade hint (#810) by @ric03uec in #828
- fix(lifecycle): probe gateway port after systemctl is-active on Linux sync (#812) by @ric03uec in #829
- fix(lifecycle): detect missing on-host install in sync validate phase (#811) by @ric03uec in #830
- feat(hermes): expose context_length in litellm-rendered config.yaml by @ric03uec in #832
- docs(plan): #499 Slack integration plan — ATX round 2 disposition by @ric03uec in #833
- feat(hermes): Phase 1 Slack MCP integration (slack-user + slack-cookie) by @ric03uec in #840
- feat(openclaw): bump upstream pin 2026.6.9 → 2026.6.11 (#816) by @ric03uec in #839
- recovery: bring #835 Phase 2 (openclaw slack) to main after stranded stacked merge by @ric03uec in #847
- feat(zeroclaw): upstream pin 0.7.5 → 0.8.2 + 0.8.2 chat/schema compatibility (#817) by @ric03uec in #848
- feat(clawctl): remove
mcpplaceholder group; successor tracked in #844 by @ric03uec in #845 - docs(itx): #499 add 01_EXECUTION.md scaffold for historical record by @ric03uec in #850
- fix(zeroclaw): harmonize slack-mcp install to runbook pattern (#851) by @ric03uec in #852
- feat(#846): pin slack MCP toolset name to
slackby @ric03uec in #853 - feat(hermes): bump upstream pin 2026.5.29.2 → 2026.7.1 (#815) by @ric03uec in #854
- fix(#713): narrow CORS to explicit methods+headers with allow_credentials=true by @ric03uec in #856
- fix(#753): validate agent_name at sync boundary before path interpolation by @ric03uec in #855
- chore(release): v26.7.0 by @ric03uec in #857
Full Changelog: v26.6.5...v26.7.0