3.0.0-beta.1
Breaking Changes
- feat: Change
LogEntry.change
field type toJSONField
rather thanTextField
. This change include a migration that may take time to run depending on the number of records on yourLogEntry
table (#407)(#495) - Python: Drop support for Python 3.7 (#546)
- feat: Set
AuditlogHistoryField.delete_related
toFalse
by default. This is different from the default configuration of Django'sGenericRelation
, but we should not erase the audit log of objects on deletion by default. (#557)
Improvements
- Changes the view when it has changes in fields
JSONField
. TheJSONField.encoder
is assigned tojson.dumps
. (#489) - feat: Added support for Correlation ID. (#481)
- feat: Added pre-log and post-log signals. (#483)
- feat: Make timestamp in LogEntry overwritable. (#476)
- feat: Support excluding field names globally when
AUDITLOG_INCLUDE_ALL_MODELS
is enabled. (#498) - feat: Improved auto model registration to include auto-created models and exclude non-managed models, and automatically register m2m fields for models. (#550)
Fixes
- fix: Audit changes to FK fields when saved using
*_id
naming. (#525) - fix: Fix a bug in audit log admin page when
USE_TZ=False
. (#511) - fix: Make sure
LogEntry.changes_dict()
returns an empty dict instead ofNone
whenjson.loads()
returnsNone
. (#472) - fix: Always set remote_addr even if the request has no authenticated user. (#484)
- fix: Fix a bug in getting field's
verbose_name
when model is not accessible. (508) - fix: Fix a bug in
serialized_data
with F expressions. (508) - fix: Make log entries read-only in the admin. (#449, #556) (applied again after being reverted in 2.2.2)