Skip to content

Submilli v0.4.2

Choose a tag to compare

@somdoron somdoron released this 19 Oct 13:50
· 59 commits to main since this release

Submilli 0.4.2 ships with Helm chart 0.4.3.

Changes

  • Server runs now have persistent SQLite identities, including executions without idempotency keys. Sessions retain key-value state and their last run across restarts. Secrets and MCP OAuth grants also move to SQLite. #237, #247, #249, #229
  • Packages can register durable session finalizers for cleanup and read capability-gated configuration variables. Blueprint variables support aliases. Finalizer throws and traps are terminal; interrupted cleanup can recover. Keep registered package versions installed until cleanup completes. #254, #253
  • Filesystem recovery infrastructure uses SQLite operation records and encrypted immutable objects to reconcile interrupted operations and replay completed outcomes. It requires exclusive file ownership by one logical run. Automatic program resumption and VM effect routing remain separate work. #248
  • Adds typed ScrapeCreators clients for GitHub, LinkedIn, Reddit, Twitter, and YouTube. #255
  • Improves TypeScript compatibility for built-ins, object operations, literal types, destructuring, function types, and calls, with expanded conformance coverage. #220, #226, #228, #231, #251, #252
  • The playground now serves its chat, code, log, and step-through interface. #250

Known verification limitation

The complete ECMA-262 suite currently reports eight discrepancies: five expectations that no longer match the compiler and three compilation failures involving Object.fromEntries and single-argument Object.is. These are tracked in SUB-1882. This release proceeds with an explicit operator waiver for those failures. Complete TypeScript conformance and the other local release checks passed.

Upgrade

Stop the old server and back up the whole state directory, including SQLite files and the secret-store key, before upgrading. Database migrations are forward-only. Rollback requires restoring the pre-upgrade backup. Run identities, idempotency receipts, secrets, and session data are migrated on startup; automatic replay of interrupted programs remains disabled.

All program filesystem directories now live under the state volume's server/volumes/ root. The old server/vfs/sessions/<id> and server/volumes/<name> layouts are not migrated automatically. Preserve and migrate required files into the new layout before deployment. Sessions still open from the old workspace layout cannot execute until they expire, and their old directories are retained. The removed vfs_session_dir and vfs_ephemeral_dir settings are refused; use volume_dir. An explicitly configured root must already exist, or be created with the CLI-only --create-volume-dir option. Chart 0.4.3 refuses config.volume_dir; remove that override and use the chart-managed persistent volume. Retain the existing volume, API tokens, and secret-store key.

helm upgrade --install submilli oci://ghcr.io/submilli/charts/submilli --version 0.4.3 -f values.yaml --wait
helm test submilli

Compose deployments should use compose.yaml from v0.4.2 with SUBMILLI_IMAGE=ghcr.io/submilli/submilli-runtime:0.4.2 and retain their token and store key.

Compare v0.4.1…v0.4.2