# proxbox-api v0.0.9.post1 v0.0.9.post1 — Docs, tests & CI sync | Field |Value | | --- | --- | | Canonical URL | https://emersonfelipesp.com/proxbox-api/releases/v0.0.9.post1 | | GitHub URL | https://github.com/emersonfelipesp/proxbox-api/releases/tag/v0.0.9.post1 | | Tag | v0.0.9.post1 | | State | stable | | Author | emersonfelipesp | | Created | 2026-05-01 01:59 UTC | | Published | 2026-05-01 01:59 UTC | | Target | main | | Synced | 2026-08-24 12:43 UTC | | Assets | 0 | ## Release notes ## Summary Maintenance release that aligns the documentation, test suite, and GitHub Actions pipelines with the current state of the v0.0.9 codebase. No runtime/API behavior changes versus v0.0.9. ## What's Changed ### Documentation - Root `CLAUDE.md` and `tests/CLAUDE.md` brought back in sync with the actual subpackage layout, env vars, and CLI entry points (`proxbox-proxmox-codegen`, `proxbox-schema`). - New env var documentation: `PROXBOX_BULK_BATCH_SIZE`, `PROXBOX_BULK_BATCH_DELAY_MS`, `PROXBOX_GENERATED_DIR`. - MkDocs reference updated: - `GET /cache/metrics` and `GET /cache/metrics/prometheus` added to the HTTP reference. - `overwrite_*` and `sync_vm_network` query params documented on VM stream endpoints. - Tag-preservation behavior added to the VM sync workflow. - Phantom benchmark block in the caching architecture page replaced with the real cache-metrics endpoints. - pt-BR mirror pages added as stubs (with a "Tradução pendente" admonition + EN body) so `mkdocs build --strict` is green: `sync/overwrite-flags.md`, `development/refactoring-summary.md`, `development/sync-fix-summary.md`. ### Tests - New focused suites: - `tests/test_auth_lockout.py` — 9 tests covering the full `proxbox_api/auth.py` lockout state machine (valid key, missing key, no keys configured, attempt counting, lockout-on-cap, success-clears-attempts, lockout expiry, persistence across sessions, async path). - `tests/test_schema_cli.py` — 8 tests for the argparse-based `proxbox-schema` CLI (list/status/generate, `--force`, pipeline failure exit code). - Removed the dead `image_http` pytest marker (plus its CI filter and shell-script reference); the test it referenced no longer exists. - `tests/CLAUDE.md` test inventory replaced with the current 47-file layout; e2e description corrected (httpx, not Playwright). ### GitHub Actions / CI - Fixed non-existent action pins (`upload-artifact@v7`, `download-artifact@v8` → `@v4`) in `nightly-schema-refresh.yml` and `publish-testpypi.yml`. - Aligned `ty check` scope across `ci.yml`, `nightly-schema-refresh.yml`, `docker-hub-publish.yml`, `publish-testpypi.yml`, and `.pre-commit-config.yaml` to include `proxbox_api/schemas/sync.py`. - `nightly-schema-refresh.yml` now installs the `playwright` extra it actually needs. - New `test-py311-floor` job in `ci.yml` exercises the declared `requires-python = ">=3.11"` floor (heavy E2E matrix stays on 3.12). - Removed dead `PROXBOX_E2E_NETBOX_TOKEN_VERSION` env var. ### Style - `proxbox_api/app/full_update.py` and `proxbox_api/session/netbox.py` reformatted with `ruff format` to clear pre-existing format drift that was blocking CI. ## Compatibility - Python ≥ 3.11 (3.11 floor is now actually exercised in CI) - NetBox v4.6.0-beta2 schema certification carried over from v0.0.9 - `proxmox-sdk == 0.0.3.post1`, `netbox-sdk == 0.0.7.post6` (unchanged) **Full Changelog**: https://github.com/emersonfelipesp/proxbox-api/compare/v0.0.9...v0.0.9.post1 ## Assets No binary assets attached. Source archives: | Format |URL | | --- | --- | | zip | https://api.github.com/repos/emersonfelipesp/proxbox-api/zipball/v0.0.9.post1 | | tar.gz | https://api.github.com/repos/emersonfelipesp/proxbox-api/tarball/v0.0.9.post1 |