Releases: Uninett/Argus
[1.31.0] - 2025-01-17
Mostly changes to the new frontend this time around.
Two development-relevant changes:
- Refactor of incident-specific frontend pages, many files have new names
- How to define a preference has changed
There are visible changes to the destinations-page and profiles page as well.
Added
- Added howto for how to easily toggle the use of django-debug-toolbar with the
help of the extra/overriding-apps machinery and an environment variable.
HTMx app
Added
- Centre destination page content.
(#1079) - Add vertical gap between collapse element and create form on HTMX
destinations page. (#1080)
Changed
-
Streamline definition and usage of preferences
(#1072) -
Only update the related media list when deleting a destination.
(#1128) -
Customizers beware: Major refactor in src/argus/htmx/incident(s) and
src/argus/htmx/templates/htmx/incident(s).- All directories named "incidents" was changed to "incident".
- The templates that defines columns in the incident list was moved to
htmx/incident/cells/
. - The template for selecting sources in the filterbox was moved to
htmx/incident/widgets/
. - Whenever there were plural view-names or url-names for incident-related
views they were made singular.
There will be empty directories left behind,
git
cannot do anything with
these. Runmake clean
to delete cached files then find empty directories
withfind . -type d -empty
. Delete them manually. -
Polished the looks of the profiles page. More to come!
Fixed
- Fix create destination form generating extra div when submitting.
(#1129)
[1.30.0] - 2024-12-19
Mostly changes to the alpha frontend
Added
- Added docs for how to vendor a repo (copy one repo into another, preserving
history).
HTMX app
- Add HTMX version of the destinations page
(#1001) - Show user an error message in case a htmx partial request fails
(#1023) - Allow extending preferences page
(#1070) - Keep django messages in queue on htmx redirects or refreshes
(#1071)
Added
- Replaced the placeholder notification profile page with a very ugly but
functional one. - Replaced the placeholder time-slots page with a very ugly but functional one.
- Added loading indicator to bulk action buttons
Changed
- Performance: Reduced the number of queries to preferences db table
(#1082) - Declared argus-theme as one with the light color scheme in order to always
have reasonable fallbacks.
(#1088) - Generalized the multiselect dropdown widget used for the source field in the
filterbox so that we can use it for other dropdowns on other pages. - Renamed some directories and templates to give them better, more
consistent names.
Fixed
- Fixed background color in input fields for argus-theme globally.
(#1088)
[1.29.0] - 2024-12-06
Mostly changes to the alpha frontend
Added
- Add support for multple API tokens per user via django-rest-knox. For that
reason, the old API endpoints for dealing with token authentication have been
deprecated, and new endpoints have been added to v2 of the API.
Changed
- We've copied the linting rules from argus-htmx, so anything that have not
been merged yet might have to be updated to keep the linters happy.
Deprecated
- All v1 API endpoints for dealing with phone numbers have been deprecated.
Please see the v2 endpoints dealing with destinations instead.
HTMx app
Added
ARGUS_HTMX_FILTER_FUNCTION
can take a callable or a dotted
function path (#1029)- Support incident filtering from incident list table columns
Changed
- Return user to login page on unauthenticated HTMx request
- Automatically close certain notification toasts
Fixed
[1.28.0] - 2024-11-29
This version marks the inclusion of our new, alpha web frontend. It does not do
everything the existing standalone frontend does yet, hence alpha. See docs for
how to test.
Added
- We are now linting html with djLint
- Add new (unfinished) app: argus.htmx. Thiis is a new frontend written quite
old-style, with HTML enhanced with HTMx. This used to live in its own app
(PyPI: argus-htmx-frontend) and repo
(https://github.com/Uninett/argus-htmx-frontend/) and is in the process of
being completely merged with argus-server. All new issues and PR's should be
made towards the argus-server repo. Unfinished branches and issues should be
moved over here. PR's merged after the move will be moved by us. - Added a short howto on how to try to fix a broken migration. Remember, it is
always less stress to restore a backup!
Changed
- We're switching from black to ruff, and will both lint and format code going
forward. - Use tox version 4 to run test suite
[1.27.0] - 2024-11-13
Added
- Added a database model to store user preferences. Remember to migrate!
- Added a new testenv to tox to easily regenerate the ER model. It needs
regenerating thanks to the new model.
[1.26.1] - 2024-11-08
Changed
- Allow deletion in admin of "dormant" users, that is: users that have never
created an event or incident. These frequently occur when testing new login
methods.
Fixed
- Logout via the React SPA frontend works again, the url has been corrected.
[1.26.0] - 2024-10-29
This release is mainly to wrangle dependencies to the in-progress new frontend.
Changed
- There's more detail on how to set up federated logins in the docs.
- Make
AUTHENTICATION_BACKENDS
setting mutable by making it a list, not a tuple.
Fixed
- Do not run processes as
root
in Docker production container
(#921)
[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.24.0] - 2024-10-22
Major changes in how to deploy in order to prepare for the new frontend.
Added
- There's a new courtesy method on the User-model:
is_member_of_group()
.
Changed
-
Switched to running docker image on python 3.10 and postgres v14.
(#908) -
Make it possible to change any setting via the
(EXTRA|OVERRIDING)_APPS-machinery. -
Split out all the hard coded support for the REACT SPA frontend into
a library.In the process, the following renames were done:
ARGUS_COOKIE_DOMAIN
->ARGUS_SPA_COOKIE_DOMAIN
(environment variable)COOKIE_DOMAIN
->SPA_COOKIE_DOMAIN
(setting)ARGUS_TOKEN_COOKIE_NAME
->ARGUS_SPA_TOKEN_COOKIE_NAME
(hidden setting)
How to deploy with support for this frontend has also changed, see the new
documentation section "REACT Frontend". In short, it is necessary to change
which settings-file to base the deployment on.
[1.23.0] - 2024-10-10
This is the first version of Argus to be able to run on Django 5.1.
Support for Python 3.8 has been dropped.
The most visible changes are in the documentation.
Removed
- As part of refactoring some authentication utility functions the function
get_psa_authentication_names()
has been removed as it wasn't used anywhere
in Argus proper.
Added
- Added a new section "Customization" to the docs, for customizations that go
beyond integrations. - Documented how to use (EXTRA|OVERRIDING)_APPS to add app-specific
middleware. - There's a new howto, for how to regenerate the ER diagram in the docs.
Changed
- So. Many. Refactors.
- There should be fewer warnings/log messages when visiting the autogenerated
OpenAPI. There is one commit per change to help with future wrangling. There
are still some warnings left; getting rid of those is left as an exercise to
the reader. - The favicon and template for the simple page generated on "/" are now
replacable by adding an app at the start of INSTALLED_APPS that has the new
files. - Plenty of dependencies and sub-dependencies were upgraded
- Django ValidationErrors are converted to DRF ValidationErrors. This makes it
possible to move some validation from API model serializers to the actual
model, which means validating only once and the API and future Django
frontend seeing the same errors. - Moved reference docs into their own section (as per Ditaxis), improved the
looks and contents of the explanation and terms, and added a very brief
explanation of each model. - Moved site TEMPLATES and STATIC to a mini-app to make them replaceable via an
app added before it in INSTALLED_APPS. - Removed
FilterSerializer
andvalidate_jsonfilter
from the filter plugin
mechanism since they just wrapFilterBlobSerializer
. (This also means
FilterBlobSerializer
can no longer be in the same file as
FilterSerializer
.)
Fixed
- Fix OpenAPI parameters for
incidents/
andincidents/mine/