Skip to content

Releases: cuongnbms/django-admin-extended

v6.0.2

02 Jun 02:58

Choose a tag to compare

Added

  • create_db management command: creates the database for a configured connection if it does not exist. Supports PostgreSQL and MySQL, reads connection details from settings.DATABASES, accepts a --database alias (default: default), and is idempotent (skips creation when the database already exists).

Full changelog: https://github.com/cuongnbms/django-admin-extended/blob/master/CHANGELOG.md

v6.0.1

22 May 03:12

Choose a tag to compare

Fixed

  • change_form: Edit button in view-mode was gated on has_change_permission or has_delete_permission. Because ExtendedModelAdmin.has_change_permission returns False in VIEW mode, the condition collapsed to delete permission — hiding the Edit button from users with only change permission, and showing it to delete-only users. The button is now gated on a new ae_has_change_permission context variable that reflects the underlying model-level change permission.

Changed

  • change_form: Edit button is now rendered after user-defined object tools, so it sits at the end of the object-tools toolbar.

Full changelog: https://github.com/cuongnb14/django-admin-extended/blob/master/CHANGELOG.md

v6.0.0

21 May 04:46

Choose a tag to compare

v6 is a complete re-architecture. No automatic upgrade path from v5.x. Use only for new installations or projects that accept manual migration. See CHANGELOG.md for the full v5 → v6 rename table and migration notes.

⚠️ Breaking changes

  • Python 3.12+ required (was 3.8+).
  • Django 5.2 LTS or Django 6.0+ required (was 4.0).
  • bookmarks and charts are now separate Django sub-apps; add admin_extended.bookmarks and admin_extended.charts to INSTALLED_APPS if you need them.
  • Public API renames — see the rename table in docs/superpowers/specs/2026-05-20-v6-architecture-refactor-design.md.

Removed

  • BookmarkAdmin.add_bookmark_view (CSRF-disabled POST endpoint — security issue).
  • request.page_type attribute (use get_page_mode(request, object_id) or current_page_mode()).
  • ExtendedModelAdmin.get_html_* methods (use free functions admin_extended.display.html_*).
  • ExtendedModelAdmin.TEXT_COLOR_* constants (use admin_extended.display.html.{SUCCESS,ERROR,WARNING,DEFAULT}).
  • setup.py, MANIFEST.in.
  • v5 packages admin_extended.base, admin_extended.admin, admin_extended.models, admin_extended.utils, admin_extended.decorators, admin_extended.settings.

Fixed

  • TableData shared mutable state via class-level lists (B1).
  • BookmarkAdmin.add_bookmark_view CSRF disabled (B2).
  • Mutable default arguments throughout the codebase (B3).
  • auto_register reverse identity format — now canonical app_label.ModelName (B4).
  • DefaultModelAdmin JsonField typo → JSONField (B5).
  • request.page_type mutation — moved to ContextVar (B6).
  • DisplayLinkAdapter skipped the first list_display entry (B7).
  • parse_filters did not URL-decode (B8).
  • extra_context mutation could overwrite caller-supplied keys (B9).
  • SCALE_MAPPING duplicated between model and admin (B10).
  • Sidebar templatetag ran a DB query per render (B11) — now cached with signal-based invalidation.
  • metrics_api raised bare Exception (B12) — now returns proper 400 JSON.
  • POST object-tool buttons now render inside the main change-form (previously emitted outside, breaking submission).

Added

  • Type hints across the entire public API + py.typed marker.
  • Permission check for object tool views (H2).
  • TimeSeriesChart.max_points to cap returned buckets.
  • TimeSeriesChart.cache_seconds for per-chart result caching.
  • TimeSeriesChart.clean() validates target model and field references.
  • BOOKMARK_CACHE_SECONDS, DEFAULT_APP_ICON settings.
  • pytest + pytest-django + tox matrix (Python 3.12/3.13 × Django 5.2/6.0) + CI workflow.
  • pyproject.toml, ruff, mypy --strict, setuptools-scm dynamic versioning.
  • llms.md — single-file LLM-friendly reference for coding agents (Claude Code, Cursor, Copilot, etc.).

Changed

  • ExtendedAdminModel renamed to ExtendedModelAdmin for consistency with Django's ModelAdmin convention.

v5.1.6

04 Apr 15:15

Choose a tag to compare

  • Remove custom filter box

v5.1.5

11 May 02:56
10499fb

Choose a tag to compare

add migation_graph command

v5.1.4

05 Oct 11:59

Choose a tag to compare

fix css theme

v5.1.3

05 Oct 00:50

Choose a tag to compare

restyle sidebar

v5.1.2

04 Oct 05:26

Choose a tag to compare

optimize UI for light theme

v5.1.1

12 Sep 10:23

Choose a tag to compare

Support admin chart

v5.0.1

09 Sep 15:34

Choose a tag to compare

Update DefaultModelAdmin