Repository navigation
Submilli v0.4.3
Submilli 0.4.3 ships with Helm chart 0.4.4.
Breaking changes
http.request(method, …)is now checked against thehttp.requestcapability with an uppercasemethodfield, instead ofhttp.<method>. Update blueprint grants that allowedhttp.get,http.postand so on for calls made throughhttp.request. #281add-packageno longer grants standard-library capabilities such asfs.write. Grant them in the blueprint. #281- The firecrawl, sentry, linear and jina packages no longer export their untagged helpers. firecrawl
searchchecks onlyfirecrawl.dev/search. #281, #284 - Method parameters are compared contravariantly, like function-typed properties. Mutable generic classes such as
MapandSetare now invariant:Map<string, number[]>is no longer aMap<string, readonly number[]>. Programs that relied on the old, unsound assignments now fail to compile. #270
Changes
- Agent documentation is scoped to the blueprint. Discovery over MCP, REST, the CLI's
--blueprintand the playground shows only the callablesmaincould be allowed, the types they reach, and the readme regions their capabilities select (<!-- submilli:if … -->). Package agent docs no longer carry setup or secret names. #281, #285 - Packages can declare install-time configuration in
src/config.ts, supplied with--config name=valueon builds and local or server installs. Overrides survive upgrades and can be reset. #256 - Package tests can import their package's internal modules by relative path. Only test builds export them. This also fixes re-exported interfaces and type aliases whose fields consumers couldn't read. #284
- Compile errors name the Submilli rewrite for code written out of TypeScript and Node.js habit:
async/await/Promise, a module used without its import, Nodefsnames,string + number,unknownin a typed slot, a missing return type, and multi-declaratorlet.asyncobject methods andfor awaitreport one error instead of a cascade, and a brokenmainno longer also reports a missingmain. #283, #287 - New
fs.summary(path)andfs.isEmpty(path), gated byfs.list. #283 JSON.stringifyof host-backed values such asfs.info(),fs.stat(),ResponseandURLwrites their properties instead of{}.JSON.stringify(map)writes an object of its entries instead of throwing. #289- A failed checked cast says what was expected at the failing path and what was found there, and reports the union member that best explains the failure. #288
submilli docs, agent docs and editor.d.tsfiles show a re-exported type by its public name. #287- The server records completed host results of a run in ordered SQLite history, the groundwork for durable runs. Public activation and automatic startup recovery follow in a later release. #260
submilli playgroundruns on its own host inside the CLI, and submilli-server no longer carries playground-only code. Sentry reporting for failed server runs is always on when telemetry is enabled. #265, #275, #276- ScrapeCreators: subreddit searches accept string
subredditvalues and exposescoreandups. Reddit posts and comments gain acanonical_urlto pass tolistComments. #277, #288 - More TypeScript compatibility: equality narrowing of optional chains, enum members and tuple discriminants; inference, pattern defaults and module exports; and syntax and class early errors as tsc reports them. Eight stale ECMA-262 conformance cases are restored from test262. #280, #286, #278, #261
- Documentation: harness guides gain coding-agent setup and connection checks, the install and Compose guides are clarified and the Compose guide is validated in CI, and examples use the Pied Piper and Hooli names. #233, #267, #269, #272, #266, #268
Upgrade
Stop the old server and back up the whole state directory, including SQLite files and the secret-store key, before upgrading. This release rebuilds the server's run records to add durable run history. The migration is forward-only, and rollback requires restoring the pre-upgrade backup. Review blueprints for the http.request and add-package changes above.
Chart 0.4.4 changes only the runtime it deploys. Its templates and values are unchanged.
helm upgrade --install submilli oci://ghcr.io/submilli/charts/submilli --version 0.4.4 -f values.yaml --wait
helm test submilliCompose deployments should use compose.yaml from v0.4.3 with SUBMILLI_IMAGE=ghcr.io/submilli/submilli-runtime:0.4.3 and retain their tokens and store key.