Skip to content

chore: release 0.6.0 - #154

Merged
DLANSAMA merged 2 commits into
mainfrom
release/0.6.0
Nov 6, 2026
Merged

DLANSAMA merged 2 commits into
mainfrom
release/0.6.0

Conversation

@DLANSAMA

@DLANSAMA DLANSAMA commented Nov 6, 2026

Copy link
Copy Markdown
Owner

Release PR for 0.6.0, following docs/releasing.md step 1.

What changes here

  • pyproject.toml: 0.6.0.dev0 → 0.6.0. uv.lock was regenerated to match; besides the project version it adds one dependency marker that the newer uv writes for exceptiongroup.
  • CHANGELOG.md: the [Unreleased] entries move under ## [0.6.0] - 2026-11-06, and the compare links are updated. One entry was retitled so the two "sent once" fixes don't read as duplicates. Round 3 stopped retries from republishing a command, and round 4 stopped the MQTT client from resending one when it reconnects.
  • README.md: the badges and the "Tested and hardened" table are updated to measured numbers. The figures were 1,535 tests, 91.1% coverage and an 86% floor. They are now 2,217 tests, 93.5% coverage, and a 90% floor, which is what CI enforces.
  • docs/MASTER-PLAN.md / docs/plan/done.md: D-1 (merge fix: audit round 4 — at-most-once printer commands, pin precedence, heater limits, terminal-safe output #153) is retired. L-3 (verify the 0.5.1 install) is folded into L-2, which verifies 0.6.0 instead.

What 0.6.0 ships

Everything since 0.5.1, which is audit rounds 3 and 4:

  • Commands: printer commands are sent at most once.
  • Temperatures: heater limits apply to raw G-code, slice overrides and pre-sliced files.
  • Guided mode: the AMS is read again before a print starts.
  • Setup: setup asks before using a printer that mDNS found.
  • Slicing: A1 and A1 mini can be sliced, and profile and filament settings are honoured.
  • Hardening: certificate pins are honoured, terminal output is escaped, SSRF and path checks are tighter.

The full list is in CHANGELOG.md.

Verified locally on this tree

  • Lint and types: ruff check, ruff format --check, mypy -p bambu_cli and bandit -ll pass.
  • Smoke checks: ci_workflow_smoke, syntax_smoke, cli_help_smoke, privacy_smoke and python_compat_smoke pass.
  • Package: uv build produces platecli-0.6.0 as a wheel and an sdist. package_contents_smoke and twine check pass on both.
  • Tests: pytest -W error::ResourceWarning -m "not live" --cov-fail-under=90 gives 2217 passed and 1 skipped, at 93.53% coverage.
  • Version: plate --version reports plate 0.6.0.

Not run: the live-printer smoke. Step 5 of docs/releasing.md asks for it because this release touches G-code confirm, slice validation and job upload.

After merge

  1. git tag v0.6.0 <merge commit> && git push origin v0.6.0. This triggers release.yml, which re-runs the CI matrix, builds, publishes to PyPI, and creates the GitHub Release.
  2. Verify the published release in a clean venv. Install both platecli==0.6.0 and 'platecli[tui]==0.6.0', then run plate --version and plate --sim status.
  3. Open a follow-up PR that bumps main to 0.7.0.dev0.

Set the version to 0.6.0 and move the Unreleased changelog entries under 0.6.0 (2026-11-06). Refresh the README test and coverage figures to measured values (2,217 tests, 93.5%, 90% floor). Retire plan box D-1 (PR #153 merged) and fold L-3 into L-2.
@DLANSAMA
DLANSAMA merged commit b0ef746 into main Nov 6, 2026
6 checks passed
@DLANSAMA
DLANSAMA deleted the release/0.6.0 branch November 6, 2026 21:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant