Releases: forecast-bio/crosslink
v0.7.0
What's New in v0.7.0
Added
crosslink init --updatewith manifest-tracked safe upgrades — tracks installed resource versions and applies incremental updates without overwriting user customizations- First-class Shell/Bash support in language rules, detection, and hooks
- QA architectural review skill (
/qa) shipped withcrosslink init - Team and solo configuration preset documentation
Fixed
- Full-codebase QA audit — 180+ fixes across security, correctness, and architecture: shell injection, fail-open hooks, CORS, transaction safety, hydration data loss, non-atomic writes, TOCTOU races, N+1 queries, and structural refactors
swarm merge --baseflag for repos without adevelopbranchghadded to allowed bash prefixes; session status caching in work-check hook.hub-write-lockexcluded from git tracking to prevent recovery commit loop- Consistent signing bypass for all hub-cache commits
- Resolved clippy pedantic and nursery warnings across codebase
Changed
init.rssplit intoinit/mod.rs,init/merge.rs,init/python.rs,init/signing.rs,init/walkthrough.rsfor maintainability- Config command logic extracted to
config_registry.rs status.rsrenamed tolifecycle.rs- Shared error helpers module added to server (
server/errors.rs) - TUI tabs refactored with shared helpers to reduce duplication
Stats
- 187 files changed, +12,933 / -8,919 lines
- 1,682 unit tests + 159 smoke tests passing
- 9 PRs merged since v0.6.0
Full changelog: v0.6.0...v0.7.0
v0.6.0
Crosslink v0.6.0
22 merged PRs — 12 features, 11 fixes.
Highlights
- Kickoff pipeline overhaul — Unified design-plan-run UX,
kickoff graphfor branch topology visualization, compact base62 agent naming (<repo>-<agent>-<slug>) - Config system overhaul — Registry-based validation, layered loading (defaults → team → local), TUI inline editing,
--team/--solopresets - Hub stability — 5 PRs hardening health checks, lock management, heartbeat races, and promotion rollback
- Workflow enforcement — Comment discipline hooks on commit and issue close, lazy auto-hydration on reads
- Onboarding — Improved first-use experience, jj (Jujutsu) support
Added
- Unified design-plan-run pipeline UX for
crosslink kickoff([GH-445]) crosslink kickoff graphcommand for branch topology visualization ([GH-502])- Compact base62 naming for agents, branches, and tmux sessions ([GH-494])
- Generate dedicated signing keys and auto-approve kickoff subagents ([GH-511])
- CLI command and MCP tool for reliable tmux prompt delivery ([GH-513])
- Auto-detect and configure lint/test commands for kickoff agents ([GH-515])
- Config system overhaul with registry, layered loading, and TUI editing ([GH-490])
- Comment discipline enforcement via hooks ([GH-512])
- Lazy auto-hydration on read when hub branch ref moves ([GH-514])
- Improved first-use experience and onboarding ([GH-516])
- jj (Jujutsu) read-only commands in allowed_bash_prefixes ([GH-517])
Fixed
- Hub stability: health checks, FK protection, lock verification, orphan cleanup ([GH-464])
- Hub structural fixes: lock serialization, promotion tracking ([GH-482])
- Hub health check escalation for detached HEAD ([GH-483])
- Heartbeat race prevention ([GH-488])
- Promotion rollback uses new commit instead of amend ([GH-463])
- Persist tmux session name for swarm-launched agent detection ([GH-510])
- Driver signing key fallback after agent key cleanup ([GH-509])
- Stable local ID assignment across re-hydration ([GH-508])
- Branch name collision handling ([GH-487])
- Integrity locks
--repairreleases instead of stealing ([GH-497]) crosslink initverifies git repo exists ([GH-489])
Changed
- Config loading is now layered (backward-compatible with existing configs)
- New agent IDs use compact
<repo>-<agent>-<slug>format (existing agents preserved)
Known Issues
crosslink servedashboard frontend not included incargo install([GH-429])
Full changelog: https://github.com/forecast-bio/crosslink/blob/main/CHANGELOG.md
v0.5.2
Highlights
External source querying — Query issues and knowledge pages across repositories with --from:
crosslink knowledge search "caching" --from github.com/org/other-repo
crosslink issue search "auth" --from /path/to/local/repoMulti-swarm support — Manage multiple independent swarms with swarm create, swarm list, swarm switch, each with their own UUID-based lifecycle.
Swarm plan editing — Restructure plans post-init: move, merge, split, remove, reorder, rename.
Codebase decomposition — 6 god files split into focused submodules (kickoff → 10 modules, shared_writer → 6, sync → 8, db → 12, knowledge → 6, swarm → 10). No public API changes.
What's new
Added
- External repository querying (
--fromflag) for cross-repo issue and knowledge commands - Multi-swarm UUID data model with
swarm create,swarm list,swarm switch - Swarm plan editing:
move,merge,split,remove,reorder,rename crosslink-guideClaude skill for in-session feature discoverability- Integrity layout check for hub file path validation (
crosslink integrity layout) - Greenfield scaffold with interactive design questions and CLAUDE.md template generation
--jsonsupport forswarm status,session status,issue tree,blocked,ready,next- Local time displayed alongside UTC timestamps in TUI issue detail
- Token-budget-aware behavioral guard reinjection for long sessions
- Concurrency, coordination, and lifecycle smoke test suites
- Dashboard unit tests (Vitest) and VS Code extension platform tests
- Implementation rigor guardrail with auto-discovered rule files
Fixed
- V1/V2 hub layout coexistence — resolve inconsistent write paths and cache corruption
- Prevent hydration data loss and resolve
--parentcache lookup failure - Preserve local-only close events during sync fetch
- Preserve session work state across hydration cycles
- Render local issues as
Lninstead of#-nacross all commands - Resolve worktree paths relative to main repo root
- Make
delete_issueatomic — restore files on commit failure - Migrate
eprintln!totracingin sync/hydration paths to prevent TUI screen corruption - Normalize Windows paths in
build.rsinclude_str!generation (fixes Windows release builds) - Repair 31 failing smoke tests — port detection and stale assertions
- Adversarial review Group A correctness fixes
Changed
- Decompose 6 god files into focused submodules (no public API changes)
- Migrate logging from
eprintln!totracingcrate across sync, hydration, and daemon modules
Install
cargo install crosslinkFull changelog: https://github.com/forecast-bio/crosslink/blob/main/CHANGELOG.md
v0.5.1
Hotfix release patching the v0.5.0 docs deployment and merging accumulated bugfixes and features from develop.
Highlights
🔧 Docs Pipeline Fix
The v0.5.0 docs site was missing the hero banner and footer wordmark — the banner SVG reference escaped the deployed directory, and the wordmark wasn't picked up by Quarto. This release adds a justfile with a full render-docs pipeline: Python SVG generation, Quarto render via staging directory, collision detection for manually-maintained docs, and an asset lint gate that catches broken images, stylesheets, scripts, and internal links.
🔍 Swarm Review System
New swarm review, swarm fix, swarm merge commands and an end-to-end swarm review --fix pipeline orchestrator. Includes seam detection for codebase auto-partitioning, trust model configuration for triage, finding consolidation and deduplication, and automatic GitHub issue creation from review findings.
🧪 Testing
Adversarial smoke test harness with 134 tests across CLI data operations, infrastructure, tooling, coordination, server API, and TUI proptests. Test coverage boosted to 92.73%.
🧬 Elixir Support
First-class Elixir support in kickoff conventions, context detection, post-edit hooks, and prompt-guard hooks. Community contribution from @Viscosity4373.
🐛 Bugfixes
- 9 Windows compatibility issues resolved + clipboard support via
clip.exe - Swarm launch failure —
.kickoff-statussentinel now written on launch - V2 comment hydration bug
- Stale CLI syntax in resource templates and hooks
- CI concurrency cancellation on hotfix branches
Full Changelog
See CHANGELOG.md for the complete list.
Install
cargo install crosslinkv0.5.0
[0.5.0] - 2026-03-11
Highlights
Web dashboard is the headline feature — crosslink serve launches a full React + axum dashboard for browsing issues, monitoring agents, visualizing DAG execution, and managing knowledge, all from your browser. CLI refinements round out the release with crosslink prune for hub history management, crosslink kickoff cleanup for stale worktree pruning, and a restructured CLI with issue/timer/migrate subcommand groups. The release also includes a complete documentation overhaul with the Forecast brand visual system, custom SVG diagrams, and a polished Quarto site.
Added
Web Dashboard (crosslink serve)
crosslink servesubcommand with axum HTTP server scaffold (#290)- React Vite dashboard scaffold with TypeScript, TailwindCSS 4, and shadcn/ui components
- Agent monitoring REST endpoints and real-time WebSocket updates with filesystem watcher
- Agent list page with AgentCard component and agent detail drilldown with HeartbeatTimeline and LockList
- Issues CRUD REST endpoints, issue list and detail views, session management UI
- Label manager, dependency editor, and bulk issue operations
- Sessions, milestones, knowledge, search, sync, and config REST API endpoints
- Knowledge browser, milestones, and command palette pages
- Sync dashboard, config editor, and lock visualization
- Usage graphs and cost breakdown components with token usage collection and storage
- DAG and Gantt visualization for orchestrator execution
- Execution controls and live monitoring components
- Document import, stage editor, and LLM-assisted document decomposition orchestrator
- DAG execution engine with topological sort and executor lifecycle management
- Appearance settings page and orchestrator endpoint wiring
CLI Enhancements
crosslink prunecommand for hub/knowledge history pruning (#297)crosslink kickoff cleanupcommand for pruning stale worktrees and tmux sessions (#298)crosslink kickoff listcommand with worktree, tmux, and Docker discovery- Refactor CLI into
issue/timer/migratesubcommand groups ([CL-157]) - Watchdog sidecar to nudge idle kickoff agents
Knowledge Management
--replace-sectionand--append-to-sectionflags forknowledge editcommand (#264)
TUI Improvements
- Startup sync, periodic background sync, and manual
rkeybinding for refresh ([CL-169])
Documentation
- Complete documentation overhaul with Forecast brand visual system
- Custom SVG diagrams for session lifecycle, multi-agent coordination, design workflow, kickoff, swarm orchestration, and knowledge management
- Quarto static site with branded navbar, sidebar theming, guide cards, and responsive layout
- New card icons for all guide pages (quickstart, installation, kickoff, and more)
- Updated README and ELI5 with v0.5.0 feature coverage
CI
Fixed
- Address 14 findings from adversarial codebase review
- Restore view state on issue detail back navigation and clamp scroll bounds (#293)
- Add agent init verification and sync steps to kickoff instructions (#289)
ssh-keygenverify checks both stdout and stderr, allow unsigned hub writes (#299, #301)- Replace
unwrap()calls withok_or_else()for strict clippy CI compliance - Resolve duplicate Agent type and stale field names in dashboard types
- Fix clippy warnings in adversarial review fixes
Changed
- Move
.crosslink/ignores to inner.gitignore([CL-175])
Install
cargo install crosslinkOr install the VS Code extension which bundles the CLI.
Full changelog
v0.4.0
[0.4.0] - 2026-03-10
Highlights
Swarm orchestration is the headline feature — coordinate multiple agents with crosslink swarm init/launch/gate/checkpoint, including budget estimation, throttling, and multi-window planning. Mission control (crosslink mission-control) gives you a unified dashboard for monitoring all active agents. Combined with hook-based heartbeats and agent-aware hooks, crosslink now has full lifecycle management for multi-agent workflows.
Added
Swarm Orchestration (crosslink swarm)
crosslink swarm init/status/resumecommands for multi-agent swarm lifecycle (Phase 1, #233)crosslink swarm launch/gate/checkpointcommands for coordinated agent execution (Phase 2, #233)- Swarm budget estimation and throttling (Phase 3, #233)
- Swarm multi-window planning (Phase 4, #233)
Mission Control
crosslink mission-controlcommand for monitoring active agents in a unified dashboard
Agent Hooks & Liveness
- Agent-aware hooks with git flag bypass fix (#164, #226)
- Hook-based heartbeats for kickoff agent liveness detection
- Custom sandbox wrapper support for agent isolation (alternative to Docker)
Kickoff & Preflight
- Unified preflight check with macOS
gtimeoutsupport for kickoff command - Platform-specific remediation hints for preflight dependency checks (#260)
TUI Improvements
- Async data loading for TUI agents and config tabs (#254)
- Table scroll-to-follow across all tabs (#240)
Knowledge & Search
- Word-level fuzzy matching for knowledge search (#263)
CI
- Tiered smoke tests for CI pipeline (#242)
- Restrict fuzz tests to release branches and PRs targeting main
Fixed
- Mission-control pane liveness and auto-attach robustness
- Load
knowledge.mdrules into Claude prompt viaprompt-guard.py - Publish parent SSH key under kickoff agent ID after creation (#261)
- Degrade gracefully when
gpg.ssh.allowedSignersFileis not configured (#262) - Replace
unwrap()calls with proper error handling for strict clippy compliance - Restore deleted tests and update preflight test signatures
- Swarm coherence fixes across all 4 phases (#233)
- Skip headings inside code fences in design doc parser (#248)
- Simplify drift reminder to fixed 3-turn interval
- Pre-flight check for required external commands in kickoff
Changed
- README updated with multi-agent orchestration, swarm, kickoff, knowledge, TUI, and hooks features
Install
cargo install crosslinkFull changelog
v0.3.0
[0.3.0] - 2026-03-05
Added
Kickoff & Agent Orchestration
crosslink kickoffCLI command with local and container agent execution ([GH-175])- Design document parser and
--docflag for kickoff, importing design docs to knowledge ([GH-215], [GH-216]) crosslink kickoff plansubcommand for read-only gap analysis- Spec validation loop for structured validation of kickoff agents ([GH-217])
- Structured machine-readable build reports for kickoff agents ([GH-219])
Knowledge Integration
- Structured queries, bulk import, MCP server, and auto-inject for knowledge branch ([GH-221])
--from-docflag onknowledge addfor design doc import
CLI & Workflow
/designskill for interactive design document authoring ([GH-225])/maintainskill for codebase maintenance ([GH-205])- Configurable auto-steal for stale locks ([GH-223])
- Atomic lock claims — bail on contended lock claims in
session workto close timing race ([GH-224]) rules.local/directory for gitignored local rule overrides ([GH-234])- Configurable git remote for hub/knowledge branches via
tracker_remotesetting ([GH-235]) - VHS tape files and screenshot scripts for docs visuals ([GH-227])
Code Quality
- Module dispatch refactor — extract monolithic dispatch from
main.rsinto module-levelrun()functions ([GH-222]) - Extract pure functions from kickoff module for testability ([GH-209])
- Dry-run integration tests and
build_promptunit tests for kickoff ([GH-214]) - Unit tests for shared writer lock claim, release, and contention ([GH-208])
- Clock skew detection using git commit timestamps as witness ([GH-173])
Fixed
- Agent signing chicken-and-egg during init — defer key publish and use unsigned bootstrap commits ([GH-237])
- TUI agents tab not forming agent list — read V2 heartbeats and refresh data on tab focus ([GH-232])
- Milestone add/remove now persists to coordination branch ([GH-174])
- Hub cache hooks — propagate
.claude/hooksinto hub cache worktree on init ([GH-213]) - Hub sync dirty state — deduplicate hub cache issues during hydration, prevent vicious sync loop ([GH-210])
- Hub sync push warnings — surface visible warnings when push falls back to local-only ([GH-206])
- Use
--worktreescope for agent signing config in linked worktrees ([GH-167]) - Skip worktree agent init and tmux/claude prerequisite checks in dry-run mode
Security
- VS Code extension security hardening (E1-E3) ([GH-169], [GH-175])
- CI/CD fuzz testing improvements (T1-T5) ([GH-168])
Changed
- Restrict proptest CI job to release branches and PRs to main to reduce CI minutes ([GH-228])
Install: cargo install crosslink
v0.2.0
First stable release. Promotes all changes from v0.1.3-beta.1 plus major new features.
Added
Terminal UI (crosslink tui)
crosslink tuicommand — read-only terminal dashboard for browsing crosslink data ([GH-152])- Issues tab with tree view, detail view, filtering, and sorting
- Agents tab with active session monitoring
- Knowledge tab with page browser and vivid syntax highlighting
- Milestones tab and Config tab
- Mouse support, command palette (
Ctrl-P), and clipboard export - Keyboard navigation with help overlay (
?)
Container-Based Agent Execution
crosslink containercommand for isolated agent environments ([GH-110])- Container bootstrap command for setting up agent containers
- Updated
/kickoffand/checkskills to support container backend
Context Management
crosslink contextcommand — context injection optimization with skills, adaptive reminders, and measurement
Hub Layout V2
- Compact command,
--defer-id, lock timeout, V2 stale detection (Phase 5) ([GH-113]) - Event-based lock confirmation protocol (Phase 3)
- Container bootstrap command (Phase 4)
- SharedWriter updated for v2 hub layout paths ([GH-132])
Knowledge Management
- Accept-both conflict resolution for knowledge branch sync/push
- Knowledge management prompting norms for agents
- KnowledgeManager for shared research via
crosslink/knowledgebranch with page CRUD and full-text search ([GH-62], [GH-63])
Init Experience
- Ratatui-based setup wizard with styled progress output for
crosslink init - Confirmation screen, taller viewport, and smoother progress output
- Inline TUI rendering with clean Esc cancel
- Interactive TUI walkthrough with
--defaultsand--reconfigureflags ([GH-60]) - Managed
.gitignoresection injected bycrosslink init - Document blocked actions and lint checks in default init templates
SSH Signing
- SSH signing foundation — agent key generation, driver key setup, per-commit signing, allowed_signers management ([GH-71]-[GH-76])
- Track driver signing key fingerprint in interventions and trust approvals
Other
- House style syncing —
crosslink style set/sync/diff/show/unsetfor portable project conventions ([GH-91]) - Consolidated
crosslink configcommand — show, get, set, list, reset, diff with typed validation - Typed comments and auto-documentation trail — comments carry
kind,trigger_type, andintervention_context - Driver intervention tracking with
crosslink intervenecommand - cpitd (code clone detection) integration with
crosslink cpitdcommand - Scope session queries to
agent_idfor multi-agent isolation - Crates.io publish CI workflow on release tags
- GitHub Pages CD workflow for docs site
Fixed
- Address TUI adversarial review findings (C1, C2, H2-H4, M3-M7)
- Resolve
.crosslinkdirectory through git worktrees so hooks work in worktree checkouts ([GH-131]) - Make hooks resilient to invocation from non-project directories
- Resolve container startup failures found during manual testing
- Resolve
sessions_newmigration batch error from wrong pragma column name ([GH-138]) - Allow
agent initto reinit when existingagent.jsonis malformed ([GH-137]) - Auto-claim lock in
quick/create --workto matchsession workbehavior - Configure fallback git identity in hub cache for CI environments
- Re-check lock ownership after push conflicts in
claim_lock - Guard against clock skew in stale lock detection
- Use atomic write (temp + rename) for issue and lock files
- Register SIGTERM/SIGINT handlers for graceful daemon shutdown
- Generate UUID at local issue creation time (not deferred)
Security
- Enforce restrictive Unix permissions (0600) on generated SSH keys ([GH-105])
- Validate key type and principal format in
allowed_signersparser - Parse
ssh-keygenstderr and add timeout to signature verification - Prevent path traversal in knowledge page names
- Add 10MB file size limit on JSON import
- Add maximum length validation for string inputs (512-char titles)
- Require minimum 3-character agent IDs
- Stop
crosslink initfrom overriding project worktree signing key
Changed
- Restructure CI/CD workflows for git flow branching model (develop/feature/release/hotfix)
- Add hotfix/release branch triggers and PRs-to-main to CI workflow
- Decouple publish.yml from ci.yml, rely on branch protection
- Rename
crosslink reviewsubcommand tocrosslink workflow - Untrack auto-generated
.claudeand.crosslinkfiles from git - Comprehensive documentation review and quarto site updates
- Full-system adversarial review
v0.1.2-alpha.1
Fixed
- SyncManager now detects when running inside a git worktree and reuses the main repo's hub cache instead of trying to create a duplicate
crosslink/hubworktree (#41) - Set git user config in test helper for CI compatibility
Changed
- Kickoff skill (
/kickoff) now supports--verifyflag with three levels:local(default),ci, andthoroughfor post-implementation verification (#39) - Updated
/kickoffand/featreeskill permissions to cover all tools used during execution (addedWrite,Read,Bash(echo *),Bash(crosslink *)) (#42) - Featree skill now uses
crosslink init --forceandcrosslink syncinstead of manual database symlinking for worktree initialization (#42)
Removed
- Stale
.chainlink/directory (legacy issue tracker artifacts) - Tracked
crosslink/.crosslink/issues.db(should be local-only)
v0.1.1-alpha.1
Crosslink v0.1.1-alpha.1
First pre-release of the crosslink issue tracker.
Multi-Agent Collaboration
Distributed issue locking and agent coordination, ported from crosslink-enterprise.
crosslink agent init <id>— register a machine-local agent identitycrosslink agent status— show agent identity and currently held lockscrosslink locks list— show all active issue locks with stale detectioncrosslink locks check <id>— check if a specific issue is available or claimedcrosslink sync— fetch lock state from thecrosslink/hubcoordination branchcrosslink nextnow skips issues locked by other agentscrosslink session work <id>enforces lock ownership before allowing work- Daemon pushes agent heartbeat every 2.5 minutes to the coordination branch
Claude 4.6 Opus Optimization Epic
crosslink quickcompound command — create + label + work in one call--jsonoutput flag on show command for structured machine-readable output--quiet/-qmode for minimal, pipe-friendly output--workand--labelflags oncreateandsubissuecommandsclose-allbatch command with label and priority filtering- Stale session auto-detection and cleanup (auto-ends sessions idle >4 hours)
- Context compression breadcrumbs via
session action - Three new AI-specific issue templates:
audit,continuation,investigation - Condensed behavioral guard mode — lighter rule injection after first prompt
- Debounced linting mode in post-edit hook to reduce noise
New Features
crosslink integritysubcommand with--checkand--repairmodes--checkflag toreview difffor CI policy drift detection- Kickoff workflow skills (
/feature,/featree,/kickoff,/check) incrosslink init +keyarray-extend semantics inhook-config.local.json- Offline issue ID promotion flow with
crosslink promote - Auto-detection of Python toolchain in
crosslink init - Per-issue
IssueFileJSON export format - Per-file milestones for conflict-free multi-agent writes
- Shared
crosslink_config.pymodule for deduplicated config-loading crosslink review diffslash command for guided policy reviewhook-config.local.jsonsupport for machine-local overrides- Multi-agent shared issue coordination via
crosslink/hubbranch
Bug Fixes
- Fix hooks to always find parent .crosslink directory regardless of cwd
- Fix SQL injection vulnerability in milestone listing
- Fix byte/char length mismatch for Unicode text truncation
- Fix tree view not filtering subissues by status
- Fix markdown export silently dropping archived issues
- Fix daemon log file corruption from duplicate file handles
Install
cargo install crosslink --version 0.1.1-alpha.1