diff --git a/.docker/release/files/usr/local/include/application.ini b/.docker/release/files/usr/local/include/application.ini
index 671e0ebd0..c554d5a28 100644
--- a/.docker/release/files/usr/local/include/application.ini
+++ b/.docker/release/files/usr/local/include/application.ini
@@ -316,5 +316,5 @@ dev_email = ""
dev_password = ""
[version]
-current = "2.25.3"
+current = "2.25.4"
saved = "Sun, 18 Dec 2022 22:10:48 +0000"
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 68ed1bf0c..3b3a2da9a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,43 @@
+## 2.25.4 – 2023-02-06
+
+## Added
+- message maximum quoted text level for speed.
+ [#902](https://github.com/the-djmaze/snappymail/pull/902)
+- LoveDark Theme by @TheCuteFoxxy
+ [#913](https://github.com/the-djmaze/snappymail/pull/913)
+
+## Changed
+- Moved pluginEnable() to \SnappyMail\Repository::enablePackage()
+- Updrate French language by @hguilbert
+- Cleanup material-design checkbox
+- Some style change for settings panels
+- Some MailMessageView styling
+- Disabled blockquotes height calculation for
+ [#902](https://github.com/the-djmaze/snappymail/pull/902)
+- Enhance Add domain dialog
+ [#916](https://github.com/the-djmaze/snappymail/pull/916)
+
+## Fixed
+- Fixed arrows in thread view while scrolling
+ [#908](https://github.com/the-djmaze/snappymail/pull/908)
+- CSS btn-thin were too high
+- Whitelist to show images directly
+ [#201](https://github.com/the-djmaze/snappymail/pull/201)
+- MailSo\Base\Http::GetHost(): Return value must be of type string
+ [#910](https://github.com/the-djmaze/snappymail/pull/910)
+- Nextcloud undefined variable $sUser
+ [#915](https://github.com/the-djmaze/snappymail/pull/915)
+- Hopefull improved styling for Firefox mobile fixes
+- Scroll display error
+ [#912](https://github.com/the-djmaze/snappymail/pull/912)
+- Autofocus was triggered when view resized
+- Better solution for Settings Page is bigger than the Account Page
+ [#897](https://github.com/the-djmaze/snappymail/pull/897)
+
+### Removed
+- $bUrlEncode as it was always false
+
+
## 2.25.3 – 2023-02-03
## Added
diff --git a/README.md b/README.md
index fb2461a37..fc5751bfe 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.572 |
-|app.js |4.207.787 | 415.364 |
+|admin.js |2.170.153 | 81.589 |
+|app.js |4.207.787 | 415.987 |
|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 | 777.921 |
+|TOTAL |8.240.095 | 778.561 |
|js/min/* |RainLoop |Snappy |RL gzip |SM gzip |RL brotli |SM brotli |
|--------------- |--------: |--------: |------: |------: |--------: |--------: |
-|admin.min.js | 256.831 | 40.301 | 73.606 | 13.336 | 60.877 | 11.973 |
-|app.min.js | 515.367 | 191.465 |139.456 | 64.051 |110.485 | 54.830 |
+|admin.min.js | 256.831 | 40.319 | 73.606 | 13.343 | 60.877 | 11.970 |
+|app.min.js | 515.367 | 191.740 |139.456 | 64.135 |110.485 | 54.920 |
|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 | 284.499 |358.761 | 98.884 |299.485 | 85.980 |
-|TOTAL user+sieve |1.217.635 | 326.065 |358.761 |109.311 |299.485 | 95.393 |
-|TOTAL admin | 959.099 | 133.335 |292.911 | 48.169 |249.877 | 43.123 |
+|TOTAL user |1.217.635 | 284.774 |358.761 | 98.968 |299.485 | 86.070 |
+|TOTAL user+sieve |1.217.635 | 326.340 |358.761 |109.395 |299.485 | 95.483 |
+|TOTAL admin | 959.099 | 133.353 |292.911 | 48.176 |249.877 | 43.120 |
For a user its around 70% smaller and faster than traditional RainLoop.
@@ -189,12 +189,12 @@ 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.363 | 46.946 | 17.096 | 14.699 |
-|app.min.css | 274.947 | 66.384 | 39.647 | 15.084 | 13.224 |
+|app.css | 340.331 | 82.190 | 46.946 | 17.063 | 14.669 |
+|app.min.css | 274.947 | 66.363 | 39.647 | 15.092 | 13.246 |
|boot.css | | 1.326 | | 664 | 545 |
|boot.min.css | | 1.071 | | 590 | 474 |
-|admin.css | | 30.447 | | 6.973 | 6.071 |
-|admin.min.css | | 24.582 | | 6.258 | 5.526 |
+|admin.css | | 30.535 | | 6.980 | 6.091 |
+|admin.min.css | | 24.733 | | 6.336 | 5.587 |
### PGP
RainLoop uses the old OpenPGP.js v2
diff --git a/integrations/cloudron/DESCRIPTION.md b/integrations/cloudron/DESCRIPTION.md
index ec63b2385..00c49049c 100644
--- a/integrations/cloudron/DESCRIPTION.md
+++ b/integrations/cloudron/DESCRIPTION.md
@@ -1,4 +1,4 @@
-This app packages SnappyMail 2.25.3.
+This app packages SnappyMail 2.25.4.
SnappyMail is a simple, modern, lightweight & fast web-based email client.
diff --git a/integrations/cloudron/Dockerfile b/integrations/cloudron/Dockerfile
index e043f0cf6..cf81c0aaa 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.3
+VERSION=2.25.4
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 60ee15f19..9a18b5360 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.3
+ 2.25.4
agpl
SnappyMail, RainLoop Team, Nextgen-Networks, Tab Fitts, Nathan Kinkade, Pierre-Alain Bandinelli
Set('plugins', 'enable', true);
- $oConfig->Set('plugins', 'enabled_list', \implode(',', \array_unique($aList)));
$oConfig->Set('login', 'default_domain', 'cpanel');
$oConfig->Set('logs', 'path', $_ENV['HOME'] . '/logs/snappymail');
$oConfig->Set('cache', 'path', $_ENV['TMPDIR'] . '/snappymail');
- $oConfig->Save();
+
+ \SnappyMail\Repository::installPackage('plugin', 'login-remote');
+ \SnappyMail\Repository::enablePackage('login-remote');
$sFile = APP_PRIVATE_DATA.'domains/cpanel.json';
if (!file_exists($sFile)) {