Skip to content

Latest commit

 

History

History
78 lines (59 loc) · 3.85 KB

File metadata and controls

78 lines (59 loc) · 3.85 KB

Changelog

All notable changes to Armada are documented in this file.


v0.3.0

Added

  • Multi-tenant support -- all operational data (fleets, vessels, captains, missions, voyages, docks, signals, events, merge entries) is scoped by tenant
  • Tenant, user, and credential models -- TenantMetadata (ten_ prefix), UserMaster (usr_ prefix), Credential (crd_ prefix)
  • Bearer token authentication -- 64-character random alphanumeric tokens linked to a specific tenant and user, sent via Authorization: Bearer <token> header
  • Encrypted session tokens -- AES-256-CBC self-contained tokens with 24-hour lifetime, sent via X-Token header. No server-side session storage required
  • Authentication endpoints -- POST /api/v1/authenticate, GET /api/v1/whoami, POST /api/v1/tenants/lookup
  • Onboarding endpoint -- POST /api/v1/onboarding for self-registration (gated by AllowSelfRegistration setting)
  • Tenant CRUD endpoints -- GET/POST/PUT/DELETE /api/v1/tenants (admin only, with self-read for non-admins)
  • User CRUD endpoints -- GET/POST/PUT/DELETE /api/v1/users (admin only, with self-read for non-admins)
  • Credential CRUD endpoints -- GET/POST/PUT/DELETE /api/v1/credentials (admins: all; non-admins: own credentials)
  • Admin vs non-admin access patterns -- three-tier authorization: NoAuthRequired, Authenticated, AdminOnly
  • Default data seeding -- on first boot, creates default tenant, user (admin@armada / password), and credential (bearer token default)
  • React dashboard -- standalone React dashboard (Armada.Dashboard) as a separate deployment option for Docker/production
  • Docker Compose with dashboard -- compose.yaml runs armada-server and armada-dashboard containers together
  • SQL Server support -- added SQL Server as a database backend option alongside SQLite, PostgreSQL, and MySQL
  • AllowSelfRegistration setting -- controls whether POST /api/v1/onboarding is enabled (default: true)
  • SessionTokenEncryptionKey setting -- AES-256 key for session token encryption (auto-generated if not provided)

Changed

  • All REST API endpoints now require authentication (except health check, authenticate, tenant lookup, onboarding, and dashboard routes)
  • All operational database queries are tenant-scoped for non-admin users
  • Admin users see all data across all tenants
  • CORS headers now include Authorization and X-Token in Access-Control-Allow-Headers

Deprecated

  • X-Api-Key header -- retained for backward compatibility but deprecated. When configured, the server creates a synthetic admin tenant (ten_system) and user (usr_system). Migrate to bearer tokens for new integrations

v0.2.0

Added

  • Multi-database support (SQLite, PostgreSQL, MySQL) with connection pooling
  • Structured database object in settings.json replacing flat databasePath
  • Migration scripts for v0.1.0 to v0.2.0 settings conversion
  • Merge queue system for automated branch merging
  • WebSocket hub for real-time event streaming
  • Embedded dashboard at /dashboard
  • MCP server with full API parity (18 tools)
  • Batch delete operations for all entity types
  • Enumeration (POST) endpoints with JSON body filtering
  • Mission diff and log retrieval endpoints
  • Captain log streaming
  • Dock (worktree) management endpoints
  • Signal system for Admiral-captain communication
  • Event audit trail

Changed

  • Settings format: databasePath string replaced with database object (breaking change)

v0.1.0

Added

  • Initial release
  • Core orchestration: fleets, vessels, captains, missions, voyages
  • Git worktree isolation for parallel agent work
  • Multi-runtime support: Claude Code, Codex, Gemini, Cursor
  • Auto-recovery for crashed agents
  • REST API on port 7890
  • CLI (armada) with Spectre.Console
  • SQLite database backend
  • Zero-config startup with auto-detection