unstale

pypi / django-auditlog

django-auditlog

What changed in django-auditlog 2 to 3, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-24.

11 breaking1 security10 new APIs and options2 behavior and defaults5 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.2.4 on npm

django-auditlog 323 changes

Breaking changes 7

  • Python 3.9 support is dropped, so developers must use a supported Python version.

    3.4.0release notes

  • Invalid apps in settings raise AuditLogRegistrationError.

    3.0.0release notes

  • Changes the change field to a JSON field.

    3.0.0release notes

  • Drops support for Django 4 and Django 4.1; confirms support for Django 4.2 and 5.0.

    3.0.0release notes

  • Sets history delete_related to False by default.

    3.0.0release notes

  • The signal receives instance_old and the LogEntry instance, and fires only when a log is created or an error occurs.

    3.0.0release notes

  • Drops support for Python 3.7.

    3.0.0release notes

New APIs and options 9

  • A setting was added to override use of the default manager.

    3.4.0release notes

  • CustomLogEntry models are now supported.

    3.4.0release notes

  • A new setting controls how foreign-key changes are represented.

    3.4.0release notes

  • Adds correlation ID support to audit logging.

    3.0.0release notes

  • Adds the ability to exclude fields by name across all models.

    3.0.0release notes

  • Users can choose to run the JSON migration asynchronously.

    3.0.0release notes

  • Adds the ability to conditionally disable or enable logging.

    3.0.0release notes

  • Adds custom hooks before and after logging.

    3.0.0release notes

  • Adds the ability to disable logging of the remote IP address.

    3.0.0release notes

Behavior and default changes 2

Fixes and other changes 5

  • Fixes an AttributeError when AUDITLOG_LOGENTRY_MODEL is not set.

    3.4.1release notes

  • Diffing is more robust for polymorphic models.

    3.4.0release notes

  • Does not set the correlation ID when AUDITLOG_CID_GETTER is None.

    3.0.0release notes

  • Returns an empty dictionary when json.loads() returns None.

    3.0.0release notes

  • Fixes manual logging when the model is not registered.

    3.0.0release notes

django-auditlog 26 changes

Breaking changes 4

  • The default_app_config configuration has been removed.

    2.0.0release notes

  • Django 2.2 is no longer supported.

    2.0.0release notes

  • The django_jsonfield_backport package is no longer required.

    2.0.0release notes

  • LogEntry no longer saves to the same database instance the audited model is using.

    2.0.0release notes

Security 1

  • The register argument mask_fields lets you mask sensitive information when logging.

    2.0.0release notes

New APIs and options 1

  • Database choice can be delegated to DATABASES_ROUTER, enabling use of a replica database.

    2.0.0release notes