zclaw docs

chapter 9

Changelog

Release notes for zclaw firmware and docs. For full detail and source control context, use the repository changelog.

Current Stream

Unreleased

  • No unreleased changes yet.

Source of truth: CHANGELOG.md in repo.

Recent Releases

VersionDateHighlights
2.13.0 2026-03-22 Minor release: added first-class dht_read support for DHT11/DHT22, added generic raw I2C tools (i2c_scan, i2c_write, i2c_read, i2c_write_read), trimmed TLS features to preserve binary headroom under the 888 KiB budget, hardened zero-argument tool schemas for OpenAI-compatible validators, and fixed benchmark counter sequencing for reliable serial soaks.
2.12.1 2026-03-18 Bugfix release: added a first-class esp32-t-relay board preset across build/flash flows for LilyGO TTGO T-Relay boards, aligned firmware app-version metadata with the checked-in release version, clarified the conservative default GPIO policy on classic esp32 builds, and added host coverage for the new preset plus target-mismatch guardrails.
2.12.0 2026-03-09 Minor release: added a USB-local admin console for /gpio, /diag, /wifi, /bootcount, /reboot, and guarded /factory-reset recovery commands, kept them available in safe mode and before network bring-up, and documented the workflow across README and the docs site.
2.11.2 2026-03-07 Patch release: split agent command/persona helpers and Telegram target/HTTP diagnostics helpers into smaller internal modules, and added direct host coverage for the extracted Telegram HTTP diagnostics path.
2.11.1 2026-03-07 Bugfix release: serialized Telegram and LLM HTTPS on classic esp32 targets so OpenAI-backed tool turns no longer get knocked over by TLS/memory contention, added host coverage for poll pause/resume and classic-ESP32 poll policy, and updated docs to explicitly list classic ESP32/WROOM/DevKit support.
2.11.0 2026-03-07 Minor release: provisioning now uses curated backend-specific model menus with refreshed defaults (gpt-5.4, claude-sonnet-4-6, openrouter/auto), and classic esp32 boot now skips unsafe factory-reset flash pins to avoid startup crashes.
2.10.3 2026-03-05 Bugfix release: centralized GPIO pin safety policy so i2c_scan and GPIO tools enforce the same allowlist/range rules, including classic ESP32 flash-pin blocking (GPIO6-11), with new host I2C policy coverage.
2.10.2 2026-03-04 Bugfix release: OpenAI/OpenRouter harness calls now prepend the zclaw system prompt when absent so provider behavior is consistent across API backends, with host coverage added for payload insertion/non-duplication.
2.10.1 2026-03-03 Bugfix release: hardened llm_request invalid-argument handling, made rate-limit persistence failures visible/recoverable, and switched boot-count persistence parsing to strict validation with safe fallback behavior.
2.10.0 2026-03-03 Minor release: centralized built-in tool registration, documented two custom-tool paths (simple GPIO flows vs hosted HTTP-backed tools), added registry host coverage, and added troubleshooting guidance for breadboard-related ESP Wi-Fi interference.
2.9.1 2026-03-02 Bugfix release: hardened `boot_ok` startup/stack behavior and fixed the diagnostics verbose uptime formatting crash path, with added host coverage for both fixes.
2.9.0 2026-03-01 Minor release: installer now supports distro-aware Linux package installs (apt-get, pacman, dnf, zypper), improves non-interactive prompt safety defaults, and adds host coverage for package-manager detection/fallback behavior.
2.8.2 2026-03-01 Bugfix release: GPIO read paths now preserve driven output state (including gpio_read_all), with host regressions added for write/read persistence and HIGH→LOW roundtrip behavior.
2.8.1 2026-03-01 Bugfix release: added scoped runtime diagnostics (`get_diagnostics` and local /diag) and blocked flash/PSRAM-reserved GPIO6-11 on classic esp32 targets to prevent WROOM/VROOM pin-crash paths.
2.8.0 2026-02-28 Bugfix release: defaulted classic ESP32 runtime UART routing to uart0 and hardened install/flash flows with chip detection plus target-mismatch guardrails before flashing.
2.7.1 2026-02-23 Bugfix release: added first-class esp32s3-box-3 board-preset support across build/flash scripts, target-mismatch guardrails, and host/CI coverage.
2.7.0 2026-02-23 Added Ollama backend support with custom endpoint provisioning (--api-url), set default Ollama model to qwen3:8b, and fixed API-check URL normalization plus LLM key re-init state handling.
2.6.1 2026-02-23 Bugfix release: OpenRouter now uses a shorter Telegram long-poll timeout to reduce TLS allocation pressure on memory-constrained boards; Anthropic/OpenAI polling behavior is unchanged.
2.6.0 2026-02-23 Added Telegram multi-chat allowlists with routed replies, provisioning support for comma-separated chat IDs, and fail-closed outbound target handling for unauthorized chat IDs.
2.5.3 2026-02-22 WiFi credential length validation now matches device byte limits, shared firmware credential helpers were introduced, and relay request-origin/content-type validation was tightened with expanded host coverage.
2.5.2 2026-02-22 Natural-language onboarding/examples refined in `/start` and Getting Started, with clearer Telegram provisioning guidance for both interactive and non-interactive flows.
2.5.1 2026-02-22 Adjusted capability-priority guidance so “what can you do?” answers lead with custom tools/schedules/memory/GPIO before optional I2C details.
2.5.0 2026-02-22 Added bulk gpio_read_all for one-call pin-state dumps, plus docs/tests and prompt guidance to avoid tool-round churn.
2.4.3 2026-02-22 Web relay host/CORS defaults tightened and encrypted-NVS startup behavior made fail-closed by default.
2.4.2 2026-02-22 Cron self-reschedule loop fixed, docs Field Guide expanded, and runtime-heap wording clarified.
2.4.1 2026-02-22 Persona tools added, persona routed through tool-calling path, prompt/runtime clarity updates.
2.4.0 2026-02-22 Cron responsiveness and plain-text behavior tuned for better real-world operation.
2.3.1 2026-02-22 Network diagnostics expanded; rate/stability thresholds adjusted.
2.3.0 2026-02-22 Telegram reliability hardening and backlog-clear tooling.

Release Workflow

# Bump version (patch/minor/major)
./scripts/bump-version.sh patch

# Validate
./scripts/test.sh host

# Commit + tag + push (example)
git tag -a vX.Y.Z -m "zclaw vX.Y.Z"
git push origin main
git push origin vX.Y.Z