MailPoet Newsletters (New) - Version 3.6.2

Version Description

  • 2018-03-21 =
  • Fixed: sending is faster and uses less resources on sites with large number of emails. Thanks Donald and Hostek support team!
  • Fixed: scheduled newsletter task no longer runs non-stop when "site visitor" option is enabled. Thanks to @amedic, @conorsboyd and @aspasa for reporting the issue on the forum!
Download this release

Release Info

Developer wysija
Plugin Icon 128x128 MailPoet Newsletters (New)
Version 3.6.2
Comparing to
See all releases

Code changes from version 3.6.1 to 3.6.2

lang/mailpoet-ca.mo CHANGED
Binary file
lang/mailpoet-da_DK.mo CHANGED
Binary file
lang/mailpoet-de_DE.mo CHANGED
Binary file
lang/mailpoet-es_ES.mo CHANGED
Binary file
lang/mailpoet-fa_IR.mo CHANGED
Binary file
lang/mailpoet-fr_CA.mo CHANGED
Binary file
lang/mailpoet-fr_FR.mo CHANGED
Binary file
lang/mailpoet-it_IT.mo CHANGED
Binary file
lang/mailpoet-ja.mo CHANGED
Binary file
lang/mailpoet-nl_NL.mo CHANGED
Binary file
lang/mailpoet-pl_PL.mo CHANGED
Binary file
lang/mailpoet-pt_BR.mo CHANGED
Binary file
lang/mailpoet-pt_PT.mo CHANGED
Binary file
lang/mailpoet-ru_RU.mo CHANGED
Binary file
lang/mailpoet-sq.mo CHANGED
Binary file
lang/mailpoet-sv_SE.mo CHANGED
Binary file
lang/mailpoet-tr_TR.mo CHANGED
Binary file
lang/mailpoet.pot CHANGED
@@ -4,7 +4,7 @@ msgid ""
4
  msgstr ""
5
  "Project-Id-Version: \n"
6
  "Report-Msgid-Bugs-To: http://support.mailpoet.com/\n"
7
- "POT-Creation-Date: 2018-03-20 21:15:48+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
4
  msgstr ""
5
  "Project-Id-Version: \n"
6
  "Report-Msgid-Bugs-To: http://support.mailpoet.com/\n"
7
+ "POT-Creation-Date: 2018-03-21 12:15:23+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
lib/Config/Migrator.php CHANGED
@@ -118,7 +118,9 @@ class Migrator {
118
  'created_at TIMESTAMP NULL,',
119
  'updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,',
120
  'deleted_at TIMESTAMP NULL,',
121
- 'PRIMARY KEY (id)',
 
 
122
  );
123
  return $this->sqlify(__FUNCTION__, $attributes);
124
  }
@@ -148,7 +150,8 @@ class Migrator {
148
  'created_at TIMESTAMP NULL,',
149
  'updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,',
150
  'deleted_at TIMESTAMP NULL,',
151
- 'PRIMARY KEY (id)',
 
152
  );
153
  return $this->sqlify(__FUNCTION__, $attributes);
154
  }
118
  'created_at TIMESTAMP NULL,',
119
  'updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,',
120
  'deleted_at TIMESTAMP NULL,',
121
+ 'PRIMARY KEY (id),',
122
+ 'KEY type (type),',
123
+ 'KEY status (status)',
124
  );
125
  return $this->sqlify(__FUNCTION__, $attributes);
126
  }
150
  'created_at TIMESTAMP NULL,',
151
  'updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,',
152
  'deleted_at TIMESTAMP NULL,',
153
+ 'PRIMARY KEY (id),',
154
+ 'KEY task_id (task_id)',
155
  );
156
  return $this->sqlify(__FUNCTION__, $attributes);
157
  }
lib/Cron/Triggers/WordPress.php CHANGED
@@ -25,6 +25,7 @@ class WordPress {
25
  // migration
26
  $migration_disabled = Setting::getValue('cron_trigger.method') === 'none';
27
  $migration_due_tasks = MigrationWorker::getAllDueTasks();
 
28
  $migration_future_tasks = MigrationWorker::getFutureTasks();
29
  // sending queue
30
  $scheduled_queues = SchedulerWorker::getScheduledQueues();
@@ -48,7 +49,7 @@ class WordPress {
48
  $bounce_sync_active = ($mp_sending_enabled && ($bounce_due_tasks || !$bounce_future_tasks));
49
  $sending_service_key_check_active = ($mp_sending_enabled && ($msskeycheck_due_tasks || !$msskeycheck_future_tasks));
50
  $premium_key_check_active = ($premium_key_specified && ($premium_keycheck_due_tasks || !$premium_keycheck_future_tasks));
51
- $migration_active = !$migration_disabled && ($migration_due_tasks || !$migration_future_tasks);
52
 
53
  return (
54
  $migration_active
@@ -65,4 +66,4 @@ class WordPress {
65
  CronHelper::deleteDaemon();
66
  }
67
  }
68
- }
25
  // migration
26
  $migration_disabled = Setting::getValue('cron_trigger.method') === 'none';
27
  $migration_due_tasks = MigrationWorker::getAllDueTasks();
28
+ $migration_completed_tasks = MigrationWorker::getCompletedTasks();
29
  $migration_future_tasks = MigrationWorker::getFutureTasks();
30
  // sending queue
31
  $scheduled_queues = SchedulerWorker::getScheduledQueues();
49
  $bounce_sync_active = ($mp_sending_enabled && ($bounce_due_tasks || !$bounce_future_tasks));
50
  $sending_service_key_check_active = ($mp_sending_enabled && ($msskeycheck_due_tasks || !$msskeycheck_future_tasks));
51
  $premium_key_check_active = ($premium_key_specified && ($premium_keycheck_due_tasks || !$premium_keycheck_future_tasks));
52
+ $migration_active = !$migration_disabled && ($migration_due_tasks || (!$migration_completed_tasks && !$migration_future_tasks));
53
 
54
  return (
55
  $migration_active
66
  CronHelper::deleteDaemon();
67
  }
68
  }
69
+ }
mailpoet.php CHANGED
@@ -4,7 +4,7 @@ if(!defined('ABSPATH')) exit;
4
 
5
  /*
6
  * Plugin Name: MailPoet 3 (New)
7
- * Version: 3.6.1
8
  * Plugin URI: http://www.mailpoet.com
9
  * Description: Create and send newsletters, post notifications and welcome emails from your WordPress.
10
  * Author: MailPoet
@@ -20,7 +20,7 @@ if(!defined('ABSPATH')) exit;
20
  */
21
 
22
  $mailpoet_plugin = array(
23
- 'version' => '3.6.1',
24
  'filename' => __FILE__,
25
  'path' => dirname(__FILE__),
26
  'autoloader' => dirname(__FILE__) . '/vendor/autoload.php',
4
 
5
  /*
6
  * Plugin Name: MailPoet 3 (New)
7
+ * Version: 3.6.2
8
  * Plugin URI: http://www.mailpoet.com
9
  * Description: Create and send newsletters, post notifications and welcome emails from your WordPress.
10
  * Author: MailPoet
20
  */
21
 
22
  $mailpoet_plugin = array(
23
+ 'version' => '3.6.2',
24
  'filename' => __FILE__,
25
  'path' => dirname(__FILE__),
26
  'autoloader' => dirname(__FILE__) . '/vendor/autoload.php',
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: newsletter, email, welcome email, post notification, autoresponder, signup
4
  Requires at least: 4.7
5
  Tested up to: 4.9
6
  Requires PHP: 5.3
7
- Stable tag: 3.6.1
8
  License: GPLv3
9
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
10
 
@@ -116,6 +116,10 @@ Stop by our [support site](https://www.mailpoet.com/support).
116
 
117
  == Changelog ==
118
 
 
 
 
 
119
  = 3.6.1 - 2018-03-20 =
120
  * Fixed: prevents sending from being paused for long time during plugin update. Big thanks to Deborah, Kelley, Ciro and Justin!
121
 
4
  Requires at least: 4.7
5
  Tested up to: 4.9
6
  Requires PHP: 5.3
7
+ Stable tag: 3.6.2
8
  License: GPLv3
9
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
10
 
116
 
117
  == Changelog ==
118
 
119
+ = 3.6.2 - 2018-03-21 =
120
+ * Fixed: sending is faster and uses less resources on sites with large number of emails. Thanks Donald and Hostek support team!
121
+ * Fixed: scheduled newsletter task no longer runs non-stop when "site visitor" option is enabled. Thanks to @amedic, @conorsboyd and @aspasa for reporting the issue on the forum!
122
+
123
  = 3.6.1 - 2018-03-20 =
124
  * Fixed: prevents sending from being paused for long time during plugin update. Big thanks to Deborah, Kelley, Ciro and Justin!
125
 
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit8984a4428cf64cb5131b0166cb46976b::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInit9d925a32196d7882c8b5201bae9151ed::getLoader();
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit8984a4428cf64cb5131b0166cb46976b
6
  {
7
  private static $loader;
8
 
@@ -19,15 +19,15 @@ class ComposerAutoloaderInit8984a4428cf64cb5131b0166cb46976b
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInit8984a4428cf64cb5131b0166cb46976b', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInit8984a4428cf64cb5131b0166cb46976b', 'loadClassLoader'));
25
 
26
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
27
  if ($useStaticLoader) {
28
  require_once __DIR__ . '/autoload_static.php';
29
 
30
- call_user_func(\Composer\Autoload\ComposerStaticInit8984a4428cf64cb5131b0166cb46976b::getInitializer($loader));
31
  } else {
32
  $map = require __DIR__ . '/autoload_namespaces.php';
33
  foreach ($map as $namespace => $path) {
@@ -48,19 +48,19 @@ class ComposerAutoloaderInit8984a4428cf64cb5131b0166cb46976b
48
  $loader->register(true);
49
 
50
  if ($useStaticLoader) {
51
- $includeFiles = Composer\Autoload\ComposerStaticInit8984a4428cf64cb5131b0166cb46976b::$files;
52
  } else {
53
  $includeFiles = require __DIR__ . '/autoload_files.php';
54
  }
55
  foreach ($includeFiles as $fileIdentifier => $file) {
56
- composerRequire8984a4428cf64cb5131b0166cb46976b($fileIdentifier, $file);
57
  }
58
 
59
  return $loader;
60
  }
61
  }
62
 
63
- function composerRequire8984a4428cf64cb5131b0166cb46976b($fileIdentifier, $file)
64
  {
65
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
66
  require $file;
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInit9d925a32196d7882c8b5201bae9151ed
6
  {
7
  private static $loader;
8
 
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInit9d925a32196d7882c8b5201bae9151ed', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit9d925a32196d7882c8b5201bae9151ed', 'loadClassLoader'));
25
 
26
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
27
  if ($useStaticLoader) {
28
  require_once __DIR__ . '/autoload_static.php';
29
 
30
+ call_user_func(\Composer\Autoload\ComposerStaticInit9d925a32196d7882c8b5201bae9151ed::getInitializer($loader));
31
  } else {
32
  $map = require __DIR__ . '/autoload_namespaces.php';
33
  foreach ($map as $namespace => $path) {
48
  $loader->register(true);
49
 
50
  if ($useStaticLoader) {
51
+ $includeFiles = Composer\Autoload\ComposerStaticInit9d925a32196d7882c8b5201bae9151ed::$files;
52
  } else {
53
  $includeFiles = require __DIR__ . '/autoload_files.php';
54
  }
55
  foreach ($includeFiles as $fileIdentifier => $file) {
56
+ composerRequire9d925a32196d7882c8b5201bae9151ed($fileIdentifier, $file);
57
  }
58
 
59
  return $loader;
60
  }
61
  }
62
 
63
+ function composerRequire9d925a32196d7882c8b5201bae9151ed($fileIdentifier, $file)
64
  {
65
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
66
  require $file;
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInit8984a4428cf64cb5131b0166cb46976b
8
  {
9
  public static $files = array (
10
  '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
@@ -988,10 +988,10 @@ class ComposerStaticInit8984a4428cf64cb5131b0166cb46976b
988
  public static function getInitializer(ClassLoader $loader)
989
  {
990
  return \Closure::bind(function () use ($loader) {
991
- $loader->prefixLengthsPsr4 = ComposerStaticInit8984a4428cf64cb5131b0166cb46976b::$prefixLengthsPsr4;
992
- $loader->prefixDirsPsr4 = ComposerStaticInit8984a4428cf64cb5131b0166cb46976b::$prefixDirsPsr4;
993
- $loader->prefixesPsr0 = ComposerStaticInit8984a4428cf64cb5131b0166cb46976b::$prefixesPsr0;
994
- $loader->classMap = ComposerStaticInit8984a4428cf64cb5131b0166cb46976b::$classMap;
995
 
996
  }, null, ClassLoader::class);
997
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInit9d925a32196d7882c8b5201bae9151ed
8
  {
9
  public static $files = array (
10
  '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
988
  public static function getInitializer(ClassLoader $loader)
989
  {
990
  return \Closure::bind(function () use ($loader) {
991
+ $loader->prefixLengthsPsr4 = ComposerStaticInit9d925a32196d7882c8b5201bae9151ed::$prefixLengthsPsr4;
992
+ $loader->prefixDirsPsr4 = ComposerStaticInit9d925a32196d7882c8b5201bae9151ed::$prefixDirsPsr4;
993
+ $loader->prefixesPsr0 = ComposerStaticInit9d925a32196d7882c8b5201bae9151ed::$prefixesPsr0;
994
+ $loader->classMap = ComposerStaticInit9d925a32196d7882c8b5201bae9151ed::$classMap;
995
 
996
  }, null, ClassLoader::class);
997
  }