Immutable
release. Only release title and notes can be modified.
Upgrading from v0.6.0 can use a rolling update.
Setting CELLD_LTX_RETENTION_SECS, deploying a Python Worker, or raising CELLD_MAX_ASSET_FILE_BYTES above 25 MiB can be done only after every node runs v0.6.1.
- Add support for Python Workers.
- Bucket usage can now track a cell's data instead of growing with every activation: set
CELLD_LTX_RETENTION_SECSto delete epochs that no restore reads. It is off by default. - New
celld cell gc --dry-runlists the superseded epoch prefixes that epoch GC can delete, with their sizes, and writes nothing. - New
CELLD_MAX_ASSET_FILE_BYTES(default 25 MiB) andCELLD_MAX_DYNAMIC_WORKER_CODE_BYTES(default 64 MiB) make the per-file asset limit and the Dynamic Worker module size limit configurable. - Console log records now carry the OpenTelemetry severity (
DEBUG,INFO,WARN,ERROR) in the OTLP export and as Parquet columns. - WebSocket message handlers on one socket now start in arrival order and do not wait for the previous handler to finish. Hibernatable sockets keep send order across WebSocket handlers and RPC methods.
- A loaded Worker is now released once no stub, entrypoint, class or running facet refers to it, and a later
get()runsgetCodeagain.dispose()releases it explicitly. - Durable Object facets:
ctx.idkeeps the name of a namedDurableObjectId, andctx.exports.App({ props })passes startup properties. - The synchronous
ctx.storage.kv.list()iterator releases its read between steps, so an unfinished iterator no longer blocks later writes after a replication checkpoint.
Issues fixed:
- #233: An unfinished
kv.list()iterator no longer blocks later writes. - #236: Hibernatable sockets keep send order across handlers and
send(). - #237: Facets started through
ctx.exportskeepctx.id.name. - #240: Epoch GC deletes superseded epochs (
CELLD_LTX_RETENTION_SECS). - #241: OTLP log records carry the console method's severity.
- #242:
webSocketMessage()no longer blocks later messages on a connection.