Mobile RUM gets a lot more detail this week, so you can see where time actually goes inside each session.
Every HTTP call is now broken into its individual network phases — DNS, TCP connect, TLS handshake, and time-to-first-byte — as child spans, instead of a single total-duration span. When a request is slow, you can tell whether it was DNS, the connection, the handshake, or the server. RUM also auto-captures time-to-full-display (view.ttfd), measuring how long a data-driven screen takes to render its content after the API response arrives — not just the first frame. For apps with embedded WebViews, JS navigations inside the WebView now correlate to the native session, so native and WebView spans are queryable together under the same session ID. And a new URL-exclusion config lets you drop CDN, image, and asset downloads from network tracking to cut noise and cost.
Improvements
- Alerting: Slack App notifications now thread repeat alerts under the original message and add a reaction when the alert resolves, so a firing alert doesn't fill the channel
- MCP: Agents can now create and manage Last9 dashboards directly — new dashboard CRUD and template-create tools backed by the dashboards API
- User management: Assign a user's role at invite time, before their first login, instead of provisioning the role only after they sign in
Fixes
- Dashboards: Timeslices longer than 24 hours now render the full window instead of capping at 24 hours
- Alerting: Alerts whose indicator names contain template tokens (e.g.
{{host_name}},{{cloud_provider}}) now evaluate and chart correctly instead of being mis-parsed - MCP: Codex now connects to the hosted MCP endpoint — fixed a Streamable HTTP handshake that closed the channel on the initialized notification