iii/v0.23.0

Armur-Ai/Pentest-Swarm-AIiii/v0.23.0Sep 1, 2026by iii-hq-ci[bot]

AI Summary

This release introduces namespaces as a runtime routing dimension, migrates the worker lifecycle to a new Worker Compose daemon, and significantly improves observability by persisting traces to disk and redesigning the configuration UI.

Key Highlights

  • Namespace support as a runtime routing dimension for engine and SDKs.
  • New Worker Compose daemon to declare, start, and supervise worker graphs.
  • Persist traces on disk with a redesigned observability configuration UI.
  • Telemetry improvements including rate-limited heartbeats and CLI usage aggregation.

New Features

  • Namespace as a runtime routing dimension
  • Worker-compose daemon for graph-based lifecycle management
  • Trace persistence on disk
  • Redesigned observability configuration UI
  • Rate-limiting for heartbeats and CLI usage aggregation

Full Release Notes

## What's Changed
* docs(tech-specs): worker-compose tech pack + interactive deck by @guibeira in https://github.com/iii-hq/iii/pull/1963
* docs(install): provider-picking quickstart panel by @anthonyiscoding in https://github.com/iii-hq/iii/pull/2058
* feat: namespace as a runtime routing dimension (engine + SDKs) by @guibeira in https://github.com/iii-hq/iii/pull/1984
* fix(telemetry): rate-limit heartbeats, aggregate CLI usage, unhash worker names by @anthonyiscoding in https://github.com/iii-hq/iii/pull/2061
* fix(sdk): keep engine invocations in default namespace by @guibeira in https://github.com/iii-hq/iii/pull/2065
* Persist traces on disk + redesigned observability configuration UI by @ytallo in https://github.com/iii-hq/iii/pull/2067
* feat(compose): worker-compose daemon — declare a project, start it as a graph, supervise it by @guibeira in https://github.com/iii-hq/iii/pull/2034
* refactor(observability): trigger-driven trace updates — remove live streams and console polling by @ytallo in https://github.com/iii-hq/iii/pull/2088
* feat(compose): migrate worker lifecycle to Worker Compose by @guibeira in https://github.com/iii-hq/iii/pull/2074
* fix(observability): make trace archive eviction actually reclaim disk by @ytallo in https://github.com/iii-hq/iii/pull/2068
* (MOT-4419) feat(observability): return compact trace summaries by @ytallo in https://github.com/iii-hq/iii/pull/2094
* (MOT-4419) fix(observability): stabilize trace summary pagination by @ytallo in https://github.com/iii-hq/iii/pull/2095
* fix(compose): support empty container declarations by @guibeira in https://github.com/iii-hq/iii/pull/2098
* fix(compose): run local base-image workers in VMs by @guibeira in https://github.com/iii-hq/iii/pull/2099
* Fix namespaced observability UI and live trace updates by @ytallo in https://github.com/iii-hq/iii/pull/2101
* fix(worker): forward local source changes into VMs by @guibeira in https://github.com/iii-hq/iii/pull/2104
* (MOT-3944) fix(engine,sdk): scope queue providers by namespace by @guibeira in https://github.com/iii-hq/iii/pull/2103
* (MOT-3944) fix(engine): allow namespaced queue provider registration by @guibeira in https://github.com/iii-hq/iii/pull/2112
* fix(compose): return concise mutation outcomes by @mfpiccolo in https://github.com/iii-hq/iii/pull/2107
* docs(compose): correct and restructure the Compose reference by @anthonyiscoding in https://github.com/iii-hq/iii/pull/2100
* docs: simplify Quickstart Compose startup by @guibeira in https://github.com/iii-hq/iii/pull/2105
* docs(install): default namespace + one compose::add per recipe by @anthonyiscoding in https://github.com/iii-hq/iii/pull/2116


**Full Changelog**: https://github.com/iii-hq/iii/compare/iii/v0.22.1...iii/v0.23.0