Skip to content

Releases: Uninett/Argus

[1.31.0] - 2025-01-17

17 Jan 08:34
Compare
Choose a tag to compare

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. Run make clean to delete cached files then find empty directories
    with find . -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

19 Dec 13:18
Compare
Choose a tag to compare

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

06 Dec 13:09
Compare
Choose a tag to compare

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

  • Keep column filters when autoreloading incident list
    (#1033)
  • Fix incorrect width specifier in column filter input
    (#1065)

[1.28.0] - 2024-11-29

29 Nov 09:31
Compare
Choose a tag to compare

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

13 Nov 14:32
Compare
Choose a tag to compare

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

08 Nov 08:40
Compare
Choose a tag to compare

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

29 Oct 08:39
Compare
Choose a tag to compare

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

24 Oct 12:59
Compare
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.24.0] - 2024-10-22

22 Oct 06:41
Compare
Choose a tag to compare

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

10 Oct 09:44
Compare
Choose a tag to compare

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 and validate_jsonfilter from the filter plugin
    mechanism since they just wrap FilterBlobSerializer. (This also means
    FilterBlobSerializer can no longer be in the same file as
    FilterSerializer.)

Fixed

  • Fix OpenAPI parameters for incidents/ and incidents/mine/