Changelog
- 141c294 P0: isolate Redis relay pools (#1701)
- c7bac0a docs(changelog): publish v0.2.16 release notes (#1695)
- c7a2d53 docs(changelog): publish v0.2.17 release notes (#1700)
- 6f04a6d feat(agent): surface agent CLI stderr tail in failure messages (#1674)
- 9b55b2a feat(cli): add --custom-env flag to agent create/update (#1518)
- d17b2bf feat(cli): 添加更新下载超时配置选项 (#1622)
- 71b2032 feat(skills): restore page description, link to docs, polish intro layout (#1618)
- 04f813a fix PR 1573 follow-up colors (#1699)
- aca7429 fix(agent/claude): surface stderr tail on writeClaudeInput failure + lock with e2e test (#1698)
- 60fdc82 fix(cli): resolve assignee by exact name or ShortID to avoid substring collisions (#1642)
- 2df969c fix(daemon): report cancelled tasks as "cancelled", not "timeout" (#1686)
- 74593fd fix(daemon): use CREATE_NEW_CONSOLE to stop grandchild console popups on Windows (#1521) (#1643)
- 25b393d fix(execenv): hydrate Codex skill sources (#1668)
- c3ae212 fix(markdown): treat CJK full-width punctuation as URL boundary (#1630)
- 68a312c fix(runtimes): fix pi skills dir to: .pi/skills (#1632)
- 24e1355 fix(server): use resolved issue ID in DeleteIssue handler (#1680)
- 58547fa fix(server): validate assignee_id existence on issue create/update (#1694)
- 683ff13 fix(server/heartbeat): probe/claim split + slow-log + model-list running timeout (#1644)
- 101601a fix(settings): render invite role label via roleConfig in members tab (#1693)
- 93fe324 fix(skills): fast-path root-level SKILL.md with frontmatter guard (#1625)
- 3c3e3bd fix(task): reconcile agent status when cancelling tasks by issue (#1587) (#1648)
- 5eab1db fix: handle relative attachment download URLs
- 13d9d7d fix: pass autopilot run-only context to agents
- 12e6ca9 refactor(execenv): collapse codex plugin cache stale-link branches (#1697)
- 9591224 test(daemon): cover cancelled classification in executeAndDrain (#1692)