Releases: modern-tooling/work-lab
Releases · modern-tooling/work-lab
v0.11.0
v0.10.0
Added
- tmux 3.5a: Built from source for better clipboard and image support
- Clipboard integration:
set-clipboard onenables OSC 52 (copy to system clipboard) - Image passthrough:
allow-passthrough onenables image protocols in tmux claude-dspalias: Shortcut forclaude --dangerously-skip-permissions
Changed
- Terminal environment: Container exports
LANG,LC_ALL,TERM,COLORTERMfor proper Unicode and color detection
Fixed
- SSH tunnel port 2222: Now detects devcontainer sshd feature which uses port 2222 (not 22)
v0.9.0
Fixed
- Devcontainer detection: Now correctly finds paired devcontainer when work-lab is also running
- tmux status bar: Simplified config, no longer requires Nerd Fonts
wl startauto-update: Rebuilds container if newer image is locally availablewl doctorfast check: Compares running container vs pulled image (instant, no network)
v0.8.0
Added
wl dc --status: Check paired devcontainer connection status at a glance- Tree view in
wl start: Shows container status matchingwl psfor visual continuity - Devcontainer ports display: Shows
forwardPortsinwl startandwl dc --status - Gold tmux tabs for devcontainer sessions:
[dc]windows clearly distinguished from regular tabs
Changed
- tmux status bar:
⚡dcwhen connected,⚠ dcwhen devcontainer exists but unreachable - Cleaner status output: Balanced design - concise but informative for new users
- tmux scripts use full paths: Fixes status bar not displaying on some systems
Fixed
- tmux status scripts: Now work reliably (use
$HOME/bin/paths instead of relying on PATH) - JSONC parsing: Port extraction handles
//comments in devcontainer.json
v0.7.1
Added
- Unified
wlcommand: Works both on host AND inside the container - Context-aware help: Host-only commands dimmed when inside container
Changed
- Claude authentication:
.claudemount changed to read-write for persistent login - Tmux status bar: tmux2k-inspired design with Nerd Font icons and rounded window tabs
- Help styling: Consistent colors (command cyan, description white)
Fixed
- Welcome guide: Now shows correctly in first tmux pane
v0.7.0
Added
wl mux [project]: Attach to any running work-lab by project name (not just current directory)wl ports: Show forwarded ports for work-lab and paired devcontainerwl prune: Clean up stopped work-lab containers (use--allfor images too)- Session restore: tmux layout persists across container rebuilds
Ctrl-b Wsaves session layout to project's.work-lab/directorywl muxauto-restores saved layout when creating new session
Fixed
- beads (bd): Install from pre-built binary release instead of npm/go
v0.6.0
Added
wl doctor --fix: Auto-fix detectable issues (stale containers, SSH tunnel setup, missing devcontainer CLI)- Stale container detection:
wl doctorfinds orphaned containers from deleted/moved projects
Removed
wl upgrade: Use your package manager instead (brew upgrade work-lab)
v0.5.0
Changed
- Command rename:
wl up→wl start(clearer intent,wl stopunchanged) - Clearer messaging: tips (
*) show features, actions (→) tell you what to do next
Added
wl doctornow works inside container- Docker image availability check before
wl start
Fixed
wl psshows current project even when no containers running- Works on stock macOS without coreutils (fixed port check timeout)
- Better error messages for config file issues
v0.4.0
Fixed
- Multi-architecture Docker builds (amd64 + arm64 for Apple Silicon)
- Go download now detects architecture instead of hardcoding amd64
wl uperror handling shows helpful messages for network failureswl psshows current project even when both containers stopped- Homebrew install: fixed "bind source path does not exist" error
- Post-create/post-start scripts now use absolute paths in image
Changed
- Use pre-built GHCR image instead of building from Dockerfile
- Added CI workflow for Docker build testing
- Baked zsh and gh (GitHub CLI) into image - no runtime feature installs
- Removed devcontainer features to eliminate network-dependent rebuilds
- Startup message now says "Starting work-lab container..."
- Docker image versioned independently from CLI (rebuilds only when Dockerfile changes)
- Removed redundant project count from
wl psoutput
v0.3.0
Added
- SSH tunneling to devcontainers: Run commands in project devcontainer from work-lab
wl dc <cmd>works from inside work-lab via SSH tunnelprefix + Sin tmux to SSH into devcontainer- Zero devcontainer config required (just enable sshd feature)
- Host orchestrates setup via
wl mux/wl shell(lazy initialization) - NO Docker socket in work-lab - maintains full isolation
wl psshows tunnel status:⚡= ready,~= sshd detected (runwl mux)wl doctorchecks forwlalias and suggests setup if missingwl doctordetects SSH tunnel configuration in sidecar mode- New documentation:
docs/ssh-tunneling.md - Integration test script:
test/integration/tunnel-test.sh openssh-clientadded to container image
Changed
wl shell <cmd>now supports running commands directly (not just interactive shell)wl dcnow runs as proper user (not root) and auto-detects workspace directorywl dcfrom host now auto-configures SSH tunnel for future use inside work-lab- Container discovery (
find_container) checks actual mount paths instead of labels - README updated with clearer value proposition and sidecar mode examples
- No longer auto-modifies .gitignore (user controls their own files)
Security
- SSH tunneling uses shared filesystem approach instead of Docker socket
- No additional privileges required in work-lab container
- Maintains full isolation from host system