v2.4.0

knadh/listmonkv2.4.0Mar 20, 2023by github-actions[bot]

AI Summary

v2.4.0 adds hCaptcha integration, SVG support, and enhanced transactional messaging capabilities.

Key Highlights

  • hCaptcha integration on public subscription pages
  • Support for SVG files in media uploads
  • File attachments support in /api/tx transactional API
  • Support for multiple subscribers in single /api/tx call
  • Support for wildcards in email domain blocklist
  • Variable bounce processing actions
  • Multi-arch Docker builds (ARM support)

New Features

  • hCaptcha
  • SVG media support
  • Transactional API attachments
  • Multiple subscribers in tx API

Full Release Notes

[![listmonk-logo](https://user-images.githubusercontent.com/547147/134940003-1de03d83-8c7b-459b-8056-baa8d5f3b448.png)](https://listmonk.app)

## What's new
- hCaptcha integration on public subscription pages. If you use custom static static templates, make sure to incorporate the [changes](https://github.com/knadh/listmonk/blob/master/static/public/templates/subscription-form.html#L32-L37) from the repository.
- Support for SVG files in media uploads.
- Support for file attachments in the `/api/tx` transactional API.
- Support for multiple subscribers in the `/api/tx` transactional API (`subscriber_emails[]`, `subscriber_ids[]`).

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**
```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
* c668523 upgrade frontend dev deps to support node v17+ (#1247)
* 553a61b Update Go build version in GitHub workflow.
* 1bb9123 Fix Cypress tests (settings security tab, new default tpls).
* 3646e6d Upgrade Go package deps.
* 55f7eca Add support for file attachments in the transactional (tx) API. (#1243)
* 4181d8a Integrate inlang for easy i18n translations (#1189)
* 6cf8234 Add support for SVG files to media. Closes #1217.
* aaf5080 Fix discrepency in SQL query/export queries. Closes #1241.
* 35ddf3c fixed weekday order to fix #1182 (#1227)
* 5020bae fix #1210 French day name (#1226)
* 09fe812 Update hu.json (#1219)
* 8d1f30c correct eslint "no-multiple-empty-lines" (#1179)
* d6fd4ab Fix 'delete' -> 'clear' language on bounces UI. Closes #1072.
* da377d8 Parse campaign UUID in SendGrid webhook. Closes #1177.
* dda7d44 Hide private lists from prefs manage page. Closes #1200.
* 215aae5 Fix public preference manage page's list style.
* 7be73d5 Bump golang.org/x/sys from 0.0.0-20211205182925-97ca703d548d to 0.1.0 (#1212)
* 80592f6 Translate the subject of the email sent with personnal datas (#1193)
* 2c531eb (Public strings only) Add Swedish translation (#1194)
* 2de72ea update french translation (#1190)
* e77635c Update hCaptcha french translation (#1178)
* 3513988 [i18n] Add translation of the term Powered by (#1168)
* 2ed62cb fix russian translate (#1174)
* bfc8a0c Update pl.json (#1165)
* eb9f687 Update pl.json (#1164)
* 274d864 Upgrade smtp-pool lib fixing incorrect nested mail commands.
* 4977b74 Partial update of NL i18n (#1056)
* fd65531 Bump decode-uri-component from 0.2.0 to 0.2.2 in /frontend (#1084)
* b339482 Update Polish language.
* 755344e Add check for SES bounce notif type (#1123)
* 8985e5c Add hCaptcha.com support to public subscription form. (#1152)
* 62d3782 Use `send_at` date for scheduled campaigns in RSS feed. Closes #1149.
* 72d22d4 fix: check public URL before presigned URL generation (#1148)
* 66c81c8 Update es.json (#1139)
* 7832248 Fix label/input accessibility on subscription form (#1134)
* 076b7c7 Slovak translation (#1128)
* 3cfbc64 Add support for multiple subscribers in a single transactional message call.
* 5d4f1ea Add optional `params` in DB config to accept arbitrary Postgres params. Closes #1016.
* 1f693b8 Add a default public archive template.
* 96d30d6 Update issue templates
* 49f20f3 Fix broken sorting in list query. Closes #1076.
* 4dee2e9 Fix `per_page=all` in API calls in the paginator lib.
* 396f85d updated spanish translation (#1119)
* ba46769 updated italian translation (#1118)
* 8a2d053 Fix misleading German translation (#1115)
* c773dc0 Fix maintenance settings title (#1096)
* e71c060 Bump express from 4.17.1 to 4.18.2 in /frontend (#1091)
* 12b2bdf Bump tinymce from 5.10.0 to 5.10.7 in /frontend (#1090)
* a555fd3 Fix nil tpl when campaign body is empty. Closes #1085.


## New Contributors
* @pr0gr8mm3r made their first contribution in https://github.com/knadh/listmonk/pull/1096
* @jfilter made their first contribution in https://github.com/knadh/listmonk/pull/1115
* @filiphanes made their first contribution in https://github.com/knadh/listmonk/pull/1128
* @shrilakshmishastry made their first contribution in https://github.com/knadh/listmonk/pull/1134
* @mannueru made their first contribution in https://github.com/knadh/listmonk/pull/1139
* @hasahmad made their first contribution in https://github.com/knadh/listmonk/pull/1123
* @saginsa made their first contribution in https://github.com/knadh/listmonk/pull/1174
* @kosssi made their first contribution in https://github.com/knadh/listmonk/pull/1168
* @eltorio made their first contribution in https://github.com/knadh/listmonk/pull/1178
* @nixigaj made their first contribution in https://github.com/knadh/listmonk/pull/1194
* @istvan-andrasi made their first contribution in https://github.com/knadh/listmonk/pull/1219
* @Margu86 made their first contribution in https://github.com/knadh/listmonk/pull/1227
* @samuelstroschein made their first contribution in https://github.com/knadh/listmonk/pull/1189