NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2903 most downloaded on PyPI
Mask your objects instead of deleting them from your database.
Last release 1 months ago
17 Aug 2026
Release timing varies
gaps range from 4 weeks to 1.5 years
Most releases are documented
notes for 36 of 41 stable releases
Nothing withdrawn
no release was ever pulled
13 years old
42 releases · first in 2013
Fix #242 - SafeDeleteQueryset.update() now applies the soft-delete visibility filter before delegating to super().update(). Upstream's bulk-update pat
SafeDeleteQueryset.update() now applies the soft-delete
visibility filter before delegating to super().update(). Upstream's
bulk-update path silently wrote to soft-deleted rows.SafeDeleteAdmin.log_undeletion dispatches by Django
version. Django 6 removed the single-object LogEntry.log_action API
in favour of log_actions(..., queryset, single_object=True).is_safedelete_cls now compares base.__module__ against this
module's own __name__ rather than the hard-coded literal
'safedelete.models'. The literal check silently disabled
SOFT_DELETE_CASCADE whenever the package was imported under a
non-default dotted path; the new check is location-agnostic.test_prefetch_related now resolves assertQuerySetEqual with a
nested getattr() so Django 5.1+ (which removed the lowercase
assertQuerysetEqual alias) does not trip over the fallback arg.safedelete/tests/test_update_bypass.py pinning the
#242 regression.safedelete/tests/test_admin_django6.py pinning the
#247 regression across Django 5.x and 6.x.Adding check for nullity in related models delete #243
One column per quarter.
Support Python 3.11 / Django 5.0
Add Hard Delete Action to SafeDeleteAdmin #236
Fix undelete count in admin #220
- Fix exclude exception #216
Drop support for Django < 3.2 and Python 3.6
Implement NO_DELETE and HARD_DELETE for queries #209
Fix soft delete cascade for generic relations #207
Fix related_objects for non-safedelete models.
Adding SafeDeleteCascadeControlModel #197
Add django 4.0 and python 3.10 compatibility and tests #191
Add highlight_deleted_field #177
Fix attribute error when union queryset of safe delete model with others #152
Fix deprecation warnings for Django 4.0
Add visibility filter for union operations #145
call self.save() instead of super in delete()
Admin action now warns if some objects weren't undeleted
- Django 3.0 compatibility
Fix "Doing a .get on a queryset adds deleted objects #131"
Fix performance issue with Django 2.2
Fix possible unicode error in admin
Nothing published for this version
Remove support for Django 1.8 to 1.10 and Python 3.3. (it should still works for now but isn't tested, use at your own risks).
Fix an issue with Django 1.8 and values_list
values_listBugfixes - Fix latest and earliest
** Bugfixes **
Set SafeDeleteMixin as abstract
** Bugfixes **
Resolve Django 1.9+ allow_tags deprecation warning
** Bugfixes **
** Refactoring **
Renamed SafeDeleteMixin to SafeDeleteModel to better reflect the intended behavior. Using SafeDeleteMixin now throws a DeprecationWarning.
** New **
** Removed **
** Bugfixes **
** Refactoring **
Globals (HARD_DELETE, SOFT_DELETE, ...) have been moved to config.py.
** New **
deleted is now a datetime.** Refactoring **
to config.py.Change DELETED_VISIBLE_BY_PK to DELETED_VISIBLE_BY_FIELD to be able to change the field used.
** New **
DELETED_VISIBLE_BY_PK to DELETED_VISIBLE_BY_FIELD to be able to change the field used.Add a SOFT_DELETE_CASCADE policy which perform a SOFT_DELETE on safedelete related objects
** New **
SOFT_DELETE_CASCADE policy which perform a SOFT_DELETE on safedelete related objectsNothing published for this version
Prevent migration errors on django 1.8 by declaring the SafeDeleteManager (internal class in managers) as global
Fix issue with release on pypi not being the good one
Add a NO_DELETE policy which never soft or hard deletes an instance
** New **
NO_DELETE policy which never soft or hard deletes an instance** Removed **
** Bugfixes **
all_with_deleted method doesn't lose current queryset on a related managerExtends Django compatibility to Django 1.2
** New **
New - Django compatilibty 1.3 => 1.7 - Add administration utilities
** New **
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →