Skip to content

Releases: Uninett/Argus

[2.7.0] - 2026-01-23

23 Jan 12:36
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

This release improves the UX for creating planned maintenance tasks, by having
dedicated pages for it and allowing all logged in users to see the list of
future, ongoing and past planned maintenance periods. To take full advantage of
thisi column, see NOTES.md.

Furthermore, admins can create filters that can be used (but not edited) by
everyone.

The sorting of the incident list can now be controlled via relevant columns,
but only one column at a time.

There are lots and lots of new columns! See NOTES.md

There are two new column presets, one for making notification filters and
another for making planned maintenance tasks.

A long-standing bug has been fixed that prevented the sending of notifications,
see NOTES.md.

Added

  • Added searchable id column
    (#1288)

  • Made it possible to filter on event types
    (#1455)

  • Added column for marking incidents as under maintenance
    (#1589)

  • Prohibited editing planned maintenance task closed for longer than 12 hours
    (#1648)

  • Added pictures of each column type to docs
    (#1653)

  • Save current incident filters as a user preference and restore on page load
    (#1682)

  • Added a new column showing all tags of an incident.
    (#1698)

  • Add new end_time and narrow_end_time columns to display the end_time of
    an incident (#1715)

  • Add compact severity columns with filtering and sorting
    (#1717)

  • Added management command to connect incidents to new planned maintenance
    tasks (#1734)

  • Added first version of pages for CRUD-ing planned maintenance tasks. Everyone
    can see them but only admins can alter anything
    (#1735)

  • Added management command to remove incidents from ended planned maintenance
    tasks (#1736)

  • Made it possible to mark a filter as "public". This means that anyone can use
    it in the incident list, for notification profiles or for making planned
    maintenance tasks. The flag can currently only be set via the admin
    interface, and is thus limited to administrators.
    (#1742)

  • Add sortable columns to incident table
    (#1980)

  • Added a very rough and ready column to show an incident's events.

  • Added two new column presets:

    • "notifications" with columns useful for making notification profiles
    • "on maintenance" with columns useful for finding things that will be on
      planned maintenance
  • Argus now supports Django 6.0

Changed

  • Implemented a Contributor License Agreement for Argus, based on the Free
    Software Foundation's Fiduciary License Agreement
    (#956)
  • Replace column filter button with debounced auto-submit
    (#1575)
  • Improve toast notification accessibility with ARIA attributes and screen
    reader support (#1711)
  • Changed label of start time column to 'Start time'
    (#1718)
  • Renamed column start_time_and_age to narrow_start_time_and_age and added
    wider column named start_time_and_age
    (#1719)
  • The buttons in the column layout preview were disabled.
  • The theme chooser on the user preferences page now shows the text color for
    each color palette in addition to the background color.

Fixed

  • Added key requirements to error message in tag validation
    (#511)
  • Fixed dropdown multi-select fields (e.g. Source Types) selecting first item
    when clicked (#1697)
  • Show meaningful error messages in UI and log full tracebacks for HTMX errors
    instead of generic "500 Internal Server Error" and HTML content
    (#1702)
  • Fixed page size preference being reset to default when visiting the incidents
    page without a page_size URL parameter
    (#1704)
  • Fix bug where multiselect is not cleared when de-selecting all options
    (#1751)
  • Fixed longstanding bug that led to fewer notifications than expected. Instead
    of checking when an event happened in order to decide whether to send
    a notification, we only checked when the incident started. So, no
    notifications could be sent for long-lasting incidents if they started
    outside of all active timeslots.
  • Missing filters are now handled better. If a filter was deleted while it was
    in use by the incident list page, the page would get stuck with a "500 Server
    Error" until the filter was manually removed from the session.

[2.6.0] - 2026-01-06

06 Jan 13:34
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

This is a tiny release to finish up what was started at the end of 2025.

Added

  • Add preview for incident table preferences
    (#1658)

Fixed

  • Filter on source type in dashboard. The previous release made it work for
    notifications but not in the incident list in the frontend.
  • Fix bug where the incident table overlaps filter dropdowns
    (#1669)

[2.5.0] - 2025-12-04

04 Dec 06:54
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

The big new thing this time around is a way to prevent notifications from
certain incidents by masking them via a planned maintenance filter stored in
a planned maintenance task. This task works just like a notification profile:
more filters add precision. The only way to set up a filter right now is via
the admin. Users with admin-access can click on the admin link, see the section
"ARGUS_PLANNEDMAINTENANCE".

We want some feedback on the feature before we add support
for setting up planned maintenance tasks via the API and the frontend.

Otherwise: work on increasing consistency in the frontend continues, and the
version number of argus should now always be available.

Customizers, please see the NOTES.md, the preferences page has more changes.

Remember to migrate if upgrading.

Added

  • Add preview for theme and date format preferences
    (#1557)
  • Add model for planned maintenance tasks
    (#1586)
  • Added functionality to add/edit planned maintenance tasks to Django admin
    (#1587)
  • Filter out events covered by ongoing planned maintenance tasks from being
    sent (#1588)
  • Added Argus version number to user menu dropdown and login page
    (#1650)

Changed

  • Split user preferences into multiple sections
    (#1557)
  • Increase accessibility of cards by using borders instead of shadow
    (#1641)

[2.4.0] - 2025-11-28

28 Nov 08:42

Choose a tag to compare

The most important feature this release is being able to filter on source
system type. If you have multiple source systems in a filter, all of them of
the same type, it might pay off to switch over to using the source system type
instead.

The rest is frontend improvements: The tags filter now has typeahead find. The
header and footer of the incident list never scroll off screen. The status
columns have variants with icons instead of text, and there's new columns
showing an incident's age (time since it happened).

See NOTES.md for further detail.

Added

  • Added test error page (#1024)
  • Add age columns to incident table
    (#1552)
  • Made it possible to filter on a source's type in the incident list, API, and
    for sending notifications. Also added a new built-in column "source type" for
    the incident list. When there are very many sources of the same type, the
    filter and column become useful.
    (#1556)
  • Add status columns that use icons instead of text
    (#1635)
  • Made a system for rendering previews of preference choices.

Changed

  • Change incident table header and footer to always be visible
    (#1548)
  • Add clear button to search column header
    (#1573)
  • Change tags input to use searchable multiselect
    (#1604)

[2.3.0] - 2025-11-20

20 Nov 13:58

Choose a tag to compare

This release has numerous improvements to the frontend. The various
widgets on the incident list page now work better together, and where
there are more than one to choose from the choices are now sorted
alphabetically. No user preferences are left in the user menu. The
preference page has had a slight rework though more is planned.

The big new thing is the possibility to select more than one column
layout. You can now choose a preferred layout on the user preferences
page if any have been configured in addition to the standard one.
A nice looking preview of each configured layout is planned for the
next release.

Due to the possibility of choosing between multiple column layouts,
several new types of columns have been added. There's also a new
section in the reference documentation explaining and naming all the
built-in column types.

See NOTES.md for how to convert an existing column layout to the new format.

Added

  • Sort list of filters in filter dropdown alphabetically
    (#1553)
  • Sort list of sources in filter dropdown alphabetically
    (#1554)
  • Added and documented more searchable columns for the incident list:
    search_description, select_levels, has_ticket_url,
    search_ticket_url, and a way to mass-produce single-field forms to
    add even more searchable columns and eventually systematize the
    incident filter forms in the topmost box.
  • Make it possible to define more than one column layout, and make it
    possible to switch between them via a user preference. Fixes #1581,
    #1582.
  • Added the column narrow_start_time.

Changed

  • Remove user preferences from global header dropdown
    (#1567)
  • Use DaisyUI dropdowns in searchable columns
    (#1574)
  • Sort filter dropdowns for update / delete filter alphabetically
    (#1592)
  • Add consistent title to notification config pages
    (#1606)
  • Auto-align filterable column dropdown if it extends beyond the screen
    (#1607)
  • Fixed several problems with filtering the incident list in the
    frontend: the various widgets were stepping on each others toes.
    Made much easier by turning all GET-abble filters into Django forms.
  • Improved documentation of how notificationprofiles with multiple
    filters work, with changes to the user manual, new tests, and a help
    text added to the field in question in the frontend.
  • Preferences are all now properly backed by forms, inheriting from
    SimplePreferenceForm which is a perfect fit for preferences where
    you choose one of several options. Using PreferenceField directly
    will still work, but the form used now receives the request on
    __init__. It is therefore necessary to upgrade the old forms by
    either mixing in the ClassicPreferenceFormMixin, which will
    discard the passed-in request, or writing your own __init__ that
    will prevent passing in the request via super().__init__(*args, **kwargs).
  • User preferences were refactored. This is to increase consistency,
    cut down on copypasta, and eventually use Django forms on the user
    preference page, but more importantly: Django settings are no longer
    read on import. Turns out, preferences that depend on Django
    settings sometimes read the settings too soon, before the
    settings-file was complete, and therefore getting the wrong or no
    setting.

[2.2.2] - 2025-11-03

03 Nov 14:27

Choose a tag to compare

Added

  • Frontend: Added the beginnings of a style guide at /styleguide/. The look of the form
    inputs that were not manually laid out have in some cases also changed, for
    greater consistency. (#1558)
  • Added zino-argus-glue to documented list of known glue services

Changed

  • Increased logging verbosity when finding destinations for notifications and
    actually sending the notifications, to aid in debugging production systems.
    Now also logs which destination id's are found and used.
    (#1563)

Fixed

  • The development docker compose had stopped working due to changes outside of
    our control (pip, git, the very distro) and has been updated.

[2.2.1] - 2025-09-18

18 Sep 11:07

Choose a tag to compare

Fixed, frontend

  • The incident list layout preference selector is no longer buggy

Fixed

  • Some problems with the dockerfile for production was fixed (see /docker), and
    the README and the comments in the Dockerfile have been improved

Changed

  • Updated the installation instructions in the README, should have been part of
    2.2.0

[2.2.0] - 2025-08-26

26 Aug 09:44

Choose a tag to compare

The most important bit of this release is the new (old) way to install and set
up argus-server, including the frontend. Please see the NOTES.

Added, frontend

  • Added option 'Last 3 days' to the Timeframe selector.
    (#1440)

Added

  • Added rule to Makefile that downloads standalone tailwind CLI client as per
    the version configured in src/argus/htmx/tailwindtheme/config.py.
    (#1531)
  • Add a fledgling CONTRIBUTING.rst for onboarding new developers.
  • Added documentation for the rules in the Makefile.
  • Two new development howtos have been added, with tips for using git and
    GitHub.

Changed

  • Make example production Docker image work properly for Argus 2
  • The settings files have changed, since the HTMx frontend app is now included
    by default. The frontend settings has been merged in and no longer need the
    settings overriding machinery. It is no longer necessary to install the
    frontend with pip install argus-server[htmx], just pip install argus-server will do.
  • Updated contributors file with contributors that joined after 2019, and added
    a howto for how to keep the list updated.

[2.1.1] - 2025-07-16

16 Jul 10:43

Choose a tag to compare

Added

  • Added new sections to the user manual: How to select from existing themes, How to add your own theme, How to choose what columns are shown in the incidents table, and How to change the date and time format. (#1491)

Changed

  • Added info about more glue services. (#1508)
  • Updated the README with a link and info about the publicly accessible demo-site. (#1510)
  • Updated the content of the user manual (outdated text, screenshots and broken external links). (#1490)

Fixed

  • Fixed automatic ticket creation, which was broken by #1497 (#1516)
  • Made docker compose up for development work with Argus 2.1+ (#1513)
  • Fixed broken links in the user manual. (#1492)

[2.1.0] - 2025-06-30

01 Jul 07:29

Choose a tag to compare

Added

  • Add a preference to change the incidents table layout to compact or standard
    (#1399)
  • Add CLI command to close incidents
    (#1450)
  • Add option to create_fake_incident to generate incidents from json files
    (#1451)

Changed

  • Use DRF's DEFAULT_PERMISSION_CLASSES setting for API endpoints' permission
    checking (#1476)
  • Request is now passed to incident update actions to allow for sending
    messages (#1497)

Fixed

  • Ensure SourceSystemTypeFactory is called with lowercase name
    (#1499)
  • Avoid trying to create incident with same source and source incident id
    (#1500)