Skip to content

Release 1.1.0

Alex edited this page Oct 20, 2026 · 1 revision

Commentail 1.1.0

20 October 2026 · Stable · MIT

This release improves moderation inside Wagtail while preserving the documented 1.x integration contract. Dependency bounds and the supported Python, Wagtail, Django and database matrix are unchanged from 1.0.0.

Changes

  • Bulk approve, reject, hide, restore and text erasure across the comment lists, with per-Site permissions and status checks. If any selected comment is no longer eligible, the whole action rolls back, including audit and mail jobs.
  • Explicit confirmation before single or bulk irreversible text erasure, with the comment count and a safe cancel action. Replies remain in place.
  • A selection count, clear selection, grouped filters and explanations for unavailable actions. Search, filters and pagination survive navigation through comment cards, moderation, revision decisions, mail retries and confirmation.
  • A shared Management menu on every Commentail admin page, compact settings and permissions forms, and translated recovery pages for failed moderation actions. Core actions and recovery links remain usable without JavaScript.
  • Staff names use a colored badge; super administrators have a golden name badge and a small golden crown on their avatar. The per-Site Highlight staff names option controls both decorations and is enabled by default.
  • Optional publication notices are queued only after moderator approval of a pending comment or author revision. Immediate publication does not send the author a publication notice. Guest confirmation/edit links and direct-reply notifications retain their existing behavior.

Upgrade from 1.0.0

  1. Back up the database and host configuration, templates, media, secrets and exact package versions. Rehearse on a restored copy with local email delivery.
  2. Install the release with python -m pip install --upgrade commentail==1.1.0.
  3. Run python manage.py migrate. Migration 0015_sitecommentsettings_highlight_staff adds the enabled-by-default highlight_staff field to existing Site settings; comment records are retained. Disable Highlight staff names on a Site if those decorations are unwanted.
  4. Run python manage.py check and python manage.py collectstatic --noinput, then restart application processes and the mail worker using the host's normal deployment procedure. Refresh cached static assets.
  5. Review host overrides of comment item/author/avatar markup and Commentail admin templates. Existing overrides keep precedence; new decorations and admin controls require the corresponding updated markup and assets. See the template contract and styling guide.
  6. Check Site permissions, mixed-status bulk actions, cancellation of erasure, return to filtered results, and the intended notification policy. Existing queued publication notices remain queued; the new policy affects new events.

For earlier installations, also follow the 1.0.0, 0.2.0 and 0.1.1 upgrade notes as applicable. Restore pre-upgrade and post-upgrade backups independently with their matching package versions. A wheel downgrade alone does not restore the previous schema or recover erased text. Keep the same SECRET_KEY to retain issued action links.

Verification boundaries

The installed candidate passed 368 server tests on Wagtail 7.4/Django 5.2 with Python 3.12 and Wagtail 8/Django 6.1 with Python 3.14, each on file SQLite and PostgreSQL 16. PostgreSQL skips one SQLite-specific test. The 42 JavaScript tests, lint, translation catalogs, migration drift, archive checks and source example also passed. Synthetic 1.0.0 upgrades and independent pre/post database restores on both databases preserved retained records and issued links; mail was local.

The moderation changes were accepted in Firefox, including narrow viewports, light/dark themes and recovery to filtered results. The release workflow requires successful CI for the exact publishing commit, including the supported framework and database matrix, translations, migration drift and source/wheel installation. Candidate checks and acceptance on an integrating site remain separate: each site must verify its own theme, template overrides, permissions, email delivery and scheduled worker. This release does not update any integrating site automatically.

Clone this wiki locally