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/