
Hey there, firefighters π§βπ Here's what's shipped for you this past month!
π Deeper Incident Analytics#deeper-incident-analytics

Two new session-based user-involvement metrics β Total Activity Duration and Total Interactions β are now available across Impact Analytics, giving you a more accurate picture of who spent time in an incident and how engaged they were. You'll find them in the baseline cards, impact drawer, faceted stats table, CSV export, and Public API, with a new column-toggle menu to show or hide exactly the columns you care about.
π Smarter On-Call Schedule Filtering#smarter-on-call-schedule-filtering

The on-call schedules sidebar has a new Schedules filter button. Click it to open a searchable popover with a checkbox per schedule β including rotation counts and Select all / Clear options β so you can narrow the calendar view down to just the schedules you care about. Your selection persists per-user per-team via the URL and localStorage, so you won't lose context when you navigate away. Schedule cards have also been restyled with a new icon, single-line rotation names, and cleaner dividers.
π Improvements#improvements
- AI Related Incidents notification controls: Two new levers for AI Related Incidents notifications in Slack: an org-level cooldown to set the minimum time between posts on the same incident, and a per-incident cap on how many related-incident notifications get sent β both configurable from Settings β AI.
- AI summaries for unlicensed Slack users: Slack users without a linked FireHydrant account can now view AI-generated incident summaries via
/fh summaryβ so your whole Slack workspace can stay informed without needing a full license. - Severity Matrix usability: The Severity Matrix page now has client-side search, sortable rows, and virtualized rendering, making it usable for orgs with hundreds of services, functionalities, or environments.
- Audience summaries in your timezone: Audience summaries now render timestamps in your org's configured timezone instead of UTC.
- Jira follow-up link improvements: Linking a follow-up Jira ticket via URL now deduplicates against existing links, posts a back-link comment on the Jira issue, and immediately pushes outbound field mappings on the initial link.
- Freshservice resolution notes: Freshservice ticket syncs that map to a resolved or closed status now automatically include the required resolution note, preventing rejected updates.
- Status page: links stripped from updates: Status page update copy in the web app no longer renders clickable markdown or raw HTML links β link text still appears, just not as hyperlinks.
- Timeline delete for non-owners: The delete option on timeline events is now always visible but disabled for non-org-owners, with a tooltip explaining the restriction.
- Readable call route phone numbers: Call route phone numbers are now displayed in a readable international format, while copy and APIs continue to use the raw E.164 format.
- Webhook URL truncation: Long webhook URLs on the Webhooks list are now truncated with an ellipsis instead of breaking the table layout β hover to see the full URL.
- Terraform: rotation name & description: The FireHydrant Terraform provider now supports setting
rotation_nameandrotation_descriptionindependently from the schedule.
π Bug Fixes#bug-fixes
- Retrospective "Draft with AI": "Draft with AI" now works correctly from the retrospective's customer impact section.
- Retrospective PDF: nested lists: Nested bullet and numbered lists now appear correctly in retrospective PDF exports instead of being dropped.
- Retrospective PDF: code blocks: Code blocks in retrospective PDFs now render with a consistent grey background and monospace font.
- Retrospective text selection: Selecting and copying text in the Retrospective tab works correctly again.
- On-call rotation visibility toggle: Unchecking a rotation in the on-call sidebar now correctly hides its swimlane row on the calendar, not just its shifts.
- Liquid template field resize: Resizing a liquid template text field now correctly expands the editor content instead of leaving clipped text with empty space below.
- Edit Rotation form regression: Opening Edit Rotation from a team's Signals page overflow menu now correctly pre-populates the existing rotation's values instead of new-rotation defaults.
- Runbook step stuck in "started": Fixed a race condition where Jira Cloud ticket creation runbook steps would intermittently revert from βCompletedβ back to βStartedβ and get permanently stuck.
- Slack
/fh newCustomer Impact defaults: Customer Impact fields now correctly auto-populate with default values when declaring an incident via/fh newin Slack. - Runbook execution closing on resolve: Runbook executions were being prematurely closed when an incident was resolved; they now stay open through the post-incident phase and only close when the incident reaches "closed."
- Slack incident declaration hang: Fixed an issue where incident declaration in Slack would hang on "Creating your incident⦠one sec!" when a deleted runbook was referenced as an incident type default.
- Alerts default view navigation: Returning to the Alerts page now correctly applies the default saved view instead of persisting ad-hoc query state from a previous session.
- Runbook Liquid filters: Fixed the
toJSONandin_time_zoneLiquid filters so they behave correctly in both the runbook template preview and at runtime. - Private incident runbook attachment: Runbooks selected during private incident declaration now correctly attach using the declaring user as the actor instead of being silently dropped.
- Incident milestone badge truncation: Long milestone names on the incident list are now truncated with the full name visible on hover.
- Jira credential fallback: "Create a Jira Cloud Issue" runbook steps no longer fail when the incident creator lacks permission on the target project β the step now falls back to the integration's default credentials.
- SVG org logo support: Organization logos can once again be uploaded as SVG files.
- Mobile app:
- iOS push notifications restored: Push notification delivery on iOS is fixed after the Expo SDK upgrade dropped required app entitlements.
- Notification channel selector: The bottom sheet for selecting notification channels now correctly appears when tapping the + button.
- Channel name wrapping: Long channel names in Related Incidents on the alert details screen now wrap inside the card instead of running off-screen.
- Manual page label wrapping: "Manual page" labels on the alert detail screen no longer run past the screen edge on narrow phones.
That's all for May! As always, if you have any questions or feedback, our team is here to help.