# Changelog

All notable changes to this project 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).

## [0.5.0] - 2025-12-12
### Added
- **🎮 Control Plane Dashboard**: Real-time web UI via `squadron server`
  - Live SSE activity streaming
  - Command input to send tasks to agents
  - Agent status cards with current objectives
  - System statistics (active agents, task queue, missions)
  - **Integrations Panel**: Send to Slack, Discord, Jira, GitHub directly from UI
  - GitHub PR/Issue creation from dashboard
  - **Agents Page**: Detailed agent profiles with capabilities
  - **Missions Page**: Active/history view with mission trigger
  - **Console Page**: Direct REPL-style chat with agents
  - **Settings Page**: System status and env configuration reference
- **🐝 Swarm 2.0**: Enhanced multi-agent orchestration
  - LLM-powered intelligent routing (replaces keyword heuristics)
  - `handoff_task()` for agent-to-agent delegation with context
  - Delegation chain tracking
  - Task queue with priority support
- **🧬 Evolution Layer**: Self-improvement system
  - `skill_registry.py` for tracking evolved skills
  - Version control with rollback support
  - Quality scoring based on success/failure rates
  - Skill creation, validation, and archival
- **⏰ Wake Protocol**: Autonomous agent execution
  - `wake_protocol.py` orchestrates trigger → route → execute → report
  - `squadron wake` CLI command for manual triggering
  - Automatic ticket reporting after task completion
- **📡 Event Bus**: Central pub/sub for real-time activity
  - Powers dashboard SSE streaming
  - Tracks agent starts, tool calls, completions, errors
- **💬 Agent Communication**: Agents can talk to each other via tickets
  - **Overseer v3.0**: Auto-wakes agents when Jira/Linear tickets assigned
  - **@Mention Support**: Tag agents in ticket comments to trigger them
  - `reply_to_ticket()` tool for agents to comment on tickets
  - `tag_agent()` tool to request help from other agents
  - Autonomous handoffs with context through ticket system
- **🧠 Persistent Memory**: Agents remember past work
  - **Hippocampus v2.0**: Agent-specific semantic memory with ChromaDB
  - `save_memory()`, `recall_memory()`, `get_memory_context()` tools
  - Conversation and task history tracking
  - Memory API endpoints for dashboard integration

### Changed
- **Swarm Overseer**: Now uses Gemini for intelligent routing
- **Dashboard Frontend**: Complete rewrite with shadcn/ui components
- **CLI**: Added `wake` command for autonomous execution


## [0.4.1] - 2025-12-11
### Added
- **The Brain**: Centralized intelligence router (`brain.py`) that decides between conversational replies and tool execution.
- **Discord Bot**: Full `discord.py` integration with "Neural Link" personas.
- **Browser Skill**: `BrowserTool` allows agents (Marcus) to visit websites and capture screenshots.
- **SSH Skill**: `SSHTool` allows agents (Caleb) to execute safe remote commands.
- **File Uploads**: Bridge and Listeners now support attaching files generated by tools (e.g., screenshots).
- **Masquerading Fix**: Resolved "Limited Mode" by ensuring webhooks are used correctly with custom avatars.
- **Unified Entry Point**: `main.py` now launches Discord Bot, Slack Listener, and Jira Overseer concurrently.


## [0.3.0] - 2025-12-10
### Added
- **Planner Skill**: `squadron plan --ticket <ID>` generates a structured `PLAN.md` file.
- **Artifacts**: New templates for Implementation Plans.

## [0.2.6] - 2025-12-10
### Changed
- **Release Fix**: Version bump to resolve PyPI collision.

## [0.2.5] - 2025-12-10
### Added
- **Local Agent Config**: `squadron init` now creates a local `squadron/agents.yaml`.
- **Packaging Fix**: Included `agents.yaml` and `knowledge/*.md` templates in PyPI package via `MANIFEST.in`.

### Changed
- **Privacy**: Default package avatars are now generic Robohash avatars. Users can override them in their local `agents.yaml`.
- **CLI Logic**: Prioritizes local configuration files over package defaults for both Knowledge and Agents.

## [0.2.4] - 2025-12-10
### Changed
- **Documentation**: Synced `README.md` on PyPI to reflect v0.2.3 features (Init/Learn/AGPL).

## [0.2.3] - 2025-12-10
### Added
- **Init Command (`squadron init`)**: Scaffolds a local `squadron/knowledge/` directory and `.env` file for new projects.
- **Local Knowledge Overlay**: `squadron ask` now prioritizes the local `knowledge/` folder over the package defaults, allowing per-project customization.

## [0.2.2] - 2025-12-10
### Added
- **Librarian Skill (`squadron learn`)**: Auto-generates `CODEBASE_MAP.md` by scanning the repository structure.

### Changed
- **License**: Switched from MIT to **AGPL-3.0** to enforce open-source reciprocity for network deployments.

## [0.2.1] - 2025-12-10
### Added
- **Listener Service (`squadron listen`)**: New command utilizing Slack Socket Mode to allow agents to "hear" and reply to @mentions in real-time.
- **Dependency**: Added `slack_bolt` for event handling.

## [0.2.0] - 2025-12-10
### Added
- **Dynamic Agent Identities**: Agents can now have custom names and avatars (e.g., Marcus, Caleb) supported in Slack and Discord using `assets/` and `agents.yaml`.
- **Linear Integration**: Full support for Linear issues via `--linear` flag (create, comment, update status).
- **RAG-Lite (`squadron ask`)**: New memory module allowing agents to query the `knowledge/` directory for team context.
- **Overseer 2.0 (`--exec`)**: The Overseer can now execute arbitrary shell commands when new tickets are detected, enabling "Wake Up" protocols.
- **Avatars**: Hosted assets for Marcus and Caleb.

### Changed
- **CLI Architecture**: Refactored to support sub-commands more robustly.
- **Documentation**: Major updates to `README.md` and intro of `UPDATE.md` for team onboarding.

## [0.1.0] - 2025-12-09
### Added
- **Core CLI**: Basic `squadron report` command.
- **Bridges**: Initial support for Jira, Slack, Discord, and GitHub.
- **Overseer 1.0**: Basic polling for new Jira tickets.
- **Package**: Initial PyPI release structure.
