10 August 2023

listmonk v2.5.0

Repository: @knadh/listmonk

GitHub release page: v2.5.0


listmonk-logo

What’s new

  • The major new feature in this release is support for arbitrary file attachments. The media “gallery” UI/UX has changed to accept arbitrary file uploads which can be attached to campaigns.

  • “Record opt-in IP” option in Settings -> Privacy that optionally records the IP from which a subscriber completes a double opt-in. This is a compliance requirement in certain jurisdictions.

  • A new table on the subscriber editing popup that shows subscription details for all lists (including the optional opt-in IP)

  • New API /api/about that returns generally useful system and installation info.

  • Better error notification. Async errors that were logged in Settings -> Logs are now streamed to the UI and displayed as toasts.

  • New bounce types and support for variable actions per type.

This version has several minor bug 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


# 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

  • ea2f93e Fix GH actions write permission.

  • 54979c5 ci: add qemu for multi-arch

  • 14e2837 ci: Update release.yml (#1440)

  • 0562e5d Apply minor fixes to the admin maintenance page template.

  • f4f51d1 Add classes to public forms to make them scriptable.

  • b1fa289 update documentation for api/tx to include file attachments and multiple recipients (#1436)

  • acca61f Fix race conditions in Cypress tests (sigh).

  • 1164afa Fix private lists being unsubscribed from public form and re-factor subscription status view in admin.

  • eafae46 Fix incorrect unsubscription behaviour in the public ‘Manage’ flow. Closes #1407.

  • 104c4fc Remove non-crossplatform syscalls from /api/about.

  • a1c507b Fix typo in queries.sql (#1432)

  • 2215511 Increase the arbitrarily low max-input-length limit. Closes #1416.

  • dcb87a3 Removed unused syscall in /about API. Closes #1421, closes #1422.

  • e89b9ff Remove dead media cleanup flag. Closes #1423.

  • a440b79 modified mistakes and typos in translation (#1419)

  • 2bfbae7 Update Postgres version in doc strings.

  • 3865e95 Update untranslated i18n language strings. Auto-translated with GPT 3.5.

  • 93db7c4 Fix incorrect Buefy checkbox colour.

  • ad80c71 Add new privacy option ‘Record opt-in IP’ to record IP address of optin confirmation.

  • b26950c Add new subscription list table to the subscriber edit UI modal.

  • a628519 Mask passwords on the UI accurately with the actual passwords length.

  • 0be5901 Fix lists UI queries overriding full lists in selections elsewhere. Closes #1400.

  • 534c875 Ignore common on-reload xhr errors in Cypress.

  • 7dd7166 Bump word-wrap from 1.2.3 to 1.2.4 in /frontend (#1403)

  • 3663a8b feat: add multiarch docker build support (#1344)

  • e1c0bf5 Fix unsubbed subscribers not getting re-sub optin confirmation. Closes #1315.

  • d69b766 Enable extra system calls in systemd service (#1309)

  • 329b645 Add documentation for archive function. Closes #1396. (#1399)

  • 1894af1 Bump semver from 5.7.1 to 5.7.2 in /frontend (#1398)

  • c581fe2 Add GET /api/about that returns useful system info. Closes #1354.

  • 5b40461 Stop requiring a DELETE call for fresh import after finished imports. Closes #1369.

  • 530165f Fix typos in comments (#1368)

  • f94c1f3 fix function name in comment (#1374)

  • 92a4d99 Update es.json (#1378)

  • 5e24ef9 Update it.json (#1379)

  • f577522 Update inlang.config.js (#1359)

  • e0cda4b Fix all pagination. Closes #1356. Closes #1357.

  • a2da75c Merge branch ’events’

  • 0b2da4c Add support for streaming async events via HTTP serverside events.

  • 63bc00d Fix issues in the Swagger collection (#1322). Closes #1321.

  • d359ad2 Refactor media management.

  • 3b9a0f7 Add support for file attachments on campaigns (#1341)

  • cb2a579 Update ro.json (#1326)

  • cbbbe40 Fix missing fields in Swagger collection. Closes #1317.

  • 5a26279 Fix Swagger collection. Closes #1308. Closes #1313 (PR #1314)

  • 917696a Refactor Messenger interface.

  • 9ffc912 Refactor media provider.

  • be16297 Fix incorrect assignment of subscriber in message struct. Closes #1307.

  • e332622 Added remaining endpoints to the Swagger Collection (#1283)

  • 39a627d Upgrade koanf lib to fix mapstructure []byte unmarshal bug.

  • 9381e08 Link the Swagger pages on the API doc.

  • 8c46b75 build: push docker image to ghcr.io (#1237)

  • 101459f actions: generate swagger ui for github pages (#1281)

  • 81ac627 Add white background to logo in README for dark mode. Closes #1268.

  • 5fc28a7 Add support for variable bounce processing actions.

  • 13ad9ad Upgrade koanf to v2.

  • 3baf18e Add support for wildcards in the email domain blocklist.

  • 98729f6 Refactor email domain blocklist config field in importer package.

  • 476d5be Add support for publishing full content in public archive RSS feed body (#1262)

  • 146e8e7 Add missing translation message in maintenance page (#1279)

  • 0d4c1d1 Fix portuges missing translations (#1278)

  • 7db3d7d Improve i18n editor.

  • 71a9138 Add missing i18n languages to the editor

  • ad53632 Expanded docs about PUT /api/subscribers/:id (#1269)

  • b433ef6 Fix broken SES bounce type check.

  • a955102 Add functions to notification templates (#1263)

  • d1d0922 Fix gh-pages workflow script to run on push to master.

  • ec7a246 Fix link to the docs repo.

  • d4fb3a3 Remove obsolete files.

  • 5d3c10d Add new README to the docs directory.

  • 684c15a Add static Hugo website and mkdocs documentation to docs directory. (#1261)

  • 152bd37 Fix no opt-in mails when existing subscribers subscriber to new opt-in lists. Closes #1257.

  • 5aedc3a Make media upload file extension validation case insensitive. Closes #1256.

  • bf72154 Add Swagger collection for APIs (#1253)

  • 4821dd7 Update es.json (#1258)

  • d87a01f Include CAPTCHA in HTML form generation.

  • eb1d4a3 add support for arm binaries (#1249)

New Contributors