27 September 2021

listmonk v2.0.0

Repository: @knadh/listmonk

GitHub release page: v2.0.0


listmonk-logo

This is a major release with multiple new features and a large number of usability improvements, bug fixes, and significant performance improvements. Check out the live demo.

  • Bounce processing: POP3 mailbox, API, and AWS/SES and SendGrid webhooks.

  • Campaign analytics with view, click, bounce, and link stats and visualizations.

  • Pluggable S3 compatible media upload backend (MinIO).

  • A powerful new WYSIWYG richtext editor (TinyMCE) with improved raw HTML editing.

  • E-mail domain blocklist.

  • Refreshed UI with snappier interactions and improved mobile responsiveness.

  • New @TrackLink shorthand for creating tracking URLs. eg: <a href="https://listmonk.app@TrackLink"></a>.

  • New language packs.

  • and more …

Important :warning:

  • All admin UI URLs have moved to /admin/*. If you have custom firewall rules in your proxy, update them.

  • If you are using custom static templates with the --static-dir option, make sure to download and use the new files. They may have breaking changes.

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


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



docker-compose pull && docker-compose run --rm app ./listmonk --upgrade

docker-compose up -d app db

listmonk-dashboard

Changelog

  • 05585b7 Fix build step in GitHub actions.

  • bf2703b Fix status tag flashing on campaign edit UI load.

  • 93c7c87 Replace TinyMCE source editor with Flask HTML editor.

  • cd639e8 Add link to bounces docs in settings UI.

  • 60badb2 Update README to reflect v2.0.0 changes.

  • f0b033b Add missing home template.

  • 1f31218 Add a 404 page to the admin UI.

  • 0db6f0c Bump Postgres version to 13 in example Docker setup.

  • 30f9f03 Replace TinyMCE UI pt font sizes with px.

  • 98ed4fb Add a landing login page and a logout option.

  • 9d2bc9c Add HTML syntax highlighted editing to the template editor.

  • a1a9f3a Fix incorrect i18n variable in notification e-mail.

  • 3ffd88f Remove obsolete bounce routines from manager package.

  • 4056187 Add sane defaults to POST creation APIs.

  • f6cd24d Fix TinyMCE modal styles and overlapping issues.

  • d86438b Introduce @TrackLink shorthand for generating tracking links.

  • d3f543c Fix issues with Buefy responsive styles.

  • e0bf1f1 Fix broken Cypress tests.

  • 492efe1 Bump Go compiler to v1.17 in GitHub actions.

  • 4dbac14 Add Romanian i18n language pack contributed by @gabrielpioaru.

  • 7aee36e Add support for blocklisting e-mail domains.

  • 9f3eb7e Fix Cypress tests to accommodate new admin UI URI.

  • 9f8e9c0 Fix subscriber form UI to have a default status value.

  • e71115d Add option to toggle sending opt-in confirmation. Closes #363.

  • 51da1a1 Add check to skip admin notifications with no e-mails. Closes #300.

  • c2a3f7d Merge pull request #472 from henk23/feature/replace-quill-with-tinymce

  • 68512d2 Add i18n support to TinyMCE.

  • 0dc9e78 Refactor HTML formatting and indentation in richtext -> HTML on UI.

  • b6f68b8 Tweak editor page and box styles.

  • ffcb987 Fix incorrect init and change events on TinyMCE.

  • a0addc7 Clean up syntax, toolbar, and editor styles.

  • 1e4f974 Make media selection work and add more plugins and tools

  • c140578 Put TinyMce init options into variable, add some TODOs

  • 4afe4a7 Re-add changes from master, that got lost by accident

  • 71fc73f Fix long line issue in dist build

  • c09d2fc Replace Quill editor with TinyMCE

  • a97d81a Merge branch ‘refactor-frontend-path’

  • 6904b1f Remove redundant clause from the Makefile.

  • bb340b8 Refactor frontend build and name space all admin URIs behind /admin/.

  • 855d440 Merge pull request #477 from aiac/patch-1

  • 0ebf494 CD to directory before install script

  • 13f1648 Merge pull request #476 from knadh/dependabot/npm_and_yarn/frontend/prismjs-1.25.0

  • 7d4bac6 Bump prismjs from 1.24.0 to 1.25.0 in /frontend

  • 956e990 Improve codeflask HTML syntax highlighting colours.

  • 4b13f0c Add public URIs to yarn dev proxy.

  • 9f9425c Refresh i18n files.

  • 4b127f1 Merge branch ‘campaign-analytics’

  • 623030a Replace go get with go install stuffbin (Go 1.17 deprecation).

  • 6a31697 Fix inconsistent non-ii18n tag and label displays.

  • 2ed54b8 Fix Buefy UI modal breaking body and sidebar scroll.

  • 71fd71d Refactor individual subscriber edit view.

  • 070472c Add missing speedometer Fontello icon to the campaigns UI.

  • d19728c Make container size uniform on multiple views on the UI.

  • 6f2aa1a Fix and refactor list selector UI component.

  • 1df827c Fix automatic field camel casing for subscriber attribs

  • 4e5e466 Add a ?minimal mode to GET /lists API.

  • f86a647 Add Intl formatting to large numbers on the UI.

  • 56629cc Fix lists pagination breaking on the UI.

  • f1fbcd4 Fix automatic camel casing of subscriber attribs on the UI.

  • 8733b20 Refactor SQL schema and queries for performance improvements.

  • 6eb5894 Fix ‘Analytics’ menu item not getting highlighted.

  • 1bb630c Fix Buefy taginput padding

  • 54f1b55 Merge branch ‘analytics-migration’ into campaign-analytics

  • 61e8868 Add campaign analytics APIs and UI

  • fd8f5a9 Add missing bounce_type to v2 migration.

  • 9302dfb Add missing id (pkey) to analytics tables for faster queries

  • 3d0031b Add campaign analytics APIs and UI

  • 3135bfc Upgrade and refactor global theme.

  • d205f1c Merge pull request #464 from tusharsadhwani/patch-1

  • f0299a8 Clarify default option in prompt

  • 1f4f426 Fix incorrect [list_id] param in bulk subscriber deletion UI

  • 68369a8 Update issue templates

  • 85c8806 Merge pull request #450 from ChrisTG742/patch-1

  • 647bea3 translation fixes

  • 6cf0b46 Merge pull request #445 from tusharsadhwani/fix-whitespace

  • 2edd3ec Fix whitespace inconsistency in install scripts

  • 7691fbd Refactor the large settings UI view to multiple files.

  • abedb26 Add Czech i18 translation contributed by @srchlm

  • 00275df Fix i18n language code validation to include -

  • 3847c67 Add –idempotent to make –install idempotent

  • edac5a1 Add bounce tests (Cypress)

  • 81d183b Fix incorrect date in bounce insert

  • 27e1e83 Validate type in bounce webhook API.

  • 158ea9f Fix bounce action only triggering on n+1st bounce.

  • b6d60d9 Merge branch ‘master’ of github.com:knadh/listmonk

  • ab0b5dd Remove obsolete ’embed’ import

  • f149c63 Replace the Heroku button with a functional one.

  • d6d1883 Add custom S3 backend support (eg: Minio) to media uploads

  • 923b882 Add migration to remove obsolete subscribers.campaigns field

  • 1be8c7d Merge branch ‘bounce’

  • d41b697 Fix race in settings UI and settings API fetch

  • cce5cff Fix bounce upgrade schema

  • 185d511 Merge pull request #434 from knadh/dependabot/npm_and_yarn/frontend/url-parse-1.5.3

  • 59c8976 Normalize i18n files with new bounce keys.

  • 1ae9869 Add support for bounce processing.

  • c7a962b Bump url-parse from 1.5.1 to 1.5.3 in /frontend

  • e23b4fd Merge pull request #431 from knadh/dependabot/npm_and_yarn/frontend/path-parse-1.0.7

  • ccee852 Remove incorrect RootURL link from e-mail template. Closes #432

  • 26c099a Merge branch ‘version-file’

  • d27e16e Add a VERSION file for git-archive export

  • b19013d Merge branch ‘master’ of github.com:knadh/listmonk

  • 137e9dd Refine Spanish (es) i18n translations

  • 7f5e975 Merge pull request #433 from dreglad/i18n-es-refine

  • 9e64dcb Refine Spanish (es) i18n translations

  • 4405550 Bump path-parse from 1.0.6 to 1.0.7 in /frontend

  • e656618 Add preconfirm_subscriptions to subscriber update. Closes #426.

  • fb48477 Fix SQL expressions breaking subscriber export. Closes #408

  • af11a17 Refactor make run to always compile and use the correct frontend path

  • 6a87f38 Merge branch ‘static-paths’

  • b7a25e5 Merge pull request #423 from mr-karan/install_fix

  • 4d8e73b fix colorized output in terminal

  • 9e61bfc Merge pull request #419 from justinbeaty/topic-root-url-fix

  • a7f7016 Fix RootURL in campaign-status.html

  • 82735bb Refactor behaviour of loading static files from disk vs. embedding.

  • c8826d0 Merge pull request #417 from kmohrf/master

  • c10c031 add systemd service unit

  • 67c0ca0 Merge branch ‘master’ of github.com:knadh/listmonk

  • 3be5227 Account for all *.go files in the repo in the Makefile build target

  • 078ca39 Merge pull request #405 from knadh/dependabot/npm_and_yarn/frontend/color-string-1.5.5

  • 5e2c24b Make –new-config accept path from –config. Closes #410.

  • ea9895e Merge pull request #406 from knadh/dependabot/npm_and_yarn/frontend/prismjs-1.24.0

  • 893fab2 Bump prismjs from 1.23.0 to 1.24.0 in /frontend

  • f101dde Bump color-string from 1.5.3 to 1.5.5 in /frontend

  • c818ad9 Merge pull request #399 from knadh/dependabot/npm_and_yarn/frontend/browserslist-4.16.6

  • 442d7f7 Merge pull request #403 from kmohrf/master

  • 89bfe74 use make’s dependency handling to speed-up rebuilds

  • 07478a5 allow yarn bin to be overridden

  • 5988ea3 Sanitize media upload filenames. Closes #397.

  • d6551e1 Bump browserslist from 4.12.0 to 4.16.6 in /frontend

  • fc84082 Merge pull request #398 from knadh/dependabot/npm_and_yarn/frontend/postcss-7.0.36

  • 674536c Bump postcss from 7.0.32 to 7.0.36 in /frontend

  • a22d7fa Merge pull request #394 from mr-karan/install

  • 8d40422 feat: Add easy install script

Docker images

  • docker pull listmonk/listmonk:v2.0.0