All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Handle nullable shift.by_day on the frontend (#9548)
- Add manually run task to cleanup unused integrations @mderynck (#3941)
- Change plugin build to use new packages instead of deprecated grafana-toolkit @maskin25 (#3837)
- Remove explicit uWSGI and Django request size limits by @vadimkerr (#3878)
- Migrate webhooks integration_filter to use a m2m field instead (#3946)
- Updated Faro package version (#3970)
- Integration form migration to react-hook-form (#3979)
- Support prescribed labels (#3848)
- Add status change trigger type to webhooks (#3920)
- Add
EMAIL_USE_SSL
environment setting by @WoodyWoodsta (#3911) - Add
parse_json
Jinja2 template filter by @KarimDarwish (#3929)
- Fix edit default team by admin @mderynck (#3885)
- Unblock slack install by skipping check chatops gateway link in OSS deployment @mderynck (#3893)
- Fix multiple issues of alert groups table (#3894)
- Improvements for dragging the add rotation form in Schedules (#3904)
- Allow external-redis secret creation when the broker is rabbitmq (#3903)
- Check for permissions on Slack escalate command (#3891)
- Use autogenerated types on the frontend for alert receive channels (#3331)
- Update OnCall Insights dashboard @Ferril (#3875)
- Do not delete webhook if its team is deleted @mderynck (#3873)
- Update user details internal API perms (#3900)
- Add escalation to notify entire Grafana team @xssfox (#3477)
- Quotes in templates not rendering results correctly @mderynck (#3884)
- Revert requiring permission on Slack direct paging (#3881)
- Improved zvonok verification call @sreway (#3768)
- Add permission checks for Slack paging and shift swaps actions (#3861)
- Include all upcoming shifts in upcoming shifts internal endpoint (#3871)
- Allow mobile app to access escalation options endpoints @imtoori (#3847)
- Enable templating for alert escalation mobile app push notifications by @joeyorlando (#3845)
- Change email notification template to not wrap user template @mderynck (#3862)
- Update integration name uniqueness check to be per team (#3863)
- Fix rounding issue with displayed time when sending "You're going oncall" push notification by @joeyorlando (#3872)
Maintenance release
– Enable labels feature (Currently cloud-only)
- Address outgoing webhook encoding error when passing non-latin characters in the webhook request body by @joeyorlando (#3832)
- Allow configuration of outgoing webhook timeout via
OUTGOING_WEBHOOK_TIMEOUT
environment variable @kevindw-fluxys (#3801) - Include teams info in users API (#3817)
- Handle alert group does not exist on telegram button press (#3814)
- Render alert group action buttons even if getting AG data fails (#2383)
- Enable Grafana Alerting V2 feature flag by default
- Incorrect end date on creating weekly on-call shift (#3755)
Maintenance release
- Ensure alert group log records are committed to DB before signalling about them @mderynck(#3731)
- Address
SlackAPIRatelimitError
exceptions inapps.slack.tasks.send_message_to_thread_if_bot_not_in_channel
task by @joeyorlando (#3803) - Fix exception when parsing incident plugin config @mderynck (#3802)
- Allow routing incoming alerts based on labels by @joeyorlando (#3778)
- Remove
/oncall
Slack slash command (ie. manual alert group creation command) by @joeyorlando (#3790) - Increase frequency of checking for gaps and empty shifts in schedules by @Ferril (#3785)
- Fixed checking whether user has telegram connection for
get_telegram_verification_code
endpoint by @Ferril (#3794) - Fix interval validation when creating shift via public API (#3775)
- Fix list user serializer logic refactoring (3793)
- Improved logging during plugin sync and install with Grafana @mderynck (#3730)
- Added
is_currently_oncall
information to internal user details API (#3765) - Add a modal for autoresolve and grouping templates for Alertmanager-based integrations (#3764)
- Fixed too frequent retry of
perform_notification
task on Telegram ratelimit error by @Ferril (#3744) - Dynamic labels & multi-label extraction label are broken (#3750)
- Add check whether organization has Slack connection on update Slack related field using public api endpoints by @Ferril (#3751)
- Fixed calculating the number of on-call users per team by @Ferril (#3773)
- Refactor create_alert task by @iskhakov (#3604)
Maintenance release
- Improved alert group table columns spacing (#3712)
- Improvements for the columns selector (3668)
- Address infinite retrying
apps.alerts.tasks.notify_user.perform_notification
task whenUserNotificationPolicyLogRecord
object cannot be found by @joeyorlando (#3708)
- Fixed Webhooks UI not allowing simple webhooks to be created (#3691)
- Fix posting Slack message when route is deleted by @vadimkerr (#3702)
- Update schedules on-call users cache on every scheduled schedule refresh task (#3699).
- Fix updating a shift swap with no Slack message by @vadimkerr (#3686)
- Fix occasional
AttributeError
inapps.grafana_plugin.tasks.sync.sync_organization_async
task by @joeyorlando (#3687)
- Fix unicode characters not rendering correctly in webhooks @mderynck (#3670)
- UI bug related to time inputs for "current UTC time is in" range escalation policy step (#3585]
- MS Teams Connection user profile tab - shouldn't reshow connection steps if already connected (#2427)
- Fix internal schedule detail API to set oncall_now for a schedule in orgs with multiple entries (#3671)
Maintenance release
- Add endpoint for alert group escalation snapshot by @Ferril (#3615)
- Do not retry
firebase.messaging.UnregisteredError
exceptions for FCM relay tasks by @joeyorlando (#3637) - Decrease outgoing webhook timeouts from 10secs to 4secs by @joeyorlando (#3639)
- Add stack slug to
/organization
endpoint response by @Ferril (#3644) - Moved Mobile Connection Tab to separate user profile in Grafana (#3296
- Address HTTP 500s occurring when receiving messages from Telegram user in a discussion group by @joeyorlando (#3622)
- Fix
module 'apps.schedules.tasks.notify_about_empty_shifts_in_schedule' has no attribute 'apply_async'
AttributeError
by @joeyorlando (#3640)
- Move Insights to OnCall as a separate page (#2382)
- Allow mobile app to access paging endpoint @imtoori (#3619)
- Create log record when there is a telegram formatting error in notification (#3628)
- Fixed schedule timezone issues (#3576)
- Ignore
requests.exceptions.Timeout
exceptions when attempting to send outgoing webhook requests by @joeyorlando (#3632)
- Add ability to create an Outgoing Webhook with the PATCH HTTP method via the UI by @joeyorlando (#3604)
- Handle message to reply to not found in Telegram send log (#3587)
- Upgrade mobx lib to the latest version 6.12.0 (#3453)
- Add task lock to avoid running multiple sync_organization tasks in parallel for the same org (#3612)
- Support e2e tests in Tilt and Makefile (#3516)
- Support PATCH method for outgoing webhooks by @ravishankar15 (#3580)
- Limit acknowledge reminders to stop repeating after 1 month @mderynck (#3571)
- Check reason to skip notification in Slack to avoid task perform_notification retries @Ferril (#3562)
- Fix alert group table columns validation @Ferril (#3577)
- Fix posting message about rate limit to Slack @Ferril (#3582)
- Fix issue with parsing sender email address from email message for inbound email integration endpoint @Ferril (#3586)
- Fix PUT /api/v1/escalation_policies/id issue when updating
from_time
andto_time
by @joeyorlando (#3581) - Fix issue where duplicate team options would show up in the teams dropdown for the
/escalate
Slack command by @joeyorlando (#3590)
- Create success log records for delivered personal notifications (3557)
- Add backend for multi-stack support for mobile-app @Ferril (#3500)
- Add error code for mobile push notification logs when device is not set up @Ferril (#3554)
- Fix issue when mobile push notification message is too big @Ferril (#3556
- Fix schedules invalid dates issue (#support-escalations/issues/8084)
- Fix issue related to updating alert group metrics when deleting an alert group via the public API by @joeyorlando (#3544)
- Fix issue with
amazon_ses
inbound email ESP provider by @Lutseslav (#3509)
– Fix minor UI bugs
- Fix setting integration team to default on update @Ferril (#3530)
- Fix missing timestamp value in old grafana API endpoint (#3522)
- Track alert received timestamp on alert group creation (#3513)
- Address metrics calculation issue which occurred when
USE_REDIS_CLUSTER
env var was set by @joeyorlando (#3510)
- Add
datetimeformat_as_timezone
Jinja2 template helper filter by @jorgeav (#3426)
- Disallow creating and deleting direct paging integrations by @vadimkerr (#3475)
- Renamed "Connections" tab to "Monitoring Systems" and "Direct Paging" to "Manual Direct Paging" on Integrations page
Maintenance release
Maintenance release + bugfixes
- Create missing direct paging integrations on organization sync by @vadimkerr (#3468)
Minor bugfixes + dependency updates :)
- Delete duplicate direct paging integrations by @vadimkerr (#3412)
- Add options to customize table columns in AlertGroup page (3281)
- Add proxying capabilities for the OnCall mobile API by @joeyorlando (#3449)
- Fix excess usage of bots_info slack api call to avoid ratelimits (#3440)
- Add ability to use Grafana Service Account Tokens for OnCall API (This is only enabled for resolution_notes endpoint currently) @mderynck (#3189)
- Add ability for webhook presets to mask sensitive headers @mderynck (#3189)
- Use instance ID for cloud Grafana service token auth @mderynck (#3435)
- Fixed issue that blocked saving webhooks with presets if the preset is controlling the URL @mderynck (#3189)
- User filter doesn't display current value on Alert Groups page (1714)
- Remove displaying rotation modal for Terraform/API based schedules
- Filters polishing (3183)
- Fixed permissions so User settings reader role included list users @mderynck (#3419)
- Fixed alert group rendering when some links were broken because of replacing
-
to_
@Ferril (#3424) - Make telegram on_alert_group_action_triggered asynchronous(#3471)
- Add builtin slack retry on ratelimited error (#3401)
- Add integration id to alert creation logging @mderynck (#3392)
- Fix deleting integrations with duplicate names by @vadimkerr (#3397)
- Fixes forwarding of Amazon SNS headers @mderynck (#3371)
- Fixes issue when using the
/escalate
Slack command and selecting a team by @joeyorlando (#3381) - Fix issue when RBAC is enabled where Viewers with "Notifications Receiver" role do not properly show up in schedule rotations by @joeyorlando (#3378)
- Populate
users
field of the public Shift GET API withrolling_users
from the type override created from web UI(#3303) - Do not retry to update slack user group on every API error (#3363)
- Allow specifying a comma-separated list of redis-servers to the
REDIS_URI
engine environment variable by @joeyorlando (#3368)
- Fixed recurrency limit issue in the Rotation Modal (#3358)
- Added dragging boundary constraints for Rotation Modal and show scroll for the users list (#3365)
- Delete direct paging integration on team delete by @vadimkerr (#3367)
- Added user timezone field to the users public API response (#3311)
- Allow filtering users by public primary key in internal API (#3339)
- Split Integrations table into Connections and Direct Paging tabs (#3290)
- Fix issue where Slack user connection error message is sometimes shown despite successful connection by @joeyorlando (#3327)
- Forward headers for Amazon SNS when organizations are moved @mderynck (#3326)
- Fix styling when light theme is turned on via system preferences by excluding dark theme css vars in this case (#3336)
- Fix issue when acknowledge reminder works for deleted organizations @Ferril (#3345)
- Fix generating QR code (#3347)
- Fix AmazonSNS integration to handle exceptions the same as other integrations @mderynck (#3315)
- Unify naming of Grafana Cloud / Cloud OnCall / Grafana Cloud OnCall so that it's always Grafana Cloud OnCall (#3279)
- Fix escalation policy importance going back to default by @vadimkerr (#3282)
- Improve user permissions query (#3291)
- Add
b64decode
Jinja2 template helper filter by @jorgeav (#3242)
- Fix db migration for mobile app @Ferril (#3260)
- Address
TypeError
that occurs under some scenarios on the Alert Group detail page
- Change wording for push notifications timing choices @Ferril (#3253)
- Postpone Legacy AlertManager and Grafana Alerting integration auto-migration date ([3250])(#3250)
- Return alert groups for deleted integrations on private api (3223)
- Removed the hardcoding of page size on frontend (#3205)
- Prevent additional polling on Incidents if the previous request didn't complete (#3205)
- Order results from
GET /teams
internal API endpoint by ascending name by @joeyorlando (#3220) - Order alert groups internal API endpoint by descending started_at by @mderynck (#3240)
- Improve slow
GET /users
+GET /teams
internal API endpoints by @joeyorlando (#3220) - Fix search issue when searching for teams in the add responders popup window by @joeyorlando (#3220)
- CSS changes to add responders dropdown to fix long search results list by @joeyorlando (#3220)
- Do not allow to update terraform-based shifts in web UI schedule API (#3224)
- Data type changed from
DateField
toDateTimeField
on thefinal_shifts
API endpoint. Endpoint now accepts either a date or a datetime (#3103)
- Simplify Direct Paging workflow. Now when using Direct Paging you either simply specify a team, or one or more users to page by @joeyorlando (#3128)
- Enable timing options for mobile push notifications, allow multi-select by @Ferril (#3187)
- Fix RBAC authorization bugs related to interacting with Alert Group Slack messages by @joeyorlando (#3213)
- Add filtering term length check for channel filter endpoints @Ferril (#3192)
- Check for basic role permissions on get/create/update labels @Ferril (#3173)
- Discard old pending network requests in the UI (Users/Schedules) #3172
- Fix resolution note source for mobile app by @vadimkerr (#3174)
- Fix iCal imported schedules related users and next shifts per user (#3178)
- Fix references to removed access control functions in Grafana @mderynck (#3184)
- Upgrade Django to 4.2.6 and update iCal related deps (#3176)
- Use shift data from event object
- Update shifts public API to improve web shifts support (#3165)
- Update ical schedule creation/update to trigger final schedule refresh (#3156)
- Handle None role when syncing users from Grafana (#3147)
- Polish "Build 'When I am on-call' for web UI" #2915
- Fix iCal schedule incorrect view #2001
- Fix rotation name rendering issue #2324
- Add user TZ information to next shifts per user endpoint (#3157)
- Update plugin OnCaller role permissions (#3145)
- Add labels implementation for OnCall integrations under the feature flag (#3014)
- Fix plugin status to always return URL with trailing / @mderynck (#3122)
- Make it possible to acknowledge/unacknowledge and resolve/unresolve alert groups via API by @vadimkerr (#3108)
- Improve alert group deletion API by @vadimkerr (#3124)
- Removed Integrations Name max characters limit (#3123)
- Truncate long table rows (Integration Name/Alert Group) and show tooltip for the truncated content (#3123)
- Add additional shift info in schedule filter_events internal API (#3110)
- New RBAC action
grafana-oncall-app.alert-groups:direct-paging
and role "Alert Groups Direct Paging" by @joeyorlando (#3107)
- Accept empty and null user when updating webhook via API @mderynck (#3094)
- Fix slack notification for a shift which end is affected by a taken swap (#3092)
- Create Direct Paging integration by default for every team, create default E-Mail notification policy for every user (#3064)
- Presets for webhooks @mderynck (#2996)
- Add
enable_web_overrides
option to schedules public API (#3062)
- Fix regression in public actions endpoint handling user field by @mderynck (#3053)
- Rework how users are fetched from DB when getting users from schedules ical representation (#3067)
- Fix Slack access token length issue by @toolchainX (#3016)
- Fix shifts for current user internal endpoint to return the right shift PK (#3036)
- Handle Slack ratelimit on alert group deletion by @vadimkerr (#3038)
- Notify user via Slack/mobile push-notification when their shift swap request is taken by @joeyorlando (#2992)
- Unify breadcrumbs behaviour with other Grafana Apps and main core# (1906)
- Improve Slack error handling by @vadimkerr (#3000)
- Avoid task retries because of missing AlertGroupLogRecord on send_alert_group_signal (#3001)
- Update escalation policies public API to handle new webhooks (#2999)
- Add option to create new contact point for existing integrations (#2909)
- Enable email notification step by default on Helm by @vadimkerr (#2975)
- Handle slack resolution note errors consistently (#2976)
- Don't update Slack user groups for deleted organizations by @vadimkerr (#2985)
- Fix Slack integration leftovers after disconnecting by @vadimkerr (#2986)
- Fix handling Slack rate limits by @vadimkerr (#2991)
- Fix issue in
SlackClientWithErrorHandling
paginted API calls by @joeyorlando
- Fix issue in
apps.slack.tasks.populate_slack_channels_for_team
task by @joeyorlando (#2969)
- Fix issue in
apps.slack.tasks.post_or_update_log_report_message_task
task related to passing tuple totext
arg forSlackClient.chat_postMessage
method by @joeyorlando (#2966)
- Add internal API endpoint for getting schedules shifts for current user by @Ferril (#2928)
- Make Slack integration not post an alert group message if it's already deleted + refactor AlertGroup and SlackMessage foreign key relationship by @vadimkerr (#2957)
- Reject file uploads when POSTing to an integration endpoint (#2958)
- Fix for Cloud plugin install not refreshing page after completion (2974)
- Fix escalation snapshot building if user was deleted @Ferril (#2954)
- Update slack schedule shift-changed notification (#2949)
- Add optional param to expand user details in shift swaps internal endpoints (#2923)
- Update Shift Swap Request Slack message formatting by @joeyorlando (#2918)
- Performance and UX tweaks to integrations page (#2869)
- Expand users details in filter swaps internal endpoint (#2921)
- Truncate exported final shifts to match the requested period (#2924)
- Fix issue with helm chart when specifying
broker.type=rabbitmq
where Redis environment variables were not longer being injected by @joeyorlando (#2927) - Fix silence for alert groups with empty escalation chain @Ferril (#2929)
- Fixed NPE when migrating legacy Grafana Alerting integrations (#2908)
- Fix
IntegrityError
exceptions that occasionally would occur when trying to createResolutionNoteSlackMessage
objects by @joeyorlando (#2933)
- Fix metrics calculation and OnCall dashboard, rename dashboard @Ferril (#2895)
- Fix slack schedule notification settings dialog (#2902)
- Switch engine to alpine base image (2872)
- Visualization of shift swap requests in Overrides and swaps section (#2844)
- Address bug when a Shift Swap Request is accepted either via the web or mobile UI, and the Slack message is not updated to reflect the latest state by @joeyorlando (#2886)
- Fix issue where Grafana integration would fail to parse alerting config for routes without receivers @mderynck (#2894)
- Public API for webhooks @mderynck (#2790)
- Use Telegram polling protocol instead of a webhook if
FEATURE_TELEGRAM_LONG_POLLING_ENABLED
set toTrue
by @alexintech (#2250)
- Public API for actions now wraps webhooks @mderynck (#2790)
- Allow mobile app to access status endpoint @mderynck (#2791)
- Enable shifts export endpoint for all schedule types (#2863)
- Use priority field to track primary/overrides calendar in schedule iCal export (#2871)
- Fix public api docs for escalation policies by @Ferril (#2830)
- Increase mobile app verification token TTL by @joeyorlando (#2859)
- Changed HTTP Endpoint to Email for inbound email integrations (#2816)
- Enable inbound email feature flag by default by @vadimkerr (#2846)
- Fixed initial search on Users page (#2842)
- Improve Grafana Alerting integration by @Ferril @teodosii (#2742)
- Fixed UTC conversion for escalation chain step of timerange (#2781)
- Check for possible split events in range when resolving schedule (#2828)
- Shift swap requests public API (#2775)
- Shift swap request Slack follow-ups by @vadimkerr (#2798)
- Shift swap request push notification follow-ups by @vadimkerr (#2805)
- Improve default AlertManager template (#2794)
- Ignore ical cancelled events when calculating shifts (#2776)
- Fix Slack acknowledgment reminders by @vadimkerr (#2769)
- Fix issue with updating "Require resolution note" setting by @Ferril (#2782)
- Don't send notifications about past SSRs when turning on info notifications by @vadimkerr (#2783)
- Add schedule shift type validation on create/preview (#2789)
- Add alertmanager integration for heartbeat support (2807)
- Shift Swap Requests Web UI (#2593)
- Final schedule shifts should lay in one line (#1665)
- Add backend support for push notification sounds with custom extensions by @vadimkerr (#2759)
- Add stack slug to organization options for direct paging Slash command by @vadimkerr (#2743)
- Avoid creating (or notifying about) potential event splits resulting from untaken swap requests (#2748)
- Refactor heartbeats into a periodic task (2723)
- Do not show override shortcut when web overrides are disabled (#2745)
- Handle ical schedule import with duplicated event UIDs (#2760)
- Allow Editor to access Phone Verification (#2772)
- Add mobile app push notifications for shift swap requests by @vadimkerr (#2717)
- Skip past due swap requests when calculating events (2718)
- Update schedule slack notifications to use schedule final events by @Ferril (#2710)
- Fix schedule final_events datetime filtering when splitting override (#2715)
- Fix swap requests event filter limits in schedule events (#2716)
- Fix Alerting contact point auto-creation (2721)
- [Helm] Add
extraContainers
for engine, celery and migrate-job pods to define sidecars by @lu1as (#2650) – Rework of AlertManager integration (#2643)
- Add filter_shift_swaps endpoint to schedules API (#2684)
- Add shifts endpoint to shift swap API (#2697)
- Fix helm env variable validation logic when specifying Twilio auth related values by @njohnstone2 (#2674)
- Fixed mobile app verification not sending SMS to phone number (#2687)
- Fix one of the latest migrations failing on SQLite by @vadimkerr (#2680)
- Apply swap requests details to schedule events (#2677)
- Update the direct paging feature to page for acknowledged & silenced alert groups, and show a warning for resolved alert groups by @vadimkerr (#2639)
- Change calls to get instances from GCOM to paginate by @mderynck (#2669)
- Update checking on-call users to use schedule final events (#2651)
- Remove checks delaying plugin load and cause "Initializing plugin..." (2624)
- Fix "Continue escalation if >X alerts per Y minutes" escalation step by @vadimkerr (#2636)
- Post to Telegram ChatOps channel option is not showing in the integrations page by @alexintech (#2498)
- Added banner on the ChatOps screen for OSS to let the user know if no chatops integration is enabled (#1735)
- Add
rbac_enabled
toGET /api/internal/v1/current_team
response schema +rbac_permissions
toGET /api/internal/v1/user
response schema by @joeyorlando (#2611)
- Bring heartbeats back to UI by @maskin25 (#2550)
- Address issue when Grafana feature flags which were enabled via the
feature_flags.enabled
were only properly being parsed, when they were space-delimited. This fix allows them to be either space or comma-delimited. by @joeyorlando (#2623)
- Allow persisting mobile app's timezone, to allow for more accurate datetime related notifications by @joeyorlando (#2601)
- Add filter integrations by type (2609)
- Update direct paging docs by @vadimkerr (#2600)
- Improve APIs for creating/updating direct paging integrations by @vadimkerr (#2603)
- Remove unnecessary team checks in public API by @vadimkerr (#2606)
- Fix Slack direct paging issue when there are more than 100 schedules by @vadimkerr (#2594)
- Fix webhooks unable to be copied if they contain password or authorization header (#2608)
- Deprecate
AlertGroup.is_archived
column. Column will be removed in a subsequent release. By @joeyorlando (#2524). - Update Slack "invite" feature to use direct paging by @vadimkerr (#2562)
- Change "Current responders" to "Additional Responders" in web UI by @vadimkerr (#2567)
- Fix duplicate orders on routes and escalation policies by @vadimkerr (#2568)
- Fixed Slack channels sync by @Ferril (#2571)
- Fixed rendering of slack connection errors (#2526)
- Added
PHONE_PROVIDER
configuration check by @sreway (#2523) - Deprecate
/oncall
Slack command, update direct paging functionality by @vadimkerr (#2537) - Change plugin version to drop the
v
prefix. (#2540)
- Remove deprecated
heartbeat.HeartBeat
model/table by @joeyorlando (#2534)
- Add
page_size
,current_page_number
, andtotal_pages
attributes to paginated API responses by @joeyorlando (#2471)
- New webhooks incorrectly masking authorization header by @mderynck (#2541)
- Release new webhooks functionality by @mderynck @matiasb @maskin25 @teodosii @raphael-batte (#1830)
- Custom button webhooks are deprecated, they will be automatically migrated to new webhooks. (#1830)
- [Helm] Added ability to specify
resources
definition within thewait-for-db
init container by @Shelestov7 (#2501) - Added index on
started_at
column inalerts_alertgroup
table. This substantially speeds up query used by thecheck_escalation_finished_task
task. By @joeyorlando and @Konstantinov-Innokentii (#2516).
- Deprecated
/maintenance
web UI page. Maintenance is now handled at the integration level and can be performed within a single integration's page. by @Ukochka (#2497)
- Fixed a bug in the integration maintenance mode workflow where a user could not start/stop an integration's maintenance mode by @joeyorlando (#2511)
- Schedules: Long popup does not fit screen & buttons unreachable & objects outside of the popup #1002
- New schedules white theme issues #2356
- Bring new Jinja editor to webhooks (#2344)
- Add debounce on Select UI components to avoid making API search requests on each key-down event by @maskin25 (#2466)
- Make Direct paging integration configurable (2483)
- Add
event.users.avatar_full
field toGET /api/internal/v1/schedules/{schedule_id}/filter_events
payload by @joeyorlando (#2459) - Add
affinity
andtolerations
forcelery
andmigrations
pods into helm chart + unit test for chart
- Modified DRF pagination class used by
GET /api/internal/v1/alert_receive_channels
andGET /api/internal/v1/schedules
endpoints so that thenext
andprevious
pagination links are properly set when OnCall is run behind a reverse proxy by @joeyorlando (#2467) - Polish user settings and warnings (#2425)
- Address issue where we were improperly parsing Grafana feature flags that were enabled via the
feature_flags.enabled
method by @joeyorlando (#2477) - Fix cuddled list Markdown issue by @vadimkerr (#2488)
- Fixed schedules slack notifications for deleted organizations (#2493)
- OnCall Metrics dashboard update (#2400)
- Address issue where having multiple registered mobile apps for a user could lead to issues in delivering push notifications by @joeyorlando (#2421)
- Fix for phone provider initialization which can lead to an HTTP 500 on startup (#2434)
- Add full avatar URL for on-call users in schedule internal API by @vadimkerr (#2414)
- Add phone call using the zvonok.com service by @sreway (#2339)
- Docs for
/resolution_notes
public api endpoint #222
- Change alerts order for
/alert
public api endpoint #1031 - Change resolution notes order for
/resolution_notes
public api endpoint to show notes for the newest alert group on top (#2404) - Remove attempt to check token when editor/viewers are accessing the plugin @mderynck (#2410)
- Add metric "how many alert groups user was notified of" to Prometheus exporter (#2334)
- Change permissions used during setup to better represent actions being taken by @mderynck (#2242)
- Display 100000+ in stats when there are more than 100000 alert groups in the result (#1901)
- Change OnCall plugin to use service accounts and api tokens for communicating with backend, by @mderynck (#2385)
- RabbitMQ Docker image upgraded from 3.7.19 to 3.12.0 in
docker-compose-developer.yml
anddocker-compose-mysql-rabbitmq.yml
. Note: if you use one of these config files for your deployment you may need to follow the RabbitMQ "upgrade steps" listed here by @joeyorlando (#2359)
- For "You're Going OnCall" push notifications, show shift times in the user's configured timezone, otherwise UTC by @joeyorlando (#2351)
- Fix phone call & SMS relay by @vadimkerr (#2345)
- Secrets consistency for the chart. Bugfixing #1016
telegram.webhookUrl
now defaults tohttps://<base_url>
if not set- UI Updates for the integrations page (#2310)
- Prefer shift start when displaying rotation start value for existing shifts (#2316)
- Fixed minor schedule preview issue missing last day (#2316)
- Make it possible to completely delete a rotation oncall (#1505)
- Polish rotation modal form oncall (#1506)
- Quick actions when editing a schedule oncall (#1507)
- Enable schedule related profile settings oncall (#1508)
- Highlight user shifts oncall (#1509)
- Rename or Description for Schedules Rotations (#1460)
- Add documentation for OnCall metrics exporter (#2149)
- Add dashboard for OnCall metrics (#1973)
- Change mobile shift notifications title and subtitle by @imtoori (#2288)
- Make web schedule updates to trigger sync refresh of its ical representation (#2279)
- Fix duplicate orders for user notification policies by @vadimkerr (#2278)
- Fix broken markup on alert group page, declutter, make time format consistent (#2296)
- Change .Values.externalRabbitmq.passwordKey from
password
to""
(default valuerabbitmq-password
) (#864) - Remove deprecated
permissions
string array from the internal API user serializer by @joeyorlando (#2269)
- Add
locale
column to mobile app user settings table by @joeyorlando #2131 - Update notification text for "You're going on call" push notifications to include information about the shift start and end times by @joeyorlando (#2131)
- Handle non-UTC UNTIL datetime value when repeating ical events #2241
- Optimize AlertManager auto-resolve mechanism
- Users with the Viewer basic role can now connect and use the mobile app (#1892)
- Add helm chart support for redis and mysql existing secrets #2156
- Removed
SlackActionRecord
model and database table by @joeyorlando #2201 - Require users when creating a schedule rotation using the web UI #2220
- Fix schedule shift preview to not breaking rotation shifts when there is overlap #2218
- Fix schedule list filter by type to allow considering multiple values #2218
- Propogate CI/CD changes
- Helm chart: Upgrade helm dependecies, improve local setup #2144
- Fixed bug on Filters where team param from URL was discarded #6237
- Fix receive channel filter in alert groups API #2140
- Helm chart: Fix usage of
env
settings as map; Fix usage ofmariadb.auth.database
andmariadb.auth.username
for MYSQL env variables by @alexintech #2146
- Helm chart: Add unittests for rabbitmq and redis 2165
- Twilio Provider improvements by @Konstantinov-Innokentii, @mderynck and @joeyorlando #2074 #2034
- Run containers as a non-root user by @alexintech #2053
- Allow mobile app to consume "internal" schedules API endpoints by @joeyorlando (#2109)
- Add inbound email address in integration API by @vadimkerr (#2113)
- Make viewset actions more consistent by @vadimkerr (#2120)
- Fix + revert #2057 which reverted a change which properly handles
Organization.DoesNotExist
exceptions for Slack events by @joeyorlando (#TBD) - Fix Telegram ratelimit on live setting change by @vadimkerr and @alexintech (#2100)
- Do not hide not secret settings in the web plugin UI by @alexintech (#1964)
- Add public API endpoint to export a schedule's final shifts by @joeyorlando (2047)
- Fix demo alert for inbound email integration by @vadimkerr (#2081)
- Fix calendar TZ used when comparing current shifts triggering slack shift notifications (#2091)
- Fix a bug with permissions for telegram user settings by @alexintech (#2075)
- Fix orphaned messages in Slack by @vadimkerr (#2023)
- Fix duplicated slack shift-changed notifications (#2080)
- Add description to "Default channel for Slack notifications" UI dropdown by @joeyorlando (2051)
- Fix templates when slack or telegram is disabled (#2064)
- Reduce number of alert groups returned by
Attach To
in slack to avoid event trigger timeout @mderynck (#2049)
- Revert #2040 breaking
/escalate
Slack command
- Add models and framework to use different services (Phone, SMS, Verify) in Twilio depending on the destination country code by @mderynck (#1976)
- Prometheus exporter backend for alert groups related metrics
- Helm chart: configuration of
uwsgi
using environment variables by @alexintech (#2045) - Much expanded/improved docs for mobile app (2026)
- Enable by-day selection when defining monthly and hourly rotations (2037)
- Fix error when updating closed modal window in Slack by @vadimkerr (#2019)
- Fix final schedule export failing to update when ical imported events set start/end as date (#2025)
- Helm chart: fix bugs in helm chart with external postgresql configuration by @alexintech (#2036)
- Properly address
Organization.DoesNotExist
exceptions thrown which result in HTTP 500 for the Slackinteractive_api_endpoint
endpoint by @joeyorlando (#2040) - Fix issue when trying to sync Grafana contact point and config receivers miss a key (#2046)
- Changed mobile notification title and subtitle. Removed the body. by @imtoori #2027
- Fix AmazonSNS ratelimit by @Konstantinov-Innokentii (#2032)
- Fix Phone provider status callbacks #2014
- Phone provider refactoring #1713
- Handle slack metadata limit when creating paging command payload (#2007)
- Fix issue with sometimes cached final schedule not being refreshed after an update (#2004)
- Improve plugin authentication by @vadimkerr (#1995)
- Fix MultipleObjectsReturned error on webhook endpoints by @vadimkerr (#1996)
- Remove user defined time period from "you're going oncall" mobile push by @iskhakov (#2001)
- Allow passing Firebase credentials via environment variable by @vadimkerr (#1969)
- Update default Alertmanager templates by @iskhakov (#1944)
- Fix SQLite permission issue by @vadimkerr (#1984)
- Remove user defined time period from "you're going oncall" mobile push (2001)
- Fix inbound email bug when attaching files by @vadimkerr (#1970)
- Test mobile push backend
- Fixed bug in Escalation Chains where reordering an item crashed the list
- Add a way to set a maintenance mode message and display this in the web plugin UI by @joeyorlando (#1917)
- Use
user_profile_changed
Slack event instead ofuser_change
to update Slack user profile by @vadimkerr (#1938)
- Add mobile settings for info notifications by @imtoori (#1926)
- Fix bug in the "You're Going Oncall" push notification copy by @joeyorlando (#1922)
- Fix bug with newlines in markdown converter (#1925)
- Disable "You're Going Oncall" push notification by default (1927)
- Add a new mobile app push notification which notifies users when they are going on call by @joeyorlando (#1814)
- Add a new mobile app user setting field,
important_notification_volume_override
by @joeyorlando (#1893)
- Improve ical comparison when checking for imported ical updates (1870)
- Upgrade to Python 3.11.3 by @joeyorlando (#1849)
- Fix issue with how OnCall determines if a cloud Grafana Instance supports RBAC by @joeyorlando (#1880)
- Fix issue trying to set maintenance mode for integrations belonging to non-current team
- Hotfix perform notification task
- Fix issue with parsing response when sending Slack message
- Documentation updates
- Add filter descriptions to web ui by @iskhakov (1845)
- Add "Notifications Receiver" RBAC role by @joeyorlando (#1853)
- Remove template editor from Slack by @iskhakov (1847)
- Remove schedule name uniqueness restriction (1859)
- Fix bugs in web title and message templates rendering and visual representation (1747)
- Add 2, 3 and 6 hours Alert Group silence options by @tommysitehost (#1822)
- Add schedule related users endpoint to plugin API
- Update web UI, Slack, and Telegram to allow silencing an acknowledged alert group by @joeyorlando (#1831)
- Optimize duplicate queries occurring in AlertGroupFilter by @joeyorlando (1809)
- Helm chart: Fix helm hook for db migration job
- Performance improvements to
GET /api/internal/v1/alertgroups
endpoint by @joeyorlando and @iskhakov (#1805)
- Add helm chart support for twilio existing secrets by @atownsend247 (#1435)
- Add web_title, web_message and web_image_url attributes to templates (1786)
- Update shift API to use a default interval value (
1
) when afrequency
is set and nointerval
is given - Limit number of alertmanager alerts in alert group to autoresolve by 500 (1779)
- Update schedule and personal ical exports to use final shift events
- Fix broken documentation links by @shantanualsi (#1766)
- Fix bug when updating team access settings by @vadimkerr (#1794)
- Rework ical schedule export to include final events; also improve changing shifts sync
- Fix issue when creating web overrides for TF schedules using a non-UTC timezone
- Move
alerts_alertgroup.is_restricted
column toalerts_alertreceivechannel.restricted_at
by @joeyorlando (#1770)
- Add new field description_short to private api (#1698)
- Added preview and migration API endpoints for route migration from regex into jinja2 (1715)
- Helm chart: add the option to use a helm hook for the migration job (1386)
- Add endpoints to start and stop maintenance in alert receive channel private api (1755)
- Send demo alert with dynamic payload and get demo payload example on private api (1700)
- Add is_default fields to templates, remove WritableSerialiserMethodField (1759)
- Allow use of dynamic payloads in alert receive channels preview template in private api (1756)
- add new columns
gcom_org_contract_type
,gcom_org_irm_sku_subscription_start_date
, andgcom_org_oldest_admin_with_billing_privileges_user_id
touser_management_organization
table, plusis_restricted
column toalerts_alertgroup
table by @joeyorlando and @teodosii (1522) - emit two new Django signals by @joeyorlando and @teodosii (1522)
org_sync_signal
at the end of theengine/apps/user_management/sync.py::sync_organization
methodalert_group_created_signal
when a new Alert Group is created
- Added mine filter to schedules listing
- Fixed a bug in GForm's RemoteSelect where the value for Dropdown could not change
- Fixed the URL attached to an Incident created via the 'Declare Incident' button of a Slack alert by @sd2k (#1738)
- Catch the new Slack error - "message_limit_exceeded"
- Allow editing assigned team via public api (1619)
- Disable mentions when resolution note is created by @iskhakov (1696)
- Display warnings on users page in a clean and consistent way by @iskhakov (#1681)
- Save selected teams filter in local storage (#1611)
- Renamed routes from /incidents to /alert-groups (#1678)
- Fix team search when filtering resources by @vadimkerr (#1680)
- Fix issue when trying to scroll in Safari (#415)
- Fixed bug when web schedules/shifts use non-UTC timezone and shift is deleted by @matiasb (#1661)
- Fixed a bug with Slack links not working in the plugin UI (#1671)
- Added the ability to change the team for escalation chains by @maskin25, @iskhakov and @vadimkerr (#1658)
- Addressed bug with iOS mobile push notifications always being set to critical by @imtoori and @joeyorlando (#1646)
- Fixed issue where Viewer was not able to view which people were oncall in a schedule (#999)
- Fixed a bug with syncing teams from Grafana API by @vadimkerr (#1652)
Only some minor performance/developer setup changes to report in this version.
- Drawers with Forms are not closing by clicking outside of the drawer. Only by clicking Cancel or X (by @Ukochka in #1608)
- When the
DANGEROUS_WEBHOOKS_ENABLED
environment variable is set to true, it's possible now to create Outgoing Webhooks using URLs without a top-level domain (by @hoptical in #1398) - Updated wording when creating an integration (by @callmehyde in #1572)
- Set FCM iOS/Android "message priority" to "high priority" for mobile app push notifications (by @joeyorlando in #1612)
- Improve schedule quality feature (by @vadimkerr in #1602)
- Update override deletion changes to set its final duration (by @matiasb in #1599)
- Mobile app settings backend by @vadimkerr in (1571)
- Fix integrations and escalations autoselect, improve GList by @maskin25 in (1601)
- Add filters to outgoing webhooks 2 by @iskhakov in (1598)
- Add team-based filtering for resources, so that users can see multiple resources at once and link them together (1528)
- Modified
check_escalation_finished_task
celery task to use read-only databases for its query, if one is defined + make the validation logic stricter + ping a configurable heartbeat on successful completion of this task (1266)
- Updated wording throughout plugin to use 'Alert Group' instead of 'Incident' (1565, 1576)
- Check for enabled Telegram feature was added to ChatOps and to User pages (319)
- Filtering for Editors/Admins was added to rotation form. It is not allowed to assign Viewer to rotation (1124)
- Modified search behaviour on the Escalation Chains page to allow for "partial searching" (1578)
- Fixed a few permission issues on the UI (1448)
- Fix resolution note rendering in Slack message threads where the Slack username was not being properly rendered (1561)
- Check for duplicated positions in terraform escalation policies create/update
- Add
regex_match
Jinja filter (1556)
- Allow passing
null
as a value forescalation_chain
when creating routes via the public API (1557)
- Inbound email integration (837)
- Add filtering by escalation chain to alert groups page (1535)
- Improve tasks checking/triggering webhooks in new backend
- Fixed redirection issue on integrations screen
- Enable web overrides for Terraform-based schedules
- Direct user paging improvements (1358)
- Added Schedule Score quality within the schedule view (118)
- Fix bug with override creation (1515)
- Insight logs
- Fixed issue with Alert group involved users filter
- Fixed email sending failure due to newline in title
- Jinja2 based routes (1319)
- Remove mobile app feature flag (1484)
- Prohibit creating & updating past overrides (1474)
- Show permission error for accessing Telegram as Viewer (1273)
- Pass email and phone limits as environment variables (1219)
- Add acknowledge_signal and source link to public api
- Fixed importing of global grafana styles (672)
- Fixed UI permission related bug where Editors could not export their user iCal link
- Fixed error when a shift is created using Etc/UTC as timezone
- Fixed issue with refresh ical file task not considering empty string values
- Schedules: Long popup does not fit screen & buttons unreachable & objects outside of the popup (1002)
- Can't scroll on integration settings page (415)
- Team change in the Integration page always causes 403 (1292)
- Schedules: Permalink doesn't work with multi-teams (940)
- Schedules list -> expanded schedule blows page width (1293)
- Moved reCAPTCHA to backend environment variable for more flexible configuration between different environments.
- Add pagination to schedule listing
- Show 100 latest alerts on alert group page (1417)
- Allow creating schedules with type "web" using public API
- Fixed minor issue during the sync process where an HTTP 302 (redirect) status code from the Grafana instance would cause the sync to not properly finish
- Fixed maintenance mode for Telegram and MSTeams
- Added reCAPTCHA validation for requesting a mobile verification code
- Added ratelimits for phone verification
- Link to source was added
- Header of Incident page was reworked: clickable labels instead of just names, users section was deleted
- "Go to Integration" button was deleted, because the functionality was moved to clickable labels
- Fixed HTTP request to Google where when fetching an iCal, the response would sometimes contain HTML instead of the expected iCal data
- Make alert group filters persistent (482)
- Update phone verification error message
- Fixed too long declare incident link in Slack
- Cleaning of the name "Incident" (704)
- Alert Group/Alert Groups naming polishing. All the names should be with capital letters
- Design polishing (1290)
- Not showing contact details in User tooltip if User does not have edit/admin access
- Updated slack link account to redirect back to user profile instead of chatops
- Incidents - Removed buttons column and replaced status with toggler (#1237)
- Responsiveness changes across multiple pages (Incidents, Integrations, Schedules) (#1237)
- Add pagination to schedule listing
- Fix bug with email case sensitivity for ICal on-call schedules (1297)
- Fix bug with root/dependant alert groups list api endpoint (1284)
- Fixed NPE on teams switch
- Optimize alert and alert group public api endpoints and add filter by id (1274)
- Enable mobile app backend by default on OSS
- Add
django-dbconn-retry
library toINSTALLED_APPS
to attempt to alleviate occasionaldjango.db.utils.OperationalError
errors - Improve alerts and alert group endpoint response time in internal API with caching (1261)
- Optimize alert and alert group public api endpoints and add filter by id (1274
- Added Coming Soon for iOS on Mobile App screen
- Fix issue on Integrations where you were redirected back once escalation chain was loaded (#1083) (#1257)
- Add involved users filter to alert groups listing page (+ mine shortcut)
- Improve logging for creating contact point for Grafana Alerting integration
- Fix bugs related to creating contact point for Grafana Alerting integration
- Fix minor UI bug on OnCall users page where it would idefinitely show a "Loading..." message
- Only show OnCall user's table to users that are authorized
- Fixed NPE in ScheduleUserDetails component (#1229)
- Add Server URL below QR code for OSS for debugging purposes
- Add Slack slash command allowing to trigger a direct page via a manually created alert group
- Remove resolved and acknowledged filters as we switched to status (#1201)
- Add sync with grafana on /users and /teams api calls from terraform plugin
- Allow users with
viewer
role to fetch cloud connection status using the internal API (#1181) - When removing the Slack ChatOps integration, make it more explicit to the user what the implications of doing so are
- Improve performance of
GET /api/internal/v1/schedules
endpoint (#1169)
- Removed duplicate API call, in the UI on plugin initial load, to
GET /api/internal/v1/alert_receive_channels
- Increased plugin startup speed (#1200)
- Allow messaging backends to be enabled/disabled per organization (#1151)
- Send a Slack DM when user is not in channel (#1144)
- Modified how the
Organization.is_rbac_permissions_enabled
flag is set, based on whether we are dealing with an open-source, or cloud installation - Backend implementation to support direct user/schedule paging
- Changed documentation links to open in new window
- Remove helm chart signing
- Changed the user's profile modal to be wide for all tabs
- Added state filter for alert_group public API endpoint.
- Enrich user tooltip on Schedule page
- Added redirects for old-style links
- Updated typo in Helm chart values when specifying a custom Slack command name
- Fix for web schedules ical export to give overrides the right priority
- Fix for topnavbar to show initial loading inside PluginPage
-
Minor bug fix in how the value of
Organization.is_rbac_permissions_enabled
is determined -
Helm chart: default values file and documentation now reflect the correct key to set for the Slack slash command name,
oncall.slack.commandName
.
- Simplify and speed up slack rendering (#1105)
- Faro - Point to 3 separate apps instead of just 1 for all environments (#1110)
- Schedules - (#1114, #1109)
- Bugfix for topnavbar to place alerts inside PageNav (#1040)
- Change wording from "incident" to "alert group" for the Telegram integration (#1052)
- Soft-delete of organizations on stack deletion.
- Integration with Grafana Faro for Cloud Instances
- Handle jinja exceptions during alert creation
- Handle exception for slack rate limit message
- Fix error when schedule was not able to load
- Minor fixes
- Minor fixes
- Alert group query optimization
- Update RBAC scopes
- Fix error when schedule was not able to load
- Minor bug fixes
- Added a
make
command,enable-mobile-app-feature-flags
, which sets the backend feature flag in./dev/.env.dev
, and updates a record in thebase_dynamicsetting
database table, which are needed to enable the mobile app backend features.
- Added ability to change engine deployment update strategy via values in helm chart.
- removed APNS support
- changed the
django-push-notification
library from theiskhakov
fork to thegrafana
fork. This new fork basically patches an issue which affected the database migrations of this django app (previously the library would not respect theUSER_MODEL
setting when creating its tables and would instead reference theauth_user
table.. which we don't want) - add
--no-cache
flag to themake build
command
- fix schedule UI types and permissions
- Update fallback role for schedule write RBAC permission
- Mobile App Verification tab in the user settings modal is now hidden for users that do not have proper permissions to use it
- RBAC permission support
- Add
time_zone
serializer validation for OnCall shifts and calendar/web schedules. In addition, add database migration to update values that may be invalid - Add a
permalinks.web
field, which is a permalink to the alert group web app page, to the alert group internal/public API responses - Added the ability to customize job-migrate
ttlSecondsAfterFinished
field in the helm chart
- Got 500 error when saving Outgoing Webhook (#890)
- v1.0.13 helm chart - update the OnCall backend pods image pull policy to "Always" (and explicitly set tag to
latest
). This should resolve some recent issues experienced where the frontend/backend versions are not aligned.
- When editing templates for alert group presentation or outgoing webhooks, errors and warnings are now displayed in the UI as notification popups or displayed in the preview.
- Errors and warnings that occur when rendering templates during notification or webhooks will now render and display the error/warning as the result.
- Added a QR code in the "Mobile App Verification" tab on the user settings modal to connect the mobile application to your OnCall instance
- Bug fix for #882 which was causing the OnCall web calendars to not load
- Bug fix which, when installing the plugin, or after removing a Grafana API token, caused the plugin to not load properly
- Bug Fixes
- For OSS installations of OnCall, initial configuration is now simplified. When running for local development, you no
longer need to configure the plugin via the UI. This is achieved through passing one environment variable to both the
backend & frontend containers, both of which have been preconfigured for you in
docker-compose-developer.yml
.- The Grafana API URL must be passed as an environment variable,
GRAFANA_API_URL
, to the OnCall backend (and can be configured by updating this env var in your./dev/.env.dev
file) - The OnCall API URL can optionally be passed as an environment variable,
ONCALL_API_URL
, to the OnCall UI. If the environment variable is found, the plugin will "auto-configure", otherwise you will be shown a simple configuration form to provide this info.
- The Grafana API URL must be passed as an environment variable,
- For Helm installations, if you are running Grafana externally (eg.
grafana.enabled
is set tofalse
in yourvalues.yaml
), you will now be required to specifyexternalGrafana.url
invalues.yaml
. make start
will now idempotently check to see if a "127.0.0.1 grafana" record exists in/etc/hosts
(using a tool calledhostess
). This is to support usinghttp://grafana:3000
as theOrganization.grafana_url
in two scenarios:oncall_engine
/oncall_celery
->grafana
Docker container communication- public URL generation. There are some instances where
Organization.grafana_url
is referenced to generate public URLs to a Grafana plugin page. Without the/etc/hosts
record, navigating tohttp://grafana:3000/some_page
in your browser, you would obviously get an error from your browser.
- Bug Fixes
- Compatibility with Grafana 9.3.0
- Bug Fixes
- Allow use of API keys as alternative to account auth token for Twilio
- Remove
grafana_plugin_management
Django app - Enable new schedules UI
- Bug fixes
- Bug Fixes
- Updates to documentation
- Improvements to web schedules
- Bug fixes
- Enable SMTP email backend by default
- Fix Grafana sidebar frontend bug
- verify_number management command
- chatops page redesign
- Bug fixes
- Bug fixes
- remove
POST /api/internal/v1/custom_buttons/{id}/action
endpoint
- Bug fix to revert commit which removed unused engine code
- Bug fix for an issue that was affecting phone verification
- Bug fixes
- Fix posting resolution notes to Slack
- Add personal email notifications
- Bug fixes
- Improved database and celery backends support
- Added script to import PagerDuty users to Grafana
- Bug fixes
- Fix issue in v1.0.38 blocking the creation of schedules and webhooks in the UI
- Fix exception handling for adding resolution notes when slack and oncall users are out of sync.
- Fix all day events showing as having gaps in slack notifications
- Improve plugin configuration error message readability
- Add
telegram
key topermalinks
property inAlertGroup
public API response schema
- Improve API token creation form
- Fix alert group bulk action bugs
- Add
permalinks
property toAlertGroup
public API response schema - Scheduling system bug fixes
- Public API bug fixes
- Alpha web schedules frontend/backend updates
- Bug fixes
- Bug fixes
- Fix schedule notification spam
- Add raw alert view
- Add GitHub star button for OSS installations
- Restore alert group search functionality
- Bug fixes
- Bug fixes
- Bump celery version
- Fix oss to cloud connection
- Bug fix: check user notification policy before access
- Add arm64 docker image
- Bug fixes
- Bug fixes
- Insight log's format fixes
- Remove UserNotificationPolicy auto-recreating
- Bug fixes
- Insight logs
- Default DATA_UPLOAD_MAX_MEMORY_SIZE to 1mb
- Bug fixes
- Make STATIC_URL configurable from environment variable
- Bug fixes
- Bug fixes
- Bug fixes
- Optimize alert group list view
- Fix a bug related to Twilio setup
- Update push-notifications dependency
- Rework how absolute URLs are built
- Fix to show maintenance windows per team
- Logging improvements
- Internal api to get a schedule final events
- Speed-up of alert group web caching
- Internal api for OnCall shifts
- Frontend bug fixes & improvements
- Support regex_replace() in templates
- Bring back alert group caching and list view
- Backend & frontend bug fixes
- Deployment improvements
- Reshape webhook payload for outgoing webhooks
- Add escalation chain usage info on escalation chains page
- Improve alert group list load speeds and simplify caching system
- Manual Incidents enabled for teams
- Fix phone notifications for OSS
- Public API improvements
- Bump Django to 3.2.14
- Fix PagerDuty iCal parsing
- Allow Telegram DMs without channel connection.
- Fix users public api endpoint. Now it returns users with all roles.
- Fix redundant notifications about gaps in schedules.
- Frontend fixes.
- Fix Grafana Alerting integration to handle API changes in Grafana 9
- Improve public api endpoint for outgoing webhooks (/actions) by adding ability to create, update and delete outgoing webhook instance
- First Public Release
- Initial Commit Release