iii/v0.21.8
iii-hq/iiiiii/v0.21.8Jul 22, 2026by iii-hq-ci[bot]
AI Summary
A patch release addressing critical security vulnerabilities (SSRF) and fixing SDK/browser issues, including the removal of a deprecated async method.
Key Highlights
- Fixed SSRF bypass vulnerability via IPv4-mapped IPv6 addresses.
- Restored iii-queue as an opt-in engine builtin.
- Fixed WebSocket connection handling and half-open socket detection.
- Removed deprecated RegisterFunction::new_async_with_bad_request method.
Breaking Changes
- Dropped RegisterFunction::new_async_with_bad_request in the SDK refactor.
New Features
- Recoverable triggers
- Console injectable UI
Full Release Notes
## What's Changed * refactor: remove blog module and related assets, update workspace and… by @sergiofilhowz in https://github.com/iii-hq/iii/pull/1955 * Docs/api docs review by @anthonyiscoding in https://github.com/iii-hq/iii/pull/1961 * fix(iii-browser-sdk): export IIIReconnectionConfig and RegisterFunctionFormat by @anthonyiscoding in https://github.com/iii-hq/iii/pull/1960 * fix(browser-sdk): generate invocation UUIDs in insecure contexts by @ytallo in https://github.com/iii-hq/iii/pull/1964 * fix(engine,iii-worker): restore iii-queue as an opt-in engine builtin by @ytallo in https://github.com/iii-hq/iii/pull/1967 * feat: recoverable triggers by @sergiofilhowz in https://github.com/iii-hq/iii/pull/1962 * refactor(sdk-rust)!: drop RegisterFunction::new_async_with_bad_request by @andersonleal in https://github.com/iii-hq/iii/pull/1966 * fix: SSRF bypass via IPv4-mapped IPv6 addresses in url_validator by @Pranjal0410 in https://github.com/iii-hq/iii/pull/1965 * fix(engine,iii-worker): pass engine's actual WS address to spawned builtin daemons (MOT-3970) by @andersonleal in https://github.com/iii-hq/iii/pull/1974 * fix(node-sdk): bound WebSocket connects and detect half-open sockets (MOT-3968) by @andersonleal in https://github.com/iii-hq/iii/pull/1973 * feat(python-sdk): add III.add_connection_state_listener; warn on connect-wait timeout (MOT-3969) by @andersonleal in https://github.com/iii-hq/iii/pull/1956 * fix(engine): idle-timeout accepted worker WS sockets that never complete the upgrade (MOT-3967) by @andersonleal in https://github.com/iii-hq/iii/pull/1972 * fix(engine,rust-sdk): supervise external workers and harden SDK reconnect (MOT-3857) by @andersonleal in https://github.com/iii-hq/iii/pull/1978 * fix(iii-worker): worker CLI operation fixes (remove, status, clear, update, logs, sandbox) by @ytallo in https://github.com/iii-hq/iii/pull/1971 * fix(iii-network,sdk-python): first-boot worker zombies — VM transport wake starvation + SDK reconnect death (MOT-3966) by @andersonleal in https://github.com/iii-hq/iii/pull/1979 * fix(ci): build alpha release binaries from tagged commit by @guibeira in https://github.com/iii-hq/iii/pull/1981 * chore(worker): warn about deprecated builtin names by @guibeira in https://github.com/iii-hq/iii/pull/1980 * fix(node-sdk,browser-sdk): default trigger generics so untyped calls pass tsc (MOT-4076) by @ytallo in https://github.com/iii-hq/iii/pull/1982 * fix: dx issues by @sergiofilhowz in https://github.com/iii-hq/iii/pull/1970 * docs: remove iii prefix from some migrated workers by @anthonyiscoding in https://github.com/iii-hq/iii/pull/1969 * Show install command in alpha release notes by @guibeira in https://github.com/iii-hq/iii/pull/1989 * Show package install commands in alpha releases by @guibeira in https://github.com/iii-hq/iii/pull/1990 * fix(engine): reject duplicate migrated builtin workers by @guibeira in https://github.com/iii-hq/iii/pull/1983 * feat(website): export blog markdown for agents by @rohitg00 in https://github.com/iii-hq/iii/pull/1934 * fix(website): wire blog markdown export into the build and target the website dist by @rohitg00 in https://github.com/iii-hq/iii/pull/1994 * feat(iii-worker): accept registry tags in manifests by @rohitg00 in https://github.com/iii-hq/iii/pull/1977 * fix(engine,sdk): worker reconnect ownership kill loop (MOT-4025, iii#1975) by @andersonleal in https://github.com/iii-hq/iii/pull/1993 * let ccbot crawl us for training data by @anthonyiscoding in https://github.com/iii-hq/iii/pull/1997 * docs: align docs/next with 0.21→0.22 breaking changes by @anthonyiscoding in https://github.com/iii-hq/iii/pull/1996 * feat(spec): console injectable ui by @sergiofilhowz in https://github.com/iii-hq/iii/pull/1995 * fix(engine): park undeliverable trigger binds instead of dropping them (MOT-4081) by @andersonleal in https://github.com/iii-hq/iii/pull/1988 * fix(iii-worker): hostless worker add from a non-project dir targets the running engine (MOT-4091) by @ytallo in https://github.com/iii-hq/iii/pull/1992 * fix(engine,iii-worker): propagate manager port to registry binary workers (MOT-4149) by @andersonleal in https://github.com/iii-hq/iii/pull/2000 * feat(website): add blog post on loops, graphs, and the layer that matters by @rohitg00 in https://github.com/iii-hq/iii/pull/2002 * feat(website): use each blog post banner as its own og:image by @rohitg00 in https://github.com/iii-hq/iii/pull/2003 * docs: fix linkly config-file steps and quickstart worker-add output by @anthonyiscoding in https://github.com/iii-hq/iii/pull/2004 * fix(iii-worker): count nodes not paths in dep graph bounds check by @guibeira in https://github.com/iii-hq/iii/pull/2005 * docs(changelog): 0.22.0 release notes by @guibeira in https://github.com/iii-hq/iii/pull/1998 * fix(engine): repair protocol_serde_bench compilation by @guibeira in https://github.com/iii-hq/iii/pull/2007 ## New Contributors * @Pranjal0410 made their first contribution in https://github.com/iii-hq/iii/pull/1965 **Full Changelog**: https://github.com/iii-hq/iii/compare/iii/v0.21.6...iii/v0.21.8