Changes
- feat(dashboard): make the keyboard a first-class way around the product
- PR: #3593
- fix(table): let a column's cell wrap, so a long status message stays in it
- PR: #3592
- feat(telemetry): scope browser ingestion keys so a published key is not a full write credential
- PR: #3591
- feat(status-page): make the page readable without a mouse, and current
- PR: #3595
- fix(dashboard): move Security Events to the end of the Observability nav
- PR: #3602
- fix(metrics): prune raw-table metric scans by entity key so wide windows stop timing out
- PR: #3604
- fix(header): keep the profile button and notifications on small screens
- PR: #3603
- fix(discovery): scale large subnet sweeps and report their results as they arrive
- PR: #3606
- fix(agents): make the log-severity keyword scan field-aware
- PR: #3605
- fix(session-replay): record every session, and make Play actually play
- PR: #3609
- fix(alerts): name the pod, container and node an alert is actually about
- PR: #3608
- fix(charts): close the trailing data gap on metric charts
- PR: #3607
- fix(container-agents): let the host lower the Docker API version
- PR: #3286
- fix(custom-fields): store the whole dropdown option list instead of r…
- PR: #3589
- feat(custom-fields): copy a custom field's value from a related resource (#3549)
- PR: #3583
- perf: reduce telemetry CPU and monitor worker memory
- PR: #3610
- Reduce concurrent ingest CPU and memory overhead
- PR: #3611
- Make workflow steps easier to add, configure, and find
- PR: #3612
- Session Replay overhaul: production-ready player, list, health, correlation and recorder
- PR: #3615
- fix(alerts): stop recommendation monitors flapping, and fix the emails they send
- PR: #3616
- Reduce routine notification email noise
- PR: #3613
- fix(alerts): make the recommendation templates measure what they claim to
- PR: #3618