Repository navigation
unifly 0.13.0 adds UniFi Network 11 support across the CLI, TUI, and Rust library, while retaining legacy statistics support on Network 10.
Network 11 support
- Read site, device, client, and gateway statistics through the modern time-series API. Reports retain native bucket durations and monthly resolution; charts calculate rates from the actual duration.
- Read paginated system-log history and dashboard critical alerts, including acknowledgement. Legacy fallback applies only when the modern endpoint is absent.
- Inspect LAGs, MC-LAG domains, and switch stacks with
devices lags,devices mc-lag-domains, anddevices switch-stacks. - Configure firewall flow reporting and the WiFi 2.4 GHz channel and DTIM locks. Updates preserve fields you did not change.
- Create gateway- and switch-managed networks with validated IPv4 and DHCP settings. Switch creation requires its owning Integration device UUID.
Fixes
Network and firewall writes resolve names consistently, preserve Network 11 filters, and reject changes that would discard an unfamiliar filter. Native WiFi bindings and site deletion use the controller's expected wire formats. DHCP create and update share range validation.
CLI and TUI startup share configuration resolution, including cloud host discovery. Config edits preserve comments and unknown keys. Explicit API-key overrides select API-key authentication, raw Integration calls work with hybrid and cloud profiles, and malformed URL passwords remain masked.
Network forms submit only edited fields and retain invalid drafts. Client kicks require confirmation. Event timestamps use local time, topology labels stay inside their boxes, and successful historical charts update even when DPI is unavailable.
Unrelated Session reads no longer hold a shared lock across network requests. Port-array updates remain atomic per switch. Event retention is bounded, pagination handles continuation flags, and optional inventory failures retain previously loaded data with a warning.
Upgrade notes
- Five unsupported Integration NAT methods are removed from
unifly-api. Use Session NAT methods or controller commands. - Library site creation takes one display name. CLI
sites create --descriptionis an alias for--name. CreateNetworkRequestgainsdevice_id; switch-managed creation requires an Integration device UUID. Gateway and switch creation require an IPv4 host/prefix even with DHCP disabled. Event and firewall-filter types also gain fields or variants; see the library migration guide.- New allow policies and block-to-allow edits default mirrored return traffic to false. Pass
--allow-return-traffic truewhen required and supported by the destination zone. - Firewall block events are hidden by default. Use
events list --include-firewallto include them; intrusion-prevention events remain visible.
Validation
The full local gate passed 1,218 tests with one ignored test. CI passed Linux checks, dependency policy, Windows builds and configuration tests, and controller E2E.
A disposable UniFi OS lab running Network 11.0.99 passed all 29 E2E tests, including all four Integration API tests. Additional live checks covered DHCP lifecycle, native WiFi bindings, firewall fields and filters, site lifecycle, populated statistics, and acknowledgement of a generated WAN-down critical alert. The legacy Docker lane passed all 25 Session tests, with four expected API-key skips. Read-only checks on Network 10.6.109 returned populated legacy history.
Switch-owned network creation and populated LAG/MC-LAG/stack details remain schema or fixture coverage without physical L3 switching hardware. The fresh lab cannot establish aged monthly history or populated DPI classification. No production controller was upgraded or mutated.