docs: changelog update for v5.10.0 release#207
Conversation
Updated state tracking after analyzing 4 commits with no user-facing changes. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Automated state update from changelog agent. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Analyzed 10 commits since last check (be5c66e..72ab438). No user-facing changes to document - all commits were automated housekeeping, state updates, or internal security audits. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Added 3 user-facing changelog entries: - Discord file attachments support (@herdctl/discord@1.2.0) - CLI runtime MCP server support (@herdctl/core@5.10.0) - Slack message deduplication fix (@herdctl/slack@1.2.13) Commits analyzed: 72ab438..8b8a3e1 (2 commits) Release: v5.10.0 (March 10, 2026) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
📝 WalkthroughWalkthroughAutomated changelog update recording agent state and activity logs alongside documentation of three new features: Discord file attachments support, CLI runtime MCP server integration, and Slack message deduplication improvements. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~4 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Deploying herdctl with
|
| Latest commit: |
5d75606
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://7e0c8ed4.herdctl.pages.dev |
| Branch Preview URL: | https://changelog-auto-update-2026-0-qjfw.herdctl.pages.dev |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@agents/changelog/state.md`:
- Line 3: The header's visible "Last Updated" timestamp is stale; update the
header value to match the current last_run entry in agents/changelog/state.md
(the last_run: "2026-03-14T00:00:00Z" field) so both places show the same
timestamp; locate the header label that renders the visible "Last Updated" text
and replace its timestamp string with the last_run value (or make the header
render the last_run variable directly) so lines referenced (the header and
last_run) are synchronized.
In `@docs/src/content/docs/whats-new.md`:
- Around line 10-29: Change the heading level for the "Discord File Attachments"
section from "### Discord File Attachments" to "## Discord File Attachments" to
satisfy markdownlint MD001, and then ensure the sibling sections "CLI Runtime
MCP Server Support" and "Slack Message Deduplication Fix" use consistent heading
levels (adjust them to "##" as well if they are intended to be peer sections) so
the document's heading hierarchy is correct.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 6330de1a-1d23-4af9-8380-0e222b3484dc
📒 Files selected for processing (4)
agents/changelog/state.mdagents/engineer/conversations.mdagents/engineer/state.mddocs/src/content/docs/whats-new.md
| last_checked_commit: b7fed00 | ||
| last_run: "2026-03-06T04:01:56Z" | ||
| last_checked_commit: 8b8a3e1 | ||
| last_run: "2026-03-14T00:00:00Z" |
There was a problem hiding this comment.
Update the visible Last Updated timestamp to match this run.
Line 3/Line 23 show a March 14, 2026 run, but the page header still says 2026-02-25T04:05:06Z (Line 11), which is stale.
Suggested fix
-**Last Updated:** 2026-02-25T04:05:06Z
+**Last Updated:** 2026-03-14T00:00:00ZAlso applies to: 22-25
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@agents/changelog/state.md` at line 3, The header's visible "Last Updated"
timestamp is stale; update the header value to match the current last_run entry
in agents/changelog/state.md (the last_run: "2026-03-14T00:00:00Z" field) so
both places show the same timestamp; locate the header label that renders the
visible "Last Updated" text and replace its timestamp string with the last_run
value (or make the header render the last_run variable directly) so lines
referenced (the header and last_run) are synchronized.
| ### Discord File Attachments | ||
| **March 10, 2026** · `@herdctl/discord@1.2.0` · `@herdctl/core@5.10.0` · `herdctl@1.5.7` | ||
|
|
||
| Discord agents can now receive and process file attachments (images, PDFs, text files, code files) uploaded alongside messages. Text and code files are automatically downloaded and inlined into the agent's prompt for immediate context. Images and PDFs are saved to the agent's working directory with a file path reference, allowing the agent to use its Read tool to view them. Configure via the `chat.discord.attachments` field with options for file size limits, allowed file types, and automatic cleanup. This enables workflows like "here's a screenshot of the bug" or "review this PDF spec" directly in Discord without manual file transfers. | ||
|
|
||
| --- | ||
|
|
||
| ### CLI Runtime MCP Server Support | ||
| **March 10, 2026** · `@herdctl/core@5.10.0` · `herdctl@1.5.7` | ||
|
|
||
| The CLI runtime now supports injected MCP servers (Model Context Protocol servers), enabling features like file sending for Discord and Slack file uploads. Previously only SDK and Docker runtimes handled injected MCP servers — CLI runtime agents silently ignored them, breaking file attachment features for CLI-based chat agents. The fix reuses existing HTTP bridge infrastructure: herdctl starts HTTP bridges on localhost for each injected server and passes them to the CLI via `--mcp-config` as HTTP-type MCP servers. This brings feature parity across all three runtime modes. | ||
|
|
||
| --- | ||
|
|
||
| ### Slack Message Deduplication Fix | ||
| **March 10, 2026** · `@herdctl/slack@1.2.13` · `herdctl@1.5.7` | ||
|
|
||
| Fixed duplicate assistant messages appearing in Slack channels. Claude Code can emit intermediate JSONL snapshots (with `stop_reason: null`) before the final assistant message, and the Slack manager was treating each snapshot as a separate message. The connector now skips intermediate snapshots and deduplicates by `message.id`, ensuring only the final, complete assistant response appears in the channel. This eliminates confusing duplicate messages during long-running agent operations. | ||
|
|
||
| --- |
There was a problem hiding this comment.
Fix heading level increment at Line 10 (MD001).
The first new section starts at ### without a preceding ##, triggering markdownlint heading-increment.
Suggested fix
-### Discord File Attachments
+## Discord File Attachments
...
-### CLI Runtime MCP Server Support
+## CLI Runtime MCP Server Support
...
-### Slack Message Deduplication Fix
+## Slack Message Deduplication Fix📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| ### Discord File Attachments | |
| **March 10, 2026** · `@herdctl/discord@1.2.0` · `@herdctl/core@5.10.0` · `herdctl@1.5.7` | |
| Discord agents can now receive and process file attachments (images, PDFs, text files, code files) uploaded alongside messages. Text and code files are automatically downloaded and inlined into the agent's prompt for immediate context. Images and PDFs are saved to the agent's working directory with a file path reference, allowing the agent to use its Read tool to view them. Configure via the `chat.discord.attachments` field with options for file size limits, allowed file types, and automatic cleanup. This enables workflows like "here's a screenshot of the bug" or "review this PDF spec" directly in Discord without manual file transfers. | |
| --- | |
| ### CLI Runtime MCP Server Support | |
| **March 10, 2026** · `@herdctl/core@5.10.0` · `herdctl@1.5.7` | |
| The CLI runtime now supports injected MCP servers (Model Context Protocol servers), enabling features like file sending for Discord and Slack file uploads. Previously only SDK and Docker runtimes handled injected MCP servers — CLI runtime agents silently ignored them, breaking file attachment features for CLI-based chat agents. The fix reuses existing HTTP bridge infrastructure: herdctl starts HTTP bridges on localhost for each injected server and passes them to the CLI via `--mcp-config` as HTTP-type MCP servers. This brings feature parity across all three runtime modes. | |
| --- | |
| ### Slack Message Deduplication Fix | |
| **March 10, 2026** · `@herdctl/slack@1.2.13` · `herdctl@1.5.7` | |
| Fixed duplicate assistant messages appearing in Slack channels. Claude Code can emit intermediate JSONL snapshots (with `stop_reason: null`) before the final assistant message, and the Slack manager was treating each snapshot as a separate message. The connector now skips intermediate snapshots and deduplicates by `message.id`, ensuring only the final, complete assistant response appears in the channel. This eliminates confusing duplicate messages during long-running agent operations. | |
| --- | |
| ## Discord File Attachments | |
| **March 10, 2026** · `@herdctl/discord@1.2.0` · `@herdctl/core@5.10.0` · `herdctl@1.5.7` | |
| Discord agents can now receive and process file attachments (images, PDFs, text files, code files) uploaded alongside messages. Text and code files are automatically downloaded and inlined into the agent's prompt for immediate context. Images and PDFs are saved to the agent's working directory with a file path reference, allowing the agent to use its Read tool to view them. Configure via the `chat.discord.attachments` field with options for file size limits, allowed file types, and automatic cleanup. This enables workflows like "here's a screenshot of the bug" or "review this PDF spec" directly in Discord without manual file transfers. | |
| --- | |
| ## CLI Runtime MCP Server Support | |
| **March 10, 2026** · `@herdctl/core@5.10.0` · `herdctl@1.5.7` | |
| The CLI runtime now supports injected MCP servers (Model Context Protocol servers), enabling features like file sending for Discord and Slack file uploads. Previously only SDK and Docker runtimes handled injected MCP servers — CLI runtime agents silently ignored them, breaking file attachment features for CLI-based chat agents. The fix reuses existing HTTP bridge infrastructure: herdctl starts HTTP bridges on localhost for each injected server and passes them to the CLI via `--mcp-config` as HTTP-type MCP servers. This brings feature parity across all three runtime modes. | |
| --- | |
| ## Slack Message Deduplication Fix | |
| **March 10, 2026** · `@herdctl/slack@1.2.13` · `herdctl@1.5.7` | |
| Fixed duplicate assistant messages appearing in Slack channels. Claude Code can emit intermediate JSONL snapshots (with `stop_reason: null`) before the final assistant message, and the Slack manager was treating each snapshot as a separate message. The connector now skips intermediate snapshots and deduplicates by `message.id`, ensuring only the final, complete assistant response appears in the channel. This eliminates confusing duplicate messages during long-running agent operations. | |
| --- |
🧰 Tools
🪛 markdownlint-cli2 (0.21.0)
[warning] 10-10: Heading levels should only increment by one level at a time
Expected: h2; Actual: h3
(MD001, heading-increment)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/src/content/docs/whats-new.md` around lines 10 - 29, Change the heading
level for the "Discord File Attachments" section from "### Discord File
Attachments" to "## Discord File Attachments" to satisfy markdownlint MD001, and
then ensure the sibling sections "CLI Runtime MCP Server Support" and "Slack
Message Deduplication Fix" use consistent heading levels (adjust them to "##" as
well if they are intended to be peer sections) so the document's heading
hierarchy is correct.
Summary
New Entries
Metadata
🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
Bug Fixes