Skip to content

Changelog

All notable changes to Machineuse are documented here.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Added

  • Comprehensive MkDocs documentation
  • Docker deployment support
  • GitHub Actions CI/CD pipeline

Changed

  • Updated repository URLs to dotcommoners organization

[2.0.0] - 2026-04-08

Added

  • Distributed Architecture: Multi-node deployment with control plane and workers
  • NNG Messaging: High-performance inter-node communication without external brokers
  • Intelligent Scheduling: Weighted scoring algorithm for instance placement
  • Snapshot Dormancy: Resource-efficient pause/resume with filesystem snapshots
  • DuckDB Analytics: Time-series metrics and usage analytics
  • PostgreSQL Support: Distributed storage backend for control plane
  • Auto-healing: Automatic failure detection and instance migration
  • CLI Tool: Comprehensive command-line interface (machineuse-cli)

Changed

  • Migrated from FastQueue to pure NNG messaging
  • Restructured storage with three-tier architecture
  • Improved container lifecycle management
  • Enhanced configuration system with templates

Removed

  • FastQueue dependency
  • Legacy single-node-only architecture

[1.0.0] - 2026-03-19

Added

  • Initial release
  • Single-node container management
  • systemd-nspawn container runtime
  • REST API for instance management
  • Basic CLI commands
  • SQLite storage backend
  • Container resource monitoring

Version History

Version Date Highlights
2.0.0 2026-04-08 Distributed architecture, NNG messaging
1.0.0 2026-03-19 Initial release

Upgrade Guides

1.x to 2.0

Breaking Changes:

  1. Configuration Format: New configuration structure with deployment modes
  2. API Endpoints: V2 API prefix (/v2/instances instead of /instances)
  3. Storage Schema: Database migration required

Migration Steps:

  1. Backup existing data:

    cp /var/lib/machineuse/machineuse.db /backup/
    

  2. Update configuration:

    machineuse-cli config migrate /etc/machineuse/config.json
    

  3. Run database migration:

    machineuse-cli db migrate
    

  4. Restart services:

    sudo systemctl restart machineuse