Skip to content

lablink-cli Changelog

All notable changes to lablink-cli will be documented here.

The format is based on Keep a Changelog.

Unreleased

Documentation

  • docs: refresh deployment documentation (#507)

0.4.0

Chores

  • chore: unify package versions at 0.4.0 (#503)

0.3.0

Bug Fixes

  • fix: treat an empty machine.ami_id as the fallback, not a missing value (#490)
  • fix: verify the client AMI exists instead of trusting AMI_MAP (#484)

Chores

  • chore: bump allocator/client to 0.4.0 and CLI to 0.3.0 (#501)
  • chore(cli): bump pinned lablink-template to v0.3.1 (#498)

Features

  • feat(doctor): warn when an HTTP deployment silently disables H.264 (#491)
  • feat(cli): prompt for tunnel credentials when their flags are omitted (#485)

0.2.0

Bug Fixes

  • fix(cli): warn about Let's Encrypt's 5-certs/7-days rate limit in wizard and deploy (#474)

Chores

  • chore: bump allocator/client to 0.3.0 and CLI to 0.2.0 (#481)

Features

  • feat(cli): add external-runtime deploy mode (--render-only) for platforms without Docker (#472)
  • feat: BYO clients ship their own container logs; drop the CLI's detached shipper (#479)

Refactoring

  • refactor(cli): route every manual-deployment fact through one manual.py module (#467)

0.1.0

Bug Fixes

  • fix(cli): highlight the configured region in the wizard's region screen (#455)

Chores

  • chore(release): allocator/client v0.2.1, cli v0.1.0 (#465)

Features

  • feat(cli): surface the admin page URL in deploy and status output (#456)
  • feat(cli): auto-fetch logs in the lablink logs viewer (#451)

0.1.0a1

Bug Fixes

  • fix: bump Terraform to 1.9.8 to stop S3 backend state corruption (#437)
  • fix(cli): make metrics export work on the manual/BYO path (#435)
  • fix(cli): poll the public hostname instead of checking it once (#433)
  • fix(cli): flush the BYO log shipper's buffer when the container goes quiet (#428)
  • fix(cli): persist the client's tailscaled state; add client reset-overlay (#413)
  • fix(allocator): stop library modules configuring logging at import time (#410)
  • fix(allocator+cli): clone the configured repository on BYO clients (#405) (#408)
  • fix(allocator+cli): report the real public URL behind Tailscale Funnel (#396) (#403)
  • fix(cli): report auth failures instead of empty results (#400)
  • fix(cli): wizard layout unusable on small terminals — collapsed radio options, oversized editors (#399)
  • fix(cli): revoke SG rules before delete to avoid DependencyViolation (#394)
  • fix(cli): lablink cleanup must never release a persistent EIP (#393)
  • fix(cli): lablink destroy wipes the Postgres data volume by default (#391)
  • fix(cli): bump pinned lablink-template to v0.2.2 (Cloudflare Full SSL) (#375)
  • fix(cli): wizard Advanced form was clipped — EIP strategy radio unreachable (#373)
  • fix(cli): send product User-Agent so Cloudflare-proxied allocators don't 403 (#371)
  • fix(cli): SSL-aware deploy health check, zone_id auto-save, drop db password prompt (#347)

Chores

  • chore: bump package versions for the OpenTofu release (#448)
  • chore: bump terraform version (#365)
  • chore: prepare lablink-cli for PyPI release (#328)

Documentation

  • docs: bring CLI reference and guides up to parity with the shipped CLI (#427)
  • docs: correct stale and nonexistent references across READMEs and guides (#426)

Features

  • feat(cli): add lablink configure --template so template repos get the TUI (#442)
  • feat(cli): add lablink client destroy for tearing down the client fleet (#440)
  • feat(cli): add lablink client doctor for BYO client health (#430)
  • feat: publish the allocator at an admin-chosen hostname via Cloudflare Tunnel (#420)
  • feat: reverse_tunnel connectivity — client dials out over the allocator's existing HTTPS address (#419)
  • feat(allocator+cli): real-time progress tracking for launch/destroy operations (#398)
  • feat: expose self-hosted allocator to participants via Tailscale Funnel (#390)
  • feat: retry client startup script with backoff + success check (#392)
  • feat: add mesh-overlay connectivity for off-LAN manual clients (#387)
  • feat(cli): poll operations instead of blocking on /destroy and /api/launch (PR 3/6) (#385)
  • feat(cli): wizard DNS step gets Guided/Advanced toggle, Cloudflare picks persistent EIP (#369)
  • feat: wizard monitoring toggle + sync lablink stats with admin UI (#368)
  • feat: Tier 1 monitoring & stats (opt-in, disabled by default) (#366)
  • feat(cli): first-run welcome panel + health-poll spinner + 300s timeout (#336)
  • feat(cli): show lablink-template version in --version output (#335)
  • feat: -y/--yes auto-accept flag + grouped CLI help (#325)
  • feat(cli): allocator deployment metrics + --client/--allocator export flags (#317) (#320)

Other Changes

  • Refactor: Cleanup dead/duplicate code (#395)
  • ship startup script to manual/BYO clients via register response (#364)
  • cli: ship manual BYO docker container logs to allocator (#362)
  • PR D4: retire API_TOKEN (unify M2M auth on client_secret) (#358)
  • PR D3: operator-side manual mode (configure wizard + compose deploy) (#357)
  • PR D2: lablink register CLI for manual BYO clients (#354)
  • PR A: swap CRD → KasmVNC on the AWS path (nginx-fronted, allocator-proxied WS) (#344)

Refactoring

  • refactor: switch the AWS provisioning path from Terraform to OpenTofu (#446)
  • refactor(cli): route every docker call through one adapter (#445)
  • refactor: cut duplicated caches, HTTP plumbing, and command-file prose (#441)
  • refactor: remove monitoring feature (schema, CLI cost branch, docs) (#346)

For more details, see the GitHub Releases page.