• v0.9.9 414b2290ce

    v0.9.9
    All checks were successful
    CI/CD / detect-changes (push) Successful in 3s
    CI/CD / test-runners (push) Has been skipped
    CI/CD / e2e-smoke (push) Has been skipped
    CI/CD / test-frontend (push) Successful in 5s
    CI/CD / test-go-pg (push) Successful in 2m49s
    CI/CD / test-sqlite (push) Successful in 2m59s
    CI/CD / build-and-deploy (push) Successful in 1m28s
    Stable

    xcaliber released this 2026-04-03 20:11:58 +00:00 | 1 commits to main since this release

    Features

    • Added typed Forms SDK (src/js/sw/sdk/forms.js) for structured form handling in workflows.
    • Introduced package adoption roles allowing teams to adopt external packages (server/handlers/package_adopt.go, migration 017).
    • Added many-to-many team user roles with server endpoints and store updates (server/store/sqlite/team.go, migration 016).
    • Implemented server-side subpath routing module in Starlark sandbox (server/sandbox/routing_module.go).
    • Enabled write operations (create/update) in workflow Starlark module (server/sandbox/workflow_module.go).
    • Added forms module to Starlark sandbox for dynamic form generation (server/sandbox/forms_module.go).
    • Added teams module to Starlark sandbox for team/user/role management (server/sandbox/teams_module.go).
    • Consolidated converters into dedicated Starlark module (server/sandbox/convert.go).

    UI/UX

    • Enhanced team admin members UI to display, add, and remove extra roles via badges and dropdown (src/js/sw/surfaces/team-admin/members.js).
    • Seeded initial browser history state for surface paths to enable proper back navigation (src/js/sw/sdk/index.js).

    Breaking Changes

    • Collapsed stage modes: unified form_only/form_chat into form; removed review and stage_type; update workflows (server/models/workflow.go, src/js/sw/components/stage-form.js, server/pages/templates/workflow.html, tests).
    • Removed legacy review surface rendering and handlers from workflow templates and JS.

    Improvements

    • Updated workflow stage form component to support new collapsed modes without stage types.
    • Enhanced OpenAPI spec for new forms and roles endpoints (server/static/openapi.yaml).
    • Refactored team middleware and handlers for role-aware access (server/middleware/team.go, server/handlers/teams.go).

    Refactoring

    • Major cleanup of workflow models, automated engine, and Starlark helpers (removed 300+ lines).
    • Consolidated package store interfaces and validation (server/store/interfaces.go, server/handlers/package_validate.go).

    Infrastructure

    • Added migrations for team roles (016), package adoption (017), and stage mode collapse (018).
    • Expanded tests: pages handler, package adopt, forms, sandbox modules, team roles.
    • Updated CI E2E tests and package manifests for new stage modes.
    • Updated SDK version reference to 0.9.1.

    Updated version to v0.9.9.

    Downloads
  • v0.9.0 5ad6d77c56

    v0.9.0
    All checks were successful
    CI/CD / detect-changes (push) Successful in 4s
    CI/CD / test-runners (push) Has been skipped
    CI/CD / e2e-smoke (push) Has been skipped
    CI/CD / test-frontend (push) Successful in 5s
    CI/CD / test-go-pg (push) Successful in 2m46s
    CI/CD / test-sqlite (push) Successful in 2m57s
    CI/CD / build-and-deploy (push) Successful in 44s
    Stable

    xcaliber released this 2026-04-03 13:15:00 +00:00 | 11 commits to main since this release

    Features

    • Added multi-surface package support: packages can now declare multiple surfaces with independent paths, titles, layouts, and access controls (public, authenticated, admin, group).
    • Added client-side routing within package surfaces via sw.navigate() and popstate handling for back/forward navigation.
    • Added server-side route matching for package sub-paths (e.g., /s/pkg/monitor/:id) with parameter extraction.
    • Added per-surface access control evaluation, supporting redirects for unauthenticated users and 403 for denied access.
    • Updated extension navigation to use the first surface with nav:true or the root (/) surface for menu items.

    Documentation

    • Added comprehensive MULTI-SURFACE-GUIDE.md explaining the new multi-surface package format and usage.
    • Updated PACKAGE-FORMAT.md to document the surfaces array structure and deprecate single route/layout fields.
    • Updated ROADMAP.md to reflect completed v0.9.0 multi-surface work and shifted future versions.

    Tests

    • Added pages_surface_match_test.go with 175 lines of tests for surface path matching logic.
    • Extended package_validate_test.go with 151 lines of validation tests for multi-surface packages.

    Infrastructure

    • Modified RenderExtensionSurface handler to resolve surfaces dynamically, supporting both root and sub-path requests.
    • Updated RegisterPageRoutes to handle sub-paths for extension surfaces without requiring restarts.
    • Extended PageData struct to include SurfacePath and SurfaceParams for template rendering.
    • Updated package validation (package_validate.go) to enforce multi-surface manifest structure.

    Breaking Changes

    • Packages without a surfaces array (legacy format) now only serve the root path (/); any non-root requests return 404.
    • The route and layout fields at the package root are deprecated in favor of per-surface declarations.
    • Extension navigation now uses the first nav:true surface or root surface; custom route values are ignored.

    Version bumped to 0.9.0.

    Downloads
  • v0.8.5 98fd3eb3e6

    v0.8.5
    All checks were successful
    CI/CD / detect-changes (push) Successful in 4s
    CI/CD / test-runners (push) Has been skipped
    CI/CD / e2e-smoke (push) Has been skipped
    CI/CD / test-frontend (push) Successful in 6s
    CI/CD / test-go-pg (push) Successful in 2m44s
    CI/CD / test-sqlite (push) Successful in 2m54s
    CI/CD / build-and-deploy (push) Successful in 52s
    Stable

    xcaliber released this 2026-04-03 11:55:15 +00:00 | 12 commits to main since this release

    Features

    • Added files sandbox module for storing and retrieving files via ObjectStore (PVC/S3) with extension-scoped namespacing.
    • Added workspace sandbox module for workspace-level operations and state management.
    • Added capability negotiation: extensions can declare required/optional capabilities in manifest; installation fails if required capabilities are missing.
    • Added vector column type support in database module for extension tables.
    • Added extension composability: slots can now be declared for discoverability and support multi-component rendering via renderAll().

    Improvements

    • Updated extension guide and Starlark reference documentation with comprehensive details for new files and workspace modules.
    • Added design documents for workflow redesign and vector column implementation.
    • Enhanced package format specification to include capabilities field in manifest.

    UI/UX

    • Improved surface layout containment by replacing height: 100% with flex: 1; min-height: 0 to prevent overflow issues.
    • Updated base template and surface templates (team-admin, welcome) for consistent flexbox behavior.

    Infrastructure

    • Extended ObjectStore interface with List() method for both PVC and S3 storage backends.
    • Added capability detection and validation during package installation.
    • Added admin endpoint for slot declarations and composability testing.

    Refactoring

    • Refactored database module to support vector column type mapping and conditional index creation.
    • Updated extension database schema creation to handle vector columns and conditional indexes.

    Breaking Changes

    • Package installation now strictly validates capabilities.required field; missing capabilities cause installation failure instead of marking package as dormant.
    • Extensions using vector columns must update their table definitions accordingly.

    Version updated to v0.8.5.

    Downloads
  • v0.7.12
    All checks were successful
    CI/CD / detect-changes (push) Successful in 4s
    CI/CD / test-runners (push) Has been skipped
    CI/CD / e2e-smoke (push) Has been skipped
    CI/CD / test-go-pg (push) Successful in 2m46s
    CI/CD / test-sqlite (push) Successful in 2m58s
    CI/CD / build-and-deploy (push) Successful in 1m27s
    CI/CD / test-frontend (push) Successful in 5s
    Stable

    xcaliber released this 2026-04-02 23:59:32 +00:00 | 18 commits to main since this release

    Features

    • Added API tokens with extended permissions for extensions, including storage in SQLite/Postgres and auth middleware.
    • Introduced batch execution module in sandbox for concurrent Starlark operations.
    • Added workflow handoff support with new stage-form UI component and E2E tests.
    • Enabled workflow independence, decoupling from chat with dedicated editor/monitor surfaces.
    • Improved HTTP module ergonomics in sandbox for better query handling.

    Bug Fixes

    • Filled admin UI gaps in users, groups, packages, and backup management.

    Improvements

    • Removed legacy standalone packages (git-board Kanban, tasks, editor, gitea-client), integrated into core surfaces.
    • Enhanced workflow engine, assignment handlers, and team routing.
    • Added workflow monitor and public handlers for better observability.

    Infrastructure

    • Implemented comprehensive E2E CI gates with smoke tests, workflow handoff/nochat scripts, and Docker Compose updates.
    • Added permissions testing, hashing utils, and middleware for finer-grained access control.
    • Created design docs for batch exec, storage primitives, and extension composability; updated ROADMAP and Starlark reference.

    Refactoring

    • Migrated storage.js to new primitives; improved db_module and runner.
    • Code hygiene across server handlers, auth, and sandbox modules.

    Version bumped to v0.7.12.

    Downloads
  • v0.7.4 a7e38bc72a

    v0.7.4
    All checks were successful
    CI/CD / detect-changes (push) Successful in 4s
    CI/CD / test-runners (push) Has been skipped
    CI/CD / test-frontend (push) Successful in 5s
    CI/CD / test-go-pg (push) Successful in 2m51s
    CI/CD / test-sqlite (push) Successful in 2m51s
    CI/CD / build-and-deploy (push) Successful in 39s
    Stable

    xcaliber released this 2026-04-02 14:50:48 +00:00 | 26 commits to main since this release

    Features

    • Added new surface runners for chat, notes, schedules, workflows, and renderer, replacing the old monolithic test runner.
    • Introduced workflow editor and monitor interfaces for team admin surfaces.
    • Added new shell topbar component for extensions, providing a consistent navigation and user menu.
    • Added animated icons for light and dark themes, including new favicon variants.
    • Added CI pipeline for surface tests with Docker support and health check scripts.

    Improvements

    • Migrated extension shell to a new contract, improving extension isolation and lifecycle management.
    • Consolidated test runner framework into a modular, package-based architecture for better CI gating.
    • Enhanced documentation with new guides for shell contract, surface runners, frontend JS, Starlark reference, permissions, and workflows.
    • Updated server-side handlers to support new test runner types and workflow packages.

    Refactoring

    • Removed legacy ICD test runner UI and CRUD modules (channels, tasks, personas, knowledge, workspaces, projects, etc.).
    • Removed legacy SDK test runner domain modules (git-board, projects, workspaces, tasks, notes, knowledge, personas, etc.).
    • Consolidated test runner CSS into a single shared stylesheet (packages/test-runners/css/main.css).
    • Replaced old team admin groups interface with updated admin groups surface.

    Infrastructure

    • Added Docker Compose configuration for CI and a dedicated test runner Dockerfile.
    • Added surface test driver script and health check utility for CI.
    • Updated database migrations to support new test runner types.
    • Added server handlers for test runner management and validation.

    Breaking Changes

    • Removed old test runner system (icd-test-runner and sdk-test-runner). Existing tests must be migrated to the new surface runner framework.
    • Updated extension shell contract; extensions may require updates to work with the new shell topbar and lifecycle.
    • Removed hello-dashboard package and its associated assets.
    • Consolidated UI components and styles; extensions using old CSS may need adjustments.

    Version: Updated from v0.6.18 to v0.7.0

    Downloads
  • v0.6.18
    All checks were successful
    CI/CD / detect-changes (push) Successful in 4s
    CI/CD / test-frontend (push) Successful in 6s
    CI/CD / test-go-pg (push) Successful in 2m45s
    CI/CD / test-sqlite (push) Successful in 2m58s
    CI/CD / build-and-deploy (push) Successful in 1m37s
    Stable

    xcaliber released this 2026-04-01 16:58:19 +00:00 | 31 commits to main since this release

    Features

    • SDK now automatically mounts imperative UI hosts (ToastContainer, DialogStack) for extension surfaces that lack an AppShell.

    Bug Fixes

    • Fixed Notes package "Add folder" button to use sw.prompt() instead of native prompt(), ensuring proper dialog rendering in sandboxed iframes.
    • Fixed admin "Add team members" user picker to correctly handle API response envelope ({data: [...]}).
    • Fixed package filter dropdown overflow by adjusting CSS to prevent horizontal scrollbars on option labels.
    • Fixed admin actions cell button overflow on narrow screens by switching to flexbox layout with wrapping.

    Improvements

    • User menu now conditionally shows Docs, Settings, and Team Admin items only when those surfaces are actually enabled.
    • Welcome surface now automatically redirects to homepage (/) when any non-core extension surface is installed.
    • Updated bundled package installation logic to treat nil (from *) as "install all" and empty map as "install nothing".

    Infrastructure

    • Changed default bundled packages to empty map—fresh installs now start with no packages pre-installed.
    • Updated Docker Compose configuration to default BUNDLED_PACKAGES environment variable to * when set but empty.
    • Updated test suite to reflect new empty default bundled packages behavior.

    UI/UX

    • Removed Welcome surface from topbar navigation and surface listings, treating it as a fallback-only page.
    • Updated user menu logic to filter core surfaces more comprehensively.

    Version: 0.6.17 → 0.6.18

    Downloads
  • v0.6.16
    All checks were successful
    CI/CD / detect-changes (push) Successful in 3s
    CI/CD / test-frontend (push) Successful in 5s
    CI/CD / test-sqlite (push) Successful in 2m49s
    CI/CD / test-go-pg (push) Successful in 2m51s
    CI/CD / build-and-deploy (push) Successful in 49s
    Stable

    xcaliber released this 2026-04-01 14:57:10 +00:00 | 33 commits to main since this release

    Features

    • Added user display audit system with new user SDK module (users.js) and updated user store handlers.
    • Introduced usability survey gate with accompanying documentation and updated admin settings.
    • Implemented session configuration handler with tests for improved session management.
    • Added presence tracking system with handler and test coverage.
    • Extended OpenAPI specification with 36 new endpoints.

    Improvements

    • Enhanced visual polish across all surfaces with updated CSS variables and refined component styling.
    • Improved responsive spacing throughout the application with layout adjustments.
    • Added viewport foundation for better responsive behavior across devices.
    • Updated login form and auth middleware with improved cookie handling and session management.
    • Enhanced markdown rendering capabilities in chat messages.

    Infrastructure

    • Added comprehensive UI development scripts: UI inventory generator, contrast checker, coverage matrix, touch target auditor, and CSS collision detector.
    • Implemented CSS linting script for package-specific stylesheets.
    • Added CSS isolation by prefixing all extension CSS classes with ext- (e.g., chat-sidebarext-chat-sidebar).
    • Deduplicated CSS across packages to reduce redundancy.
    • Added new font files for improved typography (DM Sans and JetBrains Mono).
    • Updated database migrations for PostgreSQL and SQLite with user table enhancements.

    Documentation

    • Added usability survey documentation (USABILITY-SURVEY.md).
    • Updated extension CSS guidelines with detailed isolation patterns.
    • Enhanced UI roadmap with 218 lines of new content.
    • Updated deployment and distribution documentation.

    Version

    • Updated from v0.6.8 to v0.6.16 across the codebase.
    Downloads
  • v0.6.8 680ec3b897

    v0.6.8
    All checks were successful
    CI/CD / detect-changes (push) Successful in 3s
    CI/CD / test-frontend (push) Successful in 5s
    CI/CD / test-go-pg (push) Successful in 2m34s
    CI/CD / test-sqlite (push) Successful in 2m46s
    CI/CD / build-and-deploy (push) Successful in 1m55s
    Stable

    xcaliber released this 2026-03-31 23:56:16 +00:00 | 41 commits to main since this release

    UI/UX

    • Updated login, welcome, and admin surfaces with "Armature" branding, titles, and placeholders.
    • Refreshed favicons, hero images, and CSS comments to reflect Armature branding.
    • Improved footer text placeholder in admin settings to "Powered by Armature".

    Refactoring

    • Renamed SDK auth tokens, cookies, and storage keys from "sb_" to "arm_" (e.g., sb_token → arm_token).
    • Updated theme storage key from switchboard_theme to armature_theme.
    • Renamed all JS/TS module comments and strings from "Switchboard Core" to "Armature".
    • Updated package manifests and authors from "Switchboard Core" to "Armature".

    Infrastructure

    • Renamed Kubernetes resources, secrets, and env vars from "switchboard" to "armature" (e.g., SWITCHBOARD_ADMIN_* → ARMATURE_ADMIN_*).
    • Added k8s/armature.yaml deployment and scripts/armature-ca.sh; removed switchboard equivalents.
    • Updated Helm charts with armature-specific dashboards, alerting rules, and deployment templates.
    • Renamed service worker cache from switchboard- to armature-; updated Docker and CI configs.

    Breaking Changes

    • Metrics renamed from switchboard_* to armature_* (e.g., switchboard_http_requests_total → armature_http_requests_total).
    • Debug export filenames changed from switchboard-debug- to armature-debug-.
    • Deployment secrets and env vars require update for compatibility (e.g., switchboard-db-credentials → armature-db-credentials).
    Downloads
  • v0.6.7 fb5284f667

    v0.6.7
    All checks were successful
    CI/CD / detect-changes (push) Successful in 4s
    CI/CD / test-frontend (push) Successful in 6s
    CI/CD / test-go-pg (push) Successful in 2m37s
    CI/CD / test-sqlite (push) Successful in 2m48s
    CI/CD / build-and-deploy (push) Successful in 52s
    Stable

    xcaliber released this 2026-03-31 18:42:01 +00:00 | 42 commits to main since this release

    Features

    • Added native mTLS support with new certificate authority scripts and TLS configuration
    • Added cluster registry for managing multiple Switchboard instances
    • Added admin health metrics dashboard with system monitoring
    • Added backup and restore functionality for system data
    • Added new documentation surface with API reference and extension guides
    • Added SDK modules for markdown rendering and renderer registration
    • Added workflow chat package for chat-based workflow interactions
    • Added package validation system with semantic version checking
    • Added upgrade testing infrastructure with rolling upgrade support
    • Added end-to-end WebSocket listener for testing real-time features

    Improvements

    • Refactored renderer packages (Mermaid, KaTeX, CSV Table) to use new renderer SDK
    • Enhanced admin package management interface with improved validation
    • Updated chat package with streamlined core functionality
    • Improved ICD test runner with expanded test coverage for surfaces
    • Consolidated deployment to single Docker image, removing frontend/backend split
    • Updated documentation with new architecture, deployment, and extension guides
    • Enhanced cluster dashboard functionality with registry support
    • Improved admin surfaces with better navigation and settings management

    Infrastructure

    • Fixed nginx configuration for BASE_PATH routing and static asset serving
    • Fixed container port configuration (nginx now listens on port 80)
    • Updated Kubernetes manifests with unified naming convention
    • Improved CI/CD pipeline with aligned variable names and deployment scripts
    • Added end-to-end tests for cluster, backup, and upgrade scenarios
    • Removed legacy cluster dashboard package and associated files
    • Consolidated development and production deployment configurations
    • Added support for extension configuration sections and library packages

    Breaking Changes

    • Removed old mTLS proxy implementation in favor of native mTLS support
    • Renderer extensions must now register via sw.renderers SDK instead of old extension system
    • Removed development HTML file and associated frontend split architecture
    • Consolidated k8s deployment files from backend.yaml to switchboard.yaml
    • Dropped support for legacy chat/notes/projects/providers modules

    UI/UX

    • Updated login page branding and fixed post-login blank page issue
    • Added redirect from root route to admin surface by default
    • Improved user menu with additional navigation options
    • Enhanced documentation surface layout and navigation
    • Updated CSS variables for better theming support

    Refactoring

    • Renamed main module from chat-switchboard to switchboard-core
    • Purged orphaned frontend code and consolidated codebase
    • Streamlined store interfaces and models for better maintainability
    • Removed legacy workflow redesign documentation
    • Cleaned up debug components and unused test files

    Version updated to v0.6.7

    Downloads