## 2.33.0 – 2024-01-22 ### Added - Feature to use the SQLite AddressBook per login account instead of global (on by default). - Return all fetched messages headers in JSON. ### Changed - Docker hub use Alpine linux 3.18.5 and PHP 8.2 - Some InvalidArgumentException to the better suited ValueError - Removed some unused KnockoutJS code - KnockoutJS drop unused rateLimit method - Cleanup some data-bind="" - Drop the disabled KnockoutJS twoWayBindings - Drop support for KnockoutJS _ko_property_writers and for two-way binding they must be observables - Login form use method="POST" to prevent uri exposure when javascript fails - Merge code to generate MIME PGP parts and MIME Plain parts - SMTP sendRequestWithCheck for future support of RFC's - Cleanup mime header handling ### Fixed - Sorting not supported since 2.32.0 [#1373](https://github.com/the-djmaze/snappymail/issues/1373) - FILE_ON_SAVING_ERROR is not defined [#1379](https://github.com/the-djmaze/snappymail/issues/1379) - Saving EML files with same subject result in only saving latest email [#1381](https://github.com/the-djmaze/snappymail/issues/1381) - Some Sieve parser issues - Handling of RainLoop Sieve script - Sieve rfc5429 RejectCommand and ErejectCommand - KnockoutJS title:value was removed, use attr:{title:value} - dataBaseUpgrade() always runs on sqlite and pgsql - Message was sent but not saved to sent items folder [#1397](https://github.com/the-djmaze/snappymail/issues/1397) - DKIM `pass` detection sometimes failed ## 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 - 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 - SnappyMail\SensitiveString class to secure passwords - Allow to disable all IMAP features through Admin -> Domain - Setting to open mails in a tab or new window [#951](https://github.com/the-djmaze/snappymail/issues/951) - Fully support IMAP PREVIEW [#1338](https://github.com/the-djmaze/snappymail/issues/1338) - Disable "Mark message as read after", offer manual toggle [#1289](https://github.com/the-djmaze/snappymail/issues/1289) - A "Move to" button inside message view as an icon/button and in the drop down menu. [#1295](https://github.com/the-djmaze/snappymail/issues/1295) - Support for IMAP WITHIN - Support \noinferiors to disallow creating subfolders - A test due to Failed loading libs.min.js [#358](https://github.com/the-djmaze/snappymail/issues/358), [#862](https://github.com/the-djmaze/snappymail/issues/862), [#890](https://github.com/the-djmaze/snappymail/issues/890), [#895](https://github.com/the-djmaze/snappymail/issues/895), [#1238](https://github.com/the-djmaze/snappymail/issues/1238), [#1320](https://github.com/the-djmaze/snappymail/issues/1320) ### Changed - Split PHP 8 polyfills from include.php - Disable snappymail/v/0.0.0/static/.htaccess for now as many servers have issues with it - Merged all Domain `disable_*` settings into `disabled_capabilities:[]` - Prioritize LIST-EXTENDED over LSUB (LSUB deprecated in IMAP4rev2) - Removed unused ImapClient::IsSupported() - Removed obsolete `$_ENV['SNAPPYMAIL_NEXTCLOUD']` - Removed unused Plugin->replaceTemplate() - Removed openDropdownTrigger ### Fixed - Move to button does not work [#1328](https://github.com/the-djmaze/snappymail/issues/1328) - Mark passwords as sensitive information [#1343](https://github.com/the-djmaze/snappymail/issues/1343) - Account sSmtpPassword wrong value - SCRAM sign-in failed [#1245](https://github.com/the-djmaze/snappymail/issues/1245) - Squire generates to many `

` [#1339](https://github.com/the-djmaze/snappymail/issues/1339) - Creation of dynamic property SnappyMail\Stream\ZipEntry::$compression is deprecated - `json.after-*` hooks didn't send $aResponse as recursive array - Sieve: Move to folder with trailing space does not work [#1329](https://github.com/the-djmaze/snappymail/issues/1329) - Squire: cantFocusEmptyTextNodes var is always undefined [#1337](https://github.com/the-djmaze/snappymail/issues/1337) - Squire: Remove redundant after replacing styles - Squire: Handle empty nodes in moveRangeBoundariesDownTree - Theme "Nextcloud V25+" can't be translated [#1331](https://github.com/the-djmaze/snappymail/issues/1331) ## 2.29.4 – 2023-11-21 ### Fixed - Contacts not work [#1319](https://github.com/the-djmaze/snappymail/issues/1319) ## 2.29.3 – 2023-11-21 ### Added - Docker Hub image [#965](https://github.com/the-djmaze/snappymail/pull/965) by @leojonathanoh ### Changed - Sabre/VObject 4.5.4 and Sabre/Xml 4.0.4 [#1311](https://github.com/the-djmaze/snappymail/issues/1311) ### Fixed - '#/mailbox/folder/mUID/search' uri/route handling [#1301](https://github.com/the-djmaze/snappymail/pull/1301) by @SergeyMosin - "Remember me" doesn't work when browser is closed [#1313](https://github.com/the-djmaze/snappymail/issues/1313) - Blank email displayed when "Prefer HTML to plain text" is unchecked and the message is html only [#1302](https://github.com/the-djmaze/snappymail/issues/1302) - Parent folder of Sub folder not useable. [#1008](https://github.com/the-djmaze/snappymail/issues/1008) - Large detailed header don't display body [#1284](https://github.com/the-djmaze/snappymail/issues/1284) ### Nextcloud - Improvements for Install / update issues #929 [#929](https://github.com/the-djmaze/snappymail/issues/929) - Should use language as defined in cloud settings #1293 [#1293](https://github.com/the-djmaze/snappymail/issues/1293) ## 2.29.2 – 2023-11-14 ### Added - Show size of folders in folders list #1303 [#1303](https://github.com/the-djmaze/snappymail/issues/1303) ### Fixed - Configuration failed when using special chars in MySQL password #1308 [#1308](https://github.com/the-djmaze/snappymail/issues/1308) - With email open, "delete" doesn't delete #1274 [#1274](https://github.com/the-djmaze/snappymail/issues/1274) - Fix threading view in Thunderbird (others?) by @tkasch [#1304](https://github.com/the-djmaze/snappymail/pull/1304) ## 2.29.1 – 2023-10-02 ### Fixed - Some small messages list bugs ## 2.29.0 – 2023-10-02 ### Added - Modern UI / Nextcloud Theme [#629](https://github.com/the-djmaze/snappymail/pull/629) by @hampoelz - "Add/Edit signature" label to PopupsIdentity.html by @SergeyMosin [#1248](https://github.com/the-djmaze/snappymail/pull/1248) - use calendar icon in message list for messages with '.ics' or 'text/calendar' attachments by @SergeyMosin [#1248](https://github.com/the-djmaze/snappymail/pull/1248) - Show unseen message count when the message list is threaded by @SergeyMosin [#1248](https://github.com/the-djmaze/snappymail/pull/1248) - in mobile mode hide folders(left) panel when a folder is clicked by @SergeyMosin [#1248](https://github.com/the-djmaze/snappymail/pull/1248) - spellcheck the subject when 'allowSpellcheck' setting is true by @SergeyMosin [#1248](https://github.com/the-djmaze/snappymail/pull/1248) - 'collapse_blockquotes', 'allow_spellcheck' and 'mail_list_grouped' to admin settings ('defaults' section) by @SergeyMosin [#1248](https://github.com/the-djmaze/snappymail/pull/1248) - Browser support for autocompleting TOTP code [#1251](https://github.com/the-djmaze/snappymail/issues/1251) ### Changed - URL strip tracking for [#1225](https://github.com/the-djmaze/snappymail/issues/1225) - Color picker use color blind palette "Tableau 10" by Maureen Stone by default [#1199](https://github.com/the-djmaze/snappymail/issues/1199) - Draft code to improve mobile breakpoints [#1150](https://github.com/the-djmaze/snappymail/issues/1150) - address input: space character can trigger '_parseValue' if the email address looks complete by @SergeyMosin [#1248](https://github.com/the-djmaze/snappymail/pull/1248) - if applicable set '\\answered' or '$forwarded' flag after a message is sent so the proper icon is shown in the message list view by @SergeyMosin [#1248](https://github.com/the-djmaze/snappymail/pull/1248) ### Fixed - CHARSET is not valid in UTF8 mode [#1230](https://github.com/the-djmaze/snappymail/issues/1230) - Spam score is always "acceptable" [#1228](https://github.com/the-djmaze/snappymail/issues/1228) - Undefined constant PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT [#1205](https://github.com/the-djmaze/snappymail/issues/1205) - Fetch controller.abort(reason) handling [#1220](https://github.com/the-djmaze/snappymail/issues/1220) - "Request failed" on message move [#1220](https://github.com/the-djmaze/snappymail/issues/1220) - Unwrapped text nodes attached to squire._root by @SergeyMosin [#1234](https://github.com/the-djmaze/snappymail/pull/1234) - Extra wrapper div is added in Squire every time a Draft is open (or closed) after save. [#1208](https://github.com/the-djmaze/snappymail/issues/1208) - foreach() argument must be of type array|object [#1237](https://github.com/the-djmaze/snappymail/issues/1237) - `` tag 'style' is lost in replies by @SergeyMosin [#1248](https://github.com/the-djmaze/snappymail/pull/1248) - unseen indicator is not shown in thread view when 'listGrouped' settings is false by @SergeyMosin [#1248](https://github.com/the-djmaze/snappymail/pull/1248) - TOTP plugin is dependent on ctype [#1250](https://github.com/the-djmaze/snappymail/issues/1250) ### Nextcloud - iFrame mode: click on unified search result opens inner iFrame by @SergeyMosin [#1248](https://github.com/the-djmaze/snappymail/pull/1248) - set 'smremember' cookie if 'sign_me_auto' is set to 'DefaultOn' when using 'snappymail-autologin*', otherwise nextcloud users need to re-login when the browser is re-opened. by @SergeyMosin [#1248](https://github.com/the-djmaze/snappymail/pull/1248) - Improve UX of "Put in Calendar" option in plugin by @theronakpatel [#1259](https://github.com/the-djmaze/snappymail/pull/1259) ## 2.28.4 – 2023-07-10 ### Added - application.ini msg_default_action by @SergeyMosin [#1204](https://github.com/the-djmaze/snappymail/pull/1204) - application.ini view_show_next_message by @SergeyMosin [#1204](https://github.com/the-djmaze/snappymail/pull/1204) - application.ini view_images by @SergeyMosin [#1204](https://github.com/the-djmaze/snappymail/pull/1204) - nextcloud add ability to include custom php file in InstallStep migration by @SergeyMosin [#1197](https://github.com/the-djmaze/snappymail/pull/1197) - Support plugin for Squire editor [#1192](https://github.com/the-djmaze/snappymail/issues/1192) ### Changed - only show 'Add "domain.tld" as an application for mailto links?' message after login (firefox shows the message on every reload otherwise). [#1204](https://github.com/the-djmaze/snappymail/issues/1204) - Convert getPdoAccessData() : array to a RainLoop\Pdo\Settings object instance - New bidi buttons to Squire editor by @rezaei92 [#1200](https://github.com/the-djmaze/snappymail/pull/1200) ### Fixed - Undefined constant PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT [#1205](https://github.com/the-djmaze/snappymail/issues/1205) - 'reloadTime' function result is passed into 'setInterval' instead of the function by @SergeyMosin [#1204](https://github.com/the-djmaze/snappymail/pull/1204) - UNKNOWN-CTE Invalid data in MIME part [#1186](https://github.com/the-djmaze/snappymail/issues/1186) ## 2.28.3 – 2023-06-22 ### Added - Attachments in "new window" view [#1166](https://github.com/the-djmaze/snappymail/issues/1166) ### Changed - Update Portuguese by @ner00 - Update French by @hguilbert ### Fixed - Some emails with inline CSS break the UI [#1187](https://github.com/the-djmaze/snappymail/issues/1187) - Remote.get() Promise broken by previous change [#1185](https://github.com/the-djmaze/snappymail/issues/1185) - Class "MailSo\Base\Exceptions\InvalidArgumentException" not found [#1182](https://github.com/the-djmaze/snappymail/issues/1182) - First account not showed in the right list (dropbox) [#1180](https://github.com/the-djmaze/snappymail/issues/1180) ## 2.28.2 – 2023-06-19 ### Added - Detailed error for "Cannot access the repository at the moment" [#1164](https://github.com/the-djmaze/snappymail/issues/1164) - Bidi in Squire editor [#1158](https://github.com/the-djmaze/snappymail/issues/1158) - Translate Squire UI - Nextcloud 27 compatibility by @LarsBel - JWT class for handling JSON Web Tokens ### Changed - Update German by @cm-schl - Update French by @hguilbert - Update Polish by @tinola - Merge handling of local Account Settings. Found while investigating [#1170](https://github.com/the-djmaze/snappymail/issues/1170) - Image max-width now 100% instead of 90vw ### Fixed - Cannot modify header information [#929](https://github.com/the-djmaze/snappymail/issues/929) (comment) - Admin Panel broken when admin_panel_host is set [#1169](https://github.com/the-djmaze/snappymail/issues/1169) - Invalid CSP report-uri - Prevent MessageList multiple request at the same time [#1071](https://github.com/the-djmaze/snappymail/issues/1071) - Error in Addressbook Sync [#1179](https://github.com/the-djmaze/snappymail/issues/1179) - base64_decode() second parameter must be true ## 2.28.1 – 2023-06-05 ### Changed - Optical issue with input fields for mail and folder search [#1149](https://github.com/the-djmaze/snappymail/issues/1149) - Update Chinese translation by @mayswind [#1157](https://github.com/the-djmaze/snappymail/pull/1157) - Update Polish translation by @tinola [#1156](https://github.com/the-djmaze/snappymail/pull/1156) ### Fixed - Undefined SIG constants [#1147](https://github.com/the-djmaze/snappymail/issues/1147) ## 2.28.0 – 2023-05-30 ### Added - Threaded view make number orange when unread sub-messages [#1028](https://github.com/the-djmaze/snappymail/issues/1028) - Handle PHP pctnl messages - addEventListener('rl-view-model') missing for Settings [#1013](https://github.com/the-djmaze/snappymail/issues/1013) - CSS `--btn-border-radius` ### Changed - Improved RTL languages support [#1056](https://github.com/the-djmaze/snappymail/issues/1056) - Composer text/attachments as tabs [#1119](https://github.com/the-djmaze/snappymail/issues/1119) - Filter dialog doesn't refer to folder names consistently [#1111](https://github.com/the-djmaze/snappymail/issues/1111) - TLS connection for MYSQL contact db [#1078](https://github.com/the-djmaze/snappymail/issues/1078) - Allow empty message body when there are attachments [#1052](https://github.com/the-djmaze/snappymail/issues/1052) - PHP inherit logger as Trait - Update Portuguese by @ner00 [#1124](https://github.com/the-djmaze/snappymail/pull/1124) - Update Traditional Chinese (Taiwan) by @chiyi4488 [#1107](https://github.com/the-djmaze/snappymail/pull/1107) - Update Russian by @konkere [#1108](https://github.com/the-djmaze/snappymail/pull/1108) - Update Italian by @cm-schl [#1094](https://github.com/the-djmaze/snappymail/pull/1094) - Update French by @hguilbert [#1102](https://github.com/the-djmaze/snappymail/pull/1102) - Update German by @cm-schl [#1087](https://github.com/the-djmaze/snappymail/pull/1087) ### Fixed - Show messagelist timeout/abort error for [#1071](https://github.com/the-djmaze/snappymail/issues/1071) - DesktopNotifications setting not saved [#1137](https://github.com/the-djmaze/snappymail/issues/1137) - PHP Deprecation warning for $_openPipes [#1141](https://github.com/the-djmaze/snappymail/issues/1141) - Images size wrong [#1134](https://github.com/the-djmaze/snappymail/issues/1134) - Unable to preview body of encrypted mail in mailvelope reply-to [#1130](https://github.com/the-djmaze/snappymail/issues/1130) - Replace `