From ddc953f4fad60bded880275b4ad25143f01203d4 Mon Sep 17 00:00:00 2001 From: the-djmaze <> Date: Fri, 8 Dec 2023 22:24:04 +0100 Subject: [PATCH] v2.31.0 --- CHANGELOG.md | 29 ++++++++++++++++ README.md | 18 +++++----- build/plugins.php | 34 +++++++++++++++++++ integrations/cloudron/DESCRIPTION.md | 2 +- integrations/cloudron/Dockerfile | 2 +- .../nextcloud/snappymail/appinfo/info.xml | 2 +- integrations/virtualmin/snappymail.pl | 2 +- package.json | 2 +- 8 files changed, 77 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b093aa572..97b187109 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,32 @@ +## 2.31.0 – 2023-12-08 + +### Added +- PHP Hook `filter.language` to allow remote language selection + +### Changed +- Cleaner language detection +- Get Squire in sync with v2.2.5 and some bugfixes +- Update French by @Cwpute +- Squire: drop support for iPod + +### Fixed +- Call to undefined method FolderMyRights() + [#1344](https://github.com/the-djmaze/snappymail/issues/1344) +- NO Mailbox does not exist, or must be subscribed to") + [#1354](https://github.com/the-djmaze/snappymail/issues/1354) +- Flag indicators are added to wrong message by @SergeyMosin + [#1347](https://github.com/the-djmaze/snappymail/pull/1347) +- Squire: issue when using the enter key in a reply window + [#1296](https://github.com/the-djmaze/snappymail/issues/1296) +- Squire: crash on cut/delete range + +### Nextcloud +- Use language as defined in Nextcloud settings + [#1293](https://github.com/the-djmaze/snappymail/issues/1293) +- Plugin Call to undefined method RainLoop\Model\MainAccount::ImapConnectAndLoginHelper() +- SnappyMail failed due to Nextcloud Symfony polyfill + + ## 2.30.0 – 2023-12-04 ### Added diff --git a/README.md b/README.md index e0cd1daf3..a4ad2a383 100644 --- a/README.md +++ b/README.md @@ -141,27 +141,27 @@ RainLoop 1.17 vs SnappyMail |js/* |RainLoop |Snappy | |--------------- |--------: |--------: | |admin.js |2.170.153 | 80.467 | -|app.js |4.207.787 | 407.482 | +|app.js |4.207.787 | 407.517 | |boot.js | 868.735 | 4.142 | -|libs.js | 658.812 | 192.885 | +|libs.js | 658.812 | 192.287 | |sieve.js | 0 | 85.085 | |polyfills.js | 334.608 | 0 | |serviceworker.js | 0 | 285 | -|TOTAL |8.240.095 | 770.346 | +|TOTAL |8.240.095 | 769.783 | |js/min/* |RainLoop |Snappy |RL gzip |SM gzip |RL brotli |SM brotli | |--------------- |--------: |--------: |------: |------: |--------: |--------: | |admin.min.js | 256.831 | 39.328 | 73.606 | 13.191 | 60.877 | 11.815 | -|app.min.js | 515.367 | 186.025 |139.456 | 63.148 |110.485 | 54.152 | +|app.min.js | 515.367 | 186.005 |139.456 | 63.143 |110.485 | 54.149 | |boot.min.js | 84.659 | 2.084 | 26.998 | 1.202 | 23.643 | 1.003 | -|libs.min.js | 584.772 | 92.854 |180.901 | 34.489 |155.182 | 30.939 | +|libs.min.js | 584.772 | 93.758 |180.901 | 34.878 |155.182 | 31.291 | |sieve.min.js | 0 | 41.316 | 0 | 10.364 | 0 | 9.352 | |polyfills.min.js | 32.837 | 0 | 11.406 | 0 | 10.175 | 0 | -|TOTAL user |1.217.635 | 280.963 |358.761 | 98.839 |299.485 | 86.094 | -|TOTAL user+sieve |1.217.635 | 322.279 |358.761 |109.203 |299.485 | 95.446 | -|TOTAL admin | 959.099 | 134.266 |292.911 | 48.882 |249.877 | 43.757 | +|TOTAL user |1.217.635 | 281.847 |358.761 | 99.223 |299.485 | 86.443 | +|TOTAL user+sieve |1.217.635 | 323.163 |358.761 |109.587 |299.485 | 95.795 | +|TOTAL admin | 959.099 | 135.170 |292.911 | 49.271 |249.877 | 44.109 | -For a user it is around 70% smaller and faster than traditional RainLoop. +For a user it is around 69% smaller and faster than traditional RainLoop. ### CSS changes diff --git a/build/plugins.php b/build/plugins.php index bf850b802..d38c84c80 100755 --- a/build/plugins.php +++ b/build/plugins.php @@ -28,10 +28,44 @@ $keys = [ 'url', 'version' ]; +/* +$released = [ + 'add-x-originating-ip-header', + 'avatars', + 'black-list', + 'change-password', + 'change-password-froxlor', + 'change-password-hestia', + 'change-password-hmailserver', + 'change-password-ispconfig', + 'change-password-poppassd', + 'custom-login-mapping', + 'imap-contacts-suggestions', + 'kolab', + 'ldap-contacts-suggestions', + 'ldap-identities', + 'ldap-login-mapping', + 'ldap-mail-accounts', + 'login-external', + 'login-external-sso', + 'login-override', + 'login-register', + 'login-remote', + 'mailbox-detect', + 'nextcloud', + 'override-smtp-credentials', + 'set-remote-addr', + 'snowfall-on-login-screen', + 'two-factor-auth', + 'view-ics', + 'white-list' +]; +*/ foreach (glob(ROOT_DIR . '/plugins/*', GLOB_NOSORT | GLOB_ONLYDIR) as $dir) { if (is_file("{$dir}/index.php") && !strpos($dir, '.bak')) { require "{$dir}/index.php"; $name = basename($dir); +// if (!in_array($name, $released)) continue; $class = new ReflectionClass(str_replace('-', '', $name) . 'Plugin'); $manifest_item = []; foreach ($class->getConstants() as $key => $value) { diff --git a/integrations/cloudron/DESCRIPTION.md b/integrations/cloudron/DESCRIPTION.md index 4954957a9..d9e988cf5 100644 --- a/integrations/cloudron/DESCRIPTION.md +++ b/integrations/cloudron/DESCRIPTION.md @@ -1,4 +1,4 @@ -This app packages SnappyMail 2.30.0. +This app packages SnappyMail 2.31.0. SnappyMail is a simple, modern, lightweight & fast web-based email client. diff --git a/integrations/cloudron/Dockerfile b/integrations/cloudron/Dockerfile index 381aae779..37f1ac745 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.30.0 +VERSION=2.31.0 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 ec69ca0b0..3424ed6c0 100644 --- a/integrations/nextcloud/snappymail/appinfo/info.xml +++ b/integrations/nextcloud/snappymail/appinfo/info.xml @@ -3,7 +3,7 @@ snappymail SnappyMail SnappyMail Webmail - 2.30.0 + 2.31.0 agpl SnappyMail, RainLoop Team, Nextgen-Networks, Tab Fitts, Nathan Kinkade, Pierre-Alain Bandinelli