Skip to content

Commit e11402f

Browse files
committed
release: prepare v0.4.2 — version bump, changelog, and release notes
1 parent 8575210 commit e11402f

File tree

4 files changed

+90
-1
lines changed

4 files changed

+90
-1
lines changed

CHANGELOG.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,28 @@ All notable changes to this project are documented in this file.
44

55
The format follows [Keep a Changelog](https://keepachangelog.com/), and versions follow SemVer/PEP 440.
66

7+
## [0.4.2] — 2026-02-22
8+
9+
### Added
10+
- **IM key-based chat authorization**: dynamic bind-key authentication for IM bridges, replacing static trust with per-chat cryptographic binding. Includes `/bind` command, auto-subscribe on successful bind, pending approval management, and revoke semantics.
11+
- **`cccc_im_bind` MCP tool**: programmatic chat authorization via the MCP surface.
12+
- **Authorized chats Web UI**: view/manage bound IM chats and pending bind approvals from Settings → IM Bridge tab.
13+
- **Bind key UI**: generate and display bind keys for chat authorization directly from Web settings.
14+
- **Actor profiles system**: profile linking across daemon, Web, and MCP — including profile runtime, persistent store, and a dedicated Actor Profiles settings tab.
15+
- **Remote access control plane**: remote daemon access with hardened IM revoke semantics for secure multi-node operation.
16+
- **Telegram typing indicators**: typing action support with configurable throttling for more natural conversational UX.
17+
- **IM authentication IPC documentation**: new standards doc covering IM auth IPC methods.
18+
19+
### Changed
20+
- **IM display names**: prefer actor titles over raw actor IDs in IM-rendered messages for better readability.
21+
- **Modal UX refinements**: extracted modal close handlers and adjusted inbox modal height for cleaner interaction.
22+
23+
### Fixed
24+
- Fixed MCP message send incorrectly collapsing `None` recipients to empty list, breaking broadcast semantics.
25+
- Fixed `authorized_at` timestamp handling in IM Web UI.
26+
- Fixed IM KeyManager state not reloading from disk on each inbound poll, causing stale authorization data.
27+
- Fixed docs incorrectly requiring post-bind `/subscribe` step (now handled automatically).
28+
729
## [0.4.1] — 2026-02-20
830

931
### Added

docs/release/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
Current stable line:
44

5+
- [v0.4.2 Release Notes](./v0.4.2_release_notes)
56
- [v0.4.1 Release Notes](./v0.4.1_release_notes)
67
- [v0.4.0 Release Notes](./v0.4.0_release_notes)
78

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
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

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "cccc-pair"
7-
version = "0.4.1"
7+
version = "0.4.2"
88
description = "Global multi-agent delivery kernel with working groups, scopes, and an append-only collaboration ledger"
99
readme = { file = "README.md", content-type = "text/markdown" }
1010
requires-python = ">=3.9"

0 commit comments

Comments
 (0)