Skip to content

Commentail 1.1.0

Choose a tag to compare

@hardcodd hardcodd released this 20 Oct 09:18
· 2 commits to main since this release

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.