Releases: talmolab/sleap-connect
Release list
sleap-connect v0.0.7
What's New
This release transforms the dashboard from a basic training launcher into a full-featured job control center with inference support, multi-config training, and graceful job management.
Dashboard Inference Job Submission (#76)
- Training/Inference toggle in the Submit Job modal — switch between training and inference workflows
- File browser for inference — browse worker filesystem to select model checkpoint folders and data files (
.slp) - Worker log streaming for inference jobs — tqdm progress and sleap-nn output displayed in real time
- Job Summary now includes logs for both training and inference jobs
Multi-Config Training + Stop Early (#75)
- Multiple config upload — submit centroid + centered_instance (or any combination) in a single job
- Per-config hyperparameter preview — cards showing batch size, max epochs, learning rate for each config
- Stop Early button — gracefully stops the current model's training via ZMQ and proceeds to the next model/inference
- Cancel Training button — stops all remaining models and skips inference entirely
- Model queue indicator — shows "Model 1 / 2" with updates on model switch
Dashboard Job Cancellation + Stale State Fixes (#73)
- ZMQ-based graceful cancellation — replaces SIGTERM with ZMQ
{"command": "stop"}for clean DDP shutdown - Two-click cancel confirmation — prevents accidental cancellation with a 3-second confirmation window
- Wizard state resets — fixes stale config filenames, missing video artifacts, and validation status persisting across modal opens
- SSE event guards — prevents stale file-check events from previous sessions from corrupting the current wizard
- README rewrite — side-by-side Dashboard/CLI/Docker quickstart with
--torch-backend auto
Worker Room Reconnection Fixes (#72)
- File browsing, metadata updates, Ctrl+C handling, and non-admin message routing fixes after WebSocket reconnection
Upgrade
pip install --upgrade sleap-rtc
# or
uv pip install --upgrade sleap-rtcWorkers must be updated to v0.0.7 for multi-config training and inference job support.
sleap-connect v0.0.6
What's new in v0.0.6
Worker reliability
- WebSocket reconnection: Workers automatically reconnect to the signaling server with exponential backoff (1s, 2s, 4s... up to 5 min cap) after network failures or server restarts. Configurable
--max-reconnect-timeto limit retries. (#69) - Signaling heartbeat watchdog: Application-level heartbeat detection closes stale connections through Cloudflare proxy within 90 seconds, triggering automatic reconnection. (#69)
- Server-initiated heartbeat: Signaling server sends periodic pings to each connected worker, enabling stale connection detection through Cloudflare's TCP proxy. (webRTC-connect#30)
- Graceful shutdown: Ctrl+C cleanly exits the worker during both idle and training states, with proper signal handling through asyncio. (#69)
Docker deployment
- Production-ready worker image: Dockerfile rewritten to install full
sleap-rtcpackage with CLI entrypoint. Start a worker with a single command:docker run --gpus all -e SLEAP_RTC_ACCOUNT_KEY=... ghcr.io/talmolab/sleap-rtc-worker:latest(#70) - Source-based test builds: Added
Dockerfile.testfor CI to build and test unreleased code in Docker before cutting releases. (#70)
Dashboard
- Deploy Worker modal: New "Deploy Worker" button on each room with three deployment method tabs — Docker command builder, Cluster (RunAI/K8s/Slurm) guide, and Direct Install instructions. Auto-fills account key and room ID. (#70)
Developer experience
sleap-rtc doctorenhancements: Pre-flight checks now include GPU detection (model, memory, CUDA version), account key validation, sleap-nn availability, and data mount verification. (#71)
Full changelog
sleap-connect v0.0.5
What's new in v0.0.5
New authentication architecture
- Account key auth (
slp_acct_xxx...): Long-lived, named, revocable keys replace per-room API keys. Works headless — no browser needed for workers. (#60, #61) - Ed25519 keypair P2P auth: Client private keys never leave the machine; workers verify via server-registered public keys. (#60, #67)
sleap-rtc keycommands:create,list,revoke,use,showfor full key lifecycle management (#60)- GUI keypair generation: SLEAP GUI login now auto-generates Ed25519 keypairs and registers public keys (#67)
Dashboard
- Account Keys management tab: Create, view, copy, and revoke account keys from the browser (#66)
- Job submission workflow: Submit training jobs directly from the dashboard with worker selection, config editing, and live progress (#63, #64, #65)
- Job tracking & worker status monitoring: Real-time busy/idle status, active job context, SSE reconnection on refresh, completion badges with full log history (#68)
- Auth migration: Dashboard updated for new account key auth flow (#62)
Bug fixes
- Worker peer ID uniqueness: Added UUID suffix to prevent collisions when multiple workers share the same account key on the same host
Full changelog
sleap-rtc v0.0.4
Changes since v0.0.3
Video path resolution for training (#57)
The worker now writes a resolved .slp file with corrected video paths instead of passing --video-path-map to sleap-nn. Fixes training failures when video files are stored at different paths on the worker than on the client, including support for image sequence (TIF) videos.
Terminal progress display, path resolution UX, and diagnostics (#56)
Fixes to live training progress output, path resolution dialog flow improvements, and diagnostic output cleanup.
Worker shutdown reliability
SIGINT watchdog fallback: if a ZMQ-based stop signal doesn't terminate the worker within 30 seconds, the watchdog escalates with a direct SIGINT. Prevents zombie worker processes on abnormal exits.
sleap-rtc v0.0.3
What's Changed
Fixed
ModuleNotFoundError: No module named 'yaml'—pyyamlwas listed only in[optional-dependencies.dev], so it was absent from the installed wheel. Worker startup crashed immediately with this error atjobs/validator.py. (#55)
Note: v0.0.2 fixed the missing
__init__.pypackaging issue but inadvertently shipped withoutpyyamlin runtime dependencies. v0.0.3 is the correct working release.
Full Changelog: https://github.com/talmolab/sleap-rtc/blob/main/CHANGELOG.md
Upgrade: pip install --upgrade sleap-rtc or uvx sleap-rtc (uvx always pulls latest).