Netclaw 0.14.2
0.14.2 2026-04-21
Netclaw v0.14.2 — Structured reminder delivery, protobuf serialization, subagent robustness, and web-content-retrieval skill
Features
Added structured reminder delivery contract —
set_remindernow uses adeliveryobject with a requiredkindfield (current_session,channel, ornone) that directly selects the execution mode, replacing the previous implicit inference from optional fields. A newdeliveryRequiredboolean controls policy;deliveryInstructionscarries content guidance only. Transport-keyed resolver dispatch usesChannelType.ToWireValue()for reliable routing across Slack and future transports. Closes #690. (#692)Added protobuf-net serializer with stable manifests —
NetclawProtobufSerializeruses constant manifest strings (sid-v1,sum-v1,tr-v1, etc.) decoupled from .NET type names, enabling safe schema evolution without migration steps. TheWithNetclawSerialization()extension disables theSystem.ObjectJSON fallback so unregistered types fail loudly instead of silently falling back. Existing persisted events remain readable; new events use the more efficient binary format. (#705)Added
web-content-retrievalsystem skill — the agent now loads a built-in skill covering URL handling, browser automation guidance, and social media content retrieval so it can advise on web fetch workflows without requiring a custom skill. (#702)Made subagent tools optional — omitting the
toolsfield in a subagent's YAML frontmatter now causes the subagent to inherit all session tools, including MCP tools (Notion, GitHub, etc.). Previously the field was required and restricted to four built-in tools, making MCP-powered subagents impossible to define. Whentoolsis specified it acts as a whitelist; when omitted all session tools are available. (#703)Migrated webhook notification policy to
deliveryRequiredboolean — theNotifyPolicyenum onset_webhookand webhook config is replaced by adeliveryRequiredboolean that is consistent with the reminder delivery contract. (#704)
Bug Fixes
Fixed daemon crash on subagent timeout — the subagent cancellation callback was capturing
Selfat registration time instead of before registration, causing aNotSupportedExceptionwhen the callback fired on a thread-pool thread with no active actor context. The resulting unhandledAggregateExceptionterminated the entire daemon, killing all active sessions. The fix also converts the scheduling to theIWithTimerspattern per project conventions. (#707)Fixed
netclaw-operationsskill hidden from agent skill index — the skill had an incorrectdisable-model-invocation: trueflag that prevented it from appearing in the agent's skill discovery index, causing the agent to be unaware of operations guidance. (#702)