Releases: Uninett/Argus
[1.17.0] - 2024-05-03
Added
- Add a possibility to filter incidents by start time in incident admin list
(#739) - Added an optional JSONField "metadata" to incident. This can be used for any
additional info the glue-service would like to store on the incident that
needs more structure than tags. The field has been added to the V2
IncidentSerializer but we do not plan to expose it in the frontend. - Added documentation on how to safely test notifications.
- Added simple support for pluggable django-apps. The setting
OVERRIDING_APPS
is loaded first inINSTALLED_APPSandurls.py, and can override templates
and views. The settingEXTRA_APPSis safer, it is loaded last in
INSTALLED_APPSandurls.pyand can therefore only add additional
templates and views.
Changed
- When editing a notification profile in the admin UI, only the profile owner's
own filters are now listed as available for selection.
(#735) - Linked up the second column in the admin incident list to the details view in
addition to the default first column because the first column is currently an
optional field. If the field has no value there can also not be a link. - Update the release checklist in
docs/to current practices and turn it into
a howto.
Fixed
[1.16.0] - 2024-04-23
Added
- Added development dependency on django-debug-toolbar to make it easy to use.
- Adds more capability to the stresstest command, including incident creation
verification, bulk ACKing and timeout configuration.
(#641) - Add possibility to set fields when creating fake incidents in Django admin
(#669) - Show user and filter by user in notification profile admin
(#734) - Add cli command to toggle notification profile activation
(#747) - Add admin action to change activation of profiles
(#748) - Add API documentation for GET responses
(#752) - Added an informational page on /, with favicon, in order to cut down on some
common 404 log messages and set up the static files system properly.
Changed
- Switched official Docker image to serve using gunicorn+uvicorn
(#766) - Changed how tristates (open, acked, stateful) are logged in order to improve
debuggability. - Return False and log if sms-to-email has trouble with the email server.
- To improve debugability: Change how sending notifications are logged so that
there's a log both when sending succeds and when it fails.
Fixed
[1.15.0] - 2024-04-10
Due to the removal of the django-multiselectfield dependency it is vitally
important to upgrade to this version after correctly having upgraded to
1.14.3 (the previous version).
Be sure to migrate the database:
$ python manage.py migrateThis version supports Django 4.2 and newer.
Changed
- Drop all support for Django 3.2. No version-specific requirements for 3.2 are
included anymore, and we no longer test on 3.2.
Removed
- Remove django-multiselectfield dependency (#707)
[1.14.3] - 2024-04-09
This release changes the database in order to get rid of a dead dependency,
make sure to run migrations.
This version can run on Django 5.0 if necessary. Install the dependencies in
requirements-django50.txt if so.
Added
-
Add filtering of incident list by notificationprofile
This returns all incidents that are included in filters that are connected to
that notificationprofile -
Added support for running and testing on Django 5.0
Changed
- Change TimeRecurrence.days from MultiSelectField to ArrayField
(#707) - Updated lots of depenendcies in order to run on Django 5.0
v1.14.2 - 2024-02-15
This version can run on Django 4.2. In production, ensure that the list of
entries in CSRF_TRUSTED_ORIGINS are absolute urls, all starting with
https://.
Added
-
Add filtering of incident list by filter
This returns all incidents that are included in the filter
(#244) -
Allow running and testing on Python 3.12
-
Added towncrier to automatically produce changelog
-
Add two development dependencies
While
toxdoesn't need to be in the venv, it DOES currently need to be less
than version 4.buildis useful for debugging pip errors and pip-compile trouble.
Whenever pip-compile (viatox -e upgrade-depsfor instance) fails withBackend subprocess exited when trying to invoke get_requires_for_build_wheel Failed to parse /PATH/pyproject.tomlrun
python -m build -wto see whatbuildis actually complaining about.See also pypa/build#553
-
Add the "admin_url" field to the user serializer. This is so that the
frontend can show a link to the Django admin. -
Added the possibility to filter incident by a given list of ids
Fixed
- Fixed posting/updating notification profiles without name
Changed
- Updated a lot of (sub)dependencies to allow running on newer pythons and
newer Djangos, and to quiet dependency bots
v1.14.1 - 2023-12-05
Changed
- Restructured documentation about integrations
v1.14.0 - 2023-10-03
Due to a change in the signature of NotificationPlugin.send(), 3rd party
plugins will need to mark better which versions of argus-server they work with
in their dependencies-list. The old-style plugins work on 1.9-1.13.
Added
- Add the "installed" field to the media serializer. This is so that the
frontend can detect media used that is no longer installed on the backend.
Fixed
- Ensure the right notifications go to the right destinations when sending many
of each.
Changed
- Change the signature of the notification-plugin
send-method to avoid
passing in the database - Log profile owners name when checking profiles
- Constrain subdependencies in a better way
- Send one email per email-address so as to not leak who else gets that email.
- Remove the
Filter.filter_string-field from the database. We're not using it
anymore and shouldn't ever use it by accident either.
v1.13.0 - 2023-09-19
Works with argus-frontend 1.11 and newer.
Added
- Lint for critical problems before testing in Github CI, to speed things up
- Added config-file for building docs at readthedocs
- Add inline destinations to user edit page in admin
- Add management command for listing filters
- Add management command for bulk acting on incidents matching a given filter
Fixed
- Raise validation error on posting incident with tags without tag key
Changed
-
Update Django patch versions and various dependencies
-
Drop support for Python 3.7. Github's CI/CD was sufficiently different from
testing on local (different setuptools-version used maybe?) that we had
a "fun" goose chase finding and upgrading the sub-dependency that broke the
build. -
Remove all remaining uses of
Filter.filter_string, replace with
Filter.filter, in preparation of removing the actualfilter_stringfield
from the database.The API v1 still accepts
filter_stringbut it is optional. It will prefer
the data infilter. v2 ignores the presence or absence offilter_string
entirely.
v1.12.4 - 2023-09-04
Changed
- Ensure that the start event is created after the incident has its tags so
that notification filters with tags trigger correctly. The signal that
creates the first event is gone, but the signal that triggers on creation of
the first event is not, that will have to wait until we utilize a queue.
v1.12.3 - 2023-08-31
Changed
- Change what is logged on notification sending in order to ease solving problems in production