Skip to content

lablink-client-service Changelog

All notable changes to lablink-client-service will be documented here.

The format is based on Keep a Changelog.

0.4.0

Chores

  • chore: bump allocator/client to 0.4.0 and CLI to 0.3.0 (#501)

0.3.0

Bug Fixes

  • fix(allocator+client): stop the viewer's 20-min idle kill and let H.264 streaming engage (#478)
  • fix(client+allocator): remove xscreensaver and raise viewer default stream quality (#476)
  • fix(client): image thumbnails in Thunar + honest nvm install check (#473)
  • fix(client+allocator): find tutorial-subfolder projects and heal a lost session anchor (#471)

Chores

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

Features

  • feat: BYO clients ship their own container logs; drop the CLI's detached shipper (#479)
  • feat: KasmVNC 1.5.0 with H.264 video streaming (NVENC-capable) (#477)

0.2.1

Bug Fixes

  • fix: two errors-view gaps found by live-testing a failing startup script (#460)
  • fix(allocator): stop shipping the string "None" as the tutorial repository (#459)
  • fix(client): clean up boot-log noise (X11 socket dirs, AT-SPI, chmod, curl, xterm font) (#458)

Chores

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

Features

  • feat(client): add a text editor and desktop tooling to the client image (#452)

0.2.0

Bug Fixes

  • fix(client): set C.UTF-8 locale in the client image (#423)
  • fix(client+allocator): report the overlay hostname Tailscale actually assigned (#412)
  • fix(client): join the overlay before the startup script; retry lost 'initializing' (#402)
  • fix(security): prevent command injection via crd_command (#329)
  • fix(client): repair CRD host registration on client VMs (CRD v148 regression) (#330)
  • fix: the error where the user does not already exist (#324)
  • fix: defer VM status='running' until container startup completes (#321)

Build

  • build(client): pin chrome-remote-desktop to the 148.x line (#334)

Chores

  • chore(client): bump to 0.2.0 (#450)
  • chore: retire Dependabot, bump lagging actions, fix broken README install commands (#425)

Documentation

  • docs: correct stale and nonexistent references across READMEs and guides (#426)

Features

  • feat(client): modernize the desktop — Ubuntu 24.04, XFCE 4.18, Yaru (#439)
  • feat: reverse_tunnel connectivity — client dials out over the allocator's existing HTTPS address (#419)
  • feat: retry client startup script with backoff + success check (#392)
  • feat: add mesh-overlay connectivity for off-LAN manual clients (#387)
  • feat(client): anchor session metrics at user-assignment, not VM boot (#380)
  • feat: Tier 1 monitoring & stats (opt-in, disabled by default) (#366)
  • feat: heartbeat liveness signal for silent-failure detection (#323)
  • feat: warm reboot for assigned VMs to preserve container state (#322)
  • feat: dynamic health checks with adaptive polling for deployment metrics (#318)

Other Changes

  • Refactor: Cleanup dead/duplicate code (#395)
  • client: emit chronological tagged stream to docker logs (#361)
  • PR D4: retire API_TOKEN (unify M2M auth on client_secret) (#358)
  • PR D3: operator-side manual mode (configure wizard + compose deploy) (#357)
  • PR D1: manual provider + LAN-direct browser connectivity (#353)
  • PR C: registration API + per-client credentials (AWS-only) (#352)
  • PR A: swap CRD → KasmVNC on the AWS path (nginx-fronted, allocator-proxied WS) (#344)

Performance

  • perf(client): stop the KasmVNC desktop holding max quality while the screen moves (#438)

Refactoring

  • refactor: switch the AWS provisioning path from Terraform to OpenTofu (#446)
  • refactor(client): drop the CloudWatch-era logger wrapper (#411)

0.1.2

Chores

  • chore: bump version (#307)

Refactoring

  • refactor: remove code redundancy across packages (#306)

0.1.1

Bug Fixes

  • fix: add missing auth header to client container metrics POST (#287)

Chores

  • chore: bump allocator package to version 0.1.1 (#292)

0.1.0

Bug Fixes

  • fix: CRD v147 Docker install failure due to _crd_network username regex (#283)
  • fix: pin all dependencies and fix Dependabot security alerts (#270)
  • fix: correct total startup duration calculation (#269)
  • fix(allocator): Fix VM startup race condition and organize logging (#262)
  • fix(client): Fix uv cache permission denied error in Dockerfile (#256)

Chores

  • chore: bump allocator and client to 0.1.0 (#285)
  • chore: update uv lock according to the new pyproject (#278)
  • chore(deps): consolidate Dependabot dependency updates (#277)

Features

  • feat: replace CloudWatch logging with self-hosted log shipper (#279)
  • feat: add bearer token auth to API endpoints (#282)
  • feat: Add ci-test environment support (#227)

Other Changes

  • upload logs to the allocator (#266)
  • Optimize Docker images: lighter base, cleanup, and dockerignore (#263)
  • simplify the Dockerfile so that it can install uv under client user (#260)
  • Add Retry Logics to API Connections to Allocator (#235)
  • Change uv Installation Methods and Add More Packages to the Client (#236)
  • New Timing Measurement Methods for Client VMs (#229)
  • Add Coverage Requirement in the CI and Add More Tests (#226)
  • Add a Custom Startup Script Feature without Affecting the Core Startup script (#211)

0.0.8a3

Bug Fixes

  • fix: Sanitize URLs to remove prepended dots in allocator and client services (#199)

0.0.8a2

Bug Fixes

  • fix: Sanitize URLs to handle prepended dots in subscribe function (#198)

0.0.8a1

Chores

  • chore: Update client package Python requirement and version (#195)

0.0.8a0

Other Changes

  • Fix: Skip Terraform tests in publish workflow (#193)
  • Restructure packages and create infrastructure template (#189)

0.0.7a0

Initial release.


For more details, see the GitHub Releases page.