Skip to main content
March 2026

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.