|
| 1 | +# CCCC v0.4.2 Release Notes |
| 2 | + |
| 3 | +`v0.4.2` advances the IM integration and operator-facing control surfaces. |
| 4 | +It ships key-based IM chat authorization, a reusable actor profiles system, and a remote access control plane — all with matching Web/MCP/CLI coverage. |
| 5 | + |
| 6 | +## Highlights |
| 7 | + |
| 8 | +## 1) Key-based IM chat authorization |
| 9 | + |
| 10 | +IM bridges now authenticate chats through a **cryptographic bind-key flow** instead of static trust. |
| 11 | +Operators generate a one-time bind key in the Web UI, share it with the target IM chat, and the bridge verifies identity before granting access. |
| 12 | + |
| 13 | +Key capabilities: |
| 14 | + |
| 15 | +- `/bind <key>` command in supported IM platforms (Telegram first) |
| 16 | +- automatic subscription on successful bind (no separate `/subscribe` step) |
| 17 | +- **pending approval management**: operators can review and approve/deny bind requests from the Web Settings → IM Bridge tab |
| 18 | +- **revoke semantics**: authorized chats can be revoked at any time, with immediate effect on message routing |
| 19 | +- `cccc_im_bind` MCP tool for programmatic binding from automation workflows |
| 20 | + |
| 21 | +## 2) Actor profiles |
| 22 | + |
| 23 | +A new **actor profile** abstraction lets operators attach reusable identity metadata (display name, avatar, prompt preamble, model preferences) to actors. |
| 24 | + |
| 25 | +Profiles are linked at actor creation or update and propagate across: |
| 26 | + |
| 27 | +- daemon runtime (used for display in IM bridges and Web) |
| 28 | +- Web UI (dedicated **Actor Profiles** settings tab for CRUD operations) |
| 29 | +- MCP surface (profile query and assignment tools) |
| 30 | + |
| 31 | +## 3) Remote access control plane |
| 32 | + |
| 33 | +A new **remote access** layer allows authorized clients to interact with a CCCC daemon across network boundaries. |
| 34 | +Combined with hardened IM revoke semantics, this enables secure multi-node orchestration without exposing the daemon socket directly. |
| 35 | + |
| 36 | +## 4) Telegram UX improvements |
| 37 | + |
| 38 | +- **Typing indicators**: the bridge now sends typing actions with configurable throttling, giving collaborators visual feedback during agent processing. |
| 39 | +- **Actor titles over IDs**: IM-rendered messages now prefer human-readable actor titles instead of raw actor identifiers. |
| 40 | + |
| 41 | +## 5) MCP and operational fixes |
| 42 | + |
| 43 | +- **Recipient semantics fix**: `None` (broadcast) vs `[]` (no recipients) distinction is now correctly preserved in MCP message send, preventing unintended broadcast or silent drops. |
| 44 | +- **IM KeyManager reload**: authorization state is reloaded from disk on each inbound poll, eliminating stale-cache authorization failures after daemon restarts. |
| 45 | +- **Timestamp handling**: `authorized_at` timestamps in the IM Web UI are now correctly parsed and displayed. |
| 46 | + |
| 47 | +## Validation Summary |
| 48 | + |
| 49 | +Release preparation checks: |
| 50 | + |
| 51 | +- `pytest -q` -> all tests passed (including new test suites for actor profiles, IM auth, remote access, and chat ops) |
| 52 | +- `npm --prefix web run typecheck` -> pass |
| 53 | +- `npm --prefix web run build` -> pass |
| 54 | +- `npm --prefix docs run build` -> pass |
| 55 | + |
| 56 | +## Upgrade Notes |
| 57 | + |
| 58 | +From `v0.4.1`, this is a drop-in minor upgrade. |
| 59 | +No migration procedure is required — profile and IM auth state stores are created on first use. |
| 60 | + |
| 61 | +Recommended post-upgrade checks: |
| 62 | + |
| 63 | +1. restart daemon/web once to ensure clean runtime state |
| 64 | +2. verify IM bridge authorization by generating a bind key and testing the `/bind` flow in a test chat |
| 65 | +3. confirm actor profiles appear correctly in Web Settings → Actor Profiles tab |
| 66 | +4. if using remote access, verify connectivity and revoke semantics from the Remote Access settings tab |
0 commit comments