What's Changed
🚀 Features
- add retry button to Docker connection error banner
- write-mode support + muzzle allowlist parity (#1160, #1161)
- replace HostConfig field allowlist with full-access write mode
- per-agent VolumesFrom source allowlist; allow Isolation
- notify operator when write-mode change requires an agent restart
- add CI-enforced lint, staticcheck, and coverage gates for agent module (#1161)
- add structural allowlist parity checker (#1161)
- add write-mode UI, audit-log deep-linking, i18n
- extend PATCH/proxy-status API for write mode, wire audit logging
- implement opt-in write-endpoint allowlist, body validation, rate limiting, and audit logging
- add write-mode plumbing with zero behavior change
🐛 Bug Fixes & Improvements
- bump react-hook-form to 7.84.0 and update lockfiles
- resolve blank/failing container list on slow or permission-denied local Docker sockets
- classify moby v0.5.1 permission-denied errors as connectivity errors
- add bounded timeout for slow ListContainers responses
- update npm-non-major
- prevent null Docker container list from crashing proxy host form
- update npm-non-major
- prevent null Docker container list from crashing proxy host form
- return empty slice instead of nil from Docker ListContainers
- tolerate Firefox navigation-commit race in reload(), not just goto()
- replace ineffective navigation-race guard with tolerant goto helper
- stop racing back-to-back same-URL navigation in data-consistency test
- guard remaining unprotected page.goto() after login in user-management.spec.ts
- log in before logoutUser() in navigation-settle regression test
- stop racing page.goto() against still-settling navigations
- complete react-router-dom to react-router migration
- exempt GET/HEAD from the write-path rate limiter
- allow PidMode, IpcMode, UTSMode via value-level checks
- allow CgroupnsMode and Windows-only resource-limit fields in muzzle allowlist
- reject dangerous ContainerIDFile, expand muzzle safe key allowlist
- allow CapDrop and safe UsernsMode values in container create
- allow container rename in write-mode allowlist
- resolve patch-coverage baseline against real PR base and enforce threshold locally
- align agent muzzle normalization order with backend (#1160)
Full Changelog: v0.35.0...v0.36.0