- error '$index is not defined' in Settings > Accounts #1797
- Admin - Extensions search filter
- Options to unset current font family and size #1726
- Option to allow insecure cryptkey #1746
- Save vCard FN property #1761
- Docker Nginx should listen on IPv6 addresses in addition to IPv4 #1770
- Full-screen Message View on Double-Click #1787
- Use the custom Squire as submodule vendors/squire2
- Disallow noembed and noframes HTML elements
- Keep 1 space between HTML elements in compressed templates
- Squire: sanitizeToDOMFragment now uses cleanHTML()
- Squire: improved handling of BR elements #1389
- Nextcloud border-radius by @gnilebein #1790
- Compose window sentFolder handling for #1793
- Update Portuguese by @ner00
- Update Polish by @tinola
- Update French by @hguilbert
- Update Portuguese (Brazil) by @mstolf
- Composer dialog scroll got broken in v2.28
- Composer dialog "from" triangle button wrong position due to font changes
- Admin - Config
search
should be ko.observable() not ko.observableArray() - Squire: paste images #1389
- Domain whitelist failures on login #1706
- Sieve parse errors
- Sieve support
index
was not optional for #1709 - Pagination problem for large mailbox after 2.36.1 #1716
- Undefined constant "LOG_ERROR" #1754
- Search Filter Capital "B" not working #1780
- PHP 8.4: Implicitly nullable parameter declarations deprecated
- Remove
tel:
links when converting HTML to plain #1724 - Convert HTML to Markdown instead of plain, by using Turndown #1604
- Check HTMLInputElement.validity() for #1733
- Use a modified Squire 2.3.2
- cleanHtml use allowedTags instead of disallowedTags and improved CSS handling
- Update Portuguese by @ner00
- mXSS exploit found by SonarSource CVE-2024-45800
- Call to a member function Email() on null #1706
- IMAP capabilities via IMAP Proxy #1725
- Messages on page setting is not validated against 999 max #1733
- Mark images with width=1 as tracking pixel
- Show warning in Admin -> About when PHP runs in 32bit
- Edit ACL rules #157
- Show GnuPG version for #1560
- Make sure only scalar values are allowed in $_ENV for #1560
- Change minimum new mail check interval #1678
- Sieve editor does not support "index" extension #1709
- Improved domain autoconfig interaction
- MS autodiscover priorities DNS over subdomain
- Simplify sieve scripts list #1675
- Handling of (token) errors due to #1706
- Sabre/Xml to v4.0.5
- Update Chinese by @Artoria2e5
- Update French by @hguilbert
- Thread sorting visible after disabling the imap capability #1574
- Creating new message impossible as long as a draft exists? #1710
- InvalidToken error at login #1706
- Force Nextcloud personal language by default #1428
- Validate Fetch JSON response
- PATH_INFO bug due to Office365 OAuth login
- Prevent logout loop on error
- Failed loading due to Office365 OAuth2 attempt #1703
- Gulp v5 broke the fonts
- Support v30
- JavaScript event
rl-vm-visible
- Detailed error message on account switch failure for #1594
- Workarounds for Microsoft OAuth2 (currently requires Apache AcceptPathInfo) #1645
- Support "mark for deletion" #1657 by @smsoft-ru
- Invoke "Update Identity" pop up right after login (when not initialized) #1689
- Keyboard shortcut for "Swap default (background) color" #1690
- Updated gulp to v5
- Replaced vulnerable gulp-header with gulp-append-prepend
- Removed abandoned vulnerable rollup-plugin-html
- Align save button in admin security settings
- Made registerProtocolHandler('mailto') optional by activating at Settings -> General
- Improved InvalidToken handling for #1653
- Cleanup localizations
- Update French by @hguilbert
- Update German by @tkasch
- Update Polish by @tinola
- Update Portuguese by @ner00
- prevent multiple afterShow() and afterHide() due to
transitionend
on multiple CSS properties - Attempt to read property "smimeSigned" on null
- Refreshing mail list doesn't update current message #1654
- Deletion of CACHE folder causing error #1660
- Multiple line breaks are not displayed #1666
- RainLoop\Exceptions\ClientException::__construct(): Argument #2 ($oPrevious) must be of type ?Throwable, string given #1686
- SpamAssassin Division by zero #1694
- Failed to parse RFC 2822 date '6 Jul 2024 16:42:09 +0200' #1694
- Fix capabilities when THREAD is disabled #1698 by @akhil1508
- Failed loading due to incorrect
app_path
- Bugfix language detection
- Allow multi-account in nc with oauth login #1699 by @akhil1508
- Customize private key passphrase expiration interval #1545
- AdvancedSearch support for filtering mails before a given date #1606 by @codiflow
- Control valid spam and virus headers #1607
- Remember S/MIME private Key without function #1611
- Resize compose dialog
- Magnetic theme #1637 by @TheCuteFoxxy
- Improved signing messages by allowing to choose between the options
- Improved language detection code
- More detailed Decrypt errors
- Update French by @hguilbert
- Update Polish by @tinola
- Update Portuguese by @ner00
- Update Spanish by @huloza
- Default language error
- Undefined $sEmail in DoAdminDomainMatch
- Handling Autocrypt header failed on
=
#1608 - Blank lines are inserted when editing draft #1609
- Workaround Cyrus MAILBOXID bug (disable OBJECTID capability by default due to impact) #1640
- Workaround HTML with multiple body elements or MIME with multiple text/html #1641
- OIDC stay logged in #1620 by @avinash-0007
- UserAuth prevent plugin errors (like the Nextcloud plugin did)
- Undefined variable $aTokenData #1567
- "copy to" action in menu's for #1559
- Log signal info for #1569
- OpenPGP.js automatically import backup keys from server
- Improved "remember me" cookie handling
- Update Basque by @Thadah
- Update Portuguese by @ner00
- "Account already exists" #1561
- Properly escape path separator in tar.php file list regex #1562 by @sevmonster
- Prevent mkdir() error #1565
- SCRAM Exception when trying to log in to SMTP #1575
- Error when redirected back to instance after Gmail OAuth #1580
- Uncaught TypeError: hasPublicKeyForEmails(...).then is not a function #1589
- Undefined variable $sFilename
- GPG/PGP exec() return false handling
- OIDC login active again #1572 by @avinash-0007
- Autoconfig detect through DNS SRV (RFC 6186 & 8314) and disable MX
- Have I Been Pwned class to check breached passwords and email addresses
- Handle RFC 5987 in Content-Disposition header
- Ignore text/x-amp-html
- Show SMTP error to user #1521
- OAuth2 for login using gmail (and others)
- logMask all AUTHENTICATE requests
- ErrorTip use white-space: pre
- Simplify LoginProcess handling
- ES2020 everywhere (require Safari 13.1)
- Modified Squire to be more in line with v2.2.8
- CSS set min-width for .attachmentParent and .flagParent to line them up
- cPanel use extension login-cpanel instead of login-remote
- Improved login credentials handling
- Speedup Knockout a bit and removed
with($context)
scope - Update Belarusian by @spoooyders
- Update Chinese by @mayswind
- Update French by @hguilbert
- Update Polish by @tinola
- Update Portuguese by @ner00
- Content encoding and type detection in JavaScript could fail due to case-sensitivity.
- Extensions set logger failed
- GnuPG check open_basedir and if shell_exec is disabled #1385 #1496 #1555
- Hide pagination when search result has no messages
- Prevent mbstring error before setup.php
- Prevent MessagesPerPage Infinity #1540
- Reseal CryptKey failed #1543
- Add an occ command to set up the login settings #1552
- Allow setting the supported THREAD algorithm
- Icon to system folders
- Remove remembered password after 15 minutes of inactivity #1142
- Swap background and text color for unreadable text on dark background #1486
- Generate TOTP code at ?Admin -> Security #1501
- Button to change S/MIME private key passphrase #1505
- Belarusian #1512 by @spoooyders
- Log some domain idn_to_ascii issues #1513
- On folder/mailbox rename, also rename all children instead of reloading all
- Seal MainAccount CryptKey and on error ask old login passphrase to reseal key.
- Moved cache drivers outside core into extensions
- Sieve always allow fileinto INBOX #1510
- Moved application.ini
sieve_auth_plain_initial
to per domain config - Languages use rfc5646, by using the shortest ISO 639 code by default
- Update French by @hguilbert
- Update Portuguese by @ner00
- On folder/mailbox rename, the old fullName must be removed from cache
- On folder/mailbox rename, the checkable option was not renamed
- Sort accounts drag & drop
- S/MIME encrypted and opaque signed not visible #1450
- Wrong last UID of thread #1507
- Creation of dynamic property SnappyMail\DAV\Client::$HTTP #1509
- "Download as ZIP" fails for messages #1514
- SMTP "Authentication failed" when IMAP uses
shortLogin
and SMTP not #1517
- \SnappyMail\IDN::toAscii()
- OpenPGP.js to v5.11.1
- punycode.js lowercase domain names
- application.ini
login_lowercase
removed and now configurable per domain JSONlowerLogin
- Update Portuguese by @ner00
- Raise JS TypeEroor "toLowerCase" after update #1491
- Call to undefined function shell_exec #1496
- Download attachments as ZIP doesn't work for PGP encrypted mail #1499
- Importing or downloading a PGP public key attachment from a PGP encrypted message doesn't work #1500
- VCard PHP Notice: Undefined index: ENCODING
- Changed stored password handling
- Can't login from nextcloud with 2.35.3 bug Nextcloud #1490
- GnuPG can be disabled
- Missing strings for localization inside identity popup (Cryptography > S/MIME) #1458
- Automatically verify PGP and S/MIME signed messages
- TNEFDecoder for #1012
- RTF to HTML converter for #1012
- Polyfill for PHP ctype #1250
new Error()
toError()
- Reduce KnockoutJS footprint by removing unused code
- CSS reposition rainloopErrorTip location
- Improved error handling on PGP and S/MIME decrypt
- Improved OpenPGP.js import keys
- Use Identity S/MIME key and certificate from server instead of POST
- application.ini
[webmail]language_admin
to[admin_panel]language
- application.ini
[security]admin_panel_host
to[admin_panel]host
- application.ini
[security]admin_panel_key
to[admin_panel]key
- Drop deprecated Domain::SetConfig()
- Internationalized domain names are now handled as punycode
- Cacher->Get() can now return NULL
- Update French by @hguilbert
- Update Polish by @tinola
- Update Portuguese by @ner00
- Handling of Internationalized Domain Names in several areas
- Decrypt error message
- Stalwart ManageSieve Error 352 when getting Filters #1455
- Nextcloud V25+ theme slightly broken #1463
- PGP decryption fails with "Not armored text" #1462
- AUTH_BASIC falling through as AUTH_BEARER; change AUTH_BEARER to a different value #1461
- SetPassword expects \SnappyMail\SensitiveString
- Crash on importing corrupt OpenPGP keys
- Crash on old browsers instead of showing error
- Ignore popups on logoutReload() #1467
- Custom SASLMechanisms fail in IMAP when the connection is secure #1484 by @botsarenthuman
- GnuPG error handling
- Missing strings for localization inside identity popup (Cryptography > S/MIME) #1458
- Update Portuguese by @ner00
- Drop support for gnupg PECL extension as it fails with "no passphrase" issues
- Error 352 when getting Filters #1455
- SetPassword(): Argument #1 must be of type SensitiveString, string given #1456
- Search functionality in Admin -> Config
- Cache S/MIME passphrases when "remember" is checked
- Import S/MIME certificate popup
- pre-verify S/MIME opaque signed messages so we have a body to view
- Sort PGP keys and S/MIME certificates on email address
- Optionally use existing private key to generate S/MIME certificate
- Better handling to detect which PGP or S/MIME sign/encrypt to use
- Improved StorageType handling
- Cleanup and improved Capa handling
- OPEN_PGP should be OPENPGP as it is one word
- Use get_debug_type() instead of gettype()
- Require OpenSSL due to S/MIME
- AbstractProvider::IsActive() is now an abstract method and must be defined in child class
- Make better use of SnappyMail\SensitiveString
- Update Polish translation by @tinola
- Verify S/MIME signatures got broken allong the way while implementing this
- Generate S/MIME self-signed certificate failed to keep existing private key
- MIME parser RegExp didn't escape boundary which caused issues
- TypeError: b64Encode(...).match(...) is null on saving compose draft
- Fix timestampToString() for future dates
- S/MIME support #259
- Disable IMAP METADATA by default (hardly used)
- Update Polish translation by @tinola
- Rename CSS .openpgp-control to .crypto-control
- Renamed some methods in PHP
- When moving a folder/mailbox check for parent delimiter
- Mask
passphrase
in the logs for PHP < 8.2 - Added some missing translations
- Sign messages using PGP
- Check for CONDSTORE or QRESYNC to get the HIGHESTMODSEQ
- Unable to login on certain IMAP server since 2.34.2 #1438
- Save as .eml #1425
- Autocrypt support #342
- Load the mailboxes/folders of all namespaces (other users, global, shared, etc.)
- Load keys from server into OpenPGP.js #973
- Import PGP Keys from remote key servers
- Sort Inbox Folders with Unread Messages First #1427
- Define JMAP FolderModel.myRights
- Identity Management: add identity display name #1405
- Identity Management: add per-identity "sent" folder #1404
- Some support for JSON-LD / Structured Email #1422
- Domain Autoconfig and Microsoft's autodiscover (and also as extension/plugin)
- View MMS messages that are received via email #1294
- Draft code for S/MIME #259
- Many OpenPGP improvements #89
- Allow CSP connect-src CORS for keys.openpgp.org to directly fetch PGP keys
- Improved handling of visible folders
- KnockoutJS Replace some ko.exportSymbol('') in favour of ko['']
- KnockoutJS use Symbol for isObservableArray()
- Simplify generating folderListVisible
- Drop the bSearchSecretWords param from logger
- Transparent background for text #1412
- Enable OpenPGP.js by default at install
- Added folder edit popup for improved IMAP ACL Support #157
- Process all IMAP namespaces
- Update Polish by @tinola
- Update Portuguese by @ner00
- Make time_zone a select list due to PEBKAC
- Workaround Outlook generated double spacing #1415
- HTML Parser is not picking up the full Unsubscribe URL in the attached text file #1225
- Contacts - it auto "Select All", after entry delete #1411
- Message header parsing issue #1403
- apple-touch-icon should not be transparent #1408
- Creation of dynamic property is deprecated #1409
- Ask/send readReceipt was broken
- OpenPGP public key can not be removed anymore after importing private key of subkey #1384
- KnockoutJS failed to output text '0'
- JavaScript friendlySize() failed on 0
- Workaround Dovecot
PREAUTH [CAPABILITY (null)]
issue - Workaround disabled ACL could cause "Disconnected: Too many invalid IMAP commands"
- Feature to use the SQLite AddressBook per login account instead of global (on by default).
- Return all fetched messages headers in JSON.
- 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
- Sorting not supported since 2.32.0 #1373
- FILE_ON_SAVING_ERROR is not defined #1379
- Saving EML files with same subject result in only saving latest email #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
- DKIM
pass
detection sometimes failed
- 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 #1286 by @rezaei92
- Default IMAP message_list_limit to 10000
- DoMessageCopy() return toFolder hash/etag
- Improved Squire WYSIWYG
- Sort real attachments and inline attachments for #1360
- Nextcloud Theme fixes and improvements #1363 by @hampoelz
- Improve display of attachments #1361
- Rename messageVisibility to messageVisible
- All CSS font-size to % instead of px
- Flip source code view of .eml attachments #1332
- Folders array_filter(): Argument 1 must be of type array, null given
- At upgrade set
static
andthemes
folder to 0755 - Preview tooltip shows "null" when PREVIEW capability is disabled
- Improved language handling #1362 by @avinash-0007
- FilterLanguage had wrong parameter order
- Use NextcloudV25+ theme by default
- PHP Hook
filter.language
to allow remote language selection
- Cleaner language detection
- Get Squire in sync with v2.2.5 and some bugfixes
- Update French by @Cwpute
- Squire: drop support for iPod
- Call to undefined method FolderMyRights() #1344
- NO Mailbox does not exist, or must be subscribed to") #1354
- Flag indicators are added to wrong message #1347 by @SergeyMosin
- Squire: issue when using the enter key in a reply window #1296
- Squire: crash on cut/delete range
- Use language as defined in Nextcloud settings #1293
- Plugin Call to undefined method RainLoop\Model\MainAccount::ImapConnectAndLoginHelper()
- SnappyMail failed due to Nextcloud Symfony polyfill
- 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
- Fully support IMAP PREVIEW #1338
- Disable "Mark message as read after", offer manual toggle #1289
- A "Move to" button inside message view as an icon/button and in the drop down menu. #1295
- Support for IMAP WITHIN
- Support \noinferiors to disallow creating subfolders
- A test due to Failed loading libs.min.js #358, #862, #890, #895, #1238, #1320
- 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 intodisabled_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
- Move to button does not work #1328
- Mark passwords as sensitive information #1343
- Account sSmtpPassword wrong value
- SCRAM sign-in failed #1245
- Squire generates to many
<div><br></div>
#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
- Squire: cantFocusEmptyTextNodes var is always undefined #1337
- Squire: Remove redundant after replacing styles
- Squire: Handle empty nodes in moveRangeBoundariesDownTree
- Theme "Nextcloud V25+" can't be translated #1331
- Contacts not work #1319
- Docker Hub image #965 by @leojonathanoh
- Sabre/VObject 4.5.4 and Sabre/Xml 4.0.4 #1311
- '#/mailbox/folder/mUID/search' uri/route handling #1301 by @SergeyMosin
- "Remember me" doesn't work when browser is closed #1313
- Blank email displayed when "Prefer HTML to plain text" is unchecked and the message is html only #1302
- Parent folder of Sub folder not useable. #1008
- Large detailed header don't display body #1284
- Improvements for Install / update issues #929 #929
- Should use language as defined in cloud settings #1293 #1293
- Show size of folders in folders list #1303 #1303
- Configuration failed when using special chars in MySQL password #1308 #1308
- With email open, "delete" doesn't delete #1274 #1274
- Fix threading view in Thunderbird (others?) #1304 by @tkasch
- Some small messages list bugs
- Modern UI / Nextcloud Theme #629 by @hampoelz
- "Add/Edit signature" label to PopupsIdentity.html #1248 by @SergeyMosin
- use calendar icon in message list for messages with '.ics' or 'text/calendar' attachments by @SergeyMosin #1248
- Show unseen message count when the message list is threaded #1248 by @SergeyMosin
- in mobile mode hide folders(left) panel when a folder is clicked #1248 by @SergeyMosin
- spellcheck the subject when 'allowSpellcheck' setting is true #1248 by @SergeyMosin
- 'collapse_blockquotes', 'allow_spellcheck' and 'mail_list_grouped' to admin settings ('defaults' section) #1248 by @SergeyMosin
- Browser support for autocompleting TOTP code #1251
- URL strip tracking for #1225
- Color picker use color blind palette "Tableau 10" by Maureen Stone by default #1199
- Draft code to improve mobile breakpoints #1150
- address input: space character can trigger '_parseValue' if the email address looks complete #1248 by @SergeyMosin
- if applicable set '\answered' or '$forwarded' flag after a message is sent so the proper icon is shown in the message list view #1248 by @SergeyMosin
- CHARSET is not valid in UTF8 mode #1230
- Spam score is always "acceptable" #1228
- Undefined constant PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT #1205
- Fetch controller.abort(reason) handling #1220
- "Request failed" on message move #1220
- Unwrapped text nodes attached to squire._root #1234 by @SergeyMosin
- Extra wrapper div is added in Squire every time a Draft is open (or closed) after save. #1208
- foreach() argument must be of type array|object #1237
<font>
tag 'style' is lost in replies #1248 by @SergeyMosin- unseen indicator is not shown in thread view when 'listGrouped' settings is false #1248 by @SergeyMosin
- TOTP plugin is dependent on ctype #1250
- iFrame mode: click on unified search result opens inner iFrame #1248 by @SergeyMosin
- 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 #1248 by @SergeyMosin
- Improve UX of "Put in Calendar" option in plugin #1259 by @theronakpatel
- application.ini msg_default_action #1204 by @SergeyMosin
- application.ini view_show_next_message #1204 by @SergeyMosin
- application.ini view_images #1204 by @SergeyMosin
- nextcloud add ability to include custom php file in InstallStep migration #1197 by @SergeyMosin
- Support plugin for Squire editor #1192
- only show 'Add "domain.tld" as an application for mailto links?' message after login (firefox shows the message on every reload otherwise). #1204
- Convert getPdoAccessData() : array to a RainLoop\Pdo\Settings object instance
- New bidi buttons to Squire editor #1200 by @rezaei92
- Undefined constant PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT #1205
- 'reloadTime' function result is passed into 'setInterval' instead of the function #1204 by @SergeyMosin
- UNKNOWN-CTE Invalid data in MIME part #1186
- Attachments in "new window" view #1166
- Update Portuguese by @ner00
- Update French by @hguilbert
- Some emails with inline CSS break the UI #1187
- Remote.get() Promise broken by previous change #1185
- Class "MailSo\Base\Exceptions\InvalidArgumentException" not found #1182
- First account not showed in the right list (dropbox) #1180
- Detailed error for "Cannot access the repository at the moment" #1164
- Bidi in Squire editor #1158
- Translate Squire UI
- Nextcloud 27 compatibility by @LarsBel
- JWT class for handling JSON Web Tokens
- Update German by @cm-schl
- Update French by @hguilbert
- Update Polish by @tinola
- Merge handling of local Account Settings. Found while investigating #1170
- Image max-width now 100% instead of 90vw
- Cannot modify header information #929 (comment)
- Admin Panel broken when admin_panel_host is set #1169
- Invalid CSP report-uri
- Prevent MessageList multiple request at the same time #1071
- Error in Addressbook Sync #1179
- base64_decode() second parameter must be true
- Optical issue with input fields for mail and folder search #1149
- Update Chinese translation #1157 by @mayswind
- Update Polish translation #1156 by @tinola
- Undefined SIG constants #1147
- Threaded view make number orange when unread sub-messages #1028
- Handle PHP pctnl messages
- addEventListener('rl-view-model') missing for Settings #1013
- CSS
--btn-border-radius
- Improved RTL languages support #1056
- Composer text/attachments as tabs #1119
- Filter dialog doesn't refer to folder names consistently #1111
- TLS connection for MYSQL contact db #1078
- Allow empty message body when there are attachments #1052
- PHP inherit logger as Trait
- Update Portuguese #1124 by @ner00
- Update Traditional Chinese (Taiwan) #1107 by @chiyi4488
- Update Russian #1108 by @konkere
- Update Italian #1094 by @cm-schl
- Update French #1102 by @hguilbert
- Update German #1087 by @cm-schl
- Show messagelist timeout/abort error for #1071
- DesktopNotifications setting not saved #1137
- PHP Deprecation warning for $_openPipes #1141
- Images size wrong #1134
- Unable to preview body of encrypted mail in mailvelope reply-to #1130
- Replace
<button>
in HTML message with innerHTML instead of remove #1125 - Mailvelope failed #1126
- Tabs labels row height
- Selecting not yet existing filter throws error message instead of opening edit box #1104
- JavaScript Squire
node is null
error - Config/Application.php: array_rand(): Argument #1 cannot be empty #1123
- Pressing Enter in Add Filter dialog results in "Leave page?" prompt #1112
- Issue with certain Amazon emails #1086
- HTML font 8px and 10px issue #1082
- Exception when executed on command line on the first-time #1085
- Folders missing pagination #1070
- Nextcloud WYSIWYG button style #1138
- Nextcloud .btn-group > .btn layout
- Nextcloud Bulleted items do not show the bullets in the preview window. #1117
- Nextcloud Contacts integration #1083
- Squire visualize some active buttons states
- Hard coded string "Message body is empty" #1048
- Split SPAM label in user.json for directory and action #1065
- A solution for #1056 to support dates in different language/calendar
- Log \nonexistent folder for #1008
- Cleanup some enums to consts
- Workaround Upgrade with Nextcloud stuck in Maintenance mode #1046
- Use Actions()->decodeRawKey()
- French language updated #1045 by @hguilbert
- Sorting in folders not working #1022
- Allow saving draft with empty body #1052
- GnuPG decrypt failed
- Clear folder link should be hidden if "dangerous actions" is not active #1037
- 500 error generating preview with GD2 #1009
- Text and Links Jumping While Writing #1004
- Odd annoying behaviour when copy/ pasting anything into an email and then attempting to edit it. #1054
- Check if $rImapLiteralStream is open resource and not closed
- Save as eml to nextcloud not working anymore #1057
- AuthError and Call to a member function ImapConnectAndLogin() on null #1060
- Thread count missing/shown #1003
- authentication with smtp freenet.de #1038
- SASL always base64 by default
- Cache issue with index #1024
- Improved attachmentIcon glyph coloring
- Better design for .accountPlace text #1025
- Reply is broken #1027
- Endless loop at login - Cannot assign array to property MailSo\Imap\Folder::$MAILBOXID #1032
- Improved FolderCollection handling
- MODSEQ requires 64-bit int
- Update russian language #994 by @Akrobs
- Don't make font bigger when screen > 1400px
- Put top menu "accountPlace" inside top-system-dropdown-id
- Put attachment controls inside attachmentsPlace
- Show message toolbar on screens > 1400px #970
- Chinese updated #1011 by @mayswind
- Prevent folder/messages flags conflict by using the right name
attributes
for Folders - FolderInformation() use jsonSerialize()
- Squire space handling on paste use
\u00A0
instead of
for #1004 - Better line-height for QR code
- Composer src is null
- Image in Signature disappears in Sent/Draft #932
- Mail list is empty #998
- Cache handling issues #1003
- No message notification popup when installed in sub-directory #1007
- ERROR: Undefined constant "MailSo\Log\Drivers\STDERR" #965
- 'Location:' headers using proper '302 Found' header
- Can't send email #1006
- Attachment preview #1005
- When decrypt message, subject was replaced empty
- \MailSo\Imap\ImapClient::GetConnectedPort()
- CSS
--panel-bg-clr
was missing - SnappyMail Menu under Nextcloud top bar #1017
- Add CSP frame-ancestors for #537
- Reduce/simplify CSS footprint
- Use the System/Browser font by default #988 by @HeySora
- Make layout fully responsive using matchMedia('(max-width: 799px)')
- Move brotli and gzip compress option to application.ini
- After page refreshes in background whilst editing a draft, the space bar stops working #860
- Updated Portuguese #984 by @ner00
- Updated French #985 by @hguilbert
- unset border-box for message body #990
- Unread email count badge shows -1 #989
- unicode mailto: addresses not decoded
- Unicode email/url address matching #955
- Invalid Token if run in IFrame #537
- rl.initData
- Translate "Are you sure you want to exit?"
- stderr as Logger
- Moved rl.fetch and rl.fetchJSON to boot.js so that AppData can be fetched as JSON
- Many AppData properties to JavaScript camelCase
- Cleanup Identity handling
- Merge GnuPG and OpenPGP.js passphrases
- Notification enum conflicts with window.Notification
- language selector didn't show current language in green
- Threads indicator got lost with new message cache handling
- messagesBodiesDom never cached previous messages
- Nextcloud File picker doesn't insert multiple links #981
- Call to protected method RainLoop\Enumerations\UploadError::getUserMessage() #982
- Issue with the top logo and text of a certain e-mail #953
- Facebook logo missing from emails sent out by it #954
- Unused Squire code
- Remove CSS white-space from messages to prevent annoying side scrolling
- Show error when trying to send empty message #974
- max_sys_loadavg as setting #971
- Speedup and improved cleanHtml() and cleanCSS() handling
- Better handling of upload .eml files to a mailbox
- Rename Folder Hash to ETag as it is the more obvious name
- Moved AllowDraftAutosave option from Settings -> Security to Settings -> General -> Compose
- SmtpClient->Connect() use $oSettings->Ehlo
- Improved handling of
<style>
elements in messages - French updated by @hguilbert
- Remove SVG elements properly from messages #972
- Sending large HTML messages slow/fail #962
- Nextcloud login failed #969
- DoMessageList() hash check was incorrect
- "Move to folder" button overlays folder sidebar on mobile #961
- Spanish translation SPAM and NOT SPAM strings are reversed #964
- Can't open Thunderbird PGP keys from decrypted message #958
- Can't close Sieve dialog #960
- Option to allow
<style>
in messages (beta) - Message in new tab/window was missing BCC
- Don't clone message for viewing, so that there is instant interaction with messagelist item
- emailArrayToStringLineHelper() now filters addresses without email address
- Cleanup EmailModel and better email address parsing and handling
- Workaround "server connection error" #936
- Cleanup AbstractViewPopup handling
- Italian translation #948 by @lota
- Replace Element.fromHTML() with createElement()
- New subfolder not visible #937
- OpenPGP decrypted attachments
friendlySize
not a function - Message @media print was broken due to new
display:flex
- addressparser() didn't handle groups properly
- middleclick in messages list failed when messagesDom not yet initialized
- Cannot open messages that have an email address without an @ in the From header #950
- CSS don't display:flex when
[hidden]
- Default theme handling by @Niveshkrishna
- Whitelist advanced SPF/DKIM/DMARC valid feature #938
- \RainLoop\Providers\AddressBook\Utils functions param
Contact
changed toVCard
- Issue with themes and Chrome cache #188
- Settings panel width due to display:flex #940
- Not respecting default theme setting #941
- Some files had 0755 instead of 0644
- Some spacing between message "view images" buttons for #201
- Whitelist failed when empty or when using
:
#938 - Cosmetics of the external images whitelist menu #939
- PdoAddressBook ORDER BY deleted DESC to prevent sync and export issues
- Undefined variable $items in upgrade.php
- qq.com not supporting literal-string in search #836
- New dark themes #925 by @TheCuteFoxxy
- External images option 'Always when DKIM is valid' for #201
- Image whitelist menu on message for #201
- pt-PT translation by @ner00 #917 and #920
- fr-FR translation by @hguilbert #919
- Layout section rl-right now is
display: flex
and solves #928 - Some Themes background to
cover
#918 - Speedup cleanHtml() parser
- Reduce memory usage on addressbook import
- Prevent loading loop between MessageList and FolderInformation requests
- Admin -> Config layout
- Inline images sometimes failed
- Undefined index: cid #921
- On upgrade prevent Apache access errors for #358
- Import contacts as CSV is broken #931
- Blockquote height calculator for #902
- 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
- Enhance Add domain dialog #916
- Fixed arrows in thread view while scrolling #908
- CSS btn-thin were too high
- Whitelist to show images directly #201
- MailSo\Base\Http::GetHost(): Return value must be of type string #910
- Nextcloud undefined variable $sUser #915
- Hopefull improved styling for Firefox mobile fixes
- Scroll display error #912
- Autofocus was triggered when view resized
- Better solution for Settings Page is bigger than the Account Page #897
- $bUrlEncode as it was always false
- Make message collapse quotes optional #902
- Improved loginErrorDelay to prevent timing attacks and default to 5 seconds
- Moved message collapse quotes to HTML parser
- Moved some application.ini settings to other sections
- Moved source "/assets/*" to proper location in /snappymail/v/0.0.0/static/
- Set checkMailInterval to 15 minutes by default (now that it is configurable)
- Prevent plugin property decrypt error #859
- Index.html cache issue #891
- Images whitelist regular expression failed #201
- Undefined index: ShowImages #901
- Chrome shows LSep boxes in certain emails #900
- Don't remember OpenPGP/GnuPGP key passphrase when it fails #840
- Refresh frequency of the mailboxes #486
- Temporarily save password for private key during session #840
- Upgrade from Rainloop, password not migrated #898
- Whitelist to show images directly #201
- HTML editor paste image makes it max 1024px width/height #262
- SnappyMail\TAR::extractTo support the $files and $overwrite parameters
- Issue with themes when Chrome crashes #188
- /static/.htaccess as mentioned by @dbiczo in #895
- Update nb-NO language #896 by @master3395
- \RainLoop\Utils::SetCookie() to \SnappyMail\Cookies::set()
- Merge \MailSo\Base\Utils::RecRmDir() and \MailSo\Base\Utils::RecTimeDirRemove()
- Two issues with images being delivered via ProxyExternal #887
- Multiple accounts conflicts when using multiple tabs #892
- Spaces in attached file names are not preserved #893
- Prevent empty area scroll on body
- Floating HTML text formatting menu on mobile #828
- Unused AUTH_SPEC_LOGOUT_TOKEN_KEY and AUTH_SPEC_LOGOUT_CUSTOM_MSG_KEY
- Support RFC 8689
- Nextcloud move themes outside of app folder #875
- Add check to unregister system addressbook #879 by @akhil1508
- material-design checkbox use hidden input for accessibility
- Always subscribe to new folder by default
- Merge NoScript, NoCookie and BadBrowser pages in Index.html
- Cleanup translations. Also see https://snappymail.eu/translate.php
- PHP < 8.1 ini_set() only accepts strings when
declare(strict_types=1);
is used - Nextcloud also fix settings on upgrade
- Nextcloud workaround upgrade OPCache issue #880
- SMTP error while using PHP mail() #884
- Cannot create folder #885
- Image stretching when image hasd max-width #869
- Right margin to folder search input wrapper #871 by @codiflow
- Almost all request params now use JavaScript camelCase instead of CamelCase
- #rl-content to use flex for better layout control
- Decode some Copernica link tracking
- Cleanup some CSS and JS code
- Better Sieve rainloop.user script handling
- Improve MailSo\Imap\BodyStructure
- Cleanup MIME part FileName handling
- CardDAV sync error - Request aborted #866
- PDF not possible to be viewed in the browser #867
- ZIP Files cannot be uploaded from Desktop to attachments (other files can be uploaded) #878
- Mobile view issues with leftside menu
- Default messageListItem border left color for dark mode
- Nextcloud layout in ?admin
- Nextcloud
_htaccess
to.htaccess
failed
- Some unused PHP functions
- Preparations for RFC 8689
- Add admin setting for the contacts suggestions limit
- A button to clear folder search input field #847 by @codiflow
- Preparations for custom SMTP credentials handling for #859 #458 #431 #233
- Display the time of emails, not just the size and date #843
- Made thread number a bit wider #844
- Improved contacts suggestions limit handling #849
- 64-bit PHP was required #852
- Update fr-FR translations #854 by @dominiquefournier
- Move createDomain & createDomainAlias buttons below table
- Move some Nextcloud SnappyMailHelper code to new InstallStep
- Cleanup messages cache handling
- Improved visibility Admin Domain Test errors
- LiteSpeed does not disable compression although .htaccess says so #525 #855
- "Move to folder" functionality displays in desktop view when on mobile #858
- matchAnyRule() Return value must be of type bool, none returned
- Unknown CSP directive 'strict-dynamic' in Safari 13.1.2
- Wrong timeStyle issue in Safari 13.1.2
- Language SETTINGS_LABELS got lost
- Nextcloud failed loading app data when path didn't end with / #864
- Workaround Nextcloud session_start issue #813
- Support for search criterias ON, SENTON, SENTSINCE and SENTBEFORE
- New 'forward as attachment' glyph
- NC integration app metadata: add links to admin and dev docs #820 by @p-bo
- Clicking on messagelist grouped date/from searches on that date/from #815
- Nextcloud Improved file picker layout #825
- Move release.php to cli/release.php
- Moved sort options "FROM" direct below "DATE" for better understanding
- Added DAV path error to log for #822
- Resolve layout issues by changing from
fixed
torelative
#686 - Cache handling of messagelist changed due to etag issues
- Improve german and italian translation #846 by @cm-schl
- Searching on Nextcloud search #787
- Workaround another Nextcloud disallowed .htaccess #790
- Compact display of folders in nextcloud #824 by @makoehr
- Admin -> Contacts PDO test failed when using different AddressBookInterface
- KolabAddressBook errors
- Forgot debug js/css setting change in Nextcloud
- Typed property MailSo\Mail\MessageListParams::$sSearch must not be accessed before initialization
- Unable to change font/text colour when composing message using Safari #826
- auth_logging failed #489
- Class "RainLoop\Actions\Notifications" not found #839
- 'set-version' argument for release.php
- Check PHP_INT_SIZE if SnappyMail runs on 64bit
- A lot of MessageList sorting improvements #796
- On upgrade also update plugins in Nextcloud due to many misunderstandings and prevent invalid open issues
- Moved application.ini labs.use_app_debug_* to debug.*
- Dutch translation for confusing message (threads vs grouped)
- Workaround Nextcloud disallowed .htaccess #790
- Searching on Nextcloud search failed #787
- When sorting on FROM also sort on REVERSE DATE
- F5 and Ctrl-F5 reload logs out of Snappymail in Chrome. #800
- Switching accounts does not work anymore with 2.24.2 #802
- Disable sorting when viewing message thread #445
- Update Chinese translation #794 by @mayswind
- No need to call IMAP EXAMINE when current folder already SELECT
- Thread view now has tree indentation
- Nextcloud failed on Integrity check #790
- Deleting message fails with message "Cannot move message" on hMailServer #793
- List messages per day feature is enabled by default and breaks sorting #796
- Custom page login not working for first time due to smctoken security #798
- Message list is always empty due to wrong implementation of RFC 8474 #799
- Intl.DateTimeFormat() into toLocaleString() for iOS < 14
- Cleanup locale date/time handling
- Make MessageList per day optional #737
- Typed property MailSo\Cache\Drivers\Redis::$sKeyPrefix must not be accessed before initialization #792
- Attachments in mails in 2.24 not loading in reply/forward #789
- Rollback #280 due to complications #280
- Option to enable additional account unread messages count
- Prevent godaddy click tracking
- Dark theme use
color-scheme: dark;
- More imapsync.php CLI options and help
- MessageList now grouped/split per day #737
- Account switcher still shown when allow_additional_accounts is set to Off #280
- PHP classes use typed properties
- Speedup Contacts Suggestions handling
- Check SMTP SIZE #779
- Handle multiple DKIM signatures authentication results
- Reload admin extensions on update
- SieveClient quoted string parsing failed
- Invalid Attachments (PDF) #466
- Email HTML images rendering issue #564
- "Server message: No supported SASL mechanism found, remote server wants:" in hMailServer #780
- Some unused plugin hooks to improve Action handling speed
- More JMAP RFC matching including role
- Speedup fetch all Folders/mailboxes
- Disable unused folder_list_limit
- Merge MailSo\Mail\Folder into MailSo\Imap\Folder and speedup process
- SnappyMail\Imap\Sync now matches folders based on JMAP role
- Added the new imapsync.php command line script for #744
- Added manual setting for 12/24h clock #760
- Add options to mark the message I'm viewing as unread and return to the inbox #766
- Extension menu shows only some available extensions #778
- New solution for #423 due to #774
- Avatars extension error on smartphone #764
- Don't fetch Unread count for main account
- CSS .e-checkbox.material-design invisible on show/hide
- Show the number of unread mails on all mail addresses/accounts #437
- Show OpenSSL version in Admin => About
- Redirect to login page instead of "invalid token" popup #752
- Make all dialogs fit in mobile view
- Changed some Plugin hooks for better handling:
- json.action-pre-call => json.before-{actionname}
- json.action-post-call => json.after-{actionname}
- Cleaner accounts list in systemdropdown
- Multiple imapConnect handling for new import mail feature #744
- Loosing HTML signature in account identity under settings #750
- Plugin configuration did not load anymore when type was SELECTION #753 by @cm-schl
- Nextcloud Default theme shows gray text on gray background #754
- Only run JSON hooks when $sAction is set #755
- Unsupported SASL mechanism OAUTHBEARER #756 #758 #759
- border-box issue with .buttonCompose
- Deprecate \RainLoop\Account->Login() and \RainLoop\Account->Password()
- Scroll bar with the mobile version in "Advanced search" screen #712
- Undefined property: MailSo\Mail\FolderCollection::$capabilities
- PHP 8.2 Creation of dynamic property is deprecated
- Attempt to solve #745 in v2.22.6 failed and resulted in errors #746 and #748 #745 #746 #748
- Admin domain test undefined matched domain should say email@example matched domain
- Narrow MessageList wraps star icon #737
- Use UIDVALIDITY when HIGHESTMODSEQ not available, maybe solves #745
- No need to generate 1000's of ID's for MessageListByRequestIndexOrUids()
- Update Chinese translation by @mayswind
- PluginProperty DefaultValue contained array while it should not #741
- IMAP SELECT/EXAMINE unset
UNSEEN
because IMAP4rev2 deprecated
- Support plugin minified .min.js and .min.css
- ZIP Download multiple emails #717
- Replaced some data-bind="click: function(){} with object functions to prevent eval()
- Improved plugins hash when there are changes
- Settings Themes style due to border-box change
- "Remember me" failed due to v2.22.4 Session token change #719 #731
- Vacation filter: Button to add recipients (+) #728
- Contacts dialog layout using flex
- Session token is related to the user agent string #713
- Better browser cache handling for avatars plugin #714
- Force HTML editor when set as default when replying to message #355
- Contact Error - object Object #716
- Unable to move messages to different folder by drag and drop #710
- v2.22.3 unknown error [#709the-djmaze#709)
- application.ini config logs.path and cache.path to improve custom data structure.
- Improved cPanel integration #697
- Update to OpenPGP.js v5.5.0
- Support cPanel #697
- AddressBookInterface::GetContactByEmail() to support sender image/avatar extension #115
- All the attachment zone is not clickable, even if the cursor is a hand #691
- Different approach for "update button duplicated in admin panel" #677
- Better drag & drop solution for leftPanel
- The page does not change after batch deletion #684
- Prevent domain uppercase issues found in #689
- Login invalid response: VXNlcm5hbWU6CG #693
- Log current shortcuts scope for #690
- CSS everything to be box-sizing: border-box;
- Make messageview a bit larger so that it is the same height as the messagelist
- Cleanup and rearrange some fontastic glyphs
- Also show From email address by default #683
- Contact.display() returns [object Object]
- When left panel disabled and drag messages, show it
- Issue with admin domain connection type settings selectbox #689
- Mobile View on cellphones: automatic scrolling not working near the visual keyboard #686
- Unable to separate runtime from installation #685
- Removed inline parameter of checkbox and select components
- Click on PGP KEY attachment opens "Import key" dialog
- Increase visible reading area for small screens #672
- Improved message spam score detailed view
- Improved DAV connection logging
- Handling attachments MIME type / content-type
- Message responsive resizing width/height of elements #678
- Focus on textarea when creating a new plain text email #501
- CardDav remove photos of my contacts when synchronizing #679
- \MailSo\Mime\Enumerations\MimeType
- Use fontastic in Nextcloud Files selector dialog
- Firefox < 98 dialogs #673
- Increase message visible text area #672
- When copy/paste image use the raw data instead of clipboard HTML #654
- When application.ini debug.enable is true, also debug js and css
- JavaScript rl.setWindowTitle() renamed to rl.setTitle()
- Message toggle fullscreen button which was only in mobile view
- Crypt crashes when Sodium not installed #641 #657 #663 #664 #668 #669
- Personalised favicon not working - default Snappymail favicon showing #665
- v23 ContentSecurityPolicy versions issue #666
- 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
- Moved ServiceRemoteAutoLogin to plugin/extension
- Moved ServiceExternalSso to plugin/extension
- Moved ServiceExternalLogin to plugin/extension
- Renamed ManageSieveClient to SieveClient
- 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
- Style PopupsNextcloudFiles view
- Link to internal files in composer
- ?admin login failed #642
- Resolve PHP 8.2 Creation of dynamic property is deprecated
- Nextcloud no-embed use iframe mode failed
- Throw decrypt errors #632
- Better multiple WYSIWYG registration system (not finished)
- Better handling of admin token cookie
- Cookie “name” has been rejected because it is already expired. #636
- Content-Security-Policy 'strict-dynamic' was missing
- Better handling of Content-Security-Policy #631 #633
- Nextcloud 23 Error Call to undefined method useStrictDynamic() #634
- Use snappymail icon as favicon-mask.svg instead default nextcloud logo #635
- Add more search operators (i.e. copy lots of Gmail ones) #625
- Some CSS borders to var(--border-color)
- pgpDecrypt() using MailVelope the decrypt message was not green
- Shift + F in search bar resulted in forwarding message #624
- auto login mechanism not working anymore #627
- Added CSS --dialog-border-clr and --dialog-border-radius
- Show lock (lock) glyph in messagelist for encrypted messages
- Decrypt failed when OpenPGP.js not loaded
- Now integrate with Nextcloud by default, but keep iframe option available
- Better theme integration with Nextcloud
- Use Nextcloud 18+ IEventDispatcher
- Solve Nextcloud 25 CSS issues #620
- PutinICS does is not working for all calendar events #622
- Update readme #617 by @cm-schl
- Strip mailchimp tracking
- Use some PHP typed properties
- Move bootstrap @less variables to CSS var()
- Improved theme styling
- CSS --dropdown-menu-background-color should be --dropdown-menu-bg-color
- Disable Nextcloud Impersonate check due to login/logout complications #561
- Improved theme integration and be compatible with Breeze Dark
- Make it clear that you are on the admin panel login screen
- Force PHP opcache_invalidate due to upgrade error reports "Missing version directory"
- Switching user (impersonate plugin) keeps old Email logged in #561
- PGP Decryption / Encryption Failures #600
- Undefined constant "OCA\SnappyMail\Util\RAINLOOP_APP_LIBRARIES_PATH #601
- Cannot access admin panel #602
- Wont show my emails #604
- Return type of MailSo\Base\StreamFilters\LineEndings::filter #610
- Create .pgp directory was missing
- Logger leaked some passwords
- Put sign and encrypt options in composer dropdown menu and simplify te two existing buttons with a glyph
- Filter scripts UI let user understand which filter is active #590
- Method 'GetRequest' not found in \MailSo\Base\Http #585
- Base Domain setup enhancements
- Cleanup MailSo MailClient using __call()
- Domain settings handling and store as JSON instead of ini
- Some JavaScript changes
- When try to login IMAP/SMTP/SIEVE but STARTTLS is required, force STARTTLS
- Embed admin panel into Nextcloud (with autologin, no need for separate login)
- Don't set default_domain in Nextcloud when already set
- Nextcloud dark mode, it is incomplete
- nothing
- 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
- Moved ServiceRemoteAutoLogin to plugin/extension
- Moved ServiceExternalSso to plugin/extension
- Moved ServiceExternalLogin to plugin/extension
- Renamed ManageSieveClient to SieveClient
- 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
- Style PopupsNextcloudFiles view
- Link to internal files in composer
- ?admin login failed #642
- Resolve PHP 8.2 Creation of dynamic property is deprecated
- Nextcloud no-embed use iframe mode failed
- Throw decrypt errors #632
- Better multiple WYSIWYG registration system (not finished)
- Better handling of admin token cookie
- Cookie “name” has been rejected because it is already expired. #636
- Content-Security-Policy 'strict-dynamic' was missing
- Better handling of Content-Security-Policy #631 #633
- Nextcloud 23 Error Call to undefined method useStrictDynamic() #634
- Use snappymail icon as favicon-mask.svg instead default nextcloud logo #635
- Add more search operators (i.e. copy lots of Gmail ones) #625
- Some CSS borders to var(--border-color)
- pgpDecrypt() using MailVelope the decrypt message was not green
- Shift + F in search bar resulted in forwarding message #624
- auto login mechanism not working anymore #627
- Added CSS --dialog-border-clr and --dialog-border-radius
- Show lock (lock) glyph in messagelist for encrypted messages
- Decrypt failed when OpenPGP.js not loaded
- Now integrate with Nextcloud by default, but keep iframe option available
- Better theme integration with Nextcloud
- Use Nextcloud 18+ IEventDispatcher
- Solve Nextcloud 25 CSS issues #620
- PutinICS does is not working for all calendar events #622
- Update readme #617 by @cm-schl
- Strip mailchimp tracking
- Use some PHP typed properties
- Move bootstrap @less variables to CSS var()
- Improved theme styling
- CSS --dropdown-menu-background-color should be --dropdown-menu-bg-color
- Disable Nextcloud Impersonate check due to login/logout complications #561
- Improved theme integration and be compatible with Breeze Dark
- Make it clear that you are on the admin panel login screen
- Force PHP opcache_invalidate due to upgrade error reports "Missing version directory"
- Switching user (impersonate plugin) keeps old Email logged in #561
- PGP Decryption / Encryption Failures #600
- Undefined constant "OCA\SnappyMail\Util\RAINLOOP_APP_LIBRARIES_PATH #601
- Cannot access admin panel #602
- Wont show my emails #604
- Return type of MailSo\Base\StreamFilters\LineEndings::filter #610
- Create .pgp directory was missing
- Logger leaked some passwords
- Put sign and encrypt options in composer dropdown menu and simplify te two existing buttons with a glyph
- Filter scripts UI let user understand which filter is active #590
- Method 'GetRequest' not found in \MailSo\Base\Http #585
- Base Domain setup enhancements
- Cleanup MailSo MailClient using __call()
- Domain settings handling and store as JSON instead of ini
- Some JavaScript changes
- When try to login IMAP/SMTP/SIEVE but STARTTLS is required, force STARTTLS
- Embed admin panel into Nextcloud (with autologin, no need for separate login)
- Don't set default_domain in Nextcloud when already set
- Nextcloud dark mode, it is incomplete
- nothing