Releases: Nitmi/embedded-agent-toolkit
Release list
Embedded Agent Toolkit 0.15.0
Adds observation-only hardware-test contract stages for baud list, BLEA adapter doctor, and embedded-debugger probe listing. Contracts preserve component-native JSON evidence, require the matching board transport binding, classify BLE doctor as a bounded scan, and reject serial-open, BLE-connect, debug-attach, or target-control effects. Includes an ESP32-S3 discovery baseline example and expanded offline evaluation tests.
Embedded Agent Toolkit 0.14.0
Adds a host-only, non-authorizing evidence evaluator for compiled hardware test contracts.
- Evaluates component-native JSON evidence by exact path and SHA-256.
- Applies strict RFC 6901 assertions and verifies declared cleanup states.
- Publishes test-run.v1 and test-report.v1 JSON Schemas.
- Fails closed on missing, invalid, oversized, drifted, or type-incompatible evidence.
- Never starts component executables or accesses hardware during evaluation.
Verification: 129 tests passed on the source commit. Linux and Windows CI passed. The release ZIP was built twice reproducibly and both the ZIP and standalone Bootstrap have GitHub artifact attestations bound to v0.14.0.
ZIP SHA-256: 19b9083c01179b75ef161acd327a566daa6ba5da36796c360ab162cc0208b1a2
Bootstrap SHA-256: 0509aa4ceaaec045ec560e2bfeac4cb19b53650f6147927b072db15be8892241
Embedded Agent Toolkit 0.13.1
Adds a strict, host-only hardware test contract compiler and inspector. Contracts bind board selection, firmware and component-native workflow hashes, stage effects, dependencies, deadlines, assertions, and cleanup while remaining explicitly non-authorizing and non-executable. Includes JSON Schemas, an ESP32-S3 example, documentation, and release/install coverage. Also adds a release regression test that keeps the standalone Bootstrap version synchronized with both plugin manifests.
embedded-agent-toolkit 0.12.0
Highlights
- Integrates the attested
board-registry 0.2.3optional component. - Documents the fail-closed
embedded-board-registry.selection.v1handoff contract. - Keeps board selection non-authorizing: hardware operations remain governed by native component plans and confirmations.
- Preserves three-core default installation while enabling explicit
--include-optional board-registrycold installs.
Integrity
- Source commit:
f647f5017aee8bc51be56e9a6e0758ce4853eca2 - ZIP SHA-256:
c59be555bb3c8ab5cd077230e73af3e069874d018e8f76e28353e9e78176459a bootstrap.pySHA-256:97fa3577ea39d013350303d828f294223e5e45a13733efb8eec42c86fdae76c7- Both release subjects carry GitHub artifact attestations from the tag-triggered provenance workflow.
Embedded Agent Toolkit 0.11.1
Adds optional board-registry 0.1.0 integration. The v2 component catalog keeps baud, BLEA, and embedded-debugger as the default core set; use --include-optional board-registry for a four-component cold install and v2 lock. This patch also makes Windows lock-path tests compare file identity across long and 8.3 path aliases. v0.11.0 was not released because its Windows CI test failed.
Embedded Agent Toolkit 0.10.1
Embedded Agent Toolkit 0.10.1
This patch release fixes the standalone bootstrap installer shipped in v0.10.0.
v0.10.0 introduced hash-bound workstation component-lock selection, but its bootstrap extraction allowlist omitted the new station_config.py runtime dependency. The authenticated ZIP was complete; bootstrap installation failed before installing with ModuleNotFoundError.
Fix
- Include
station_config.pyin the bootstrap installer allowlist. - Add a regression test that extracts the minimal installer and executes
release.py --help, proving all import dependencies are present. - Preserve all
v0.10.0workstation lock selection behavior and host-only safety guarantees.
The ZIP and bootstrap are covered by GitHub artifact attestations generated from immutable tag v0.10.1 on GitHub-hosted infrastructure.
Embedded Agent Toolkit 0.10.0
Embedded Agent Toolkit 0.10.0
This release adds hash-bound workstation component-lock selection so new tasks can use the verified component toolchain without repeating --component-lock.
Highlights
- Add
station_config.py selectandinspectwith atomic, hash-bound configuration. - Auto-select component locks in this order: command line, project lock, workstation selection, then ambient environment.
- Add
--no-auto-lockfor explicit ambient-only diagnosis. - Report the selected lock source, path, and SHA-256 in doctor schema v3.
- Preserve host-only behavior: selection and inspection do not access hardware or start component executables.
Verified release assets
embedded-agent-toolkit-0.10.0.zipembedded-agent-toolkit-0.10.0.zip.sha256bootstrap.pybootstrap.py.sha256
The ZIP and bootstrap are covered by GitHub artifact attestations generated from immutable tag v0.10.0 on GitHub-hosted infrastructure.
Known issue
The standalone bootstrap.py omits station_config.py from its minimal installer extraction allowlist, so bootstrap installation stops before installation with ModuleNotFoundError. The authenticated ZIP itself is complete. Use v0.10.1, which fixes the allowlist and adds an extracted-installer regression test. The v0.10.0 tag and assets remain unchanged.
Embedded Agent Toolkit v0.9.2
Embedded Agent Toolkit 0.9.2
This patch release makes trusted one-command workstation setup bounded and usable on slow networks.
Download deadline fix
- Component downloads now enforce a monotonic total deadline, rather than relying only on Python socket inactivity timeouts.
- Catalog-backed installation accepts an explicit timeout of up to 600 seconds per bounded operation.
- Oversized artifacts, untrusted redirects, digest mismatches, version mismatches, and incomplete installs still fail closed.
- Existing-lock and explicit local-component modes retain their narrower 30-second limit.
For a slow connection, run the authenticated bootstrap with an explicit bounded window:
python bootstrap.py `
--install-root C:\Tools\embedded-agent-toolkit `
--component-install-root C:\Tools\embedded-agent-components `
--lock-output C:\Tools\embedded-agent-toolkit\component-locks\workstation.json `
--timeout 600 `
--jsonThe default bootstrap remains plugin-only. Neither mode edits PATH, activates plugins, registers component MCP servers, or accesses hardware.
Verify bootstrap.py with GitHub artifact attestation before execution. The release ZIP and bootstrap are bound to refs/tags/v0.9.2 and source commit 32de0b38bfb7be888595af9f279b35511a49ac89.
Expected SHA-256:
embedded-agent-toolkit-0.9.2.zip:33bdab0b76b5cdee2fc2b3882640d626bd224be017e03aa6125fbbf314b79374bootstrap.py:8304f8a490ae4052479d32b0bf0a7fce8220cfe1eb16ceac82bddad2962e7304
Embedded Agent Toolkit v0.9.1
Embedded Agent Toolkit 0.9.1
This patch release expands the parent-process deadline for the trusted one-command workstation setup introduced in 0.9.0.
Known issue: release cold-install testing showed that Python
urllibtreats its timeout as a per-socket-wait bound, not a total download deadline. A continuously slow component download can therefore consume the expanded parent budget and still be terminated before completion. The operation fails closed: versioned files already verified may remain for inspection or reuse, but no component lock is produced. Plugin-only bootstrap remains unaffected. A follow-up release will enforce a monotonic total deadline inside each component download.
Trusted one-command host setup
python bootstrap.py `
--install-root C:\Tools\embedded-agent-toolkit `
--component-install-root C:\Tools\embedded-agent-components `
--lock-output C:\Tools\embedded-agent-toolkit\component-locks\workstation.json `
--jsonThe default bootstrap remains plugin-only. Neither mode edits PATH, activates plugins, registers component MCP servers, or accesses hardware.
Verify bootstrap.py with GitHub artifact attestation before execution. The release ZIP and bootstrap are bound to refs/tags/v0.9.1 and source commit 1976c10ad23e1406ad1736b93bd8d99280e8bc50.
Embedded Agent Toolkit v0.9.0
Embedded Agent Toolkit 0.9.0
This release adds an explicit trusted one-command workstation setup path. An authenticated bootstrap can install the Toolkit, download the three catalog-pinned component CLIs into versioned directories, create an exact component lock, and run strict host-only doctor.
The default bootstrap remains plugin-only. Neither mode edits PATH, activates plugins, registers component MCP servers, or accesses hardware.
Known issue: the 0.9.0 bootstrap gives the complete component-install subprocess only 60 seconds when using the documented default timeout. On a slow network it can terminate a valid setup before component downloads finish. The operation fails closed without creating a component lock. Plugin-only bootstrap remains unaffected. Use the standalone installed
component_install.pyflow, or wait for 0.9.1, which gives each bounded operation its declared timeout.
One-command host setup
python bootstrap.py `
--install-root C:\Tools\embedded-agent-toolkit `
--component-install-root C:\Tools\embedded-agent-components `
--lock-output C:\Tools\embedded-agent-toolkit\component-locks\workstation.json `
--jsonVerify bootstrap.py with GitHub artifact attestation before executing it. The release ZIP and bootstrap are bound to refs/tags/v0.9.0 and source commit a6d1cc89fe56cc9b17ac9dbc7b312eb07f092cee.