listmonk

High performance, self-hosted, newsletter and mailing list manager with a modern dashboard. Single binary app.

AGPL-3.0 License

Stars
14.7K

Bot releases are hidden (Show)

listmonk - v1.0.0

Published by knadh over 3 years ago

With this release, listmonk hits the v1.0.0 milestone and finally gets out of beta. It is now stable and production ready (has been for a while now). There are production instances that have handled millions of subscribers and hundreds of millions of e-mails. Docker Hub shows 1+ million pulls.

This release includes a number of bug fixes and some new features such as:

  • Support for markdown content.
  • New i18n languages (Spanish, Polish, Russian, French, Italian, Portugese)
  • 100+ Sprig functions for e-mail templating.
  • End-to-end integration tests with cypress.

What's next?

  • Analytics and reporting (WIP).
  • Bounce processing.

Changelog

95a81d1 Add option on UI to toggle update checks.
d695bb3 Prioritise --static-dir on init when no assets are embedded.
aa5eff9 Fix incorre check on template deletion.
9fe78d6 Make conditional icons consistent on templates UI
ed57ecc Sanitize HTML strings passed to buefy.toast().
cf0c8f3 Merge pull request #355 from seba81/master
194e530 Adding spanish language
20939e8 Merge pull request #354 from knadh/dependabot/npm_and_yarn/frontend/url-parse-1.5.1
6bbde09 Merge pull request #353 from knadh/dependabot/npm_and_yarn/frontend/hosted-git-info-2.8.9
cd1aa81 Merge pull request #352 from knadh/dependabot/npm_and_yarn/frontend/lodash-4.17.21
6a21776 Fix password fields not updating settings UI.
0b0cd5a Bump url-parse from 1.4.7 to 1.5.1 in /frontend
a06f1ae Bump hosted-git-info from 2.8.8 to 2.8.9 in /frontend
02b92b5 Bump lodash from 4.17.19 to 4.17.21 in /frontend
65d25fc Improve campaign content format conversion.
49c747d Allow HTML and additional syntax in the Markdown parser.
f08254d Merge pull request #350 from alerque/config-handling
09c56da Document tidbits about listening addresses for non-sysadmin types
26a0238 Bind to ‘localhost’ instead of ‘0.0.0.0’ by default
6c40e05 Use ‘localhost’ as default name for database server
708ec66 Don't indent TOML keys deeper than their sections
68b80d0 Merge pull request #334 from inpos/master
6ada0aa Fix typo
a401b1c Merge pull request #331 from inpos/master
c750538 better translation option
60220c7 Merge pull request #330 from inpos/master
f6339c7 Update ru.json
5868db0 Sort i18n language list on the settings UI
1c8d272 Add Russian translation by @inpos. Closes #329.
3782413 Refactor campaign preview to use dummy campaign and subscriber.
fe61e89 Add hidden nonce (honeypot) field to filter bot autofills on subs page
97d297e Normalize i18n files
9a4f1a0 Merge pull request #327 from brunowego/patch-1
f346f0f chore(dockerfile): not are using multi-stage build
33450f8 Merge branch 'master' of github.com:knadh/listmonk
c479a90 Add support for loading external i18n language files.
cf5cd95 Merge pull request #324 from knadh/dependabot/npm_and_yarn/frontend/ssri-6.0.2
2bbe38f Bump ssri from 6.0.1 to 6.0.2 in /frontend
4ddaba8 Merge branch 'master' of github.com:knadh/listmonk
ad0a0e0 Add preconfirm_subscriptions=true/falsenew subs API.
c6a4d43 Merge pull request #321 from marcinkunert/patch-1
f9a2eb8 Finished Polish (pl) translations
777a898 Polish translations
708d0e0 Fix re-submission of public form e-mails not registering
07d8be5 Merge pull request #317 from FelixDz/patch-1
ca19c59 Merge branch 'master' into patch-1
12f9ad4 Create fr.json
620271b Normalize and merge missing keys into all i18n files
bf6d471 Add script to merge and normalize i18n files
1e59d53 Add markdown support to campaign content.
4581e47 Merge pull request #313 from tamalsaha/sprigv3
40aaa26 Use github.com/Masterminds/sprig/v3
c358281 Merge branch 'master' of github.com:knadh/listmonk
8a9b3ef Fix indentation of docker-compose file
a266027 Build static Go binary
b060c75 Bundle sprig template functions
f8f074c Merge pull request #312 from tamalsaha/fmt3
178ee28 Merge pull request #311 from tamalsaha/fmt
bc8b4d0 Merge pull request #309 from tamalsaha/sprig
97f8c01 Fix indentation of docker-compose file
96f63d0 Build static Go binary
4485460 Bundle sprig template functions
570a81f WIP: Add tests
039feef Merge pull request #307 from knadh/dependabot/npm_and_yarn/frontend/y18n-4.0.1
e7e36a0 Merge pull request #306 from kousikmitra/fix/campaign-field-names
35b1d01 Fix template box label name
ca403d5 Bump y18n from 4.0.0 to 4.0.1 in /frontend
6d61c52 Fix placeholder attribute typo
6dbcfee Merge pull request #298 from mr-karan/master
d519a29 Merge pull request #297 from spezifisch/german-translation-updates
51d218a fix: rename Github Token secret variable
531d768 add german translations for missing keys in public.*, fix typos
faf45d4 Merge pull request #296 from mr-karan/master
df34e57 fix: remove deprecated syntax in goreleaser
c6b8565 chore: release via github actions
207f516 Merge pull request #294 from joicemjoseph/patch/ml-word-corrections
4d681f0 fix: typo corrections to malayalam localization
2579d7c Merge pull request #291 from knadh/dependabot/npm_and_yarn/frontend/elliptic-6.5.4
1ac0e65 Bump elliptic from 6.5.3 to 6.5.4 in /frontend
e8ad7a9 Fix subscriber attribs update API.
f8e555d Fix incorrect ID handling in update handlers
93a710c Merge pull request #284 from RustyDust/master
8a6ed2a Fix incorrect week day name logic in translation
860953e Fix wrong list links in subscribers overview
267dd52 Merge pull request #281 from knadh/dependabot/npm_and_yarn/frontend/prismjs-1.23.0
f268dc6 Bump prismjs from 1.20.0 to 1.23.0 in /frontend
d662272 Merge pull request #276 from herzkerl/patch-1
31ce55a Including an EXPOSE instruction in the Dockerfile
8779c49 Merge pull request #274 from enniosousa/master
5777738 Merge pull request #273 from TomBoss/master
c2d7e10 Create pt-BR.json
82f033b corr. template
77a6110 Merge pull request #272 from TomBoss/master
2b8b10c Add Italian i18n
da7975f corr.
b4fea57 Merge pull request #1 from knadh/master
99ff64b Merge pull request #271 from TomBoss/master
97b78aa Fix incorrect 'get subscriber' calls
50549f3 Adding Safe templating function for keeping HTML comment

Docker images

  • docker pull listmonk/listmonk:latest
  • docker pull listmonk/listmonk:v1.0.0
listmonk - v0.9.0-beta

Published by knadh over 3 years ago

What is new?

This version includes several bug fixes and improvements including some major new features.

  • Multilingual (i18n) support with 4 bundled languages: Malayalam by @joicemjoseph, German by @m42e , Portuguese by @diogotcorreia, and French by @TomBoss.
  • Query/filter subscriber CSV bulk export.
  • Public subscription form (/subscription/form).
  • Alternate plain text content for HTML e-mails.
  • Rolling / sliding window rate limiting for fine grained control on the speed of outgoing messages.

Changelog

e90fb1d Format i18n/fr JSON file
a54d967 Merge pull request #267 from TomBoss/master
8e78b64 Allow editing of unsubscribed lists on the UI
2f6bd05 Fix the optin-in, form re-subscribe behaviour.
42a31e4 French i18n
2f05d4e Fix broken opt-in campaign template
bc5cc53 Fix broken reload on clicking the restart button on UI
b1696c0 Tidy go.mod
b950d2f Refactor fetching of server config and settings.
b6dcf2c Merge branch 'i18n'
ee46b3d Fix blank UI on forms pages when there are no public lists
c90d42a Fix widget padding on the dashboard UI
c7500f9 Fix campaign update email title i18n
28b616a Merge pull request #262 from diogotcorreia/i18n-pt
9c0fd24 Merge pull request #261 from mr-karan/goreleaser-fix
c63f9c6 chore: Pass the binary path correctly to make
f1095aa Remove stray dev env reference in go.mod (shameful!)
be31141 Add Portuguese translations
d737e5d Fix from email in i18n language
2235d30 Add a new public page for end users to subscribe to public lists.
a7b72a6 Fix broken i18n language keys
dd0c124 Stop throwing "exists" error on public forms
62bce69 Remove "normalization" of non-Latin characters in tags
bb1a5bb Fix contenType event not firing on non-Quill editor mode
27d9eab Merge branch 'plaintext' into i18n
68afd61 Add support for alternate plaintext body for e-mails.
a226e49 Fix incorrect language weekday keys
535b505 Add autofocus on the first field in SMTP/Messenger settings UI
68808d0 Merge pull request #260 from m42e/patch-1
69a6b89 Updated German translation
00f68a3 Merge pull request #258 from joicemjoseph/feat/l10n-malayalam
7d3cbde Merge branch 'i18n' of github.com:knadh/listmonk into i18n
b420c31 Log test message error
ade6ecd localized newly added strings
7359e0a Merge pull request #253 from joicemjoseph/feat/l10n-malayalam
cc81369 finished Malayalam localization
ccfada9 Merge pull request #255 from m42e/l18n/german
101e92c Merge pull request #256 from joeirimpan/fix/ticker
83613dc Typo fixes on u18n/en language
8867f77 fix: Stop tickers
fcc068c Add missing translations and fix broken ones on the UI
4bfdda9 Load a default (en) language underneath the selected language.
dc0465b Refactor global instances of $api and $utils to be mixins.
5ecc427 German translation
afef994 Fix incorrect make command
05928d5 Fix default campaign template not being setup on first install.
0add1c4 Fix incorrect label on skip-TLS setting on UI
0272617 Add support for rate limiting messages with a sliding window.
ee4fb71 Refactor i18n name and fix the L() function in public HTML templates
4cd5e6e Refactor and remove placeholder i18n func
810607e Fix incorrect i18n keys in message strings
ec1c4f3 Add subscriber export feature
6f2f361 Merge pull request #252 from mr-karan/master
869a55c feat: Add shell script for demo setup
3498a72 WIP: Add i18n support
dae47fb Merge pull request #246 from knadh/dependabot/npm_and_yarn/frontend/axios-0.21.1
3975ccc Bump axios from 0.19.2 to 0.21.1 in /frontend
7dace84 Merge branch 'master' of github.com:knadh/listmonk
8bc9bbc Merge pull request #228 from knadh/dependabot/npm_and_yarn/frontend/highlight.js-9.18.5
c8fc91e Bump highlight.js from 9.18.1 to 9.18.5 in /frontend
62182ab Refactor get-lists query for speed
a22b274 Merge branch 'master' of github.com:knadh/listmonk
ce108c8 Fix broken 'send campaign' shortcut on the Lists UI
d9ab365 Merge pull request #226 from mr-karan/fix/db-config
ad8f290 feat: Set default values for DB connection parameters
c60cc35 Remove alpha warning

Docker images

  • docker pull listmonk/listmonk:latest
  • docker pull listmonk/listmonk:v0.9.0-beta
listmonk - v0.8.0-beta

Published by knadh almost 4 years ago

This release introduces the first beta version and marks an end to the alpha releases. It also introduces support for Messengers, web services that can be added to listmonk to run not just e-mail campaigns, but any sort of message campaigns such as SMS, and FCM notifications.

image

Changelog

cde0b4b Add a DB setup check on boot
7a9d11d Fix escaping {{ TrackLink }} in WYSIWYG editor UI
1e8b533 Fix echo's URI routing race condition that caused random 404s.
684c64c Fix SQL ORDER BY compatibility issue in Postgres 12/13.
1aecd6f Add serverside sort to tables.
a0b36bb Log subscriber UUID in message send errors
a1aeba2 Fix invalid link click registrations
7cecbbb Register missing settings/logs URL in the backend
966954d Refactor log view UI into a component.
b054ed5 Fix inconsistent quotes in Vue config
e9bf47b Fix --version string and duplicate printing
aee1bfd Add (Open/Net/Free)BSD to cross-platform release builds.
cfe66bb Fix and refactor Makefile and .goreleaser build commands.
2e361c7 Add v0.8.0 DB migrations.
f6511b6 Update JS dep (security): node-forge
1b27947 Make individual subscriber tracking optional.
50e488f Fix 'Send test' not reflecting campaign body on first page load
13aac1a Update smtppool lib adding support for Unicode in e-mail IDs
669cb09 Merge pull request #205 from knadh/fix-email-validation
86c6189 fix: use mail.ParseAddress to validate email instead of custom regex
8dbe30c Add new 'Logs' page to the UI to view stdout logs
f81d75a Allow deleting of all campaigns irrespective of status
409b259 Fix settings UI copying SMTP values on 'new'
f667935 Fix empty password save behaviour on settings.
6cf43ea Add generic HTTP postback Messenger support.
be9fbcd Merge pull request #200 from knadh/fix-incorrect-csv-example
03338d5 Merge pull request #199 from knadh/feat-inbuilt-dev-server
2109ee1 Merge pull request #198 from knadh/fix-injected-version
025d54b fix: incorrect csv import example on frontend
6c234f1 fix: use inbuilt frontend dev server to proxy API
584c3bd fix: incorrect git tag being injected as version
23d479e Add zerodha.tech badge
fd05f8d Merge pull request #190 from rwilhelm/patch-1
d6279ed Update Settings.vue
288164e Remove 'required' from upload field that fails to recognize drag-drop
d219f65 Fix missing status column in import that affects auto-migrated installations.
26390e9 Merge branch 'master' of github.com:knadh/listmonk
216c573 Merge pull request #184 from pra85/patch-1
11b0bba Typo in README
eaba083 Merge pull request #182 from scmmishra/sidebar-toggle-fix
abe8c59 fix: update toggle on update:active
ed0d9ee chore: remove stray whitesapce
9147a92 Merge pull request #181 from scmmishra/fix-sidebar
3b141bb style: remove stray tab indentation
427fcf7 fix: inconsistent active link on sidebar navigation
8fe601a Add pagination to lists
1ef1c5a Fix incorrect default values and server response in list creation UI

Docker images

  • docker pull listmonk/listmonk:latest
  • docker pull listmonk/listmonk:v0.8.0-beta
listmonk - v0.7.0-alpha

Published by knadh about 4 years ago

This is a major breaking release with a completely rewritten frontend and numerous fixes and improvements. Some of the updates:

  • New frontend and UI. Snappier and responsive.
  • Bulk of the configuration has moved from the TOML file to a new settings UI.
  • Built-in BasicAuth for admin dashboard. The Nginx auth proxy is no longer necessary.
  • Fullscreen richtext editor with a new syntax-highlighted HTML editor.
  • Support for List-Unsubscribe headers.
  • Automatic update check and notification on the dashboard
  • Better controls on the bulk importer.

IMPORTANT: BasicAuth Admin authentication is now configurable in config.toml / environment variables. The API endpoints also require authentication. The older Nginx authentication is unnecessary and should be removed. To continue using the old setup (not recommended), leave the admin username and password variables empty.

Upgrading

The configuration file now only has the DB config and a couple other app variables.

Binary

  • Download the latest binary.
  • Backup the old config file, generate a new config file with ./listmonk --new-config and add the new DB configuration.
  • Run ./listmonk --upgrade to upgrade the DB schema and start ./listmonk
  • Go to the "Settings" UI on the dashboard and replicate the settings from the old config file. Imporant: Bulk of the config has moved to the settings UI and should be removed from config.toml or from the environment variables. Only retain what is in config.toml.sample and remove everything else.

Docker

  • Stop the app container using docker-compose stop app
  • Pull the latest version with docker-compose pull. If you are not using :latest tag in your docker-compose.yml then edit the file and set the tag to v0.7.0-alpha.
  • Run the DB migrations with docker-compose run --rm app ./listmonk --upgrade.
  • Recreate the service with docker-compose up -d app db.
  • Go to the "Settings" UI on the dashboard and replicate the settings from the old config file.

Changelog

0f055ea Fix build scripts (and static file embed)
8c56407 Add rebranded design elements.
d8a60d1 Add automatic update checks.
f3e80da Clean up root and move app to cmd directory
b822955 Add BasicAuth to admin endpoints.
7ed0755 Fix minor inconsistencies in settings.
16e47dd Load env config before DB initialisation
8979a2a Fix Quill setup to use inline CSS styles instead of classes
b54c5d8 Add upgrade file
5fb7c6c Add support for automatic, idempotent DB migrations
494c519 Upgrade JS dependencies (security fixes)
4703d78 Add a fullscreen option to the campaign richtext editor
378e814 Add campaign search UI.
ccf1c49 Refactor pagination constants
0db9579 Suffix app name in page titles
5ff5c74 Add custom email headers to SMTP settings UI
ec09790 Add support for List-Unsubscribe header.
7ead052 Fixed reset not clearing query on subscriber search UI
e4f233e Add missing root_url to settings UI
8c0804b Refactor blacklist to blocklist
2143def Fix loss of caret on image insertion in campaign from popup
13a252a Add missing 'opt-in' campaign feature to the new UI
818da1b Add 'clone template' feature to the templates UI
2587d67 Fix template creation API returning incorrect response
d919766 Add 'cancel' icon to campaigns UI
9c8b7ad Fix broken tag clearing on lists and campaign updation
0145aba Add missing tag UI to lists
f9e4a50 Fix incorrect handling of non-JSON responses in APIs
76f4fd6 Show countdown on scheduled campaigns UI
e2e65b1 Polish UI elements and fix styling issues.
942eb7c Add settings UI and "hot reload" support to the app.
d294c95 Merge branch 'refactor-api-resp'
3df889c Refactor global API response handling in axios.
39aa564 Fix missing API response data{} envelope
80ef60d Merge pull request #155 from RaghavSood/hotfix/add-to-lists-by-query
7b62a7f frontend: pass query when changing lists for subscribers
586defe Merge pull request #153 from mr-karan/docker_docs
eae88c1 Add Ctrl+Enter search on the subscriber query exp box
ab8dbd8 Fix advanced subscriber query exp not propagating to search
06bb719 feat: Add separate config for demo setup, tweak docs
525a510 Merge pull request #147 from RaghavSood/hotfix/vue-filenameHash
ceac96b frontend: Enable vue filenameHash
c2613d1 Fix ticker leak in campaign manager message push
fd044f4 Minor refactor to campaign manager.
3e75559 Fix incorrect WYSIWYG image insertion position
1b346b1 Fix 'cancelled' tag colour
b45d49f Fix HTML editor's line bar colour
dc40206 Add syntax highlighted HTML code editor
2651820 Fix campaign message rate display
61f8fae Add 'overwrite?' option to bulk import.
79dd916 Make DB pull batch size in campaign manager configurable
b45a2a0 Fix incorrect record count in the importer
e7da8fa Fix ordering of records on the subscribers page
db032d3 Change campaign status to draft on removing schedule
64d4470 Add {{ templating }} support to e-mail subjects
24192a3 Refactor and fix media uploads.
7f9a811 Merge branch 'vue'
217adf1 Add frontend README
412e016 Add missing save icon
f2030a1 Fix redirect after new campaign creation
1bcd350 Integrate config.js on the frontend
92cb70f Refactor empty/placeholder states with new component
feb5ba0 Add new dashboard (with new metrics)
97583fe Rewrite frontend with Vue+Buevy and ditch React+Ant Design.
75547b6 Refactor subscriber handlers to send opt-in mails on updation.
a03c7bd Default to empty list instead of nil in media response
693b939 Fix incorrect wrapping of subscriber handler
3048ab5 Add a check for zero SMTP config
67eb3db Fix incorrect config check in subscriber data wipe
ae68bd2 Merge pull request #126 from PhilippSeitz/bugfix/status-on-success
f789f06 fix status code on success
7a467a5 Add support for custom e-mail headers per SMTP server

Docker images

  • docker pull listmonk/listmonk:latest
  • docker pull listmonk/listmonk:v0.7.0-alpha
listmonk - v0.6.2-alpha

Published by knadh over 4 years ago

Changelog

82702ed Remove completed items
f06d6b3 Fix optin e-mails on subscriber addition to single option lists
bfe31b7 Fix incorrect param read bug in list deletion handler
3dcff5d Remove redundant log import
c9fc83f Fix comments

Docker images

  • docker pull listmonk/listmonk:latest
  • docker pull listmonk/listmonk:v0.6.2-alpha
listmonk - v0.6.1-alpha

Published by knadh over 4 years ago

Breaking changes: This version replaces the old rudimentary SMTP pooling lib with a new one that supports retries, idle timeouts, and graceful fails. This introduces breaking changes in the form of new fields under SMTP configuration: idle_timeout, wait_timeout, max_msg_retries, tls_enabled, tls_skip_verify.

Changelog

18329ff Add TLS to SMTP config

Docker images

  • docker pull listmonk/listmonk:latest
  • docker pull listmonk/listmonk:v0.6.1-alpha
listmonk - v0.6.0-alpha

Published by knadh over 4 years ago

⚠️ Use release v0.6.1-alpha instead of this version (broken TLS support)

Changelog

cb331b9 Merge branch 'master' of github.com:knadh/listmonk
abddcb9 Remove redundant SMTP LOGIN auth implementation
69d3e9b Fix JSON error on HTML form subscription
9d3ca35 Integrate new SMTP pool lib
1e61760 Merge pull request #104 from mr-karan/master
23faa9f fix: Remove root URI on frontend
e58b2fa Fix typo
f498cdd Add support for hosted messages and {{ MessageURL }} tpl tag.
3a9a2ef Refactor get-campaign to accept uuid + get body
6bba55f Remove 'campaignDone?' check that incorrectly ignored queued messages in a finishing campaign.
0abc1ae Merge pull request #86 from thejaswinipathi/patch-1
c93ba78 Changed on PR comment
56122c0 Merge pull request #80 from jaredfolkins/master
11c7c60 enhc: add plain text email body along with HTML, add option in config.toml

Docker images

  • docker pull listmonk/listmonk:latest
  • docker pull listmonk/listmonk:v0.6.0-alpha
listmonk - v0.5.2-alpha

Published by knadh over 4 years ago

Changelog

b8d9ab1 Merge branch 'master' of github.com:knadh/listmonk
894ede5 Add support for message throughput rate limiting
55d8185 Merge pull request #78 from bumi/patch-1
8fbbcd3 Add note about Heroku deploy button

Docker images

  • docker pull listmonk/listmonk:latest
  • docker pull listmonk/listmonk:v0.5.2-alpha
listmonk - v0.5.1-alpha

Published by knadh over 4 years ago

Changelog

21ffe5f Clean up [upload] config doc
9dcd716 Add support for SMTP 'LOGIN' auth
71803ab Add support for loading custom static files with --static-dir
bbe239b Added link to Docker env configuration wiki
faf8a7a Add fix for BOM in CSV importers

Docker images

  • docker pull listmonk/listmonk:latest
  • docker pull listmonk/listmonk:v0.5.1-alpha
listmonk - v0.5.0-alpha

Published by knadh over 4 years ago

This release has significant changes including several important bug fixes.

listmonk now supports public forms that can be used on public webpages to allow users to signup to mailing lists. This can be found under Lists > Forms.

Changelog

ad9ee75 Update build script to reflect new static paths
83d888a Update and cleanup deps
901c456 Fix issues with responsive UI on the campaign page
8771dc2 Refactor init functions for clearer dependency visibility
07856d3 Fix bug in e-mail scheduling
68c4ccd Fix campaign UI to update start/schedule button automatically
ba87801 Fix template preview sending invalid view requests
ca032c8 Refactor manager.CampaignMessage's exposed fields
a0d9a47 Fix incorrect send_at time in installer's sample campaign
442dec9 Fix broken subscriber data export
892d5d2 Remove 'govalidator' package dependecy
d4aea0a Add support for pushing non-campaign message with workers.
5f6a4af Cleanup unnecessary pointers
ac2145d Fix default template path in installer
40ae9cd Minor formatting fixes
709668d Move static assets to 'static' dir
9005bb6 Move internal packages to 'internal' dir
8853809 Refactor and cleanup initialization.
83b49df Add missing error logs
0a2d2d6 Refactor forms UI
276942a Replace outdated UUID lib
4faffe0 Refactor template name in public pages
c08ca14 Add subscription forms
b205761 Update feature list

Docker images

  • docker pull listmonk/listmonk:latest
  • docker pull listmonk/listmonk:v0.5.0-alpha
listmonk - v0.4.0-alpha

Published by knadh over 4 years ago

This release introduces breaking changes. It adds support for double-optin lists, subscriptions, and campaigns.

listmonk1
listmonk3

Uprading from the previous version.

  • The template function {{ .UnsubscribeURL }} loses the period and is now {{ UnsubscribeURL }}. All templates need to be edited to reflect this change.

Apply the changes to DB tables by running the following queries.

DROP TYPE IF EXISTS list_optin CASCADE; CREATE TYPE list_optin AS ENUM ('single', 'double');
DROP TYPE IF EXISTS campaign_type CASCADE; CREATE TYPE campaign_type AS ENUM ('regular', 'optin');
ALTER TABLE lists ADD COLUMN optin list_optin NOT NULL DEFAULT 'single';
ALTER TABLE campaigns ADD COLUMN type campaign_type DEFAULT 'regular';

Changelog

62aa31b Refactor {{ UnsubURL }} into a global function (breaking change)
2ee2e68 Inject version during build into the frontend
f039f35 Link list name to subscribers page on lists UI
afdf053 Add 'send opt-in mail' link to subscriber modal UI
6be3352 Refactor/merge optin-list fetch queries
6cb2cd7 Tweak default list and subscriber entries in install
8616aa8 Remove status from example on the import UI
ab8bac2 Fix title bug in list modal UI
022b35c Add support for sending 'opt-in' campaigns.
9a890c7 Add button style to default template
af14fff Refactor campaign content type references
ec22170 Fix list ID parsing in campaign UI
a2d21a8 Refactor opt-in subscriber selection queries
ea302d1 Use default template if there isn't one in campaign creation
871893a Add double opt-in support.
bdd42b6 Refactor notificatin data structure
e9685b2 Refactor HTML views with new data structures
f8a2044 Add default values to sample config URLs
f71493e Add PNG logo for e-mails
4abcb28 Refactor template functions.

Docker images

  • docker pull listmonk/listmonk:latest
  • docker pull listmonk/listmonk:v0.4.0-alpha
listmonk - v0.3.3-alpha

Published by knadh over 4 years ago

Changelog

9a88c2e Add support for custom SMTP HELO hostname (for FQDNS)

Docker images

  • docker pull listmonk/listmonk:latest
  • docker pull listmonk/listmonk:v0.3.3-alpha
listmonk - v0.3.2-alpha

Published by knadh over 4 years ago

Changelog

047de69 Add support for no-auth SMTPs

Docker images

  • docker pull listmonk/listmonk:latest
  • docker pull listmonk/listmonk:v0.3.2-alpha
listmonk - v0.3.1-alpha

Published by knadh almost 5 years ago

Changelog

1064f1e Merge branch 'master' of github.com:knadh/listmonk
6681f18 Fix 'send_at' option on the UI and bug in starting scheduled campaigns
e230bac Merge pull request #51 from josejibin/fix/per-page-logic
f687813 Fix: perPage logic in getPagination
3cba2fe Amend feature text
32a543b Fix incorrect campaign API response when there are no campaigns
6747a95 Fix unclosed DB transactions in subscriber search
6b6dc59 Add max idle/open params to DB connect
0d8abf9 Fix subscriber export button
427dd93 Add --yes flag to skip prompts
1dc26e2 Fix logo (SVG) font by changing text to path
c7fc1aa Validate the status field in create subscriber API

Docker images

  • docker pull listmonk/listmonk:latest
  • docker pull listmonk/listmonk:v0.3.1-alpha
listmonk - v0.3.0-alpha

Published by knadh almost 5 years ago

Breaking changes

The media file upload mechanism has changed in this release with pluggable interfaces, and bundled support for filesystem and S3. There are new upload* sections in the TOML config that control this behaviour.

Changelog

ccd354d Merge pull request #31 from mr-karan/s3
e5c3196 feat: Add blobstore package
7ee7116 Merge pull request #29 from rhnvrm/master
712ad2d chore: minor refactors based on static checks
2c18d63 Merge pull request #24 from shailysangwan/master
d13c335 update instructions for local installation
ff40601 Merge pull request #18 from mr-karan/kubernetes
65ef23b feat: read config from env

Docker images

  • docker pull listmonk/listmonk:latest
  • docker pull listmonk/listmonk:v0.3.0-alpha
  • docker pull listmonk/listmonk:latest
  • docker pull listmonk/listmonk:v0.3.0-alpha
listmonk - v0.2.2-alpha

Published by knadh about 5 years ago

Changelog

d8d7f88 Merge pull request #14 from knadh/feat-responsive
3e5a646 fix: responsive layour fixes for table, modal and form fields
a7034bb WIP: responsive design
9587b70 Merge pull request #16 from rhnvrm/patch-2
d5a47de fix: buildString having incorrect TZ data
08aa05c Fix incorrect version string in build

Docker images

  • docker pull listmonk/listmonk:latest
  • docker pull listmonk/listmonk:v0.2.2-alpha
  • docker pull listmonk/listmonk:latest
  • docker pull listmonk/listmonk:v0.2.2-alpha
listmonk - v0.2.0-alpha

Published by knadh over 5 years ago

This release has breaking changes. If you have an older version running, there a couple manual patches to apply.

  • Unsubscription URIs have changed from /unsubscribe to /subscription/*. Production Nginx config needs to be amended to whitelist the new URI.
  • There is a new [privacy] section in the config. This can be copied from the sample config.

New privacy features (aimed at GDPR compliance)

  • Allow subscribers to export all data on them.
  • Allow subscribers to wipe all their data from the system.
    (The configuration is in the [privacy] section in the config file).

image

Changelog

b63b31e Merge branch 'privacy'
3cd8b86 Check subscriber existence by UUID on public pages
3be5b27 Fix error message
31b9690 Remove orphan func
9e34e7d Fix default template rendering in Gmail with CSS inlining
a060d94 Move UUID validation from multiple places into a middleware func
3fddd78 Refactor "unsubscribe from all" (self-blacklist) behaviour.
794cb3d Merge branch 'master' of https://github.com/knadh/listmonk
3b79028 Add data privacy export / wipe features (aimed at GDPR compliance).
d390bc9 Add helper to make mail attachment headers
ee899f4 Merge pull request #12 from mr-karan/readme
93dd4f0 fix: docker-compose command
81fe874 Refactor subscriber delete query to support UUIDs
7d9758c Refactor "error" view to a generic "message"
81d3046 Refactor Messenger/Emailer to accept attachments
533caf8 Fix from e-mail ID in dummy campaign on install
0cb1442 Fix typo in install message
180f05a Merge branch 'master' of https://github.com/knadh/listmonk
192214c Add .gitattributes for github-linguist
1ff38b5 Merge pull request #2 from mr-karan/docs
0a50cd6 feat: Add docker image link to README

Docker images

  • docker pull listmonk/listmonk:latest
  • docker pull listmonk/listmonk:v0.2.0-alpha
listmonk - v0.1.2-alpha

Published by knadh over 5 years ago

Changelog

275554e Refactor config error message

Docker images

  • docker pull listmonk/listmonk:latest
  • docker pull listmonk/listmonk:v0.1.2-alpha
listmonk - v0.1.1-alpha

Published by knadh over 5 years ago

Changelog

3d3af8c Merge pull request #1 from mr-karan/docker
1534c46 fix: Path for windows build in goreleaser
6409c9a Add missing help link to subscriber modal
ec46fb4 Merge branch 'master' into docker
728d1c2 feat: Add docker demo setup
51ec374 Add install readme file
f457605 Remove unimplemented features from nav
349562f Add install readme file
3ed39a4 feat: Add docker instructions
bdc837d feat: Create docker release
714a040 fix: Add listmonk binary to Gitignore
e64d723 Typo and language fix in README

Docker images

  • docker pull listmonk/listmonk:latest
  • docker pull listmonk/listmonk:v0.1.1-alpha
listmonk - v0.1.0-alpha

Published by knadh over 5 years ago

Changelog

9fd9748 Update README with image and links
e89a54b Refactor and add new build routines
0e116a2 Update dependencies
61c2a72 Upgrade to stuffbin v1.0.0
be20014 Add doc links to UI
bcf35bf Add basic sanitisation to subscriber query expressions
69e5e35 Refactor default install records and add test campaign
1ca8c2f Fix default template location in install
348e65f Fix lists not showing on the subscriber form
64043f0 Add run-frontend to Makefile
1caa63b Rename 'build-dist' to 'dist' in Makefile
089522a Replace config struct tags
6531750 Remove hardcoded binary name from unstuff routine
fe4f39f Replace viper with koanf
fe91021 Remove stub user features and handlers.
c952b7a Refactor README for publishing
95038d3 Refactor Makefile
4f9bb26 Merge branch 'fix-frontend-dir' into 'develop'
11ca4be chore: fix frontend directory structure
0911742 feat: add config to enable/disable postgres ssl mode
08b9d15 fix: update echo framewor to fix commit hash mismatch
3a6f15e Update list date on import before notif and run notif as a goroutine
8701cb4 Fix import and campaign page and integrate new paginated lists API
3cf075e Add deps to dev docs
7a64aca Removed redundant consts and goal
9729395 Add dev README
d9585a7 Add pagination to the lists page
b467c9b Fix incorrect sort order in stats SQL queries
b078c00 Fix missing lists fetch in query-campaigns
420c661 Remove duplicate TODO
b060259 Add TODO
3bf405f Refactor and fix importer state bugs
cfec13c Optimize campaign and subscriber queries
93c9520 Refactor campaigns query into two: 'query' and 'get'
baa6184 Add 'send campaign' shortcut link to lists view
3de7b3f Fix incorrect maxlength param values
6b29c0f Remove subscriber list link from list name
178604d Refactor campaigns view
9655ce6 Refactor subscriber data src to check for errors
e43c9b8 Add target 'run' to Makefile
5acde50 Merge branch 'develop' of https://github.com/knadh/listmonk into develop
917cb8a Reformat all JS to 'prettier' style
5b42e86 Fix incorrect passing of error in HTTP response
7d65672 Merge pull request #1 from joeirimpan/develop
4ef5a3a chore: Go modules and add readme
9fc23a8 Fix text in global footer
ac2234a Refactored subscriber add/edit from from modal to modal + standalone view
ab1a6bb Add ID and UUID info to list, subscriber, and campaign views
e7c75b3 Fix the accidentally deleted Lists field in Campaign (!)
7eeb813 Add embedding of static assets for standalone dist binary
46f4a0e Remove redundant error wrapper
08bc6bc Refactor SQL schema and add missing indexes
01b43b9 Refactor get-campaigns query
1fd3a3b Refactor TrackLink template function to accept backticks
ffd43ce Rename 'runner.Runner' to 'manager.Manager'
72cf9e2 Fix state setting on subscriber modal unmount
b461f51 Change default name/email search query to case insensitive regex instead of LIKE
f686606 Fix broken close function in clone campaign modal
f54170d Add view and click counts to campaign API response and UI
a4135be Doc and typo fix on the import page
099ca11 Doc fix in advanced query placeholder
f2bbf86 Display subscription status in the subscribers table
11f8e62 Add subscriber count to the subscriber page heading
5f0e3ac Add bulk subscriber querying, segmentation, and management features
755d3d2 Refactor and add subscriber search and segmentation UI
3867062 Fix empty raw query in subscriber query response
b7d5a4d Add no-cache header to pixel tracker image
09b09d1 Remove alt tag from tracking pixel image
2a161a5 Redesign the 'broken' warning page
5662fac Refactor redirection on campaign creation
ccd966a Refactor campaign 'save' button and add 'start' button to campaign page
ca19b50 Fix content tab redirection on campaign creation
c24c19b Add admin e-mail notifications.
8a0a7a1 Add support for importing unzipped CSV
8e10bf3 Fix file extension check
5ff0e44 Make the default template the default selection on the campaign form
1673cba Fix campaign send rate calculation
cf5df3e Fix counting unsubbed users in campaign stats counts
c132af2 Add automatic unsub of users blacklisted from admin
4cd66d1 Fix duplicates in multi-list campaigns with overlapping subscribers.
8a952c1 Add regexp template tag validation
a7614eb Change sample error value to a sane number
a7954df Add missing error key to sample config
cbba955 Remove test script
1a39ed1 Add support for campaign error tracking and auto-pause.
0577367 Fix default values in the campaign dropdown
a4e8291 Log message push errors
6d96986 Add loadng spinner to dashboard
0871752 Fix incorrect campaign counts on dashboard
b333d05 Fix merge conflicts
dce6db7 Untrack yarn.lock
e3a6ba3 Untrack yarn.lock
9511a78 Add welcome dashboard
c3d1813 Add an error page for app config (window.CONFIG) not being loaded
87873d0 Make subscriber fetching for previews random
6a1ee77 Fixed message rendering in test messages
f334022 Make duration stats visibility conditional
ec7d398 Rearrange and move prominent action icons to the front
d09a16d Add form blocking + spinner to the upload form
f75f1cd Fix hardcoded max_conns SMTP config
0f56a5c Fix campaign stats cell width
44442b2 Switch UI subscriber addition to a new insert-only query
ec02921 Fix SVG logo (font to path)
6761d1a Add missing placement param to all antd notification() calls
f2c09e7 Refactor the import process
31e1800 WIP: Add dashboard stats queries and endpoint
9aa4130 Update logo
a82a64a Fix broken TrackLink tag correction
ac8c7ed Add custom theme overhaul
5d099ab Make image inserts use full root URL
de4e848 Sanitize config paths
ad8787c Load global configuration into the frontend as a JS dict using a inclusion
09b7fc8 Refactor and move FirstName LastName functions to the Subscriber model
ae2ca2c Fix routes not remounting with keys
a9f976a Add tracking tag to default template
5bede7a Remove binary
6c5cf0d Add support for campaign view tracking with {{ TrackView }} pixel tag
c96de8d Refactor template previewing with better dummy data
027bc02 Fix re-rendering of iframe by removing state dependency for spinner
0fee76a Add loading spinner to preview modal
595bdb2 Set all campaign templates to default when a used template is deleted
67d65b3 Add new template functions and rename Track to TrackLink
ad96a43 Add simple sanitsation to subscriber name
f9c83e6 Add target meta tag to open links in new windows on preview iframes
1473961 Fix next-campaigns query to return campaign_ids with 0 counts as well when there were 0 subscribers in target_lists. This would result in started_at never being updated in the update sub query.
d712aff Fix error on campaign creation when there are 0 target in target lists
acee18c Refactor dummyUser struct for use in multiple places
b63e390 Fix incorrect return of cached tracking link
b4e6ed6 Refactor and fix obsolete campaign template compilation and validation routines
d62bb97 Fix missing mutex unlock
39ba75b Fix merge conflict
81953d6 - Refactor and move template compilation from runner to models.Campaign to support adhoc template funcs - Add support for {{ Track "https://url.com" }} in templates to register and track links
1ae2905 Add help text
0fb9c6a Change unsubscribe (click instead of onload) behaviour and language
12182b3 Fix bad exception handling in cases of 0 CSVs in import ZIPs
0163cf9 Fixed bugs in importer
52f8217 Fix form state locking on save
f449f49 Fix the completely broken unsubscribe query
d89b22e Add 'send campaign test' feature
3a1faf0 Refactor the Go template string placeholder into a constant
16b0b04 Fix the horrible HTML typos in the default template
b70cecc Refactor and fix the bad URL param substitution method
0a86ae7 Fixed incorrect subscriber SQL fetch check
229fd7f Remove debug line ;(
e794aa7 Fix campaigns table actions cell width
2064f06 Fix next-campaigns to update fields irrespective of to_send
9582e20 Fix the preview button in the new template form
0849dc4 Added the clone modal that was accidentally removed
a1b5a39 Added preview component with preview support for campaigns and templates
2121c25 Ignore yarn.lock
3ab2138 Fresh start

Package Rankings
Top 2.74% on Proxy.golang.org
Badges
Extracted from project README
listmonk-logo listmonk-dashboard