V3.8.9 Release Notes
V3.8.9 fixes Feishu/Lark topic reply card continuity.
What Changed
- Topic replies now keep streaming updates on the original card even when Hermes uses a different internal streaming
message_idafter the first card is created. - The sidecar resolves active topic sessions by
reply_to_message_idbefore creating a new session, sotool.updated,answer.delta,thinking.delta,message.completed, andsystem.noticeevents keep PATCHing the same Feishu/Lark card. - Session-scoped native Hermes notices inside topics now return
applied: truewhen they are folded into the active card timeline. This prevents the adapter wrapper from also sending the same notice as a gray native Feishu/Lark text message. - Recognized Hermes system notices are now suppressed even if the card delivery attempt times out, preventing the observed "card plus external gray notice" duplicate in Feishu/Lark topic panes.
- Hook runtime stream events preserve the Feishu reply anchor from Relay
source.message_id, covering Hermes v0.18.x WebSocket long-connection topic flows.
Upgrade Notes
No configuration change is required for single-profile deployments.
After upgrading, rerun install/setup so the Hermes Gateway runtime imports the refreshed hook runtime:
python3 -m hermes_feishu_card.cli install --hermes-dir ~/.hermes/hermes-agent --yes
python3 -m hermes_feishu_card.cli doctor --config ~/.hermes_feishu_card/config.yaml --hermes-dir ~/.hermes/hermes-agent --explainFor Docker installs, set:
export HFC_VERSION=v3.8.9
bash install-docker.shVerification
uv run --extra test pytest tests/unit/test_hook_runtime.py -q -k "stream_event_carries_topic_reply_anchor"uv run --extra test pytest tests/integration/test_server.py -q -k "topic_stream_event_with_reply_anchor_updates_existing_card or topic_system_notice_with_reply_anchor_updates_existing_card"uv run --extra test pytest tests/unit/test_hook_runtime.py -q -k "native_feishu_system_notice_send_suppresses_text_when_card_times_out"uv run --extra test pytest tests/unit/test_hook_runtime.py tests/integration/test_server.py tests/integration/test_feishu_client_http.py tests/unit/test_feishu_client.py -q- Local Hermes + Lark topic smoke: create or open a topic, send a normal agent prompt, verify the card appears inside the topic, tool/timeline events update the same card, and runtime notices do not duplicate as gray native text outside the card.
Release Assets
GitHub Releases include:
hermes-feishu-card-v3.8.9-macos.tar.gzhermes-feishu-card-v3.8.9-linux.tar.gzhermes-feishu-card-v3.8.9-windows.ziphermes-feishu-card-v3.8.9-checksums.txt