oncall-engine/CHANGELOG.md

330 lines
8.9 KiB
Markdown
Raw Normal View History

# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## v1.1.8 (TBD)
### Changed
- removed APNS support
- changed the `django-push-notification` library from the `iskhakov` fork to the [`grafana` fork](https://github.com/grafana/django-push-notifications).
This new fork basically patches an issue which affected the database migrations of this django app (previously the
library would not respect the `USER_MODEL` setting when creating its tables and would instead reference the
`auth_user` table.. which we don't want)
- add `--no-cache` flag to the `make build` command
2022-12-09 15:16:33 -03:00
## v1.1.7 (2022-12-09)
### Fixed
- 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
## v1.1.6 (2022-12-09)
Add RBAC Support (#777) * Modify plugin.json to support RBAC role registration * defines 26 new custom roles in plugin.json. The main roles are: - Admin: read/write access to everything in OnCall - Reader: read access to everything in OnCall - OnCaller : read access to everything in OnCall + edit access to Alert Groups and Schedules - <object-type> Editor: read/write access to everything related to <object-type> - <object-type> Reader: read access for <object-type> - User Settings Admin: read/write access to all user's settings, not just own settings. This is in comparison to User Settings Editor which can only read/write own settings * update changelog and documentation (#686) * implement RBAC for OnCall backend This commit refactors backend authorization. It trys to use RBAC authorization if the org's grafana instance supports it, otherwise it falls back to basic role authorization. * update RBAC backend tests * add tests for RBAC changes - run backend tests as matrix where RBAC is enabled/disabled. When RBAC is enabled, the permissions granted are read from the role grants in the frontend's plugin.json file (instead of relying what we specify in RBACPermission.Permissions) - remove --reuse-db --nomigrations flags from engine/tox.ini - minor autoformatting changes to docker-compose-developer.yml * remove --ds=settings.ci-test from pytest CI command DJANGO_SETTINGS_MODULE is already specified as an env var so this is just unecessary duplication * update gitignore * update github action job name for "test" * RBAC frontend changes * refactors the use of basic roles (ex. Viewer, Editor, Admin) use RBAC permissions (when supported), or falling back to basic roles when RBAC is not supported. - updates the UserAction enum in grafana-plugin/src/state/userAction.ts. Previously this was hardcoded to a list of strings that were being returned by the OnCall API. Now the values here correspond to the permissions in plugin.json (plus a fallback role) * changes per Gabriel's comments: - get rid of group attribute in rbac roles - remove displayName role attribute - remove hidden role attribute - add back role to includes section * don't try to update user timezone if they don't have permission
2022-11-29 09:41:56 +01:00
### Added
- 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
### Fixed
Add RBAC Support (#777) * Modify plugin.json to support RBAC role registration * defines 26 new custom roles in plugin.json. The main roles are: - Admin: read/write access to everything in OnCall - Reader: read access to everything in OnCall - OnCaller : read access to everything in OnCall + edit access to Alert Groups and Schedules - <object-type> Editor: read/write access to everything related to <object-type> - <object-type> Reader: read access for <object-type> - User Settings Admin: read/write access to all user's settings, not just own settings. This is in comparison to User Settings Editor which can only read/write own settings * update changelog and documentation (#686) * implement RBAC for OnCall backend This commit refactors backend authorization. It trys to use RBAC authorization if the org's grafana instance supports it, otherwise it falls back to basic role authorization. * update RBAC backend tests * add tests for RBAC changes - run backend tests as matrix where RBAC is enabled/disabled. When RBAC is enabled, the permissions granted are read from the role grants in the frontend's plugin.json file (instead of relying what we specify in RBACPermission.Permissions) - remove --reuse-db --nomigrations flags from engine/tox.ini - minor autoformatting changes to docker-compose-developer.yml * remove --ds=settings.ci-test from pytest CI command DJANGO_SETTINGS_MODULE is already specified as an env var so this is just unecessary duplication * update gitignore * update github action job name for "test" * RBAC frontend changes * refactors the use of basic roles (ex. Viewer, Editor, Admin) use RBAC permissions (when supported), or falling back to basic roles when RBAC is not supported. - updates the UserAction enum in grafana-plugin/src/state/userAction.ts. Previously this was hardcoded to a list of strings that were being returned by the OnCall API. Now the values here correspond to the permissions in plugin.json (plus a fallback role) * changes per Gabriel's comments: - get rid of group attribute in rbac roles - remove displayName role attribute - remove hidden role attribute - add back role to includes section * don't try to update user timezone if they don't have permission
2022-11-29 09:41:56 +01:00
- Got 500 error when saving Outgoing Webhook ([#890](https://github.com/grafana/oncall/issues/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.
### Changed
Add RBAC Support (#777) * Modify plugin.json to support RBAC role registration * defines 26 new custom roles in plugin.json. The main roles are: - Admin: read/write access to everything in OnCall - Reader: read access to everything in OnCall - OnCaller : read access to everything in OnCall + edit access to Alert Groups and Schedules - <object-type> Editor: read/write access to everything related to <object-type> - <object-type> Reader: read access for <object-type> - User Settings Admin: read/write access to all user's settings, not just own settings. This is in comparison to User Settings Editor which can only read/write own settings * update changelog and documentation (#686) * implement RBAC for OnCall backend This commit refactors backend authorization. It trys to use RBAC authorization if the org's grafana instance supports it, otherwise it falls back to basic role authorization. * update RBAC backend tests * add tests for RBAC changes - run backend tests as matrix where RBAC is enabled/disabled. When RBAC is enabled, the permissions granted are read from the role grants in the frontend's plugin.json file (instead of relying what we specify in RBACPermission.Permissions) - remove --reuse-db --nomigrations flags from engine/tox.ini - minor autoformatting changes to docker-compose-developer.yml * remove --ds=settings.ci-test from pytest CI command DJANGO_SETTINGS_MODULE is already specified as an env var so this is just unecessary duplication * update gitignore * update github action job name for "test" * RBAC frontend changes * refactors the use of basic roles (ex. Viewer, Editor, Admin) use RBAC permissions (when supported), or falling back to basic roles when RBAC is not supported. - updates the UserAction enum in grafana-plugin/src/state/userAction.ts. Previously this was hardcoded to a list of strings that were being returned by the OnCall API. Now the values here correspond to the permissions in plugin.json (plus a fallback role) * changes per Gabriel's comments: - get rid of group attribute in rbac roles - remove displayName role attribute - remove hidden role attribute - add back role to includes section * don't try to update user timezone if they don't have permission
2022-11-29 09:41:56 +01:00
- 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.
Add RBAC Support (#777) * Modify plugin.json to support RBAC role registration * defines 26 new custom roles in plugin.json. The main roles are: - Admin: read/write access to everything in OnCall - Reader: read access to everything in OnCall - OnCaller : read access to everything in OnCall + edit access to Alert Groups and Schedules - <object-type> Editor: read/write access to everything related to <object-type> - <object-type> Reader: read access for <object-type> - User Settings Admin: read/write access to all user's settings, not just own settings. This is in comparison to User Settings Editor which can only read/write own settings * update changelog and documentation (#686) * implement RBAC for OnCall backend This commit refactors backend authorization. It trys to use RBAC authorization if the org's grafana instance supports it, otherwise it falls back to basic role authorization. * update RBAC backend tests * add tests for RBAC changes - run backend tests as matrix where RBAC is enabled/disabled. When RBAC is enabled, the permissions granted are read from the role grants in the frontend's plugin.json file (instead of relying what we specify in RBACPermission.Permissions) - remove --reuse-db --nomigrations flags from engine/tox.ini - minor autoformatting changes to docker-compose-developer.yml * remove --ds=settings.ci-test from pytest CI command DJANGO_SETTINGS_MODULE is already specified as an env var so this is just unecessary duplication * update gitignore * update github action job name for "test" * RBAC frontend changes * refactors the use of basic roles (ex. Viewer, Editor, Admin) use RBAC permissions (when supported), or falling back to basic roles when RBAC is not supported. - updates the UserAction enum in grafana-plugin/src/state/userAction.ts. Previously this was hardcoded to a list of strings that were being returned by the OnCall API. Now the values here correspond to the permissions in plugin.json (plus a fallback role) * changes per Gabriel's comments: - get rid of group attribute in rbac roles - remove displayName role attribute - remove hidden role attribute - add back role to includes section * don't try to update user timezone if they don't have permission
2022-11-29 09:41:56 +01:00
2022-11-24 14:03:14 +00:00
## v1.1.5 (2022-11-24)
### Added
- Added a QR code in the "Mobile App Verification" tab on the user settings modal to connect the mobile
application to your OnCall instance
2022-11-24 14:03:14 +00:00
### Fixed
- UI bug fixes for Grafana 9.3 ([#860](https://github.com/grafana/oncall/pull/860))
- Bug fix for saving source link template ([#898](https://github.com/grafana/oncall/pull/898))
## v1.1.4 (2022-11-23)
### Fixed
- Bug fix for [#882](https://github.com/grafana/oncall/pull/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
2022-11-22 11:27:41 -07:00
## v1.1.3 (2022-11-22)
- Bug Fixes
### Changed
- 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.
- For Helm installations, if you are running Grafana externally (eg. `grafana.enabled` is set to `false`
in your `values.yaml`), you will now be required to specify `externalGrafana.url` in `values.yaml`.
- `make start` will now idempotently check to see if a "127.0.0.1 grafana" record exists in `/etc/hosts`
(using a tool called [`hostess`](https://github.com/cbednarski/hostess)). This is to support using `http://grafana:3000`
as the `Organization.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 to `http://grafana:3000/some_page` in
your browser, you would obviously get an error from your browser.
2022-07-21 10:46:44 +01:00
2022-11-22 11:27:41 -07:00
## v1.1.2 (2022-11-18)
2022-11-18 17:39:23 +08:00
- Bug Fixes
2022-11-22 11:27:41 -07:00
## v1.1.1 (2022-11-16)
2022-11-16 19:11:13 +08:00
- Compatibility with Grafana 9.3.0
- Bug Fixes
2022-11-09 15:05:55 -03:00
## v1.0.52 (2022-11-09)
2022-11-03 12:42:36 -06:00
2022-10-18 16:12:57 -06:00
- Allow use of API keys as alternative to account auth token for Twilio
- Remove `grafana_plugin_management` Django app
2022-11-09 15:05:55 -03:00
- Enable new schedules UI
- Bug fixes
2022-10-18 16:12:57 -06:00
2022-11-05 00:44:55 -06:00
## v1.0.51 (2022-11-05)
- Bug Fixes
2022-11-03 15:33:34 -03:00
## v1.0.50 (2022-11-03)
- Updates to documentation
- Improvements to web schedules
- Bug fixes
2022-11-01 14:34:31 +00:00
## v1.0.49 (2022-11-01)
- Enable SMTP email backend by default
- Fix Grafana sidebar frontend bug
2022-11-01 19:03:01 +08:00
## v1.0.48 (2022-11-01)
2022-11-01 19:02:10 +08:00
- verify_number management command
- chatops page redesign
2022-11-01 19:03:01 +08:00
## v1.0.47 (2022-11-01)
2022-11-01 19:02:10 +08:00
- Bug fixes
## v1.0.46 (2022-10-28)
- Bug fixes
- remove `POST /api/internal/v1/custom_buttons/{id}/action` endpoint
2022-10-27 15:23:17 +02:00
## v1.0.45 (2022-10-27)
- Bug fix to revert commit which removed unused engine code
2022-10-27 16:02:05 +08:00
## v1.0.44 (2022-10-26)
- Bug fix for an issue that was affecting phone verification
2022-10-25 13:42:32 -06:00
## v1.0.43 (2022-10-25)
2022-10-25 13:42:32 -06:00
- Bug fixes
2022-10-24 16:32:53 +01:00
## v1.0.42 (2022-10-24)
2022-10-24 16:32:53 +01:00
- Fix posting resolution notes to Slack
2022-10-24 19:22:56 +08:00
## v1.0.41 (2022-10-24)
2022-10-24 19:22:56 +08:00
- Add personal email notifications
- Bug fixes
2022-10-05 14:55:33 -03:00
## v1.0.40 (2022-10-05)
2022-10-05 14:55:33 -03:00
- Improved database and celery backends support
- Added script to import PagerDuty users to Grafana
- Bug fixes
2022-10-03 11:18:49 -06:00
## v1.0.39 (2022-10-03)
- Fix issue in v1.0.38 blocking the creation of schedules and webhooks in the UI
2022-09-30 12:40:22 -06:00
## v1.0.38 (2022-09-30)
2022-09-30 12:40:22 -06:00
- 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 to `permalinks` property in `AlertGroup` public API response schema
## v1.0.37 (2022-09-21)
2022-09-23 12:10:01 +01:00
- Improve API token creation form
- Fix alert group bulk action bugs
- Add `permalinks` property to `AlertGroup` public API response schema
2022-09-23 12:10:01 +01:00
- Scheduling system bug fixes
- Public API bug fixes
2022-09-12 10:20:08 -03:00
## v1.0.36 (2022-09-12)
2022-09-12 10:20:08 -03:00
- Alpha web schedules frontend/backend updates
- Bug fixes
2022-09-07 11:35:41 +01:00
## v1.0.35 (2022-09-07)
2022-09-07 11:35:41 +01:00
- Bug fixes
2022-09-06 20:18:03 +05:00
## v1.0.34 (2022-09-06)
2022-09-06 20:18:03 +05:00
- Fix schedule notification spam
2022-09-06 13:11:12 +01:00
## v1.0.33 (2022-09-06)
2022-09-06 13:11:12 +01:00
- Add raw alert view
- Add GitHub star button for OSS installations
- Restore alert group search functionality
- Bug fixes
2022-09-01 14:48:14 +01:00
## v1.0.32 (2022-09-01)
2022-09-01 14:48:14 +01:00
- Bug fixes
2022-09-01 16:22:58 +05:00
## v1.0.31 (2022-09-01)
2022-09-01 16:22:58 +05:00
- Bump celery version
- Fix oss to cloud connection
2022-08-31 12:29:56 -06:00
## v1.0.30 (2022-08-31)
2022-08-31 12:29:56 -06:00
- Bug fix: check user notification policy before access
## v1.0.29 (2022-08-31)
- Add arm64 docker image
## v1.0.28 (2022-08-31)
- Bug fixes
2022-08-30 14:31:04 +01:00
## v1.0.27 (2022-08-30)
2022-08-30 14:31:04 +01:00
- Bug fixes
2022-08-26 16:06:21 +05:00
## v1.0.26 (2022-08-26)
2022-08-26 16:06:21 +05:00
- Insight log's format fixes
- Remove UserNotificationPolicy auto-recreating
2022-08-24 16:16:27 -03:00
## v1.0.25 (2022-08-24)
2022-08-24 16:16:27 -03:00
- Bug fixes
2022-08-24 13:27:23 +05:00
## v1.0.24 (2022-08-24)
2022-08-24 13:27:04 +05:00
- Insight logs
- Default DATA_UPLOAD_MAX_MEMORY_SIZE to 1mb
2022-08-23 17:20:08 -03:00
## v1.0.23 (2022-08-23)
2022-08-23 17:20:08 -03:00
- Bug fixes
2022-08-16 09:47:23 -06:00
## v1.0.22 (2022-08-16)
2022-08-16 09:47:23 -06:00
- Make STATIC_URL configurable from environment variable
2022-08-12 10:23:15 -06:00
## v1.0.21 (2022-08-12)
2022-08-12 10:23:15 -06:00
- Bug fixes
2022-08-16 09:47:23 -06:00
2022-08-10 12:33:46 -03:00
## v1.0.19 (2022-08-10)
2022-08-10 12:33:46 -03:00
- Bug fixes
2022-08-03 12:54:36 +01:00
## v1.0.15 (2022-08-03)
2022-08-03 11:57:44 +01:00
- Bug fixes
2022-07-27 13:03:05 +01:00
## v1.0.13 (2022-07-27)
2022-07-27 13:03:05 +01:00
- Optimize alert group list view
- Fix a bug related to Twilio setup
2022-07-26 10:13:02 -03:00
## v1.0.12 (2022-07-26)
2022-07-26 10:13:02 -03:00
- 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
2022-07-22 15:24:24 +04:00
## v1.0.10 (2022-07-22)
2022-07-22 15:24:24 +04:00
- Speed-up of alert group web caching
- Internal api for OnCall shifts
2022-07-21 16:00:38 +01:00
## v1.0.9 (2022-07-21)
2022-07-21 10:46:44 +01:00
- Frontend bug fixes & improvements
- Support regex_replace() in templates
2022-07-21 16:00:38 +01:00
- Bring back alert group caching and list view
2022-07-18 16:21:15 +01:00
## v1.0.7 (2022-07-18)
2022-07-18 16:21:15 +01:00
- 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
## v1.0.6 (2022-07-12)
2022-07-12 14:15:46 +04:00
- Manual Incidents enabled for teams
- Fix phone notifications for OSS
- Public API improvements
2022-07-18 16:21:15 +01:00
## v1.0.5 (2022-07-06)
2022-07-18 16:21:15 +01:00
- Bump Django to 3.2.14
- Fix PagerDuty iCal parsing
2022-06-28 16:02:37 -03:00
## 1.0.4 (2022-06-28)
2022-06-28 16:02:37 -03:00
- Allow Telegram DMs without channel connection.
2022-06-27 13:42:24 +04:00
## 1.0.3 (2022-06-27)
2022-06-27 13:42:24 +04:00
- Fix users public api endpoint. Now it returns users with all roles.
- Fix redundant notifications about gaps in schedules.
- Frontend fixes.
2022-06-17 10:23:38 -06:00
## 1.0.2 (2022-06-17)
- 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
2022-06-17 10:23:38 -06:00
## 1.0.0 (2022-06-14)
- First Public Release
## 0.0.71 (2022-06-06)
2022-06-28 16:02:37 -03:00
- Initial Commit Release