Skip to content

Releases: Uninett/Argus

[1.22.1] - 2024-09-05

05 Sep 10:29
Compare
Choose a tag to compare

Added

  • Add method to get associated names of Incident levels
    (#875)

[1.22.0] - 2024-08-3

30 Aug 12:51
Compare
Choose a tag to compare

Changed

  • Refactored ticket creation code so the actual changing of the incident
    happens only in one place. Also moved the actual autocreation magic to
    utility functions (sans error-handling since that is response-type
    dependent). Made bulk changes of tickets actually create the ChangeEvents so
    that it behaves like other bulk actions and make it possible to get notified
    of changed ticket urls.
  • Replace the setting STATICFILES_STORAGE with STORAGES to prepare for
    running on newer Djangos. See NOTES for details.

Fixed

  • Hopefully there will be fewer spurious test-failures thanks to explicitly
    creating the user connected to a sourcesystem. UniqueError, you won't be
    missed.
  • Fixed broken link to dataporten authentication docs in README
    (#broken-dataporten-link)
  • Renamed 'docker-compose' to 'Docker Compose' in README
    (#update-readme-command-naming)

[1.21.0] - 2024-08-20

20 Aug 06:36
Compare
Choose a tag to compare

Changed

  • Make description editable
    (#811)

[1.20.1] - 2024-07-26

26 Jul 12:21
Compare
Choose a tag to compare

Fixed

  • INCIDENT_LEVEL_CHOICES was behaving oddly when debugging so it has been
    made a proper immutable constant.

[1.20.0] - 2024-07-25

25 Jul 12:40
Compare
Choose a tag to compare

Added

  • Added method to check whether incident is acknowledged by a specific user
    group. (#838)
  • Made it possible to replace how Argus does filtering (for sending
    notifications and showing a list of incidents). See the howto "How to
    customize filtering".
  • OVERRIDING_APPS and EXTRA_APPS now supports changing the
    MIDDLEWARE-setting. The key is "middleware" and the value is a dictionary of
    the dotted path of the middleware as the key, and an action as the value.
    Currently only the actions "start" and "end" is supported, putting the
    middleware at either the start of the list or the end, depending.

Changed

BIG filter refactor/cleanup. All filter-stuff except the Filter-model has been
moved to a new app, argus.filter

  • Move Filter.filtered_incidents to argus.filter.queryset_filters.QuerySetFilter
    • Change the signature so that it works on a filterblob, not a Filter model
      instance
  • Ensure that the fallback filter, which is only relevant when sending
    notifications, is ignored everywhere else. First step in getting rid of this
    misfeature of a setting.
  • Get rid of NotificationProfile.filtered_incidents, instead use
    argus.filter.queryset_filters.QuerySetFilter.incidents_by_notificationprofile
  • Move Filter-dependent methods out of incident/models.py
  • Move filter settings check to argus.filter
  • Keep OpenAPI queryparam descriptions with their filters in argus.filter.filters
  • Update and improve tests
  • Move Filter *_fits methods to argus.filter.filterwrapper.FilterWrapper
  • Move NotificationProfile *_fits methods to ComplexFilterWrapper
  • Add docstring to argus.filter.filter
  • Simplify/DRY existing filterwrapper methods, including tristate

Fixed

  • Removed one cause for spurious failures of tests
  • Show infinite end_time as 'Still open' instead of datetime representation in
    email (#793)
  • Temporarily hide DestinationConfig from User admin in order to allow updating
    Users again. Undo if Django starts allowing JSONFields in UniqueConstraints.
    (#822)
  • Improve /incident endpoint response time by roughly 36% by pre-fetching
    incident tag data (#837)

[1.19.2] - 2024-05-28

28 May 12:58
Compare
Choose a tag to compare

Added

  • There is now a commented line in argus.site.urls.urlpatterns that if
    uncommented will allow logging into the API with username/password. This
    allows the use of the DRF HTML api to change records. This partially works
    with django-debug-toolbar and should ease some debugging sessions.

Changed

  • Optimized PUT/PATCH of incidents in API v2. Mainly by no longer replacing
    Incident.search_text on every Incident save, thereby avoiding looking up
    all events for that incident. The old behavior was fine when there was only
    a handful of events per incident but we can no longer assume that.

[1.19.1] - 2024-05-16

16 May 14:16
Compare
Choose a tag to compare

Fixed

  • Fixed bug preventing naive printing of TimeRecurrences, triggering a traceback

[1.19.0] - 2024-05-15

15 May 11:31
Compare
Choose a tag to compare

Backwards-incompatible change: Because it is now possible to filter on
multiple event types instead of just one, both API V1 and API V2 has changed
its schema for Filter.filter. See NOTES.md for details.

Removed

  • Removed "event_type" from the V1 Filter API, it should only have been
    available in V2 (since it was new) and it has never been in use by the
    frontend. (#699)

Added

  • Add filtering of events by a list of event types
    (#699)
  • Add howto about how to set up and test federated login, using GitHub as an
    example. (#803)
  • Extend the usefulness of OVERRIDE_APPS and EXTRA_APPS by adding support
    for Django template engine context processors. Any context processors are
    added to the end of the list.
    (#810)

Changed

  • Change how the description of a change event is formatted so that it is
    always consistent (not to mention DRY).
    (#809)

[1.18.0] - 2024-05-07

07 May 13:01
Compare
Choose a tag to compare

Added

  • New in the API: Allow sources to delete their own incidents, as well as allow
    superusers to delete any incident.
    (#804)

Changed

  • Allow replacing Incident.metadata with another json blob via API, no
    questions asked, nothing to see here.
    (#807)

[1.17.0] - 2024-05-03

03 May 10:45
Compare
Choose a tag to compare

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 in INSTALLED_APPS and urls.py, and can override templates
    and views. The setting EXTRA_APPS is safer, it is loaded last in
    INSTALLED_APPS and urls.py and 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

  • Show fully qualified details URL in emails
    (#744)
  • Fix internal server error in timeslot admin due to removed method
    (#797)