Repository navigation
Releases: Mullassery/TinyBridge
Release list
TinyBridge v0.6.3
What's new
- Homebrew formula bump is now automated on release (RECHECK-061).
- Add a file-sharing throughput harness (
scripts/bench-fileio.sh) anddocs/FILE_IO_BENCHMARK.md; the "~90% file I/O" / "1.5s boot" figures are explicitly unverified targets (RECHECK-062). - Linux 9p shared folders now warn loudly instead of pretending to mount (RECHECK-062).
TinyBridge v0.6.2
Real tinybridge logs (tails the daemon log at ~/Library/Logs/TinyBridge/tinybridged.log with --tail/--errors/--warnings/--follow); daemon now tees tracing to that file; documented the FFI Send/Sync invariant (RECHECK-004/010).
TinyBridge v0.6.1
Fixed
- RwLock poisoning in the adapter scaffolding (
tinybridge-core's macOS/Windows/Linux adapters and platform registry) could permanently wedge an adapter behind a panic — any panic while holding the lock poisoned it for every subsequent call. Now recovers viaunwrap_or_else(|poisoned| poisoned.into_inner())instead of propagating the panic. Covered by 4 new regression tests (one per file) that deliberately poison the lock and assert the adapter is still usable afterward.
Added (since v0.6.0)
- OSS project scaffolding:
.github/dependabot.yml, acargo auditCI job,CONTRIBUTING.md,CODE_OF_CONDUCT.md,ROADMAP_HONEST.md, issue/PR templates,docs/README.mdindex.
Changed
- Corrected stale test-count claims in README.
SECURITY.mdno longer claims a nonexistent security team or SLA.
See CHANGELOG.md for the full list.
TinyBridge v0.6.0
Fixes
tinybridge-vmhostno longer dyld-crashes on launch. The binary loads
libTinyBridgeVZBridge.dylibvia@rpathbut shipped with noLC_RPATH
at all in every prior release, so it aborted immediately with
Library not loaded: @rpath/libTinyBridgeVZBridge.dylibunless you
manually setDYLD_LIBRARY_PATH. Reported in #2. Fixed by embedding
@executable_path/@loader_pathrpaths at link time
(crates/tinybridge-vmhost/build.rs) — verified withotool -land by
running the packaged binary from a clean directory with no env vars set.- CI no longer silently skips 9
tinybridge-daemontests that were marked
as "known pre-existing failures" — they pass now (194/194) and are back
in the gate so a future regression there fails CI again.
What's new since v0.5.1
- Guest boot to a real login prompt now works end-to-end, with
cloud-init-provisioned credentials — see README's "Honest status" /
"The actual fix" sections for the full story (wrong kernel was the real
blocker, not the earlier-suspected Virtualization.framework regression). - PID-lock orphaned-process registry + runtime virtualization/CPU-extension
diagnostics (kern.hv_support). - Fixed device double-allocation, a JSON-RPC error code boundary bug, and
OKF status calculation. - CI runner moved to
macos-latest; ~50 real clippy warnings fixed (not
suppressed) after unblocking a brokencargo fmt --checkgate.
Honest status
Same caveats as before: macOS-only (no Windows/Linux hypervisor backend),
Apple Silicon only (no published Intel build), and this release's automatic
install path still doesn't bundle/auto-download a root filesystem image —
see README.md for the full, current picture.
See INSTALL.txt inside the tarball for manual install steps, or use the
Homebrew tap (mullassery/homebrew-tinybridge), updated separately for
this release.
v0.5.1
Fixes
CI has been red on every push since v0.5.0 because cargo fmt --check failed
on the first gate, before clippy or tests ever ran. Fixed, and fixing it
surfaced ~50 real pre-existing clippy warnings across tinybridge-core/-cli/
-daemon that clippy had also never gotten a chance to check -- all fixed for
real, not suppressed. Full test suite unchanged and re-verified: 396/396
(excluding daemon) + 185/194 daemon (9 pre-existing named skips).
No functional/behavioral changes in this release -- CI health and code
quality only. See README.md's "Honest status" section for the current,
accurate state of what's verified working vs. not.
v0.5.0 - Real VM lifecycle wiring
What changed
This is the first release where tinybridge-vmhost actually drives a real VM
through Apple's Virtualization.framework end-to-end, instead of a hardcoded
"status": "running". Full details in the commit history on this tag; short
version:
- Fixed the Swift Virtualization.framework bridge, which did not actually
compile as checked in (a stale prebuilt dylib had been committed from a
different machine). It builds cleanly now (swift build -c release). - Wired the real VM lifecycle end-to-end:
tinybridge-vmhost's
VmControllernow constructs and drives a realtinybridge_vz::VirtualMachine
for start/stop/force_stop/status, propagating real FFI errors instead of a
fabricated "running" status. The daemon'sVmManagernow issues a real
vmhost.startRPC (previously it only pinged status after a fixed sleep). - Found and fixed a real platform bug: Virtualization.framework dispatches
callbacks onto the process's main GCD queue; a plain#[tokio::main]
process silently hangs forever on every VM call. Fixed by running the async
server on a background thread and dedicating the main thread to
dispatch_main(). - Verified end-to-end: built and ad-hoc-codesigned the real
tinybridge-vmhostbinary (with thecom.apple.security.virtualization
entitlement), ran it, and drove it over its real Unix-socket JSON-RPC
protocol against a real downloaded ARM64 Linux kernel. Observed
Stopped -> Running (with a detected NAT guest IP) -> Stopped. - Security hardening: real SHA-256 checksum verification for snapshot
images and the rootfs-build script's downloads (both previously
unverified), standardized safe-by-default (NAT) network mode, VM control
socket permissions hardened to0600, VirtioFS host-path scoping
implemented and tested ahead of its FFI wiring. - Honest relabeling: Windows/Linux platform adapters (previously
committed as "Phase 6.1/6.2/6.3 Implementation") are now explicitly
documented as unimplemented scaffolding - they only ever mutated an
in-memory HashMap and are not wired into anything. - CI: re-enabled the Swift build and brought
tinybridge-vzand
tinybridge-daemoninto the tested set (previously skipped). - README/SECURITY.md rewritten to reflect all of the above accurately -
including fixing a stated MIT license that contradicted the actual
ProprietaryLICENSEfile, and removing references to a Homebrew tap and
package-manager installs that don't exist.
What's NOT yet verified
Full guest OS boot to a login/SSH prompt. That requires a complete, real root
filesystem image, which this repository does not bundle or auto-download
today. The verification above used a real kernel and a placeholder disk
image, sufficient to prove the hypervisor genuinely boots and runs guest
code, not a full guest OS.
Distribution
There is no Homebrew tap, package manager entry, or crates.io publish for
this project (crates.io wouldn't be a good fit anyway - this is a Proprietary-
licensed application workspace with a macOS-only Swift/Virtualization.framework
dependency baked into several crates, not a set of general-purpose reusable
libraries). This GitHub Release is the actual distribution channel: a real,
built-from-this-tag macOS (Apple Silicon / arm64) binary tarball is attached
below, with SHA256SUMS included in the archive.
Build target note: the attached binary was built and tested on
Apple Silicon (arm64). An Intel (x86_64) build was not produced in this pass
(this development environment is Apple Silicon only) - build from source with
cargo build --release --target x86_64-apple-darwin if you need one.
TinyBridge v0.4.0
Production-ready virtual machine platform with cross-platform support for Windows, macOS, and Linux.
What's New
Core Features
- Intelligent Multi-Tier Boot: Reach interactive shell in 1.5 seconds (Tier 1), full resources at 120 seconds (Tier 4)
- Cross-Platform Abstraction: Single codebase runs natively on Windows (Hyper-V), macOS (Apple Virtualization), and Linux (KVM)
- Production Hardening: Error recovery with automatic strategies, health monitoring, diagnostics
- Native Performance: Platform-optimized hypervisor integration for each OS
- Comprehensive Observability: OpenTelemetry with Jaeger tracing, Prometheus metrics
Platform Support
- macOS: Apple Silicon (ARM64) and Intel x86_64, GPU acceleration via Metal
- Windows: Build from source (Hyper-V required), detailed setup guides
- Linux: x86_64 and ARM64, GPU/USB passthrough via VFIO
Documentation
- Comprehensive README with platform-specific installation guides
- Windows setup with Hyper-V prerequisites and troubleshooting
- macOS setup with Homebrew and GPU acceleration
- Configuration reference and CLI command documentation
- Architecture guide and troubleshooting resources
Installation
macOS (Homebrew)
brew tap Mullassery/tinybridge
brew install tinybridgemacOS (Direct Binary - Apple Silicon)
Extract the .tar.gz file and add to PATH:
tar -xzf tinybridge-0.4.0-aarch64-apple-darwin.tar.gz
sudo mv tinybridge /usr/local/bin/Windows (Build from Source)
git clone https://github.com/Mullassery/TinyBridge.git
cd TinyBridge
cargo build --release --bin tinybridgeLinux (Build from Source)
git clone https://github.com/Mullassery/TinyBridge.git
cd TinyBridge
cargo build --release --bin tinybridge
sudo cp target/release/tinybridge /usr/local/bin/Getting Started
# Create a new Linux environment
tinybridge create ubuntu:22.04 --name dev-env
# Start the environment
tinybridge start dev-env
# SSH into the environment
tinybridge ssh dev-env
# Stop when done
tinybridge stop dev-envTechnical Highlights
- 201 comprehensive tests with 9,648 lines of production code
- 4-tier boot optimization: Tier 1 (SSH) 1.5s, Tier 2 (Usable) 5s, Tier 3 (API) 30s, Tier 4 (Full) 120s
- Automatic resource management with CPU, memory, disk, and network enforcement
- Graceful error recovery with retry, skip, downgrade strategies
- Health monitoring with per-component tracking and automatic diagnostics
- Platform abstraction layer with zero code duplication across Windows/macOS/Linux
Binaries
- tinybridge: Main CLI tool for VM management
- tinybridged: Daemon service for orchestration (optional)
- tinybridge-vmhost: Direct hypervisor control utility
System Requirements
macOS
- macOS 11.0 or later
- 4GB+ available RAM
- 20GB+ free disk space
- Apple Silicon or Intel processor
Windows
- Windows 10 Pro/Enterprise or Windows 11
- Hyper-V enabled (BIOS + Windows feature)
- 4GB+ available RAM
- 20GB+ free disk space
Linux
- Kernel 4.4+ with KVM support
- libvirt installed
- 4GB+ available RAM
- 20GB+ free disk space
Known Limitations
- Windows Hyper-V does not support GPU acceleration for Linux VMs (GPU only on macOS/Linux)
- x86_64 macOS binaries available on request (currently aarch64 provided)
- WSL2 not supported (use TinyBridge for better isolation and resource management)
Support & Documentation
Contributors
Built with Rust, leveraging native virtualization frameworks:
- Windows: Hyper-V technology stack
- macOS: Apple Virtualization Framework
- Linux: KVM and QEMU ecosystem
- Observability: OpenTelemetry standards
TinyBridge v0.3.1 - Metal GPU Support
Release with Metal GPU acceleration support.
New Features
- Metal GPU acceleration (auto-allocated from Mac memory)
- GPU memory scaling: tinybridge update --gpu-memory 16
- Automatic GPU detection on Apple Silicon
Existing Features
- Full VM lifecycle management (suspend/resume/snapshots)
- Dual-mode GUI (attach/detach without restart)
- Automatic SSH with key-based auth
- Resource management (CPU/memory/disk scaling)
- Snapshots for checkpoint/restore workflows
GPU Usage
# Create with GPU
tinybridge up ml-training --gpu true --gpu-memory 8
# Scale GPU later
tinybridge update ml-training --gpu-memory 16
# ML workloads use GPU via Metal
tinybridge ssh ml-training
ubuntu@ml-training:~$ python3 train.py # Auto-uses GPUInstallation
brew tap Mullassery/tinybridge https://github.com/Mullassery/homebrew-tinybridge.git
brew install tinybridge tinybridgedTinyBridge v0.3.0
Production release: Full VM lifecycle management (suspend/resume/snapshots), resource scaling, dual-mode GUI support.
Features
- Suspend/resume VM (preserves state)
- Graceful shutdown and restart
- Create/restore snapshots
- Scale CPU/memory/disk dynamically
- Attach/detach desktop on demand
- Auto-starting daemon via Homebrew
Installation
brew tap Mullassery/tinybridge https://github.com/Mullassery/homebrew-tinybridge.git
brew install tinybridge tinybridgedTinyBridge v0.1.0 - Initial Release
Initial TinyBridge release with core functionality, daemon, and CLI.