# netbox-proxbox v0.0.14 netbox-proxbox v0.0.14 | Field |Value | | --- | --- | | Canonical URL | https://emersonfelipesp.com/netbox-proxbox/releases/v0.0.14 | | GitHub URL | https://github.com/emersonfelipesp/netbox-proxbox/releases/tag/v0.0.14 | | Tag | v0.0.14 | | State | stable | | Author | emersonfelipesp | | Created | 2026-05-05 18:08 UTC | | Published | 2026-05-05 18:35 UTC | | Target | 27ce8ef3d22325f882e70c265f942bed069e20a9 | | Synced | 2026-08-24 18:36 UTC | | Assets | 0 | ## Release notes # Version 0.0.14 ## Summary Version `0.0.14` is a certification bump that pairs the plugin with the separate `proxbox-api` backend release `0.0.10.post2`. There are no plugin runtime code changes: the REST routes consumed by the plugin, SSE event vocabulary, WebSocket auth handshake, `X-Proxbox-API-Key` auth header, and the cross-repo `SyncOverwriteFlags` contract (22 fields, captured in `contracts/overwrite_flags.json`) remain compatible with the previous `0.0.13.post4` / backend `0.0.9.post2` pair. `proxbox-api` is not a direct Python dependency of `netbox-proxbox`. The plugin installs independently and communicates with the backend over REST, SSE, and WebSocket. ## Compatibility | NetBox | netbox-proxbox | proxbox-api | netbox-sdk | proxmox-sdk | |----------------|-----------------|--------------|--------------|----------------| | >=4.5.8 | v0.0.14 | v0.0.10.post2 | v0.0.8.post1 | v0.0.3.post1 | | >=4.5.8 | v0.0.13.post4 | v0.0.9.post2 | v0.0.7.post6 | v0.0.3.post1 | | >=4.6.0-beta2 | v0.0.13.post2 | v0.0.9.post1 | v0.0.7.post6 | v0.0.3.post1 | | >=4.6.0-beta2 | v0.0.13.post1 | v0.0.9 | v0.0.7.post6 | v0.0.3.post1 | | >=4.6.0-beta1 | v0.0.13 | v0.0.9 | v0.0.7.post6 | v0.0.3.post1 | NetBox compatibility range: `4.5.8` – `4.6.99` (unchanged). This line is certified simultaneously against NetBox `v4.5.8`, `v4.5.9`, and official `v4.6.0`. The `netbox-sdk` column reflects the version bundled inside the `proxbox-api` backend (`0.0.8.post1` in backend release `0.0.10.post2`, up from `0.0.7.post6`); it is not a plugin-side dependency. --- ## What Changed in `proxbox-api` 0.0.9.post2 → 0.0.10.post2 This release certifies the plugin against the new backend release so operators can upgrade both services in lockstep. Notable upstream changes (none of which require plugin code changes): - **Backend security fix.** `X-Forwarded-For` is no longer trusted unless the operator explicitly opts in via `PROXBOX_TRUSTED_PROXIES` on the backend container. If you run `proxbox-api` behind a reverse proxy and want per-client rate-limiting / brute-force lockout to track real client IPs, set `PROXBOX_TRUSTED_PROXIES` to a CIDR list. Otherwise rate limits and lockouts are computed against the proxy's IP. This is a backend-side configuration; the plugin itself does not care. - **Backend `VM_ROLE_MAPPINGS` slug normalization.** The fallback role slug shifted from `virtual-machine` to `unknown`, and `qemu` / `lxc` gain colors plus `vm_role: True`. The plugin's three remaining `"virtual-machine"` literals (`sync_stages.py`, `views/sync.py`) are NetBox content-type discriminators in `dependencies_synced` payloads, not device-role slugs, so they are unaffected. - **Live NetBox version gates.** The backend detects NetBox via `/api/status/` and gates 4.6-only `VirtualMachineType` sync, so one backend release supports NetBox `4.5.8`, `4.5.9`, and `4.6.0`. - **Internal `netbox-sdk` bump.** `0.0.7.post6` → `0.0.8.post1` is internal to the backend image and not a plugin dependency. - **REST retry override precedence.** Explicit `PROXBOX_NETBOX_*` environment overrides now take precedence over backend-stored retry settings. Routes, SSE event types (`step` / `discovery` / `substep` / `item_progress` / `phase_summary` / `error_detail` / `error` / `complete`), `SseCompletePayload`, and the WebSocket frame protocol are all unchanged. --- ## CI / Release Pipeline - `e2e-docker.yml` and `docs-screenshots.yml` now pin the runtime backend image version to `0.0.10.post2`. - `nightly-contracts.yml` validates committed REST/SSE/overwrite-flag wire contracts without installing or importing `proxbox-api`. - The two Docker-pulling workflows depend on the `emersonfelipesp/proxbox-api:0.0.10.post2` image being on Docker Hub. If the image lags PyPI publication, those workflows will fail until the image lands. - Docker-based CI passes a deterministic `PROXBOX_ENCRYPTION_KEY` because the backend refuses to start without an encryption key or explicit plaintext opt-in. - `nightly-contracts.yml` validates local plugin contracts and is unaffected by Docker Hub timing. ## Database Migrations None. No model or schema changes ship in `0.0.14`. ## Upgrade Guidance Standard upgrade flow ([`installation/upgrading.md`](../installation/upgrading.md)): ```bash cd /opt/netbox/netbox source /opt/netbox/venv/bin/activate pip install -U netbox-proxbox sudo systemctl restart netbox ``` Then upgrade the backend image / package to `0.0.10.post2`. There are no migrations to run for the plugin. ## Assets No binary assets attached. Source archives: | Format |URL | | --- | --- | | zip | https://api.github.com/repos/emersonfelipesp/netbox-proxbox/zipball/v0.0.14 | | tar.gz | https://api.github.com/repos/emersonfelipesp/netbox-proxbox/tarball/v0.0.14 |