54 changes since 14.0.102: 18 new or improved features, 9 bug fixes, 2 performance improvements, 3 documentation updates and 22 maintenance changes. The busiest areas: Docs, Network and Data Security.
✨ New and improved
- Network
- AI remediation: Security alerts linked to what they are about, Fixes turned on decide again, resolved records, and a lighter fixes block (#5589)
- Bulk actions: Select every matching exception, a table's Bulk Actions in the band over its cards on a phone, whole Health pills at 1280 (#5587)
- CLI: Every API resource as a command, /install/cli, a Developer > CLI page, and CLI docs for scripts and AI agents (#5581)
- Data Security: A store's Overview draws who can reach it and where its data can go on one map (#5644)
- Docker, Swarm, Podman, Ceph, Storage Arrays: What needs attention first by each product's rules, a page for every part, and two Swarm alerts (#5604)
- Logs: Saved views stay on the page they were saved on, the Logs page or one resource's Logs tab (#5593)
- Mobile App: Tabletop Home, Settings and sheets, the divider from a keyboard, Acknowledge again, Acknowledge and Escalate under a page's push, hunt pushes open their page, and the posture module's iOS side (not linked yet) (#5596)
- Security: Security Events and Data Security have a Security category of their own in the products menu (#5592)
- Slack and Teams: Switch project on the Teams Home, Ask in another project, durable Home choice, and confirmations that name the record (#5595)
- Security Events cases, next: case custom fields, note templates and numbering; AI chat tables' dates and titles; no plain-object lookups (#5577)
- A view-only workflow step keeps what only reads usable (code box Copy, More fields) and draws no action it cannot take; WorkflowViewOnlyGuard holds every Builder control to the view (#5580)
- Count only Runners that take AI code fixes, and say on the Runners page that global Runners do them (#5302 follow-ups) (#5583)
- Runner and App images at half the download, each started by a test; SSO line, setup card reverse case, host PostgreSQL port, server translator (#5584)
- CI and tests, next: release e2e on per-arch tags with a digest check, Dashboard-like fixture routers, settled page and box reads, OldestKeyMap, an offline group budget (#5586)
- Slack and Teams Declare Incident pick the affected resources, and link the alert of its channel (#5588)
- i18n(dashboard): the workspace Home choice model's words in every language (49c119d)
🐛 Bug fixes
- Docs
- API Reference: The reference links no web app manifest, so its pages log no errors (#5611)
- Dashboards: Every widget drawn once, at its own size, from the board's first frame; the dashboard opens on its loader (#5590)
- Install: The /install 404 lists the CLI's installer without the product's name (25edf9d)
- Network: The map's Make default and Clear default buttons take the shared busy look (1840a6c)
- Permissions: Each project's permission snapshot is kept under its own names, so two projects in two tabs never swap roles (#5306 follow-up) (#5585)
- Security: A case custom field's Map Value From lists its allowed values, as every definition table's does (f8b45ac)
- Website: The VMware page lists Host Not Responding and says twenty-five monitors; the queues mockup reads #5553's labels (a6b3dac)
⚡ Performance
- Docs: The docs and the API reference link a built stylesheet instead of generating CSS in the browser (#5618)
- Status Pages: Sign-in and status pages download only the reader's language (#5616)
📚 Documentation
- Data Security: A store's paths on one map, in all 17 languages (26adb8c)
- Developer: Every page that lists a Developer section names its CLI page, in every language (d5be24c)
- Pr Assets: The UI review's shots of Affected Resources on Slack's and Teams' incident forms (2d34e72)
🧰 Maintenance (22)
- Common
- App
- E2E
- Lighthouse
- Navbar
- Telemetry
- API: The Resource AI access route test finds the Host CRUD router #5535 mounts through HostAPI (b6e9b93)
- Dashboards: The removed warning's title may come back for another feature, its texts may not (d85e566)
- Frontends: What the public pages load first is held to a size budget (#5612)
- MCP: The consent page suite loads its language before it reads it (1097fb3)
- Npm: The translator may load the bounded cache every module evicts through (5ba1412)
- Ops: The coding agent plugin release suite runs a step's script from a file (6b3c053)
- Packet Capture: The filter row is measured once the form's styles are in (92a7740)
- Website: The CLI page suite reads the CLI as #5581 builds it (97278ec)
- npm audit fix (#5591)
⬆️ Upgrade
Back up first, then follow the upgrade guide. On Docker Compose, run npm run update on the release branch. On Kubernetes, helm upgrade to version 14.0.103 of the chart.
Full changelog: 14.0.102...14.0.103
Contributors: @simlarsen