diff --git a/CHANGELOG.md b/CHANGELOG.md
index 97b187109..cdb6b5e8a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,39 @@
+## 2.32.0 – 2023-12-26
+
+### Added
+- Run full GetUids() in background when message_list_limit is set
+- MessageListThreadsMap as background task when message_list_limit is set
+- Properly set CACHEDIR.TAG
+- Sending group email to all contact addresses by @rezaei92
+ [#1286](https://github.com/the-djmaze/snappymail/pull/1286)
+
+### Changed
+- Default IMAP message_list_limit to 10000
+- DoMessageCopy() return toFolder hash/etag
+- Improved Squire WYSIWYG
+- Sort real attachments and inline attachments for
+ [#1360](https://github.com/the-djmaze/snappymail/issues/1360)
+- Nextcloud Theme fixes and improvements by @hampoelz
+ [#1363](https://github.com/the-djmaze/snappymail/pull/1363)
+- Improve display of attachments
+ [#1361](https://github.com/the-djmaze/snappymail/issues/1361)
+- Rename messageVisibility to messageVisible
+- All CSS font-size to % instead of px
+- Flip source code view of .eml attachments
+ [#1332](https://github.com/the-djmaze/snappymail/issues/1332)
+
+### Fixed
+- Folders array_filter(): Argument 1 must be of type array, null given
+- At upgrade set `static` and `themes` folder to 0755
+- Preview tooltip shows "null" when PREVIEW capability is disabled
+
+### Nextcloud
+- Improved language handling by @avinash-0007
+ [#1362](https://github.com/the-djmaze/snappymail/pull/1362)
+- FilterLanguage had wrong parameter order
+- Use NextcloudV25+ theme by default
+
+
## 2.31.0 – 2023-12-08
### Added
diff --git a/README.md b/README.md
index 888407e10..460126a70 100644
--- a/README.md
+++ b/README.md
@@ -30,7 +30,7 @@ For more information about the product, check [snappymail.eu](https://snappymail
Information about installing the product, check the [wiki page](https://github.com/the-djmaze/snappymail/wiki/Installation-instructions).
-And don't forget to read the [RainLoop documentation](https://www.rainloop.net/docs/).
+And don't forget to read the whole [Wiki](https://github.com/the-djmaze/snappymail/wiki).
## License
@@ -140,26 +140,26 @@ RainLoop 1.17 vs SnappyMail
|js/* |RainLoop |Snappy |
|--------------- |--------: |--------: |
-|admin.js |2.170.153 | 80.366 |
-|app.js |4.207.787 | 407.909 |
+|admin.js |2.170.153 | 80.370 |
+|app.js |4.207.787 | 408.429 |
|boot.js | 868.735 | 4.142 |
-|libs.js | 658.812 | 192.289 |
+|libs.js | 658.812 | 193.230 |
|sieve.js | 0 | 85.085 |
|polyfills.js | 334.608 | 0 |
|serviceworker.js | 0 | 285 |
-|TOTAL |8.240.095 | 770.076 |
+|TOTAL |8.240.095 | 771.541 |
|js/min/* |RainLoop |Snappy |RL gzip |SM gzip |RL brotli |SM brotli |
|--------------- |--------: |--------: |------: |------: |--------: |--------: |
-|admin.min.js | 256.831 | 39.283 | 73.606 | 13.181 | 60.877 | 11.803 |
-|app.min.js | 515.367 | 186.036 |139.456 | 63.062 |110.485 | 54.135 |
+|admin.min.js | 256.831 | 39.285 | 73.606 | 13.183 | 60.877 | 11.806 |
+|app.min.js | 515.367 | 186.270 |139.456 | 63.111 |110.485 | 54.218 |
|boot.min.js | 84.659 | 2.084 | 26.998 | 1.202 | 23.643 | 1.003 |
-|libs.min.js | 584.772 | 93.758 |180.901 | 34.878 |155.182 | 31.291 |
+|libs.min.js | 584.772 | 93.401 |180.901 | 34.765 |155.182 | 31.194 |
|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 | 281.878 |358.761 | 99.142 |299.485 | 86.429 |
-|TOTAL user+sieve |1.217.635 | 323.194 |358.761 |109.506 |299.485 | 95.781 |
-|TOTAL admin | 959.099 | 135.125 |292.911 | 49.261 |249.877 | 44.097 |
+|TOTAL user |1.217.635 | 281.755 |358.761 | 99.078 |299.485 | 86.415 |
+|TOTAL user+sieve |1.217.635 | 323.071 |358.761 |109.442 |299.485 | 95.767 |
+|TOTAL admin | 959.099 | 134.770 |292.911 | 49.150 |249.877 | 44.003 |
For a user it is around 69% smaller and faster than traditional RainLoop.
@@ -188,8 +188,8 @@ For a user it is around 69% smaller and faster than traditional RainLoop.
|css/* |RainLoop |Snappy |RL gzip |SM gzip |SM brotli |
|------------ |-------: |------: |------: |------: |--------: |
-|app.css | 340.331 | 84.607 | 46.946 | 17.662 | 15.138 |
-|app.min.css | 274.947 | 67.961 | 39.647 | 15.550 | 13.570 |
+|app.css | 340.331 | 84.484 | 46.946 | 17.627 | 15.110 |
+|app.min.css | 274.947 | 67.910 | 39.647 | 15.541 | 13.547 |
|boot.css | | 1.326 | | 664 | 545 |
|boot.min.css | | 1.071 | | 590 | 474 |
|admin.css | | 30.641 | | 7.028 | 6.111 |
diff --git a/dev/View/User/MailBox/MessageView.js b/dev/View/User/MailBox/MessageView.js
index b5d2bb471..f655262bf 100644
--- a/dev/View/User/MailBox/MessageView.js
+++ b/dev/View/User/MailBox/MessageView.js
@@ -162,13 +162,11 @@ export class MailMessageView extends AbstractViewRight {
listAttachments: () => currentMessage()?.attachments()
.filter(item => SettingsUserStore.listInlineAttachments() || !item.isLinked()),
-// hasAttachments: () => this.listAttachments()?.length,
+// hasAttachments: () => currentMessage()?.attachments()?.length,
hasAttachments: () => currentMessage()?.attachments()
.some(item => SettingsUserStore.listInlineAttachments() || !item.isLinked()),
-// listInlines: () => currentMessage()?.attachments()
-// .filter(item => item.isLinked()),
-// hasInlines: () => currentMessage()?.attachments()
-// .some(item => SettingsUserStore.listInlineAttachments() || !item.isLinked()),
+// listInline: () => currentMessage()?.attachments().filter(item => item.isLinked()),
+// hasInline: () => currentMessage()?.attachments().some(item => item.isLinked()),
canBeRepliedOrForwarded: () => !MessagelistUserStore.isDraftFolder() && this.messageVisible(),
diff --git a/integrations/cloudron/DESCRIPTION.md b/integrations/cloudron/DESCRIPTION.md
index d9e988cf5..b45d6664c 100644
--- a/integrations/cloudron/DESCRIPTION.md
+++ b/integrations/cloudron/DESCRIPTION.md
@@ -1,4 +1,4 @@
-This app packages SnappyMail 2.31.0.
+This app packages SnappyMail 2.32.0.
SnappyMail is a simple, modern, lightweight & fast web-based email client.
diff --git a/integrations/cloudron/Dockerfile b/integrations/cloudron/Dockerfile
index 37f1ac745..c6b023dab 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.31.0
+VERSION=2.32.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 3424ed6c0..029bee605 100644
--- a/integrations/nextcloud/snappymail/appinfo/info.xml
+++ b/integrations/nextcloud/snappymail/appinfo/info.xml
@@ -3,7 +3,7 @@
snappymail
SnappyMail
SnappyMail Webmail
- 2.31.0
+ 2.32.0
agpl
SnappyMail, RainLoop Team, Nextgen-Networks, Tab Fitts, Nathan Kinkade, Pierre-Alain Bandinelli