135 lines
7.0 KiB
Markdown
135 lines
7.0 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to DevClaw will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
## [1.1.0] - 2026-02-13
|
|
|
|
### Security
|
|
- **Eliminated all `child_process` imports** — Migrated 9 files from `node:child_process` (`execFile`, `execSync`, `spawn`) to the plugin SDK's `api.runtime.system.runCommandWithTimeout` via a shared `runCommand()` wrapper. The OpenClaw plugin security scanner no longer flags any warnings during installation.
|
|
|
|
### Added
|
|
- **`lib/run-command.ts`** — New thin wrapper module that stores the plugin SDK's `runCommandWithTimeout` once during `register()`, making it available to all modules without threading the API object through every function.
|
|
- **Session fallback mechanism** — `ensureSession()` now validates stored session keys against the current agent ID and verifies sessions still exist before reuse. Stale, mismatched, or deleted sessions are automatically recreated instead of failing silently.
|
|
- **Default workspace discovery** — The heartbeat service now scans `agents.defaults.workspace` in addition to `agents.list`, so projects in the default workspace are discovered automatically without explicit agent registration.
|
|
- **Heartbeat tick notifications** — Heartbeat pickups now send workerStart notifications to project groups via the notify system.
|
|
- **Agent instructions file** — Added `AGENTS.md` with project structure, conventions, and testing workflow.
|
|
|
|
### Fixed
|
|
- **Heartbeat agent ID** — Default workspace agents now use `agentId: "main"` instead of `"default"`, matching OpenClaw's actual routing. Previously caused `agent "main" does not match session key agent "default"` errors that left workers stuck as active on ghost sessions.
|
|
- **Heartbeat config access** — `discoverAgents()` now reads from `api.config` instead of `ctx.config` (service context), which didn't include `agents.defaults`.
|
|
- **Session key always persisted** — `recordWorkerState()` now always stores the session key, not just on spawn. This ensures send-to-spawn fallbacks update `projects.json` with the corrected key.
|
|
- **GitLab/GitHub temp file elimination** — `createIssue()` and `addComment()` in both providers now pass descriptions/comments directly as argv instead of writing temp files and using shell interpolation (`$(cat ...)`). Safer and simpler.
|
|
|
|
### Changed
|
|
- `createProvider()` is now async (callers updated across 12 files)
|
|
- `fetchModels()` / `fetchAuthenticatedModels()` are now async
|
|
- `resolveProvider()` is now async
|
|
|
|
---
|
|
|
|
## [1.0.0] - 2026-02-12
|
|
|
|
### 🎉 First Official Launch
|
|
|
|
DevClaw is now production-ready! Turn any group chat into a dev team that ships.
|
|
|
|
This is the first stable release of DevClaw, a plugin for [OpenClaw](https://openclaw.ai) that transforms your orchestrator agent into a development manager. It hires developers, assigns tasks, reviews code, and keeps the pipeline moving — across as many projects as you have group chats.
|
|
|
|
### ✨ Core Features
|
|
|
|
#### Multi-Project Development Pipeline
|
|
- **Autonomous scheduling engine** — `work_heartbeat` continuously scans queues, dispatches workers, and drives DEV → QA → DEV feedback loops with zero LLM tokens
|
|
- **Project isolation** — Each project has its own queue, workers, sessions, and state
|
|
- **Parallel execution** — DEV and QA work simultaneously within projects, multiple projects run concurrently
|
|
|
|
#### Intelligent Developer Assignment
|
|
- **Tier-based model selection** — Junior (Haiku) for simple fixes, Medior (Sonnet) for features, Senior (Opus) for architecture
|
|
- **Automatic complexity evaluation** — Orchestrator analyzes tasks and assigns appropriate developer level
|
|
- **Session reuse** — Workers accumulate codebase knowledge across tasks, reducing token usage by 40-60%
|
|
|
|
#### Process Enforcement
|
|
- **GitHub/GitLab integration** — Issues are the single source of truth, not an internal database
|
|
- **Atomic operations** — Label transitions, state updates, and session dispatch happen atomically with rollback on failure
|
|
- **Tool-based guardrails** — 11 tools enforce the development process deterministically
|
|
|
|
#### Token Efficiency
|
|
- **~60-80% token savings** through tier selection, session reuse, and token-free scheduling
|
|
- **No reasoning overhead** — Plugin handles orchestration mechanics, agent provides intent only
|
|
|
|
### 🚀 Recent Improvements
|
|
|
|
#### Added
|
|
- **LLM-powered model auto-configuration** — Intelligent model selection based on task complexity
|
|
- **Enhanced onboarding experience** — Model access verification and Telegram group guidance
|
|
- **Orchestrator role enforcement** — Clear separation between planning (orchestrator) and implementation (workers)
|
|
- **Role-specific instructions** — Per-project, per-role instruction files injected at dispatch time
|
|
- **Automatic log truncation** — Maintains last 250 audit log entries for manageable file sizes
|
|
- **Comprehensive documentation** — Architecture, tools reference, configuration guide, QA workflow, and more
|
|
|
|
#### Fixed
|
|
- **TypeScript build configuration** — Fixed module resolution for proper openclaw plugin-sdk type imports
|
|
- **Worker health monitoring** — Detects and recovers from crashed or stale worker sessions
|
|
- **Label transition atomicity** — Clean state management prevents orphaned labels
|
|
- **Session persistence** — Workers properly maintain context between tasks
|
|
|
|
### 📚 Documentation
|
|
|
|
Comprehensive documentation available in the `docs/` directory:
|
|
- [Architecture](docs/ARCHITECTURE.md) — System design and data flow
|
|
- [Tools Reference](docs/TOOLS.md) — All 11 tools with parameters
|
|
- [Configuration](docs/CONFIGURATION.md) — `openclaw.json` and `projects.json` schemas
|
|
- [Onboarding Guide](docs/ONBOARDING.md) — Step-by-step setup
|
|
- [QA Workflow](docs/QA_WORKFLOW.md) — Review process and templates
|
|
- [Management Theory](docs/MANAGEMENT.md) — Design philosophy
|
|
|
|
### 🔧 Installation
|
|
|
|
```bash
|
|
openclaw plugins install @laurentenhoor/devclaw
|
|
```
|
|
|
|
Then start onboarding:
|
|
```bash
|
|
openclaw chat "Hey, can you help me set up DevClaw?"
|
|
```
|
|
|
|
### 📦 Requirements
|
|
|
|
- OpenClaw >= 2026.0.0
|
|
- Node.js >= 20
|
|
- `gh` CLI (GitHub) or `glab` CLI (GitLab), authenticated
|
|
|
|
---
|
|
|
|
## [0.1.1] - 2026-01-XX
|
|
|
|
### Fixed
|
|
- Correct npm package entry point and include manifest file
|
|
- Update installation commands to reflect new package name
|
|
|
|
---
|
|
|
|
## [0.1.0] - 2026-01-XX
|
|
|
|
### Added
|
|
- Initial npm publishing infrastructure
|
|
- Core plugin functionality
|
|
- Work heartbeat service for autonomous scheduling
|
|
- Multi-project support with isolated state
|
|
- Developer tier system (Junior/Medior/Senior)
|
|
- QA workflow with Reviewer/Tester roles
|
|
- 11 tools for task and workflow management
|
|
- GitHub and GitLab issue provider integration
|
|
- Session reuse and context accumulation
|
|
- Audit logging system
|
|
|
|
---
|
|
|
|
[1.1.0]: https://github.com/laurentenhoor/devclaw/compare/v1.0.0...v1.1.0
|
|
[1.0.0]: https://github.com/laurentenhoor/devclaw/compare/v0.1.1...v1.0.0
|
|
[0.1.1]: https://github.com/laurentenhoor/devclaw/compare/v0.1.0...v0.1.1
|
|
[0.1.0]: https://github.com/laurentenhoor/devclaw/releases/tag/v0.1.0
|