diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 92bddfb4..60a1b927 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,5 +1,10 @@ # Changelog +## 1.5.0 2016-05-05 + + * Fixed a bug in unsubscribing through the admin interface + * Added individual link click stats + ## 1.4.1 2016-05-04 * Added support for RSS templates diff --git a/package.json b/package.json index 552d751e..bb8d893e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "mailtrain", "private": true, - "version": "1.4.1", + "version": "1.5.0", "description": "Self hosted email newsletter app", "main": "index.js", "scripts": { diff --git a/public/images/img01.png b/public/images/img01.png new file mode 100644 index 00000000..fc03cdfb Binary files /dev/null and b/public/images/img01.png differ diff --git a/public/images/img01_lists.png b/public/images/img01_lists.png deleted file mode 100644 index f7ff88c5..00000000 Binary files a/public/images/img01_lists.png and /dev/null differ diff --git a/public/images/img02.png b/public/images/img02.png new file mode 100644 index 00000000..7e48f04f Binary files /dev/null and b/public/images/img02.png differ diff --git a/public/images/img02_list.png b/public/images/img02_list.png deleted file mode 100644 index bcd1b312..00000000 Binary files a/public/images/img02_list.png and /dev/null differ diff --git a/public/images/img03.png b/public/images/img03.png new file mode 100644 index 00000000..f9c50e25 Binary files /dev/null and b/public/images/img03.png differ diff --git a/public/images/img03_fields.png b/public/images/img03_fields.png deleted file mode 100644 index 32bc7808..00000000 Binary files a/public/images/img03_fields.png and /dev/null differ diff --git a/public/images/img04.png b/public/images/img04.png new file mode 100644 index 00000000..ba36dc2f Binary files /dev/null and b/public/images/img04.png differ diff --git a/public/images/img04_segment.png b/public/images/img04_segment.png deleted file mode 100644 index 22c6103b..00000000 Binary files a/public/images/img04_segment.png and /dev/null differ diff --git a/public/images/img05.png b/public/images/img05.png new file mode 100644 index 00000000..a5c72c2f Binary files /dev/null and b/public/images/img05.png differ diff --git a/public/images/img05_subscribe.png b/public/images/img05_subscribe.png deleted file mode 100644 index 852939bb..00000000 Binary files a/public/images/img05_subscribe.png and /dev/null differ diff --git a/public/images/img06.png b/public/images/img06.png new file mode 100644 index 00000000..1fdb8c63 Binary files /dev/null and b/public/images/img06.png differ diff --git a/public/images/img07.png b/public/images/img07.png new file mode 100644 index 00000000..a69230cf Binary files /dev/null and b/public/images/img07.png differ diff --git a/public/images/img08.png b/public/images/img08.png new file mode 100644 index 00000000..6096a23d Binary files /dev/null and b/public/images/img08.png differ diff --git a/public/images/img09.png b/public/images/img09.png new file mode 100644 index 00000000..0eb3df83 Binary files /dev/null and b/public/images/img09.png differ diff --git a/routes/lists.js b/routes/lists.js index 3cf12fe5..a48cfcb4 100644 --- a/routes/lists.js +++ b/routes/lists.js @@ -378,7 +378,7 @@ router.post('/subscription/unsubscribe', passport.parseForm, passport.csrfProtec return res.redirect('/lists/view/' + list.id); } - subscriptions.unsubscribe(list.id, subscription.email, err => { + subscriptions.unsubscribe(list.id, subscription.email, false, err => { if (err) { req.flash('danger', err && err.message || err || 'Could not unsubscribe user'); return res.redirect('/lists/subscription/' + list.id + '/edit/' + subscription.cid); diff --git a/services/feedcheck.js b/services/feedcheck.js index 4ffae847..42640b9a 100644 --- a/services/feedcheck.js +++ b/services/feedcheck.js @@ -139,8 +139,7 @@ function checkEntries(parent, entries, callback) { from: parent.from, address: parent.address, subject: entry.title || parent.subject, - list: parent.list, - segment: parent.segment, + list: parent.segment ? parent.list + ':' + parent.segment : parent.list, html }; diff --git a/views/index.hbs b/views/index.hbs index 3b04133f..277309dc 100644 --- a/views/index.hbs +++ b/views/index.hbs @@ -33,6 +33,21 @@ +
Setup Mailtrain to track RSS feeds and if a new entry is detected in a feed then Mailtrain auto-generates a new campaign using entry data as message contents and sends it to selected subscribers.
+If a list includes a custom field for a GPG Public Key then subscribers can upload their GPG public keys when signing up or managing preferences. Subscriber that have a key set get all messages from the list in an encrypted form.
+After a campaign is sent, check individual click statistics for every link included in the message.
+