Releases: Uninett/Argus
[2.0.1] - 2025-06-25
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
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:
createuserandchangeuser. (#1449) - Added support for creating a source when calling
create_fake_incidentif the source does not exist. (#1424) - Added option to set source type in
create_fake_incidentmanagement command. (#1486)
Changed
[1.37.0] - 2025-05-14
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_incidentCLI 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
Changed, frontend
- Show better messages when handling errors when autocreating tickets.
[1.36.1] - 2025-04-23
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_TLSfalls back toTrueif 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
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
[1.25.0] - 2024-10-24
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
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_filterto theincident_list_filterfunction.
use_empty_filterdefaults toFalse.
(#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 incidentend_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 theIncident.details_urland theSource.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
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
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_urlanddetails_urlin
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
- Add documentation on how to customize incident actions by @elfjes in #1212
- Set default opacity in loading overlay to 50% by @podliashanyk in #1090
- Allow deleting filters in filterbox by @podliashanyk in #1207
- Add support to new frontend for autocreating tickets by @hmpf in #1203
- Allow updating filters in filterbox by @podliashanyk in #1231
- Polish timeslots page: easy pickings by @hmpf in #1141
- Explain why ARGUS_FRONTEND_URL is needed better by @hmpf in #1215
- Prohibit user from creating profile with same name as existing one by @johannaengland in #1218
- Add troubleshooting guide by @hmpf in #1234
- Improve niggling syntax problems in the docs by @hmpf in #1235
- Pin ruff in GitHub actions to v0.11.0 by @johannaengland in #1237
- Move navbar notification links to user menu by @hmpf in #1219
- Make column for showing status as color fill by @hmpf in #1241
- Fix badge colors by @hmpf in #1258
- Add unique color per severity level by @stveit in #1239
- Refresh view on filter select or filter create by @podliashanyk in #1254
- Add tests for argus/htmx/utils.py by @stveit in #1238
- Add tests for
htmx/incident/customization.pyby @stveit in #1248 - Alter template override howto to reflect new reality by @hmpf in #1269
- Fix bug where update modal is shown om filter delete action by @podliashanyk in #1267
- Allow removing timerecurrences from a timeslot by @hmpf in #1236
- Add borders between table rows by @podliashanyk in #1284
- Use accent color a lot less by @hmpf in #1282
- Deprecate api v1 by @hmpf in #1217
- Remove validation requiring tags to exist by @stveit in #1303
- Make status badges represent error and success across themes by @podliashanyk in #1304
- Improve timeslots page by @hmpf in #1276
- Make table cells clickable by @hmpf in #1281
- Convert uncaught exceptions to messages.error by @hmpf in #1162
Full Changelog: v1.33.0...v1.34.0