## v1.4.0-beta.1 — 2026-06-22

First beta of the v1.4.0 series. Two **new platforms** join the family (Cisco Webex, Matrix
with E2EE) plus broader configurability for claudecode/codex, Korean i18n, and a batch of
fixes carried forward from late v1.3 development.

`v1.3.4` Windows-cmdline hotfix (released 2026-06-16 from `release/v1.3.4`) is also rolled
into this branch via PR #1378.

### New Platforms
- **Cisco Webex** — first-class Webex Teams adapter with bot identity, message routing,
  and reply support. (#1402, [@bryantbarzola](https://github.com/bryantbarzola))
- **Matrix (with E2EE)** — first-class Matrix adapter including end-to-end encrypted room
  support. (#834, [@rablwupei](https://github.com/rablwupei))

### Features
- **Slack streaming preview + aggregated turn card** — Slack now shows live streaming
  preview while the agent is thinking, then collapses into a single aggregated turn card
  on completion. (#1333, [@spinsirr](https://github.com/spinsirr))
- **Feishu after_click card replacement for `cmd:` actions** — Feishu rich cards can now
  replace their content after a button click for `cmd:` action handlers. (#1299,
  [@HaiyiMei](https://github.com/HaiyiMei))
- **Codex custom `system_prompt` / `append_system_prompt` config** — Codex agent now
  honours per-config `system_prompt` and `append_system_prompt` like claudecode does.
  (#1345, [@HaiyiMei](https://github.com/HaiyiMei))
- **Korean (ko) i18n** — Web admin UI now ships Korean translations alongside zh/en/ja.
  (#1343, [@moduvoice](https://github.com/moduvoice))
- **`plugin_dir` for Claude Code plugins** — claudecode agent supports loading plugins
  via `--plugin-dir`, exposed as a new `plugin_dir` config option. (#1325,
  [@Byctor](https://github.com/Byctor))
- **`max_attachment_size_mb` for `cc-connect send`** — configurable upper bound for
  outbound attachment size; default preserved. (#1392,
  [@rablwupei](https://github.com/rablwupei))
- **`CC_LOG_MAX_BACKUPS` env var** — control daemon log rotation backup count via env.
  (#1260, [@chenhg5](https://github.com/chenhg5))

### Bug Fixes
- **claudecode (Windows cmdline limit)** — file-based system prompt delivery via
  `--append-system-prompt-file` lands on main (port of the v1.3.4 hotfix). Windows users
  on claudecode are no longer affected by the cmd.exe 8192-byte cmdline limit. (#1378
  porting #1376, [@chenhg5](https://github.com/chenhg5))
- **feishu (batch images dropped)** — coalesce consecutive image messages from the same
  session into a single multi-image dispatch (150 ms quiet window) so first-image-of-N
  is no longer dropped by the `create_time` watermark from PR #1168. (#1408 carrying
  #1395, [@chenhg5](https://github.com/chenhg5))
- **feishu (markdown text_color)** — keep `text_color` on `plain_text` elements only;
  removing it from `markdown` elements fixes rendering glitches. (#1278,
  [@gotang](https://github.com/gotang))
- **workspace model persistence** — workspace-level model selections now persist across
  restarts instead of resetting to default. (#1372, [@shellus](https://github.com/shellus))
- **acp graceful `/stop`** — new `AgentSessionCanceller` interface lets `/stop` shut a
  session down gracefully via ACP. (#1275, [@SXongin](https://github.com/SXongin))
- **core FIFO drain** — queued messages now drain strictly in FIFO order, preventing
  earlier queued messages from being dropped as stale when a later one has a higher
  `create_time`. (#1286, [@AaronZ345](https://github.com/AaronZ345))
- **skill discovery depth-1 only** — skill scanning no longer recurses into
  subdirectories. Only `<skill_dir>/<name>/SKILL.md` is registered; nested SKILL.md files
  are treated as skill assets and ignored, matching Claude Code CLI conventions
  (previously, nested SKILL.md leaked into platform command menus as phantom slash
  commands). (#1317 carrying #1304, [@chenhg5](https://github.com/chenhg5))
- **engine workspace binding under `run_as_user`** — keep workspace binding even when
  the supervisor cannot stat it under `run_as_user`. (#1316,
  [@baocang](https://github.com/baocang))
- **runas workspace** — run the agent in its own workspace under `run_as_user`. (#1315,
  [@baocang](https://github.com/baocang))
- **claudecode mid-turn compaction** — keep the turn running when a compaction event
  arrives mid-turn (fixes #481). (#1272, [@chenhg5](https://github.com/chenhg5))
- **cron permission lookup with composite keys** — pending permission lookup for cron
  sessions now resolves correctly when the key is composite. (#1067,
  [@happyTonakai](https://github.com/happyTonakai))

### Tests
- Regression test for issue #814 — verifies queued messages use their own `replyCtx` via
  the outer drain. (#1261, [@chenhg5](https://github.com/chenhg5))

### Docs
- Remove four lapsed sponsor entries from README sponsor section. (#1404,
  [@chenhg5](https://github.com/chenhg5))

### Behavior Changes
None. Existing configs upgrade without changes. New config options
(`plugin_dir`, `max_attachment_size_mb`, codex `system_prompt`/`append_system_prompt`,
`CC_LOG_MAX_BACKUPS`) are all optional with safe defaults.

### Breaking Changes
None.

### Contributors

Thanks to everyone who contributed to this beta:

- [@bryantbarzola](https://github.com/bryantbarzola) — new Webex platform (#1402)
- [@rablwupei](https://github.com/rablwupei) — new Matrix platform with E2EE (#834);
  configurable attachment size limit (#1392)
- [@HaiyiMei](https://github.com/HaiyiMei) — codex custom system_prompt (#1345); feishu
  after_click card replacement (#1299)
- [@spinsirr](https://github.com/spinsirr) — Slack streaming preview + aggregated turn
  card (#1333)
- [@moduvoice](https://github.com/moduvoice) — Korean (ko) translation (#1343)
- [@Byctor](https://github.com/Byctor) — Claude Code `plugin_dir` option (#1325)
- [@shellus](https://github.com/shellus) — workspace model persistence (#1372)
- [@SXongin](https://github.com/SXongin) — acp AgentSessionCanceller for graceful /stop
  (#1275)
- [@AaronZ345](https://github.com/AaronZ345) — core FIFO drain (#1286)
- [@gotang](https://github.com/gotang) — feishu text_color in markdown element (#1278)
- [@baocang](https://github.com/baocang) — engine + runas workspace fixes under
  run_as_user (#1315, #1316)
- [@happyTonakai](https://github.com/happyTonakai) — cron permission lookup with
  composite keys (#1067)
- [@chenhg5](https://github.com/chenhg5) — Windows cmdline hotfix port (#1378), feishu
  batch images (#1408/#1395), skill depth-1 (#1317), claudecode mid-turn compaction
  (#1272), CC_LOG_MAX_BACKUPS (#1260), #814 regression test (#1261), sponsor cleanup
  (#1404)

### Reference
- Previous stable: [v1.3.4](https://github.com/chenhg5/cc-connect/releases/tag/v1.3.4)
  (Windows cmdline hotfix, 2026-06-16)
- Previous baseline: [v1.3.3](https://github.com/chenhg5/cc-connect/releases/tag/v1.3.3)
  (2026-06-15)
- Full diff: [v1.3.4...v1.4.0-beta.1](https://github.com/chenhg5/cc-connect/compare/v1.3.4...v1.4.0-beta.1)
