Skip to content

Releases: unohee/OpenSwarm

v0.9.2 — claude provider end-to-end + multi-project autonomy + fetch perf

24 Jun 00:36

Choose a tag to compare

A large batch since v0.9.1, focused on making the daemon run all registered repos reliably from the dashboard.

Providers

  • claude is a first-class provider again — registered in the adapter registry, AdapterName, the config zod schema, and the dashboard provider switch (registry-based validation, no more "Invalid provider"). claude -p thinking streams to the live log as 💭 (#96, #99, #100).
  • codex-responses reasoning summary now streams to the live log (💭) — request reasoning.summary, parse reasoning_summary_text.delta (#98).

Autonomy / dashboard

  • Repo↔Linear mapping by projectId (openswarm.json), not repo-name guessing — fixes registered repos (e.g. VEGA) never picking up issues (#97).
  • One worker per project, spread across all projectsmaxConcurrentTasks is a global budget; the scheduler + selector now run at most one task per project so every repo gets a worker instead of one project monopolizing (#100).
  • Linear fetch no longer times out — dropped the per-issue inverseRelations call (kept text blocker parsing) and raised the cold-fetch timeout; 150+ issues across teams fetch within budget (#100).
  • Cancel in-flight pipelines on project disable + show in-process pipeline tasks in MONITOR & PROCESSES (#94).
  • Dependency-aware ordering (unblockers first) + per-heartbeat orphan worktree sweep (#95).
  • hot-reload of the work-repo registry + openswarm add/projects/remove CLI (#90#93).
  • Project-less Linear issues are skipped quietly (one aggregate line, no per-issue spam) (#100).

Install / upgrade: npm install -g @intrect/openswarm

v0.9.1 — work-repo CLI flattened (add/projects/remove)

23 Jun 11:46

Choose a tag to compare

Patch on top of v0.9.0.

Changed

Work-repo commands moved to the top level — openswarm project add was too verbose for the most common action (#91, INT-1877):

Before (v0.9.0) Now
openswarm project add <path> openswarm add <path>
openswarm project list openswarm projects
openswarm project rm <path> openswarm remove <path>

The project group is removed. list/rm were renamed to projects/remove to avoid an ambiguous bare top-level list and a destructive-sounding rm.

Command surface only — handlers and registry logic are unchanged.

Install: npm install -g @intrect/openswarm

v0.9.0 — project CLI, repo memory MCP, active memory search, dynamic models

23 Jun 11:29

Choose a tag to compare

Released to npm: @intrect/openswarm@0.9.0.

Highlights (since v0.8.2)

Work-repo management from the CLI (#90, INT-1877)

  • openswarm project add <path> / list / rm <path> — register which repos the daemon works on, no dashboard or hand-edited config needed.
  • setWebRunner now merges enabled repos into the DecisionEngine's allowedProjects, so a freshly added repo actually gets worked (it was silently dropped before).

Repo memory reaches CLI-delegated adapters (#85, #86, INT-1852/INT-1855)

  • New search_memory tool lets agents actively query accumulated repo knowledge.
  • A stdio MCP server exposes that memory to the codex and claude CLI adapters.

Memory accumulation fixes (#87, #88, INT-1856/INT-1857)

  • repoKey normalizes worktree paths so per-issue worktrees no longer fragment the store and knowledge actually accumulates across runs.
  • Graph insights are scoped + deduped so they stop bloating the memory store.

Dynamic per-provider model resolution (#89, INT-1860)

  • Dropped hardcoded cross-provider model fallbacks; each provider now resolves its model from a live catalog, so a model version change no longer breaks the daemon.

Human-readable Linear automation (#83, #84, INT-1845)

  • Scannable formatter for the daemon's Linear comments/issues, rewritten to read like a human engineer wrote them.

Install: npm install -g @intrect/openswarm

v0.8.2 — npm page README sync

23 Jun 04:32

Choose a tag to compare

Docs-only patch: syncs the npm package README with the latest GitHub docs — npm-install-first daemon setup (openswarm init/start, no git-clone flow) and the static MIT badge. No runtime code changes. (Follows v0.8.1 MIT relicense.)

v0.8.1 — MIT license + contributor-ready docs

23 Jun 04:16
7e38f2b

Choose a tag to compare

v0.8.1

Relicensing + open-source readiness. No runtime code changes.

License

  • Relicensed to MIT (was GPL-3.0). npm metadata corrected (0.8.0 was published as GPL-3.0).

Docs — first-time users + latest build

  • New openswarm init walkthrough (provider → task backend → notifications; writes .env/config.yaml/openswarm.json).
  • CLI Adapter section corrected to the real registry: six valid adapter: values (codex, codex-responses, gpt, openrouter, lmstudio, local). claude is documented as an opt-in claude -p fallback, not an adapter: value.
  • Accurate default models, notifier (Discord/Slack/Telegram/webhook), local-or-Linear task source, Changelog.

Contribution infrastructure (GitHub community standards)

  • CONTRIBUTING.md — dev setup, CI gates, branch/commit conventions, PR flow.
  • New CODE_OF_CONDUCT.md (Contributor Covenant 2.1), SECURITY.md, PR template.

Install: npm install -g @intrect/openswarm

Full diff: #82

v0.8.0 — autonomy hardening + onboarding

23 Jun 01:37
6fddc37

Choose a tag to compare

Highlights

  • Autonomy hardening (R1–R7): dependency-order gating + Backlog parked + taskState reconcile (INT-1809), daemon self-modify hardening (INT-1810), jobProfiles config fix (INT-1812).
  • Onboarding: openswarm init interactive wizard — Linear team/project arrow-key picker, openswarm.json repo mapping, auto agents; Linear OAuth (PKCE); openswarm doctor diagnostics; honey-gradient banner + colored output (INT-1808/1829).
  • codex: --full-auto (deprecated in 0.137) → --sandbox workspace-write (INT-1699).

npm: npm i -g @intrect/openswarm

v0.5.0 — OpenRouter adapter, repo knowledge loop, L0–L6 benchmarks

11 Jun 01:27
3bbc115

Choose a tag to compare

Highlights

  • OpenRouter adapter — runs OpenSwarm's native agentic tool loop against any OpenRouter model, with OAuth PKCE (or OPENROUTER_API), ZDR (data_collection: deny) for non-OpenAI models, automatic Anthropic prompt caching, and reasoning-off for mechanical roles. (#63)
  • LM Studio adapter — dedicated OpenAI-compatible endpoint with auto model selection. (#60)
  • Repo knowledge loop — workers learn each repository across tasks: outcomes are stored as per-repo memories and recalled into future worker prompts. (#63)
  • L0–L6 benchmark suite — synthetic L0–L5 with deterministic grading + L6 = real SWE-bench Lite instances graded by the official harness. Hybrid mode (frontier read-only diagnosis + lightweight implementer) resolved 3/3 attempted instances. See benchmarks/RUBRIC.md. (#63)

Harness hardening (from SWE-bench findings)

Working-directory injection, bash exit-code surfacing, raised compaction thresholds (fixes an infinite re-read loop), final-answer turn, no-edit guard, verification-file protection (protectedFiles), configurable bash timeout (bashTimeoutMs).

Other changes

  • Worker success judged primarily by git diff (no structured JSON block required).
  • Benchmark-driven default model routing: lightweight worker + frontier escalation; frontier planner/reviewer.
  • Standalone mode: runs without Discord/Linear credentials.
  • All repository docs are now English. (#65)

Full changelog: CHANGELOG.md

v0.4.4

07 May 11:57
4737b5d

Choose a tag to compare

Security re-publish

This is a re-publish of the 0.4.3 release. The npm tarball for 0.4.3 was uploaded before the protobufjs override merged into main, so end users installing 0.4.3 from npm still resolved the vulnerable protobufjs@6.11.4 and remained exposed to CVE-2026-41242 (critical RCE, CVSS 9.8). npm forbids re-publishing the same version, so this patch bump is the only way to ship the override to npm.

What's in 0.4.4 (vs. published 0.4.3)

  • package.json overrides now actually present in the npm tarball — forces protobufjs to ^7.5.5 (resolved to 7.5.6) everywhere in the dependency tree.

Carried over from 0.4.3 (already on npm)

  • Fixed ReferenceError: require is not defined crash in expandPath that broke every openswarm exec/run --path <absolute-path> invocation. (#52, reported by @shuklatushar226)
  • Fixed the same ESM-incompatible lazy require('node:fs') pattern in src/automation/runnerState.ts.

Upgrade

npm install -g @intrect/openswarm@0.4.4

If you installed 0.4.3 from npm, upgrading to 0.4.4 is recommended to pick up the protobufjs CVE mitigation.

Full Changelog: v0.4.3...v0.4.4

v0.4.3

07 May 11:36
16fac97

Choose a tag to compare

Fixed

  • Fixed ReferenceError: require is not defined crash in expandPath that broke every openswarm exec/run --path <absolute-path> invocation. The package is ESM ("type": "module") but src/core/config.ts lazily called CommonJS require('node:path') to import resolve. Hoisted resolve into the top-level node:path import. (#52, reported by @shuklatushar226)
  • Fixed the same ESM-incompatible lazy require('node:fs') pattern in src/automation/runnerState.ts (mkdirSync), which would have crashed on the first daily-pace directory creation.

Security

  • Forced protobufjs to ^7.5.5 via package.json overrides to mitigate CVE-2026-41242 / GHSA-xq3m-2v4x-88gg (critical RCE via crafted protobuf descriptors, CVSS 9.8). The vulnerable copy was pulled in transitively through @xenova/transformersonnxruntime-webonnx-proto. OpenSwarm itself loads only trusted HuggingFace models, but the override removes the dependency-tree exposure entirely.

Upgrade

npm install -g @intrect/openswarm@0.4.3

Full Changelog: v0.4.2...v0.4.3

v0.4.2 — background daemon, env autoload, Linear pickup fixes

25 Apr 14:30
6289dae

Choose a tag to compare

This release bundles every fix that landed during the v0.4.x cycle. v0.4.1 was pulled before tagging because cwd / version drift surfaced regressions fast, so the rollup ships as v0.4.2.

Highlights

1. Background daemon

  • openswarm start detaches and returns immediately — no more terminal-pinned daemon.
  • New subcommands: openswarm stop (graceful SIGTERM + PID cleanup), openswarm status (pid, uptime, log path).
  • PID file at ~/.config/openswarm/openswarm.pid, logs at ~/.config/openswarm/logs/openswarm.log.
  • --foreground / -F preserves the previous attached behavior for debugging or LaunchAgent / systemd.
  • Stale PID file recovery + duplicate-start guard.

2. .env auto-load

The daemon used to silently disable Linear when launched from a non-interactive shell because LINEAR_TEAM_ID wasn't exported. loadEnvFile now runs before config and searches $OPENSWARM_ENV → dir of $OPENSWARM_CONFIG → cwd → ~/.config/openswarm~/.openswarm. Exported shell values still win.

3. cwd-agnostic config + version sync

  • Config search: $OPENSWARM_CONFIG./config.{yaml,yml,json}~/.config/openswarm/config.{...}~/.openswarm/config.{...}.
  • CLI --version and the startup banner read from package.json instead of a hardcoded 0.1.0.

4. Linear issue pickup actually works

Heartbeat was missing project-tagged issues even with the project enabled. Three independent bugs were silently dropping them:

  • Case-sensitive path comparison — macOS / Windows treat AnalogModeling and analogModeling as the same directory; enabledProjects was matching byte-equal. Fixed in isProjectEnabled with platform-aware lowering.
  • One team monopolizes the page — a single { team: { in: [...] } } query capped at first: 50 let the busiest team starve the rest. Now adaptive: one wide query first, fall back to per-team fan-out only when the first page saturates. Per-team cap raised 50 → 100.
  • Heartbeat used full-mode resolution — 3 GraphQL resolver calls per issue (project + comments + labels) × ~200 issues × 4 HB/hour was tripping Linear's 3500 req/hr ceiling. Heartbeat now uses slim mode (project only).
  • In Review was rejected as inactionable for decomposed tasksgetTaskReadiness only reactivated Todo or In Progress. Reviewer feedback on a decomposed task is now picked up.

5. Bundle @intrect/cxt for spawned workers

  • Adds @intrect/cxt ^0.1.0 as a runtime dependency.
  • Worker / planner CLI spawns get OpenSwarm's bundled node_modules/.bin prepended to PATH via buildWorkerEnv. The user's shell PATH and ~/.claude/* are untouched.
  • Worker prompt templates (en/ko) advertise cxt so agents know they can call it for entity lookups, FTS search, and bad-smell scans.

Verification

Live verification ran against the daemon. After the pickup commit, heartbeat reaches Found 183 tasks from Linear (vs. the previous 99) and dispatches Todo / In Review tasks for enabled projects. Backlog-only projects still need manual promotion to Todo — that is the intended workflow.

Full Changelog: v0.4.0...v0.4.2