v2.2.0
knadh/listmonkv2.2.0Jul 30, 2022by github-actions[bot]
AI Summary
v2.2.0 introduces transactional messaging, SMTP testing, and various UI improvements.
Key Highlights
- Transactional messaging feature via /api/tx
- Test connection feature for SMTP settings
- One-click SMTP configuration shortcuts for popular providers
- Insert HTML button in richtext editor
- Major refactor with new core package
- Spellchecker in campaign editor
- New language packs: Chinese, Vietnamese, Finnish, Japanese
Breaking Changes
- JSON response to POST /api/media has changed
New Features
- Transactional messaging
- SMTP test button
- SMTP provider shortcuts
- HTML insert button
Full Release Notes
[](https://listmonk.app) Although delayed by a couple of months, v2.2.0 is here finally. ## New: transactional messaging The biggest new addition is the new transactional messaging feature. [See docs](https://listmonk.app/docs/apis/transactional/). - Define transactional templates (new template type: transactional) - API to fire arbitrary transactional messages using predefined templates via any messenger. ## Improvements - A new `Test connection` feature on the SMTP settings UI to quickly test SMTP settings by sending a test e-mail. I don't know how I missed this for so long! - One-click SMTP configuration for popular providers. - New `Insert HTML` button to quickly insert HTML blocks and snippets on the campaign richtext editor. - New language packs, 名字 (Chinese) by @p1slave, Vietnamese by @mannm123, Suomi by @pucilpet, 日本語 (Japanese) by @t3hmrman - Spellchecker in the campaign richtext editor. - Major refactor and cleanup of the codebase. Database/CRUD functions that were scattered across handlers have been moved to a new, reusable `core` package. - A number of minor bug fixes and improvements. ## Breaking changes - The JSON response to the `POST /api/media` has changed. [See docs](https://listmonk.app/docs/apis/media/#post-apimedia). ## Changelog * bbbf28c Create default tx template on upgrade. * cd09c5a Remove MailerSend (no config available) from SMTP settings UI. * 57dbb9e Add explicit warning on empty password to SMTP test UI. * b497f52 Merge branch 'fix-analytics' * bfc27de Fix regression of public subscriber page behaviour. * 3550d54 Fix incorrect analytics count. Closes #712. * d19a55b Bump terser from 4.7.0 to 4.8.1 in /frontend (#885) * 2ef7e26 update FI translation (still partial) (#878) * 71dd48b I18n fr translations update (#876) * 6aa63fe Update cs-cz.json (#879) * 3163f91 fix(i18n): update i18n/pt-BR for 2.2.0 release (#875) * 54349ce Update fr.json (#877) * fb3c429 Fix Chinese i18n language code. * 08c7de1 updated german translation (#874) * 650e23e Update de.json (#873) * f607c0b Italian translations (#872) * 300fb7f Update Spanish (es.json) translations (#871) * a5ce226 Merge pull request #870 from TychoWerner/tychowerner_nlTranslations * b5b6986 Translated new strings * c742c91 Merge pull request #869 from t3hmrman/fix/i18n-jp-for-release-2.2.0 * f68af83 fix(i18n): two leftover replacements * 96197b0 fix(i18n): JP language name tag and templated vars * 641616e fix(i18n): update i18n/jp for 2.2.0 release * 0cd41ed Add comment explicitly stating that DB has to be created externally. Closes #830. * b44d0a6 Refresh newly added i18n langauge strings. * df31426 Add button to insert HTML snippets into WYSIWYG editor. * 77bc8a7 Send full media object in upload API response. Closes #770. * c84837f Fix '&' encoding in tracked URLs before saving in the DB. Closes #844. * 9107edf Add SMTP config shortcuts for popular providers in the settings UI. * 278d5bf Merge branch 'test-smtp' * ee44817 Add support for testing SMTP connections in the settings UI. * e99c8ed Disable template type updation after creation to prevent breaking of campaign relations. * 4de5d53 Refactor upgrade schema to remove column default. * 5a5caca Refactor campaign/template preview functions and component. * 2dcac57 Fix tx template delete query. * f26f7c6 Refactor template tests. * bc07a45 Fix clone tx template on the templates UI. * d3774d6 Make tx DB upgrade schema consistent with install schema. * 0574a1b Fix template compilation check on CRUD. * 3f5a50f Fix header processing in tx send. * 68da86a Fix redundant echo/http error wrapping. * 4a6e041 Don't break boot on tx template compilation errors. * 463e92d Add transactional (tx) messaging capability. * 83a0e10 Add 'test' button to SMTP UI to test connections. * 13603b7 Merge pull request #860 from p1slave/patch-1 * 6dfe4a0 Create zh-CN.json * dc7b44a Merge pull request #858 from pucilpet/fi-translation * c7c331e Added Finnish translation (partial, public fields) * c7eb491 Merge pull request #847 from knadh/dependabot/npm_and_yarn/frontend/shell-quote-1.7.3 * a2d01b2 Merge pull request #854 from joeirimpan/postback * 175770d fix: Use list append instead of indexing * a1df02b feat(postback): Add attachment, from email to postback body * 66499ac Bump shell-quote from 1.7.2 to 1.7.3 in /frontend * 0834ab7 Merge pull request #824 from knadh/dependabot/npm_and_yarn/frontend/eventsource-1.1.1 * ffffdcf Bump eventsource from 1.0.7 to 1.1.1 in /frontend * 97f8c35 Merge pull request #811 from rslonik/master * d133cf2 Merge pull request #808 from sjoerdvanderhoorn/patch-1 * b2fc35a Fix pt-BR subscription form header * 92d49fd Update nl.json * e0b01a8 Fix UI elements not getting locked on finished campaigns. Closes #771 * 59c9441 Fix subscriber create query to not ignore duplicate e-mail error. * fe5466d Remove test files committed accidentaly. * a3fd461 Merge big refactor with the 'core' branch. * b4f0c7e Fix ambiguous route name in frontend route definitions. * fee2ef3 Upgrade axios lib. * 959541f Rename unsub query to match the `core` method name. * 9aef4f2 Enable browser spell check in the campaign editor UI. Closes #786. * 19c1e51 Fix unsub status not showing for non-optin lists on the subscribers UI. * b94da62 Fix broken public link redirect. * d39816e Merge pull request #795 from knadh/dependabot/npm_and_yarn/frontend/axios-0.21.2 * 5fd4d7b Refactor paginated bounce query function to return DB total. * d2ef23d Refactor paginated campaign query function to return DB total. * e303850 Refactor paginated list query function to return DB total. * aa19771 Refactor bounces package to remove db/queries dependency. * b5cd949 Refactore all CRUD functions to a new `core` package. * 12b845e Fix incorrect HTTP resp code on public page. Fixes #772. * 89eca5f Changed email subject template from HTML to text. Fixes #785. * 75190d9 Fix broken line in the JP language pack. * a94f238 Sanitize HTML in Buefy dialogs. * d5b912a Merge pull request #798 from t3hmrman/feat/add-jp-translation * 6252a16 feat(i18n): add japanese translation * f489573 Bump axios from 0.21.1 to 0.21.2 in /frontend * 20cbeb7 Merge pull request #794 from knadh/dependabot/npm_and_yarn/frontend/async-2.6.4 * 8794c92 Bump async from 2.6.3 to 2.6.4 in /frontend * c898ec2 Merge pull request #790 from nathanaelhoun/patch-1 * 1e8f8ab Updated some French translations * 06e4b77 Merge pull request #788 from etcware/patch-1 * eb7c07b Update it.json * 7ea523d Merge pull request #727 from yatish27/fix_typos_in_comments * 8c9fccb Merge pull request #762 from knadh/dependabot/npm_and_yarn/frontend/minimist-1.2.6 * 73e4c1c Fix POP mail parsing in multipart bounce e-mails. * 2b78702 Bump minimist from 1.2.5 to 1.2.6 in /frontend * 2648333 Fix typos * a714551 Merge pull request #726 from knadh/dependabot/npm_and_yarn/frontend/prismjs-1.27.0 * 61e1260 Merge pull request #728 from knadh/dependabot/npm_and_yarn/frontend/url-parse-1.5.10 * cd48262 Merge branch 'master' of github.com:knadh/listmonk * 4e6410e Fix list_ids not being considered in bulk list change on the UI. Fixes #737. * a7af9e3 Merge pull request #751 from TychoWerner/patch-1 * 2b0bb77 Update nl.json * ef643a1 Add ability to export select subscriber ids. * 8db8ecf Upgrade Cypress. * bfce146 Hide confirmed/unconfirmed from single opt-in lists on the UI. Ref #741 * a7ac8ce Merge pull request #749 from an0nfunc/feat-tinymce-anchor * 3eca66c activated anchor plugin for TinyMCE editor * 9a0f762 Merge pull request #743 from jonathandhn/master * d6318f9 Update fr.json * f9854bc Remove redundant status from single opt-in list subscriptions on the UI. Closes #741. * 8f45abe Remove Heroku buttons (as it has blocked listmonk without explanation). * d02efee Merge pull request #735 from an0nfunc/patch-german-translation * 6ebfb6f German translation mostly for Analytics * 3b0c8b3 Fix updated settings/config init routine on settings UI. * b4c7163 Don't show duration on scheduled campaigns that are finished. Closes #701. * 8d6e475 Merge branch 'fix-i18n' * c4f1bed Add missing i18n strings to dayjs. Closes #717. * e87c80e Refactor app init routines to load config/i18n before main app mount. * 174a48f Merge pull request #730 from ohyesgocool/fixtypos * 04c4552 Fixed typos * 28a8b96 Bump url-parse from 1.5.7 to 1.5.10 in /frontend * ac8c568 Bump prismjs from 1.25.0 to 1.27.0 in /frontend * 76a86fa Add i18n translation to document titles in the router. * 45878db Change list UI status counts to i18n plural. Ref: #717 * 6fe36db Fix incorrect i18n tooltip in dashboard graph. * 09f97c4 Merge pull request #721 from knadh/dependabot/npm_and_yarn/frontend/url-parse-1.5.7 * 028377c Merge pull request #722 from rhnvrm/bump-simples3 * 5dd5cb1 feat: bump simples3 for digitalocean support * 4835a95 Bump url-parse from 1.5.3 to 1.5.7 in /frontend * 3495af7 Merge pull request #714 from knadh/dependabot/npm_and_yarn/frontend/ajv-6.12.6 * caa27f3 Merge pull request #699 from yatish27/fix_typos * 0a6f28a Bump ajv from 6.12.2 to 6.12.6 in /frontend * 17e723a Merge pull request #700 from knadh/dependabot/npm_and_yarn/frontend/follow-redirects-1.14.8 * 6e45b0b Merge pull request #710 from m3nu/issue/705/empty-logo-url * 6323737 Merge pull request #713 from marcinkunert/patch-4 * 048fbc2 Updated polish translations * 9ed0ae7 Use empty logo_url as default * 5167436 Merge pull request #709 from mannm123/patch-2 * fcb413f Create vi.json * afdaf46 Bump follow-redirects from 1.14.7 to 1.14.8 in /frontend * 6c90323 Fix typos * d442de0 Merge pull request #696 from candideu/master * ea6acdd Merge pull request #698 from yatish27/patch-2 * dc4e3a6 Fix typo in manager.go * e623088 Added correct link to repo for docs contribution ## New Contributors * @yatish27 made their first contribution in https://github.com/knadh/listmonk/pull/698 * @candideu made their first contribution in https://github.com/knadh/listmonk/pull/696 * @mannm123 made their first contribution in https://github.com/knadh/listmonk/pull/709 * @m3nu made their first contribution in https://github.com/knadh/listmonk/pull/710 * @ohyesgocool made their first contribution in https://github.com/knadh/listmonk/pull/730 * @an0nfunc made their first contribution in https://github.com/knadh/listmonk/pull/735 * @jonathandhn made their first contribution in https://github.com/knadh/listmonk/pull/743 * @TychoWerner made their first contribution in https://github.com/knadh/listmonk/pull/751 * @etcware made their first contribution in https://github.com/knadh/listmonk/pull/788 * @nathanaelhoun made their first contribution in https://github.com/knadh/listmonk/pull/790 * @t3hmrman made their first contribution in https://github.com/knadh/listmonk/pull/798 * @sjoerdvanderhoorn made their first contribution in https://github.com/knadh/listmonk/pull/808 * @rslonik made their first contribution in https://github.com/knadh/listmonk/pull/811 * @pucilpet made their first contribution in https://github.com/knadh/listmonk/pull/858 * @p1slave made their first contribution in https://github.com/knadh/listmonk/pull/860 * @srchlm made their first contribution in https://github.com/knadh/listmonk/pull/879 **Full Changelog**: https://github.com/knadh/listmonk/compare/v2.1.0...v2.2.0