CMSDK 2.1.1 - Release Notes Released 26 July 2026 CMSDK steps to 2.1.1 alongside Psyclone AIOS 2.1.1. Highlights: Feature: Added NewProcessEx / ReadProcessOutput / SendProcessBreak in Utils for the Psyclone T1.4 external-exec lifecycle (cross-platform child-process spawn, output capture and graceful-break signalling) Feature: TriggerGroup declarative-join support — CMSDK primitive backing the Psyclone grouped-activation feature, with grouped-delivery documented in the CMSDK LLM guide and Doxygen-clean header comments Fix: Fixed an intermittent network_http teardown hang — a double-delete race in NetworkChannel endConnection/shutdown; teardown now uses bounded waits plus invalid-handle hardening (verified 20/20 clean test=cmsdk runs) Fix: Fixed Windows GetExitCodeProcess misuse — a still-running process was reported as terminated with code 259 (STILL_ACTIVE); process-exit detection is now correct Fix: Fixed a Linux SIGSEGV/hang introduced by the graceful-shutdown thread change — thread reaping is now safe on Linux Fix: Fixed intermittent Windows unit-test failures — graceful thread shutdown plus WAIT_ABANDONED handling Fix: Windows shared memory now honours force by zeroing a pre-existing named mapping; assorted minor Windows compilation fixes Fix: SSL — OpenSSL handshake/certificate errors are now routed through the log system; client-side hostname verification and custom CA locations; verify-peer default with allowselfsigned opt-in Fix: Corrected Subscriptions.h trigger-filter doc-comments — maxage operand is milliseconds (not microseconds), haskey matches any entry type, >=/<= epsilon boundary noted on greaterthan/lessthan, numeric ops parse as float64 Build: Clean builds from scratch fixed — the build/ object directory is now self-created by the compile rules (mkdir -p $(@D)) rather than a parse-time guard, so make clean && make and make rebuild work out of the box Full API reference: https://cmsdk.cmlabs.com/ | https://psyclone.cmlabs.com/