diff --git a/.docker/release/files/usr/local/include/application.ini b/.docker/release/files/usr/local/include/application.ini
index 3d9db4e5e..034224d54 100644
--- a/.docker/release/files/usr/local/include/application.ini
+++ b/.docker/release/files/usr/local/include/application.ini
@@ -303,5 +303,5 @@ dev_email = ""
dev_password = ""
[version]
-current = "2.25.1"
+current = "2.25.2"
saved = "Sun, 18 Dec 2022 22:10:48 +0000"
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 270a4f187..3cc971351 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,43 @@
+## 2.25.2 – 2023-02-02
+
+## Added
+- Refresh frequency of the mailboxes
+ [#486](https://github.com/the-djmaze/snappymail/pull/486)
+- Temporarily save password for private key during session
+ [#840](https://github.com/the-djmaze/snappymail/pull/840)
+- Upgrade from Rainloop, password not migrated
+ [#898](https://github.com/the-djmaze/snappymail/pull/898)
+- Whitelist to show images directly
+ [#201](https://github.com/the-djmaze/snappymail/pull/201)
+- HTML editor paste image makes it max 1024px width/height
+ [#262](https://github.com/the-djmaze/snappymail/pull/262)
+- SnappyMail\TAR::extractTo support the $files and $overwrite parameters
+
+## Changed
+- Issue with themes when Chrome crashes
+ [#188](https://github.com/the-djmaze/snappymail/pull/188)
+- /static/.htaccess as mentioned by @dbiczo in
+ [#895](https://github.com/the-djmaze/snappymail/pull/895)
+- Update nb-NO language by @master3395
+ [#896](https://github.com/the-djmaze/snappymail/pull/896)
+- \RainLoop\Utils::SetCookie() to \SnappyMail\Cookies::set()
+- Merge \MailSo\Base\Utils::RecRmDir() and \MailSo\Base\Utils::RecTimeDirRemove()
+
+## Fixed
+- Two issues with images being delivered via ProxyExternal
+ [#887](https://github.com/the-djmaze/snappymail/pull/887)
+- Multiple accounts conflicts when using multiple tabs
+ [#892](https://github.com/the-djmaze/snappymail/pull/892)
+- Spaces in attached file names are not preserved
+ [#893](https://github.com/the-djmaze/snappymail/pull/893)
+- Prevent empty area scroll on body
+
+### Removed
+- Floating HTML text formatting menu on mobile
+ [#828](https://github.com/the-djmaze/snappymail/pull/828)
+- Unused AUTH_SPEC_LOGOUT_TOKEN_KEY and AUTH_SPEC_LOGOUT_CUSTOM_MSG_KEY
+
+
## 2.25.1 – 2023-01-30
## Added
@@ -206,9 +246,9 @@
[#737](https://github.com/the-djmaze/snappymail/pull/737)
### Fixed
-- Typed property MailSo\Cache\Drivers\Redis::$sKeyPrefix must not be accessed before initialization #792
+- Typed property MailSo\Cache\Drivers\Redis::$sKeyPrefix must not be accessed before initialization
[#792](https://github.com/the-djmaze/snappymail/pull/792)
-- Attachments in mails in 2.24 not loading in reply/forward #789
+- Attachments in mails in 2.24 not loading in reply/forward
[#789](https://github.com/the-djmaze/snappymail/pull/789)
- Rollback #280 due to complications
[#280](https://github.com/the-djmaze/snappymail/pull/280)
@@ -259,10 +299,12 @@
[#744](https://github.com/the-djmaze/snappymail/pull/744)
- Added manual setting for 12/24h clock
[#760](https://github.com/the-djmaze/snappymail/pull/760)
-- Add options to mark the message I'm viewing as unread and return to the inbox #766
+- Add options to mark the message I'm viewing as unread and return to the inbox
+ [#766](https://github.com/the-djmaze/snappymail/pull/766)
### Fixed
-- Extension menu shows only some available extensions #778
+- Extension menu shows only some available extensions
+ [#778](https://github.com/the-djmaze/snappymail/pull/778)
- New solution for [#423](https://github.com/the-djmaze/snappymail/pull/423) due to [#774](https://github.com/the-djmaze/snappymail/pull/774)
- Avatars extension error on smartphone
[#764](https://github.com/the-djmaze/snappymail/pull/764)
@@ -403,7 +445,8 @@
## 2.22.2 – 2022-11-24
### Added
-- Support cPanel #697
+- Support cPanel
+ [#697](https://github.com/the-djmaze/snappymail/pull/697)
## 2.22.1 – 2022-11-23
@@ -731,9 +774,12 @@
### Added
- Put messagelist top bar buttons also in dropdown
-- Allow setting additional Sec-Fetch rules, as discussed by #585
-- Light/Dark favicon.svg #643
-- Allow an account name/label #571
+- Allow setting additional Sec-Fetch rules, as discussed by
+ [#585](https://github.com/the-djmaze/snappymail/issues/585)
+- Light/Dark favicon.svg
+ [#643](https://github.com/the-djmaze/snappymail/issues/643)
+- Allow an account name/label
+ [#571](https://github.com/the-djmaze/snappymail/issues/571)
### Changed
- Moved ServiceRemoteAutoLogin to plugin/extension
@@ -743,12 +789,14 @@
- New Net/Imap/Smtp/Sieve Settings object system which allows
setting SSL options per domain and verify_certificate by default
- Update plugins to use new Net/Imap/Smtp/Sieve Settings object
-- Removed message double-click to full screen #638
+- Removed message double-click to full screen
+ [#638](https://github.com/the-djmaze/snappymail/pull/638)
### Fixed
- ldap-identities-plugin by @cm-schl
[#647](https://github.com/the-djmaze/snappymail/pull/647)
-- OpenSSL v3 ciphers issue #641
+- OpenSSL v3 ciphers issue
+ [#641](https://github.com/the-djmaze/snappymail/pull/641)
### Nextcloud
- Style PopupsNextcloudFiles view
diff --git a/README.md b/README.md
index 5ab5bc048..ef2c90b34 100644
--- a/README.md
+++ b/README.md
@@ -141,26 +141,26 @@ RainLoop 1.17 vs SnappyMail
|js/* |RainLoop |Snappy |
|--------------- |--------: |--------: |
-|admin.js |2.170.153 | 81.214 |
-|app.js |4.207.787 | 412.775 |
-|boot.js | 868.735 | 2.559 |
-|libs.js | 658.812 | 191.708 |
+|admin.js |2.170.153 | 81.572 |
+|app.js |4.207.787 | 414.740 |
+|boot.js | 868.735 | 2.711 |
+|libs.js | 658.812 | 192.392 |
|sieve.js | 0 | 85.597 |
|polyfills.js | 334.608 | 0 |
|serviceworker.js | 0 | 285 |
-|TOTAL |8.240.095 | 774.138 |
+|TOTAL |8.240.095 | 777.297 |
|js/min/* |RainLoop |Snappy |RL gzip |SM gzip |RL brotli |SM brotli |
|--------------- |--------: |--------: |------: |------: |--------: |--------: |
-|admin.min.js | 256.831 | 40.104 | 73.606 | 13.270 | 60.877 | 11.906 |
-|app.min.js | 515.367 | 190.149 |139.456 | 63.560 |110.485 | 54.460 |
-|boot.min.js | 84.659 | 1.602 | 26.998 | 941 | 23.643 | 768 |
-|libs.min.js | 584.772 | 91.155 |180.901 | 33.754 |155.182 | 30.287 |
+|admin.min.js | 256.831 | 40.301 | 73.606 | 13.336 | 60.877 | 11.973 |
+|app.min.js | 515.367 | 191.250 |139.456 | 63.920 |110.485 | 54.737 |
+|boot.min.js | 84.659 | 1.600 | 26.998 | 940 | 23.643 | 767 |
+|libs.min.js | 584.772 | 91.434 |180.901 | 33.893 |155.182 | 30.383 |
|sieve.min.js | 0 | 41.566 | 0 | 10.427 | 0 | 9.413 |
|polyfills.min.js | 32.837 | 0 | 11.406 | 0 | 10.175 | 0 |
-|TOTAL user |1.217.635 | 282.906 |358.761 | 98.255 |299.485 | 85.515 |
-|TOTAL user+sieve |1.217.635 | 324.472 |358.761 |108.682 |299.485 | 94.928 |
-|TOTAL admin | 959.099 | 132.861 |292.911 | 47.965 |249.877 | 42.961 |
+|TOTAL user |1.217.635 | 284.284 |358.761 | 98.753 |299.485 | 85.887 |
+|TOTAL user+sieve |1.217.635 | 325.850 |358.761 |109.180 |299.485 | 95.300 |
+|TOTAL admin | 959.099 | 133.335 |292.911 | 48.169 |249.877 | 43.123 |
For a user its around 70% smaller and faster than traditional RainLoop.
@@ -189,8 +189,8 @@ For a user its around 70% smaller and faster than traditional RainLoop.
|css/* |RainLoop |Snappy |RL gzip |SM gzip |SM brotli |
|------------ |-------: |------: |------: |------: |--------: |
-|app.css | 340.331 | 82.716 | 46.946 | 17.179 | 14.752 |
-|app.min.css | 274.947 | 66.591 | 39.647 | 15.129 | 13.259 |
+|app.css | 340.331 | 82.363 | 46.946 | 17.096 | 14.699 |
+|app.min.css | 274.947 | 66.384 | 39.647 | 15.084 | 13.224 |
|boot.css | | 1.326 | | 664 | 545 |
|boot.min.css | | 1.071 | | 590 | 474 |
|admin.css | | 30.388 | | 6.929 | 6.020 |
diff --git a/integrations/cloudron/DESCRIPTION.md b/integrations/cloudron/DESCRIPTION.md
index 9d4368467..8ae53714d 100644
--- a/integrations/cloudron/DESCRIPTION.md
+++ b/integrations/cloudron/DESCRIPTION.md
@@ -1,4 +1,4 @@
-This app packages SnappyMail 2.25.1.
+This app packages SnappyMail 2.25.2.
SnappyMail is a simple, modern, lightweight & fast web-based email client.
diff --git a/integrations/cloudron/Dockerfile b/integrations/cloudron/Dockerfile
index be238e58d..b035ea893 100644
--- a/integrations/cloudron/Dockerfile
+++ b/integrations/cloudron/Dockerfile
@@ -4,7 +4,7 @@ RUN mkdir -p /app/code
WORKDIR /app/code
# If you change the extraction below, be sure to test on scaleway
-VERSION=2.25.1
+VERSION=2.25.2
RUN wget https://github.com/the-djmaze/snappymail/releases/download/v${VERSION}/snappymail-${VERSION}.zip -O /tmp/snappymail.zip && \
unzip /tmp/snappymail.zip -d /app/code && \
rm /tmp/snappymail.zip && \
diff --git a/integrations/nextcloud/snappymail/appinfo/info.xml b/integrations/nextcloud/snappymail/appinfo/info.xml
index f3cbea94c..d6a0fda15 100644
--- a/integrations/nextcloud/snappymail/appinfo/info.xml
+++ b/integrations/nextcloud/snappymail/appinfo/info.xml
@@ -3,7 +3,7 @@
snappymail
SnappyMail
SnappyMail Webmail
- 2.25.1
+ 2.25.2
agpl
SnappyMail, RainLoop Team, Nextgen-Networks, Tab Fitts, Nathan Kinkade, Pierre-Alain Bandinelli
Config()->Get('plugin', 'mapping', ''));
- if (!empty($sMapping))
- {
+ if (!empty($sMapping)) {
$aLines = \explode("\n", \preg_replace('/[\r\n\t\s]+/', "\n", $sMapping));
- foreach ($aLines as $sLine)
- {
- if (false !== strpos($sLine, ':'))
- {
+ foreach ($aLines as $sLine) {
+ if (false !== \strpos($sLine, ':')) {
$aData = \explode(':', $sLine, 2);
- if (is_array($aData) && !empty($aData[0]) && isset($aData[1]))
- {
+ if (\is_array($aData) && !empty($aData[0]) && isset($aData[1])) {
$aData = \array_map('trim', $aData);
- if ($sEmail === $aData[0] && 0 < strlen($aData[1]))
- {
+ if ($sEmail === $aData[0] && \strlen($aData[1])) {
$sLogin = $aData[1];
}
}
@@ -46,9 +41,6 @@ class CustomLoginMappingPlugin extends \RainLoop\Plugins\AbstractPlugin
}
}
- /**
- * @return array
- */
protected function configMapping() : array
{
return array(
diff --git a/plugins/ldap-contacts-suggestions/index.php b/plugins/ldap-contacts-suggestions/index.php
index 148d04444..5b8b8dee1 100644
--- a/plugins/ldap-contacts-suggestions/index.php
+++ b/plugins/ldap-contacts-suggestions/index.php
@@ -4,8 +4,8 @@ class LdapContactsSuggestionsPlugin extends \RainLoop\Plugins\AbstractPlugin
{
const
NAME = 'Contacts suggestions (LDAP)',
- VERSION = '2.11',
- RELEASE = '2023-01-27',
+ VERSION = '2.12',
+ RELEASE = '2023-01-31',
REQUIRED = '2.23.0',
CATEGORY = 'Contacts',
DESCRIPTION = 'Get contacts suggestions from LDAP.';