10 August 2023
listmonk v2.5.0
Repository: @knadh/listmonk
GitHub release page: v2.5.0
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
-
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
. -
2215511 Increase the arbitrarily low max-input-length limit. Closes #1416.
-
dcb87a3 Removed unused syscall in
/about
API. Closes #1421, closes #1422. -
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)
-
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.
-
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)
-
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.
-
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)
-
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.
-
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.
-
d87a01f Include CAPTCHA in HTML form generation.
New Contributors
-
@navanchauhan made their first contribution in https://github.com/knadh/listmonk/pull/1249
-
@alfredosola made their first contribution in https://github.com/knadh/listmonk/pull/1258
-
@rohansh-tty made their first contribution in https://github.com/knadh/listmonk/pull/1253
-
@peix187 made their first contribution in https://github.com/knadh/listmonk/pull/1278
-
@Thunderbottom made their first contribution in https://github.com/knadh/listmonk/pull/1281
-
@uhlhosting made their first contribution in https://github.com/knadh/listmonk/pull/1326
-
@NilsJacobsen made their first contribution in https://github.com/knadh/listmonk/pull/1359
-
@cuishuang made their first contribution in https://github.com/knadh/listmonk/pull/1374
-
@sonologic made their first contribution in https://github.com/knadh/listmonk/pull/1399
-
@runningnoodle made their first contribution in https://github.com/knadh/listmonk/pull/1309
-
@UnmeshSagar made their first contribution in https://github.com/knadh/listmonk/pull/1419
-
@eltociear made their first contribution in https://github.com/knadh/listmonk/pull/1432
-
@winterleitner made their first contribution in https://github.com/knadh/listmonk/pull/1436