The interactive file manager requires Javascript. Please enable it or use sftp or scp.
You may still browse the files here.

Download Latest Version listmonk_5.1.0_darwin_amd64.tar.gz (9.4 MB)
Email in envelope

Get an email when there's a new version of listmonk

Home / v5.0.0
Name Modified Size InfoDownloads / Week
Parent folder
listmonk_5.0.0_checksums.txt 2025-04-28 2.2 kB
listmonk_5.0.0_netbsd_armv7.tar.gz 2025-04-28 8.8 MB
listmonk_5.0.0_netbsd_amd64.tar.gz 2025-04-28 9.2 MB
listmonk_5.0.0_openbsd_armv6.tar.gz 2025-04-28 8.9 MB
listmonk_5.0.0_freebsd_armv6.tar.gz 2025-04-28 8.9 MB
listmonk_5.0.0_linux_armv6.tar.gz 2025-04-28 8.9 MB
listmonk_5.0.0_openbsd_amd64.tar.gz 2025-04-28 9.2 MB
listmonk_5.0.0_darwin_arm64.tar.gz 2025-04-28 9.0 MB
listmonk_5.0.0_windows_armv7.tar.gz 2025-04-28 9.0 MB
listmonk_5.0.0_windows_arm64.tar.gz 2025-04-28 8.8 MB
listmonk_5.0.0_linux_armv7.tar.gz 2025-04-28 8.8 MB
listmonk_5.0.0_linux_amd64.tar.gz 2025-04-28 9.2 MB
listmonk_5.0.0_netbsd_armv6.tar.gz 2025-04-28 8.8 MB
listmonk_5.0.0_netbsd_arm64.tar.gz 2025-04-28 8.7 MB
listmonk_5.0.0_openbsd_armv7.tar.gz 2025-04-28 8.8 MB
listmonk_5.0.0_freebsd_armv7.tar.gz 2025-04-28 8.8 MB
listmonk_5.0.0_freebsd_arm64.tar.gz 2025-04-28 8.7 MB
listmonk_5.0.0_freebsd_amd64.tar.gz 2025-04-28 9.2 MB
listmonk_5.0.0_darwin_amd64.tar.gz 2025-04-28 9.3 MB
listmonk_5.0.0_windows_armv6.tar.gz 2025-04-28 9.0 MB
listmonk_5.0.0_windows_amd64.tar.gz 2025-04-28 9.4 MB
listmonk_5.0.0_linux_arm64.tar.gz 2025-04-28 8.7 MB
listmonk_5.0.0_openbsd_arm64.tar.gz 2025-04-28 8.7 MB
README.md 2025-04-28 16.3 kB
v5.0.0 source code.tar.gz 2025-04-28 4.0 MB
v5.0.0 source code.zip 2025-04-28 4.2 MB
Totals: 26 Items   205.0 MB 0

listmonk-logo

v5.0.0 is a major 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

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
  • 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

  • 3b8a8c23 Add email-builder/dist to .gitignore.
  • 8902320a Update screenshot on README.
  • a7085cb5 Update homepage.
  • 11f52ee8 Switch migration version to v5
  • 47e8f816 Default body_source to null instead of empty string in non-visual campaigns.
  • 925cdf28 Add visual template and new permissions to docs.
  • 1599957d Add and auto-translate missing i18n strings in all language packs.
  • db81dc1d Remove default dummy admin notification email settings.
  • 9de19ea2 Fix Codemirror Cypress tests in templates and form pages.
  • 92fc6469 Update sdks.md: add client for java/kotlin (#2426)
  • 81b62a4a Fix race condition in immediate campaign pause-start actions.
  • d3c8eca4 Upgrade Go deps.
  • 0dc29b7d Fix CSV example on the subscriber import UI.
  • 953deef4 Hide 'New' and 'Save' buttons on the templates UI if there's no manage permission.
  • 77913275 Make Must config variables non-Must so that the app doesn't panic on their absence.
  • 8fc3d27b Merge pull request [#2423] from knadh/dependabot/npm_and_yarn/frontend/email-builder/vite-5.4.18
  • 3dfdf48d Merge pull request [#2424] from knadh/dependabot/npm_and_yarn/frontend/email-builder/babel/runtime-7.27.0
  • 12bc7986 Make OIDC provider name display on login button configurable. Closes [#2211]
  • 88854376 Bump @babel/runtime from 7.26.0 to 7.27.0 in /frontend/email-builder
  • 6707b634 Bump vite from 5.4.10 to 5.4.18 in /frontend/email-builder
  • 5477c169 Merge pull request [#2373] from knadh/feat-visual-editor
  • ed700d7a Add a Preview option to the campaign archive tab. Closes [#2245].
  • b67fc5ea Replace CodeFlask code editor with CodeMirror on the UI.
  • 53d79297 Prepare first RC.
  • ffbda019 Add sample visual campaign template on install and upgrade.
  • 445d7e53 Fix clone campaign by fetching campaign body on clone.
  • 1559c55a Add visual editor Cypress tests.
  • ded0fcfa Fix broken visual template cloning on the templates UI.
  • dcdef8ea Add format/content type selection to campaign creation UI.
  • d3da0be6 Fix `test campaign' sending wrong template for visual campaigns.
  • 5207dff7 Fix visual editor change event/init/import sequences.
  • 968b366b Stop fetching bodies for all campaigns and explicitly fetch for visual campaign import.
  • 20e4b100 Fix DB state issues in visual campaign cloning.
  • f4c0e66a Refactor 'media upload' integration in campaign visual editor.
  • 3aba2b00 Fix frontend/email-builder Makefile build steps.
  • 343d405b Add Ctrl+S campaign save shortcut and add Ctrl+S and F9 to richtext editor.
  • e4e735e0 Update tsx formatting in email-builder.
  • 503e9855 Add support for converting all types to visual editor blocks.
  • f1fbadf6 Fix incorrect template states in DB in campaign creation and broken preview.
  • cee2589a Move email-builder src from / to /frontend.
  • 110345d6 Refactor and simplify state management in campaign editor.
  • fca5ec5a Change visual editor UI language.
  • 7786b184 Add DB migrations for visual editor.
  • c1f81cfa Fix compatibility issues with master.
  • 82e2b705 fix: Move visual-editor to iframe so that CSS styles are isolated.
  • 4a524c93 feat: Integrate media selector to visual editor and add minor fixes.
  • e6f08a05 feat: Inject email-builder instead of loading it as ES module
  • ae982808 feat: Integrate email-builder on campaign/template editor UI and backend.
  • 5a0980e5 Add on-hover one-click Copy button to subscribers and campaigns tables UI.
  • a85e467c Add missing charset for numbers in TrackLink regex. (#2404)
  • fb527008 Remove GET /api/settings dependency on the Lists -> Forms UI.
  • b44ea0c3 Merge branch 'fix-sql-search'
  • 75aad8ec Add new search param to paginated API response structure.
  • 29591c18 Add get list permission check to bulk subscriber list management.
  • fca8d6de Bump vite from 5.4.17 to 5.4.18 in /frontend (#2416)
  • 4b805f88 Fix broken subscribers:sql_query permission.
  • 375e3856 Bump golang.org/x/net from 0.36.0 to 0.38.0 (#2413)
  • 4d8c8cde Update installation.md (#2405)
  • 5971bc4a Fix Raw CSV example on import UI (#2392)
  • 562e52cd Introduce LISTMONK_ADMIN_API_USER to --install. Closes [#2314], [#2322].
  • b3e6b099 Bump vite from 5.4.15 to 5.4.17 in /frontend (#2391)
  • 0826f401 Remove repetitive URL param :id validation and simplify handlers.
  • e6d3aad0 Add ability to wait and healthcheck for backend app in Cypress settings tests.
  • 78366ab7 Clean up main initialization to remove app interdepencies in init.
  • 88489223 Remove superfluous consts dep in init functions by separating URL consts.
  • e2f24a14 Turn notifs into a special stateful global singleton package, removing clunky deps.
  • e327ebbb Move all HTTP handlers directly to App and remove the redundant in-between layer.
  • b3d46a8c Refactor system notification callbacks into a new notifs package.
  • 00c858fc Refactor all HTTP handlers and attach them to a single struct.
  • 007f4de8 Fix a number of cosmetic inconsistenies across handlers and functions.
  • fcf2449a Replace awkward auth user object access in handlers with an explicit func.
  • 17998fbf Refactor user auth models and permission checks.
  • 5c785064 Refactor superfluous list perm check middleware into standalone function.
  • a271bf54 Introduce per-campaign filter permissions. Closes [#2325].
  • a5f8b28c Fix inconsistent behaviour in campaign scheduling on the UI.
  • fbc27ae4 Refactor UI time diff display function to prefix '-' on past dates.
  • 92e5d630 Fix various static-check/idiom warnings.
  • b18c7ad0 Fix incorrect loading spinner on the Lists UI. Closes [#1822].
  • d1c964da Bump vite from 5.4.12 to 5.4.15 in /frontend (#2379)
  • b8f50eaf Add support for domain allowlists in addition to blocklists. Closes [#2230].
  • 6efb6e76 Upgrade smtppool to v2 and add support for concrete SSL options.
  • e4a18dab Remove forcing unique filename on all media uploads.
  • ef8f3191 Remove obsolete language key and refresh i18n files.
  • 9224e344 Update i18n refresh script to remove deleted base keys from all other files.
  • 5f1b6764 Remove ASCII-only restriction on media filenames. Closes [#2277].
  • 0be7a79d Fix broken log rendering on importer UI.
  • 1b43e1a0 Add minor i18n Hungarian language pack fixes (#2375)
  • 06c2f3b9 Add Nuxt.js module to Supported Libraries Lists (#2371)
  • 473f9427 Add i18n Hungarian language pack fixes (#2370)
  • 7d3e6e61 Fix too greedy TrackLink regex replacement. (#2355)
  • 79f8b60e Updating documentation to reflect AWS Console changes (#2365)
  • 625f6167 Change the docker-compose example to bind Postgres locally. Closes [#2357].
  • de9a8ea4 Add Bulgarian i18n translation (#2349)
  • f3101316 Update Go version to v1.24.1
  • d43ac107 Tidy go.mod
  • f34551d2 Bump golang.org/x/net from 0.33.0 to 0.36.0 (#2348)
  • 2005e7a4 Bump github.com/go-jose/go-jose/v3 from 3.0.3 to 3.0.4 (#2346)
  • bc5b8175 Bump axios from 1.7.9 to 1.8.2 in /frontend (#2347)
  • a9869612 Disallow private list UUIDs on public sub endpoints. Closes [#2296].
  • 8dc5bc29 Bump prismjs from 1.29.0 to 1.30.0 in /frontend (#2345)
  • f8d07ad9 Fix DELETE list documentation. (#2335)
  • 06768ba8 Fix ru i18n lang (#2330)
  • e649cf6f docs: improve clarity and consistency of user-related translations (#2324)
  • d3a417d1 Fix typo in function name.
  • 2defef38 Refactor SMTP name to always have email- prefix for consistency.
  • 24af0bc2 Update ca.json (#2303)
  • d055cc53 Add support for selecting SMTP per campaign (#2290)
  • 756e3915 Fix typos in subscribers.md (#2302)
  • 61d7a9d2 Update cs-cz.json (#2293)
  • 2f5ab4c6 Display filename and milliseconds in timestamp on the logs admin UI (#2280)
  • ad162c25 Bump vite from 5.4.11 to 5.4.12 in /frontend (#2268)
  • 86f9ad05 Add Norwegian Bokmål (no.json) i18n language pack (#2289)
  • d0321baf fix: typo in callout under the settings page (#2283)
  • c3069e55 Update Finnish translation (#2270)
  • 672d8ffb Merge pull request [#2269] from s-en-o/patch-1
  • 1446fbb5 fix(static): no matching closing anchor tag
  • 7153777b Merge pull request [#2266] from vinitparekh17/patch-1
  • 7c952e78 docs: removed duplicate line
  • afa717fd Upgrade smtp-pool lib fixing non-FQDN hostnames. Closes [#2146].
  • ff19a34f Fix bounce meta JSON overflowing in the table on admin UI. Closes [#1797].
  • 0e49a4bb Merge pull request [#2264] from knadh/edit-campaign
  • 3d383cd5 Make paused campaigns editable.
  • 5ba0adcb Automatically switch scheduled campaigns to draft when send_at date it removed.
  • 61c6b7e1 Add explicit Unschedule button on campaign UI.
  • fd31ac6f Remove redundant send_later param in campaign POST/PUT.
  • e8fd12bd Add List-Unsubscribe header to opt-in confirmation mails. Closes [#2224].
  • 2e8a5ace Add user roles/perms documentation. Closes [#2242].
  • 0930a22b Add VACUUM to maintenance section in docs.
  • e2aa9c53 Make media image background checkered to show transparency. Closes [#2080].
  • c8771562 Bump golang.org/x/net from 0.23.0 to 0.33.0 (#2253)
  • a5e56c34 fix: forwardemail bounce processing invalid signature issue (#2250)
  • 0878f3e6 Add Laravel SDK to Supported Libraries Lists (#2240)
  • 50b296da Remove GitHub from OIDC shortcuts as it doesn't support OIDC. Closes [#2235].
  • b75de39f Fix elest.io image in docs (#2239)
  • cb9b7985 Fix typo in de i118 (#2236)
  • 62c996bc Fix typo (#2233)
  • 2abc0a86 Apply minor Go code fixes (#2219)
  • 98934e60 Fix outdated docker local dev suite (#2200)
  • 97fde644 Make CSV (import) header fields agnostic of surrounding spaces. Closes [#2189].
  • 63712285 Fix schema and add migration for incorrect subscriber count (null) in materialized view.
  • 5c0de6ef Fix broken sorting lists by subscriber_count. Closes [#2151].
  • 7bfbd6a8 Add all to subscriber deletion by query which broke with query validation. Ref: [#2122].
  • a1291114 Replace broken indent JS lib with js-beautify. Closes [#2182].
  • 1c33d32b Remove redundant event from bounces UI. Closes [#1850].
  • cb99d600 Fix loading of messengers from serverConfig on line 629 (#2187)
  • 3f5bad1a Fix incorrent curl command in docs.
  • fce46b21 fix: update OpenAPI specs for routes and correct docs for campaign endpoints (#2179)
  • 882c49f1 Bump cross-spawn from 7.0.3 to 7.0.6 in /frontend (#2169)
  • ee9677cd removes example properties from attribs property and allow additional properties (#2154)
  • 1451c4b1 Improve API auth/permission docs and examples.
  • 392bc872 Add curl example to subscriber import docs.
  • 1198f6f3 Update release link on static site homepage.

New Contributors

Full Changelog: https://github.com/knadh/listmonk/compare/v4.1.0...v5.0.0

Source: README.md, updated 2025-04-28