Changes
- feat(monitor): redesign the monitor overview page
- PR: #3954
- chore: npm audit fix
- PR: #3957
- fix(incident): allow API creation of first episode member
- PR: #3947
- fix(database-health): show the grant for SQL Server and Azure SQL permission failures (#3913)
- PR: #3960
- fix(telemetry): clicking or dragging on the Log Volume chart shows the logs it counted (#3914)
- PR: #3959
- fix(markdown): keep code and identifiers intact in convertToPlainText
- PR: #3958
- fix(telemetry): stack the facet sidebar and wrap the toolbar on phones
- PR: #3964
- fix(probe): one notification per probe outage instead of one per monitor (#2486)
- PR: #3963
- fix(images): remove the dependency vulnerabilities scanners report in the app and other containers
- PR: #3961
- feat(workflow): OAuth 2.0 workflow variables that refresh their own token
- PR: #3962
- fix(telemetry): keep the detail drawer within the viewport on phones
- PR: #3965
- fix(status-page): send subscriber email subjects as written
- PR: #3966
- fix(status-page): stop the uptime bars going grey at the end
- PR: #3967
- fix(notification): send owner and on-call emails whose subject quotes template syntax
- PR: #3971
- fix(logs): stack the facet sidebar and wrap the toolbar on phones
- PR: #3970
- Redesign the Security Events and Connections empty states
- PR: #3968
- fix(status-page): measure report and uptime API single-monitor uptime over the whole window
- PR: #3969
- feat(rum): User Flows - page-to-page journey map for RUM sessions
- PR: #3980
- fix(incidents): keep public notes quiet on incidents declared without notifying subscribers
- PR: #3985
- fix(on-call): schedule calendar shows the whole day and draws hand-offs where they happen
- PR: #3986
- fix(users): say which user, team and project a removal affects
- PR: #3984
- Fix On-Call Duty selection in the navbar
- PR: #3983
- fix(forms): translate checkbox field titles and descriptions
- PR: #3987
- feat(ai): give OneUptime AI kubectl access to Kubernetes clusters for investigations and fixes
- PR: #3953
- fix(permissions): revoke a removed member's cached project access
- PR: #3988
- fix(on-call): draw the schedule preview in the browser's zone, not the settings zone
- PR: #3989
- fix(status-page): merge report downtime over the whole window, not the capped rows
- PR: #3990
- fix(session-replay): let replay chunks through CRS-based web application firewalls
- PR: #3991
- fix(auth): enforce the master-admin user block on every sign-in and session
- PR: #3996
- fix(i18n): translate the timezone notes in the time range modal and maintenance stat bar
- PR: #3995
- fix(on-call): keep a layer's saved restriction times when its edit form opens
- PR: #3993
- fix(status-page): read a monitor group's uptime from its merged downtime on the live page
- PR: #3997
- fix(workspace): authorize Slack and Microsoft Teams actions as the linked member
- PR: #3999
- fix(forms): translate DateTime and Time field descriptions
- PR: #3994
- fix(status-page): keep episode and scheduled maintenance public notes quiet when the event was created quietly
- PR: #4001
- fix(workspace): scope chat-created incidents and maintenance to the linked project
- PR: #4000
- feat(monitors): reset or customize an incoming email monitor's address
- PR: #4004
- fix(timezones): stop listing legacy tz aliases as duplicate timezones
- PR: #4003
- fix(team-members): take users who leave a project off its open incidents and ownership
- PR: #4002
- fix(owners): notify only accepted project members as owners
- PR: #4005
- feat(security-events): wrap and copy event JSON, and let viewers add attribute columns to rows
- PR: #4007
- feat(session-replay): offline mode for the browser and React Native recorders
- PR: #4006
- feat(workflows): simplify workflow variables and give each variable its own page
- PR: #4012
- feat(workflow): Jira workflow templates for two-way incident sync
- PR: #4011
- fix(on-call): mail undeliverable-page alerts only to accepted policy owners
- PR: #4010
- fix(incidents): check incident and maintenance relation lists against the project
- PR: #4009
- fix(workflows): read the triggering record's id as model._id in forward templates
- PR: #4008
- feat(notes): redesign public and private notes on incidents, alerts and scheduled maintenance
- PR: #4013
- feat(workflow): Jira workflow templates for alerts
- PR: #4015
- fix(workspace): post notes to Teams/Slack incident channels and sync 📌/📣 reactions back as notes
- PR: #4018
- Harden Slack and Microsoft Teams connect callbacks
- PR: #4017
- fix(alerts): check alert monitor, on-call policies and labels against the project
- PR: #4016
- fix(alerts,incidents): check monitor, on-call, label and affected-resource relations against the project
- PR: #4019
- feat(workspace): Send Test button for Slack channels and Microsoft Teams channels/chats
- PR: #4020
- fix(scheduled-maintenance,templates): check affected-resource lists against the project
- PR: #4021
- fix(workspace): make miscData server-only and validate Teams serviceUrl
- PR: #4022
- test(scheduled-maintenance): mock project membership in recurring-event owner tests
- PR: #4023
- feat(monitors): filter Exceptions monitors by deployment environment
- PR: #4025
- fix(workspace): keep the Teams Graph app token out of miscData
- PR: #4026
- fix(common): calculate group uptime rollup across all child resources (#3049)
- PR: #4024
- Revert "fix(common): calculate group uptime rollup across all child resources (#3049)"
- PR: #4027
- fix(session-replay): resolve replay links through a bespoke /resolve read
- PR: #4028
- feat(telemetry): copy trace, log and exception attributes as JSON
- PR: #4029
- feat(session-replay): copy or download the paused frame as an image
- PR: #4033
- Explain every resource metric in a tooltip, and add page-load and exception metrics to the RUM overview
- PR: #4034