From 7e6c06efeae5c6952c674a3898f696b7c018fb75 Mon Sep 17 00:00:00 2001 From: Paul Fremantle Date: Thu, 28 May 2026 16:17:10 +0000 Subject: [PATCH] Release v0.2.1 --- CHANGELOG.md | 12 ++++++++++++ bridge/Cargo.toml | 2 +- changes/decouple-release-from-testpypi.bugfix | 1 - changes/llm-integration-docs.misc | 1 - changes/query-status-via-daemon.bugfix | 1 - pyproject.toml | 2 +- uv.lock | 2 +- 7 files changed, 15 insertions(+), 6 deletions(-) delete mode 100644 changes/decouple-release-from-testpypi.bugfix delete mode 100644 changes/llm-integration-docs.misc delete mode 100644 changes/query-status-via-daemon.bugfix diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e4d823..e4d3dc5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,15 @@ +## 0.2.1 — 2026-05-28 + +### Bugfixes + +- Decouple tag/release/bridge-binary publishing from the TestPyPI dry-run gate, so a misconfigured trusted-publishing setup no longer blocks the entire release pipeline. The dry-run gate now only blocks `publish-pypi`, where it protects the PyPI channel as intended. ([#decouple-release-from-testpypi](https://github.com/estampo/boo-cloud/pull/decouple-release-from-testpypi)) +- ``query_status`` now routes through the persistent HTTP daemon (auto-starting it if necessary), bringing repeat status polls down from ~30s+ to milliseconds. ``_ensure_daemon`` pings on every call: a healthy daemon replies in milliseconds, so a slow or failing ping means the daemon is wedged or absent and we shut it down (cooperatively via ``POST /shutdown``, falling back to ``SIGTERM``/``SIGKILL`` on the PID via ``pgrep`` if the HTTP handler is stuck) and start a fresh one before using it. ([#query-status-via-daemon](https://github.com/estampo/boo-cloud/pull/query-status-via-daemon)) + +### Misc + +- Add ``docs/llm-integration.md`` documenting boo-cloud quirks an LLM (or LLM-driven workflow) is most likely to be confused by — notably that ``start_print`` returns ``result: "sent"`` with ``return_code: -1`` and ``print_result: -999`` as the **success** path, not an error. Also expand the ``start_print`` MCP docstring with the same explanation so it surfaces in the tool description. ([#llm-integration-docs](https://github.com/estampo/boo-cloud/pull/llm-integration-docs)) + + ## 0.2.0 — 2026-05-28 ### Features diff --git a/bridge/Cargo.toml b/bridge/Cargo.toml index 2dfe47e..d174436 100644 --- a/bridge/Cargo.toml +++ b/bridge/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "boocloud-bridge" -version = "0.2.0" +version = "0.2.1" edition = "2021" description = "Rust bridge daemon for Bambu Lab printers via libbambu_networking.so" license = "MIT" diff --git a/changes/decouple-release-from-testpypi.bugfix b/changes/decouple-release-from-testpypi.bugfix deleted file mode 100644 index a487c60..0000000 --- a/changes/decouple-release-from-testpypi.bugfix +++ /dev/null @@ -1 +0,0 @@ -Decouple tag/release/bridge-binary publishing from the TestPyPI dry-run gate, so a misconfigured trusted-publishing setup no longer blocks the entire release pipeline. The dry-run gate now only blocks `publish-pypi`, where it protects the PyPI channel as intended. diff --git a/changes/llm-integration-docs.misc b/changes/llm-integration-docs.misc deleted file mode 100644 index 3867075..0000000 --- a/changes/llm-integration-docs.misc +++ /dev/null @@ -1 +0,0 @@ -Add ``docs/llm-integration.md`` documenting boo-cloud quirks an LLM (or LLM-driven workflow) is most likely to be confused by — notably that ``start_print`` returns ``result: "sent"`` with ``return_code: -1`` and ``print_result: -999`` as the **success** path, not an error. Also expand the ``start_print`` MCP docstring with the same explanation so it surfaces in the tool description. diff --git a/changes/query-status-via-daemon.bugfix b/changes/query-status-via-daemon.bugfix deleted file mode 100644 index 587fdda..0000000 --- a/changes/query-status-via-daemon.bugfix +++ /dev/null @@ -1 +0,0 @@ -``query_status`` now routes through the persistent HTTP daemon (auto-starting it if necessary), bringing repeat status polls down from ~30s+ to milliseconds. ``_ensure_daemon`` pings on every call: a healthy daemon replies in milliseconds, so a slow or failing ping means the daemon is wedged or absent and we shut it down (cooperatively via ``POST /shutdown``, falling back to ``SIGTERM``/``SIGKILL`` on the PID via ``pgrep`` if the HTTP handler is stuck) and start a fresh one before using it. diff --git a/pyproject.toml b/pyproject.toml index 30aadc1..2924c07 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,7 @@ packages = ["src/boocloud"] [project] name = "boo-cloud" -version = "0.2.0" +version = "0.2.1" description = "Cloud printing for Bambu Lab printers via boocloud-bridge" readme = "README.md" license = "MIT" diff --git a/uv.lock b/uv.lock index 281a380..b9881f6 100644 --- a/uv.lock +++ b/uv.lock @@ -61,7 +61,7 @@ wheels = [ [[package]] name = "boo-cloud" -version = "0.2.0" +version = "0.2.1" source = { editable = "." } dependencies = [ { name = "requests" },