github knadh/listmonk v0.7.0-alpha

This is a major breaking release with a completely rewritten frontend and numerous fixes and improvements. Some of the updates:

  • New frontend and UI. Snappier and responsive.
  • Bulk of the configuration has moved from the TOML file to a new settings UI.
  • Built-in BasicAuth for admin dashboard. The Nginx auth proxy is no longer necessary.
  • Fullscreen richtext editor with a new syntax-highlighted HTML editor.
  • Support for List-Unsubscribe headers.
  • Automatic update check and notification on the dashboard
  • Better controls on the bulk importer.

IMPORTANT: BasicAuth Admin authentication is now configurable in config.toml / environment variables. The API endpoints also require authentication. The older Nginx authentication is unnecessary and should be removed. To continue using the old setup (not recommended), leave the admin username and password variables empty.


The configuration file now only has the DB config and a couple other app variables.


  • Download the latest binary.
  • Backup the old config file, generate a new config file with ./listmonk --new-config and add the new DB configuration.
  • Run ./listmonk --upgrade to upgrade the DB schema and start ./listmonk
  • Go to the "Settings" UI on the dashboard and replicate the settings from the old config file. Imporant: Bulk of the config has moved to the settings UI and should be removed from config.toml or from the environment variables. Only retain what is in config.toml.sample and remove everything else.


  • Stop the app container using docker-compose stop app
  • Pull the latest version with docker-compose pull. If you are not using :latest tag in your docker-compose.yml then edit the file and set the tag to v0.7.0-alpha.
  • Run the DB migrations with docker-compose run --rm app ./listmonk --upgrade.
  • Recreate the service with docker-compose up -d app db.
  • Go to the "Settings" UI on the dashboard and replicate the settings from the old config file.


0f055ea Fix build scripts (and static file embed)
8c56407 Add rebranded design elements.
d8a60d1 Add automatic update checks.
f3e80da Clean up root and move app to cmd directory
b822955 Add BasicAuth to admin endpoints.
7ed0755 Fix minor inconsistencies in settings.
16e47dd Load env config before DB initialisation
8979a2a Fix Quill setup to use inline CSS styles instead of classes
b54c5d8 Add upgrade file
5fb7c6c Add support for automatic, idempotent DB migrations
494c519 Upgrade JS dependencies (security fixes)
4703d78 Add a fullscreen option to the campaign richtext editor
378e814 Add campaign search UI.
ccf1c49 Refactor pagination constants
0db9579 Suffix app name in page titles
5ff5c74 Add custom email headers to SMTP settings UI
ec09790 Add support for List-Unsubscribe header.
7ead052 Fixed reset not clearing query on subscriber search UI
e4f233e Add missing root_url to settings UI
8c0804b Refactor blacklist to blocklist
2143def Fix loss of caret on image insertion in campaign from popup
13a252a Add missing 'opt-in' campaign feature to the new UI
818da1b Add 'clone template' feature to the templates UI
2587d67 Fix template creation API returning incorrect response
d919766 Add 'cancel' icon to campaigns UI
9c8b7ad Fix broken tag clearing on lists and campaign updation
0145aba Add missing tag UI to lists
f9e4a50 Fix incorrect handling of non-JSON responses in APIs
76f4fd6 Show countdown on scheduled campaigns UI
e2e65b1 Polish UI elements and fix styling issues.
942eb7c Add settings UI and "hot reload" support to the app.
d294c95 Merge branch 'refactor-api-resp'
3df889c Refactor global API response handling in axios.
39aa564 Fix missing API response data{} envelope
80ef60d Merge pull request #155 from RaghavSood/hotfix/add-to-lists-by-query
7b62a7f frontend: pass query when changing lists for subscribers
586defe Merge pull request #153 from mr-karan/docker_docs
eae88c1 Add Ctrl+Enter search on the subscriber query exp box
ab8dbd8 Fix advanced subscriber query exp not propagating to search
06bb719 feat: Add separate config for demo setup, tweak docs
525a510 Merge pull request #147 from RaghavSood/hotfix/vue-filenameHash
ceac96b frontend: Enable vue filenameHash
c2613d1 Fix ticker leak in campaign manager message push
fd044f4 Minor refactor to campaign manager.
3e75559 Fix incorrect WYSIWYG image insertion position
1b346b1 Fix 'cancelled' tag colour
b45d49f Fix HTML editor's line bar colour
dc40206 Add syntax highlighted HTML code editor
2651820 Fix campaign message rate display
61f8fae Add 'overwrite?' option to bulk import.
79dd916 Make DB pull batch size in campaign manager configurable
b45a2a0 Fix incorrect record count in the importer
e7da8fa Fix ordering of records on the subscribers page
db032d3 Change campaign status to draft on removing schedule
64d4470 Add {{ templating }} support to e-mail subjects
24192a3 Refactor and fix media uploads.
7f9a811 Merge branch 'vue'
217adf1 Add frontend README
412e016 Add missing save icon
f2030a1 Fix redirect after new campaign creation
1bcd350 Integrate config.js on the frontend
92cb70f Refactor empty/placeholder states with new component
feb5ba0 Add new dashboard (with new metrics)
97583fe Rewrite frontend with Vue+Buevy and ditch React+Ant Design.
75547b6 Refactor subscriber handlers to send opt-in mails on updation.
a03c7bd Default to empty list instead of nil in media response
693b939 Fix incorrect wrapping of subscriber handler
3048ab5 Add a check for zero SMTP config
67eb3db Fix incorrect config check in subscriber data wipe
ae68bd2 Merge pull request #126 from PhilippSeitz/bugfix/status-on-success
f789f06 fix status code on success
7a467a5 Add support for custom e-mail headers per SMTP server

Docker images

  • docker pull listmonk/listmonk:latest
  • docker pull listmonk/listmonk:v0.7.0-alpha
2 months ago