Skip to content

Releases: Uninett/Argus

[2.0.1] - 2025-06-25

25 Jun 09:38

Choose a tag to compare

This release fixes a problem in the migrations shipped with 2.0.0. Only affects
development.

Changed

  • Fix fields incorrectly marked as autocreated in squashed migration
    (#1506)

[2.0.0] - 2025-05-26

26 May 13:56

Choose a tag to compare

This release completely removes version 1 of the API. If you have not done so, please update your glue services and other integrations using API v1 to use version 2!

We also archived the old frontend and dropped all support for it.

Please make sure to first migrate to the last release (1.37.0) before upgrading to 2.0.0.

If you have used the HTMX frontend already and are using a local settings file you should remove/comment out the lines

update_settings(globals(), APP_SETTINGS)

and

ROOT_URLCONF = "argus.htmx.root_urls"

and corresponding imports if you are getting the error

django.core.exceptions.ImproperlyConfigured: Application labels aren't unique, duplicates: django_htmx.

Removed

  • Deleted API v1, its tests and mentions in the documentation. As well as all support for the old frontend. Any endpoint starting with "/api/v1" replies with "410 Gone". (#1446, #1445, #1428, #1427, #1423, #1422, #1417, #1415)

Added

  • Added an optional banner below the navbar that can be filled with text controlled via environment variable/Django setting. (#1164)
  • Added two new management commands: createuser and changeuser. (#1449)
  • Added support for creating a source when calling create_fake_incident if the source does not exist. (#1424)
  • Added option to set source type in create_fake_incident management command. (#1486)

Changed

  • Squashed existing migrations for the benefit of future changes in Argus v2. (#1407)
  • Upgraded a lot of dependencies. (#1485)

[1.37.0] - 2025-05-14

14 May 12:07

Choose a tag to compare

There's a very important change to the database schema in this release.
Depending on the amount of incidents in your database you might not be able to
migrate the normal way. Please see the NOTES.

This is the first release to not support any Django older than 5.2.

Added

  • Add source argument to create_fake_incident CLI command

Changed

  • Drop support for all Django versions older than 5.2.
  • The primary keys of the models Incident, Tag, IncidentTagRelation and Event
    (and indirectly Acknowledgment) were changed from a 32-bit signed integer to
    a 64-bit signed integer since these may grow for all eternity.

[1.36.2] - 2025-04-29

29 Apr 06:27

Choose a tag to compare

Changed, frontend

  • Show better messages when handling errors when autocreating tickets.

[1.36.1] - 2025-04-23

23 Apr 17:54

Choose a tag to compare

The fallback setting of EMAIL_USE_TLS changed from a hardcoded True to
reading from an environment variable with a fallback to False in 1.36.0.
This broke at least one site that used the settings file
argus.site.settings.base directly and did not set EMAIL_USE_TLS explicitly.
This prevented the sending of emails.

We recommend setting EMAIL_USE_TLS explicitly in your own settings, either as
an environment variable ("1" for True, "0" for False) or directly in
a production settings file.

Changed

  • The example production settings file (argus.site.settings.prod) now runs
    the new frontend and no longer supports the old frontend. In this
    settings-file, EMAIL_USE_TLS falls back to True if not set as an
    environment variable.
  • Added "level"-filter for incidents in admin

Frontend

Fixed

  • Fixed autocreation of tickets

[1.36.0] - 2025-04-22

22 Apr 08:57

Choose a tag to compare

The new frontend is feature complete.

No development or support will be done on the old frontend from now on,
please switch to the new one ASAP.

Changed

  • Update email settings to use port 25 by default, override defaults in prod.py
    (#1395)

Frontend

Added

  • Add font-awesome icon pack
    (#1389)
  • Convert filterable column unicode search icon to fontawesome
    (#1390)
  • Added new incident page filter parameter "timeframe" to be on par with the
    old frontend. This allows hiding older incidents by age. The chosen "ages"
    are hard-coded, as it was in the old frontend.

Changed

  • Made styling of the elements in the footer more blended in.
    (#1363)
  • Made select dropdowns in incident list table footer more consistent with rest
    of footer (#1393)
  • Dropped the "id"-column from the default incident columns config since most
    other colmns now are links to the details-page.

Fixed

  • Make incident duration on details page more human readable
    (#1196)
  • Center header text on incident details page
    (#1298)

[1.25.0] - 2024-10-24

22 Apr 09:02

Choose a tag to compare

Added

  • Make it easier to use the new HTMx-based frontend, with docs. The new
    frontend cannot be run simultaneously with the REACT SPA frontend as some
    settings conflict.

[1.35.0] - 2025-04-09

09 Apr 09:32

Choose a tag to compare

Remember to migrate the database, unwanted crud might have snuck into the
stored filters.

Removed

  • Dropped support for testing and running on Python 3.9 and Django 5.0.

Fixed

  • Fix broken Docker images to still work with SPA front-end
    (#1310)

Frontend

The new frontend is now just about on par feature-wise with the old frontend,
though we do not aim for bug compatibility =)

Added

  • Admins now see an admin link in the user menu dropdown
    (#1261)
  • A new parameter use_empty_filter to the incident_list_filter function.
    use_empty_filter defaults to False.
    (#1360)
  • Allow testing on Django 5.2 in anticipation of dropping Django 4.2.

Changed

  • Change tristate selection from checkboxes to slider. More changes to come.
    (#1048)
  • Made the incidents page more compact.
    (#1246)
  • Grouped user preferences in user menu dropdown
    (#1256)
  • Fixed styling of input fields in modals. Made all basic inputs (text, date,
    email etc) on the incidents, timeslots and destinations pages have the same
    universal design. (#1311)
  • Improved the UX for forms on the profiles page.
    (#1312)
  • Made styling of the tag badges on the details page more subtle.
    (#1314)
  • Polished styling and alignment of the inputs in filterbox.
    (#1316)
  • Incident tags that contain URL are now clickable on the incident detail page.
    (#1329)
  • Switched to setting italic font using HTML instead of CSS for better
    accessibility. (#1343)
  • Give the sections in the details page a drop shadow. This stranded the
    close/reopen button at the bottom, so it was moved to just above the list of
    events.
  • In the details page: Make free text look better by breaking long lines and
    preserving newlines. Also make event types and ack/event author and timestamp
    stand out better.
  • Made sure all non-button form inputs have autocomplete="off" set which
    fixes some annoying behavior in Firefox when filling in forms. This is
    documented in the troubleshooting guide.
  • Make an abstraction for modals deleting things, as part of the modal cleanup.
  • Modularized the incident pagination and improved it as per user feedback.
  • Replaced the fancy days selector in the timeslots page with checkboxes.
  • Support testing/running on Python 3.13. We need to stay on psycopg2 a while
    longer since we use PostgreSQL "infinity" for incident end_time.
  • Upgraded all dependencies that could be upgraded and removes pytz as it is
    now unused.
  • When showing the details url in the details page, use the generated absolute
    url from the Incident.details_url and the Source.base_url. Validates that
    the combination is valid and falls back to using the raw details url if not.

Fixed

  • Bug with very long text in badges on the details page overflowing and
    becoming unreadable. (#1244)
  • Made the height of the feeds on details page always conform to the max height
    of the details section. Any vertical overflow in the feed will now be
    scrollable. (#1327)
  • Programmatically connected labels to corresponding inputs.
    (#1332)
  • Removes "unacked" and "closed" from filterblobs.
    (#1342)
  • Made filter selector more robust in general and fixed bugs:
    #1344,
    #1353,
    #1355.
    (#1360)
  • Fixed color contrast for incident tags badges and table separators (temporary
    fix)
    (#1375,
    #1378)
  • No longer erases a ticket url if attempting to save an invalid one when
    editing. There's an error message in a popup. Made ticket url always
    optional.
    (#1371)

[1.34.1] - 2025-03-26

26 Mar 14:05

Choose a tag to compare

Changed

  • Updated README to highlight the deprecation of API v1, that the old
    frontend will soon not be supported and that Django will soon not support
    PostGRESQL older than 14.
  • Updated the release checklist.

Fixed

  • Changed docker entrypoint script files that used the wrong path for asgi.py.

[1.34.0] - 2025-03-26

26 Mar 11:08

Choose a tag to compare

This release marks the beginning of the process towards argus-server 2.0!

API V2 is hereby declared stable, and V1 is hereby deprecated.

Version 2 will drop support for API V1 and the old frontend. Please try the
new frontend and send us some feedback!

The next Django LTS, 5.2, will not support any PostgreSQL older than version
14, so please upgrade ASAP.

The incident list in the new frontend is now feature complete. The timeslots
page has been prettified but also has some bugs. There's lots of remaining UX
things to do.

Added

  • There's now a troubleshooting guide in the docs, for storing debugging tips.
  • Made it possible to filter and search on ticket_url and details_url in
    admin.

HTMX app

Added

  • We now have a unique color per severity level.
    (#996)
  • Added button on the incident details page for autocreating a ticket.
    (#1202)
  • Saved filters can now be both updated and deleted.
    (#1207, #1231)
  • Added documentation on how to customize incident actions.
    (#1212)
  • Added borders between table rows.
    (#1253)
  • Added column to show combined status (openness+ackedness) as a color, for
    feature parity with the old frontend incident list.
  • Made it possible to delete one or more timerecurrences from a timeslot.

Changed

NOTE! Version v1 of the API is hereby deprecated! It will be removed one
day. Update your glue services, please. Version v2 is the new stable API.

  • Selecting '---' from existing filters now resets the filter parameters.
    (#1144)
  • Simplified the filter select and filter create logic by refreshing the
    whole view on those operations.
    (#1251)
  • The color of the status badges was changed to better represent either error
    or success state. The colors are universal across the themes.
    (#1294)
  • Show empty list instead of error if tags do not match any incidents.
    (#1302)
  • Otherwise uncaught exceptions are caught and logged. A less chatty version is
    shown to end users via messages.error.
  • Improved the looks and UX of the timeslots page greatly. There are still
    remaining issues.
  • In the status-badges use the same color for 'open' and 'unacked' and the same
    for 'closed' and 'acked'.
  • It is now possible to add a link to the details page from any cell in the
    incident list, by using a different wrapper template. See the improved docs
    for customizing incident list columns.
  • Moved notification links into the user menu, and removed the now sole
    remaining link that redundantly points to the incident list.
  • Set default opacity of loading overlay to 50%.
  • Several of our easily accessible users didn't like the frequent use of the
    reddish color as an accent in the "argus" theme, they prefer reserving
    reddish hues for extra important things. We've cut down on the use of
    "accent"-color everywhere: in the incidents page we now use the primary color
    instead, everywhere else we will fall back to the default for the
    tailwind/daisy class.

Fixed

  • Users are now prohibited user from creating profile with same name as
    existing one.
    (#1139)
  • Fixed a bug where the update filter modal was shown when trying to delete
    a given filter.
    (#1266)

What's Changed

Full Changelog: v1.33.0...v1.34.0