v5.0.1

knadh/listmonkv5.0.1May 25, 2025by github-actions[bot]

AI Summary

v5.0.1 is a bug-fix release on the v5.0.0 major release, featuring the visual drag-and-drop email builder, per-campaign SMTP selection, and numerous fixes.

Key Highlights

  • Visual drag-and-drop email builder integration using @usewaypoint/email-builder-js
  • CodeMirror replaces CodeFlask for code editing
  • Per-campaign SMTP server selection with named servers
  • Campaign viewing filtered by user list permissions
  • Campaign archive preview functionality
  • Make paused campaigns editable with Unschedule button
  • Ctrl+S shortcut for saving campaigns

Breaking Changes

  • Campaign viewing and management now filtered by user list permissions using new campaigns:get_all and campaigns:manage_all permissions

New Features

  • Visual email builder
  • CodeMirror editor
  • Per-campaign SMTP selection
  • Campaign archive preview
  • Editable paused campaigns
  • Campaign format/content type selection

Full Release Notes

[![listmonk-logo](https://user-images.githubusercontent.com/547147/134940003-1de03d83-8c7b-459b-8056-baa8d5f3b448.png)](https://listmonk.app)

v5.0.1 is a bug-fix release on top of the major v5.0.0 release. It features the addition of long pending features such as the visual drag-and-drop e-mail builder, per-campaign SMTP selection, and numerous other fixes and improvements.

[![listmonk-dashboard](https://github.com/user-attachments/assets/689b5fbb-dd25-4956-a36f-e3226a65f9c4)](https://listmonk.app)

## What's new?

*   **Visual editor and templates**
    *   The much requested and awaited visual e-mail builder and template editor is now integrated, with one-click conversion between formats. Thanks to @vividvilla for the big PR integrating [@usewaypoint/email-builder-js](https://github.com/usewaypoint/email-builder-js)
*   **Campaigns:**
    *   Replace CodeFlask with the more mature and robust CodeMirror for a much better code-editing experience (HTML, CSS, Javascript, Markdown) on campaigns, forms, templates,and settings UI.
    *   Ability to preview campaign archive view.
    *   Make paused campaigns editable and allow unscheduling with new `Unschedule` button.
    *   UX improvement that automatically switches scheduled campaigns to `draft` when `send_at` is removed.
    *   Add format/content type selection to the first screen on campaign creation.
    *   `Ctrl+S` short for saving campaigns while working on them
*   **Security:**
    *   Campaign viewing and management are now filtered by a user's list permissions and now use the new new `campaigns:get_all` and `campaigns:manage_all` permissions.  **Important:** This is a behavioural change from v4.1.0.
    *   Disallow private list UUIDs on public subscriber endpoints.
    *   Make OIDC provider name on the login button configurable.
    *   Add `get` list permission check to bulk subscriber list management.
    *   Proper enforcement of the `subscribers:sql_query` permission with SQL query analysis and table allow-listing. Addresses #2412.
*   **SMTP & e-mail:**
    *   Name SMTP servers and select an SMTP-server per campaign.
    *   Add List-Unsubscribe header to opt-in confirmation emails.
*   **General UI**
    *   One-click `Copy` button on subscribers and campaigns tables for copying names and e-mails to clickboard.
    *   Checkered bg on media thumbnails to visualize transparency.
*   **APIs:**
    *   Add new search param to paginated API responses.
    *   Introduce LISTMONK_ADMIN_API_USER for installation.
*   **Others**
    *   Major cleanup and restructuring of the codebase for better maintainability.
    *   Upgrade of various dependencies .
    *   Many other small fixes and improvements.

## How to upgrade

As always, take a backup of your database before upgrading.

### Binary

Download the latest binary. Stop and replace the old binary. Run `./listmonk --upgrade`. Start the app again.

### Docker

```shell
# cd /directory/with/docker-compose.yml

docker-compose down
docker-compose pull && docker-compose run --rm app ./listmonk --upgrade
docker-compose up -d app db
```

## Changelog
* dc466fc7 Fix quotes issue in `TrackLink` regexp.
* 70fe7cba Bump vite from 5.4.18 to 5.4.19 in /frontend (#2497)
* b0ecd746 Add OIDC SSO tutorials to docs for Keycloak and authentic.
* e49253bc Fix name conflict in frontend JS util lib.
* 29b2766f Add missing requirements.txt to docs. Closes #2494.
* 71ae2bbc Fix scheduled campaigns not finishing. Closes #2480.
* 86f808bc Allow `@` in usernames. Closes #2478.
* 4da91a0e Fix broken `TrackLink` regexp. Closes #2448.
* 03285abf Display detailed d:h:m duration schedule on campaigns page. Closes #2460.
* 3895fbda Fix race in selected template reverting to default on the campaign page. Closes #2461.
* 9540d49a Fix subscription status filter param not being picked up on subscribers page. Closes #2447.
* b04fe6b6 Fix bounces not being sorted by `type` field. Closes #2444.
* 2e563229 Fix incorrect query check in bulk subscriber actions. Closes #2491.
* 00a7effe Enforce lowercasing of email in user creation. Closes #2482.
* 4a132e03 Fix broken template funcs in visual campaign update.
* f687ac89 Fix incorrect order of translated day names in Hungarian locale (#2485)
* ae55e64b Update Dutch i18n (#2449)
* 85ead710 docs: add listmonk and forward email for secure newsletter delivery guide (#2440)
* 6336ec4f Update release details on the static homepage.