0.33.0
New features
Streamed uploads with real-time progress
avocado connect upload now streams data through Rust instead of shelling out, enabling real-time per-artifact progress bars:
Uploading runtime 'dev'
[1/3] rootfs.img ████████████████████░░░░ 82% 45 MB/s
[2/3] app.raw ████████████████████████ 100% done
[3/3] var.img ○ waiting
Each artifact displays a named progress bar with transfer speed. Uploads that were previously a single opaque step now provide full visibility.
Concurrent multipart uploads
Large artifacts are uploaded using concurrent multipart transfers. Multiple parts upload in parallel, significantly improving throughput on high-bandwidth connections.
Zero-copy in-container uploads
When uploading from within the SDK container, connect upload now uses a zero-copy path that avoids copying artifacts to the host before uploading.
Extension integrity hashes in runtime manifests
Runtime manifests now include a sha256 hash for each extension entry, enabling integrity verification during deployment:
{
"extensions": [
{
"name": "app",
"version": "1.0.0",
"sha256": "a1b2c3d4..."
}
]
}
avocado.extensions.* interpolation
Extension metadata is now available in template expressions:
extensions:
my-app:
version: '2.0.0'
runtimes:
dev:
var_files:
- source: configs/{{ avocado.extensions.my-app.version }}/
dest: lib/myapp/
Spot hashes for merge-time integrity
avocado build now generates a spot_hashes.json file during runtime builds. This file contains checksums of critical build artifacts and can be used in CI to verify that a runtime tarball matches the expected build output before merging.
Bug fixes
- Fixed presigned URL expiry during long multipart uploads — URLs are now refreshed automatically.
- Fixed upload skipping the completion API call when all blobs were already present, leaving uploads in a partial state.
- Fixed orphaned upload containers when Ctrl-C was pressed during
connect upload. - Fixed Docker child process group isolation for clean Ctrl-C cleanup across all container operations.
- Fixed TUI render corruption and missing compile error output in 0.32.1.