Releases: cypht-org/cypht
v2.7.0
89 changes from 11 contributors (of which 3 are new contributors). 69 files were affected.
What's Changed
New features
- feat(frontend): add backspace key support for deleting recipient bubbles in compose form by @IrAlfred in #1835
- feat(frontend/backend): adding restore button for trash messages in trash folder by @christer77 in #1717
- feat(other): add context-aware delete warning messages by @IrAlfred in #1859
- feat(frontend): improve message list checkbox visibility with clear checkmark indicator by @IrAlfred in #1864
- feat(backend): implement OPML import functionality for RSS/ATOM subscri… by @Sean10 in #1865
- feat(frontend): start from one or many emails , create an action filter by @camilevahviraki in #1726
Bug fixes
- fix(other): point docker compose to latest Cypht release 2.6.0 by @IrAlfred in #1839
- fix(other): decompression-bomb safeguards bypassed when following HTT redirects (streaming API) by @Shadow243 in #1833
- fix(frontend): fix some issues with theme colors by @pom2ter in #1834
- fix(backend): skip servers with failed connections in IMAP message list handler by @Grandi0z in #1701
- fix(other): improve automated Docker build workflows with proper tagging and multi-platform support by @IrAlfred in #1836
- fix(frontend): correct typo and invalid html in email screening ui by @christer77 in #1837
- fix(other): update README.md by @DistrictOperator in #1841
- fix(backend): handle undefined array keys username and password by @Baraka24 in #1805
- refactor(frontend): update layout of settings forms to use flexbox for improved responsiveness by @Grandi0z in #1697
- fix(frontend): more changes to theme colors by @pom2ter in #1843
- fix(backend): at least correct the wrong version upgrade alert on master by @mercihabam in #1849
- fix(frontend/backend): reload folders list state when auto-creating the "Screen Emails" folder & ensure that screen buttons always work by @mercihabam in #1850
- fix(frontend): fix incorrect unsaved changes count when adding multip… by @espoirbaraka in #1825
- refactor(module/sievefilters): show sieve filter UX by making things more conditinnal by @camilevahviraki in #1661
- fix(other): fix "TRANSLATION NOT FOUND" warnings appearing in logs by @IrAlfred in #1852
- fix(other): update PHPUnit to 10.5.62 to fix CVE-2026-24765 by @IrAlfred in #1855
- fix(other): fix Save Settings links for subdirectory installations by @IrAlfred in #1857
- fix(other): fix PHP 8.2+ deprecation mb_convert_encoding HTML-ENTITIES by @IrAlfred in #1856
- fix(other): fix typo by @IrAlfred in #1860
- fix(frontend): re-arrange incorrect
</div>on 'folders' page by @mercihabam in #1858 - fix(frontend): css: visual bugs fixes by @pom2ter in #1862
- fix(frontend): fix reCAPTCHA(v2) positioning on login form by @IrAlfred in #1870
- fix(other): session lifetime after browser restart for long sessions by @IrAlfred in #1877
- fix(frontend): visual bugs fixes for the compose message page by @pom2ter in #1880
- fix(other): use user email as IMAP account name instead of static config by @IrAlfred in #1879
- fix(other): fix missing KindEditor assets to production site directory and HTML draft issues by @IrAlfred in #1881
- fix(other): duplicate default SMTP servers created on each login by @IrAlfred in #1883
- fix(other): email validation require fqdn tld by @IrAlfred in #1817
- fix(other): add User-Agent header to outgoing emails for better clien… by @camilevahviraki in #1884
- fix(other): update version reference to 2.7.0 for upcoming release by @IrAlfred in #1885
New Contributors
- @DistrictOperator made their first contribution in #1841
- @espoirbaraka made their first contribution in #1825
- @Sean10 made their first contribution in #1865
Full Changelog: v2.6.0...v2.7.0
v2.6.0
151 changes from 12 contributors (of which 4 are new contributors). 164 files were affected.
What's Changed
New features
- feat(frontend/backend): adding calendar icon to emails with a calendar invitation by @christer77 in #1516
- feat(other): persist Bcc header in sent and draft messages by @IrAlfred in #1755
- feat(other): integrate advanced search into saved searches module set by @IrAlfred in #1738
- feat(frontend): prevent duplicate email suggestions in To/Cc/Bcc autocompletion by @davmaene in #1794
- feat(other): make database configuration for tests environment-based by @IrAlfred in #1798
- feat(other): improve Github message list view and details by @IrAlfred in #1743
- feat(frontend/backend): improve the external resources alert UI, and make it possible to block resources from a sender by @mercihabam in #1804
- feat(frontend/backend): alert end users when potential upgrades are detected by @mercihabam in #1799
- feat(frontend): improve email ui with unread counts, responsive images, and clean previews by @primoco in #1811
- feat(other): add Active Directory UPN and domain\user authentication support by @IrAlfred in #1826
Bug fixes
- fix(other): fix typo in various files by @IrAlfred in #1767
- fix(frontend): change incorrect colors of some input fields by @pom2ter in #1769
- fix(frontend): site.js generation comments mixup by @Shadow243 in #1770
- fix(module/smtp): honor starttls mode instead of implicit tls by @affinitytechworks in #1771
- fix(unit): selenium tests hardening by @kroky in #1760
- fix(other): fix coverage test issue by @IrAlfred in #1773
- fix(frontend/backend): restore search in combined views by @mercihabam in #1774
- fix(other): fix missing translations related to save advanced search by @IrAlfred in #1775
- fix(other): improve user feedback for saved searches to include settings save reminder by @IrAlfred in #1777
- fix(frontend): mobile tweaks to the user and site settings by @pom2ter in #1778
- fix(other): point docker compose to latest Cypht release by @IrAlfred in #1784
- fix(backend): ews display attachment filenames for received messages by @kambereBr in #1761
- fix(other): prevent container startup failure by handling existing users in create script by @IrAlfred in #1782
- fix(other): point docker compose to latest Cypht release 2.5.1 by @IrAlfred in #1785
- fix(other): apply cache-first strategy to accelerate folder browsing by @IrAlfred in #1779
- fix(other): remove MySQL port and socket defaults to support all database drivers by @IrAlfred in #1788
- fix(other): adding a proper check for the existence of the keyword key before accessing it by @Baraka24 in #1789
- fix(other): fix PostgreSQL BYTEA resource handling in user config loading by @IrAlfred in #1790
- fix(backend): compose error Uncaught Error: Call to undefined method Hm_EWS::supports_dsn() by @Shadow243 in #1795
- fix(frontend): realign search bar in message list on mobile by @pom2ter in #1797
- refactor(frontend): harmonize special folders selection on the advanced search page, allowing to select all folders or each individually by @mercihabam in #1792
- fix(other): fix asset download links when Cypht is installed outside web root by @IrAlfred in #1801
- fix(backend): handle undefined special_imap_folders in user_settings by @IrAlfred in #1803
- fix(other): fix Bootstrap Icons not visible in production mode (DEBUG=false) by @IrAlfred in #1802
- fix(unit): update urllib3 to version 2.6.0 in requirements by @Shadow243 in #1807
- fix(docker): issue #1780 about docker images platform by @dreamstarsky in #1813
- fix(other): allow sending emails with only Cc/Bcc recipients by @IrAlfred in #1816
- fix(other): fix multi line signature support by @IrAlfred in #1821
- fix(frontend): enter key validation issue after autocomplete in compose form by @IrAlfred in #1823
- fix(backend): prevent undefined array key 0 warnings when copying messages to folders of the same server by @mercihabam in #1824
- fix(other): local contacts not being tracked as unsaved changes on save page by @IrAlfred in #1819
- fix(other): sieve: missing required parameter: mailbox by @christer77 in #1827
- fix(other): fix adding screen_emails param in searching request by @christer77 in #1828
- fix(frontend): improve draft folder error message when not configured by @IrAlfred in #1822
- fix(other): fix DEBUG_MODE in production and resolve debug button visibility/positioning issues by @IrAlfred in #1829
- fix(frontend): false alert on the existence of the mail address in the block list by @christer77 in #1820
New Contributors
- @affinitytechworks made their first contribution in #1771
- @davmaene made their first contribution in #1794
- @primoco made their first contribution in #1811
- @dreamstarsky made their first contribution in #1813
Full Changelog: v2.5.0...v2.6.0
v2.5.1
Bug fix
- fix(frontend): site.js generation comments mixup by @Shadow243 in #1770
Many thanks to @kevinend51 who reported this in #1768
Full Changelog: v2.5.0...v2.5.1
v2.5.0
881 changes from 32 contributors (of which 12 are new contributors). 330 files were affected.
Main Changes
What's Changed
- Correct undefined const DEFAULT_NO_PASSWORD_SAVE in Docker by @Shadow243 in #1243
- Update docker image to latest version released v2.4.0 by @Shadow243 in #1248
- Allow the execution of a presave draft handler, enabling third-party software integrating with Cypht to customize how a draft is stored by @mercihabam in #1247
- [FIX]setup_database.php: Check if the required MySQL extensions are loaded by @Baraka24 in #1251
- [FIX]hm-smtp.php: Initialize to avoid undefined variable warning by @Baraka24 in #1250
- [FIX]Imap quota: fixing quota appears more than once by @Baraka24 in #1218
- [FIX] Make server page responsive by @Bienvenumoringa in #1240
- Fix reload_folder_list browser test by @indridieinarsson in #1253
- [Fix]Extension check introduced for Docker builds by @goldenmean58 in #1258
- [FIX] Make the send button enabled on compose page by @GedeonTS in #1246
- Improve messages caching to ensure a message isn't fetched more than once when viewing its content by @mercihabam in #1252
- Add linux/arm64 and linux/386 architectures building by @rodriguezny in #1261
- Fixed AllInkl provider in Cypht V2 by @josaphatim in #1260
- Add linux/arm/v7 and linux/arm/v6 building by @rodriguezny in #1262
- Automate running local tests by @jonocodes in #1042
- Fix phpunit command according to 1042 by @Shadow243 in #1263
- Include js_modules files content in the final generated site.js by @mercihabam in #1264
- Added code to raise exception on database errors by @josaphatim in #1257
- Should be off by default | Address the controversial part in read rec… by @Shadow243 in #1181
- [FIX]Blocklist:can not edit a block by @christer77 in #1079
- [FIX]hm-smtp.php: Declare properties to avoid deprecated dynamic prop… by @Baraka24 in #1249
- Fix executing handler sieve filters enabled message content when server is configured without sieve by @josaphatim in #1268
- [FIX]apache errors in its log:Already registered module for compose re-attempted: load_contacts AND Already registered module for contacts re-attempted: process_import_contact by @christer77 in #1167
- [FIX]hm-mime-message.php: Replace the mb_convert_encoding() function … by @Baraka24 in #1272
- [FIX] output_modules.php : fixing Call to a member function get() on null by @Bienvenumoringa in #1276
- [ENH] Implement Expose IMAP capabilities for sharing folders by @Shadow243 in #1270
- [FIX] modules.php PHP Warning Undefined array key of redirect uri and… by @amaninyumu1 in #1254
- Correct ajax_imap_accept_special_folders condition on quick_servers_setup by @Shadow243 in #1283
- Disable duplicate redis extension from Github actions by @Shadow243 in #1284
- Implement browser history API based navigation, preventing page reloads between routings by @mercihabam in #1266
- [FIX]Imap quota: Fixing quota appears only once folders are expanded by @Baraka24 in #1275
- Correct settings.py & tags.py selenium tests and uncomment it by @Shadow243 in #1193
- Fix selenium load_settings_page test by @josaphatim in #1286
- Correct sieve connection when using scheme by @Shadow243 in #1199
- Correct imap buttons on servers page & trigger change sieve_mode_tls checkbox on edit server by @Shadow243 in #1289
- [ENH] Added functionality to enable or disable Sieve Filters with toggle button by @amaninyumu1 in #1104
- Fix some page handlers issues by @mercihabam in #1288
- Edit Tag module readme by @Shadow243 in #1293
- Correct pagination while displaying contacts by @Shadow243 in #1125
- Indicate session-limited actions via a popover by @mercihabam in #1295
- [FIX] Move email: Enable drag-and-drop feature to move messages betwe… by @GedeonTS in #1233
- Change the frequency at which messages are prefetched by @mercihabam in #1297
- [FIX]Fix deprecated warnings for preg_match() and mb_strtolower() in Webmail sieve filters by @Baraka24 in #1281
- Fix sieve tls on Quickly add an account from popular E-mail providers by @Shadow243 in #1303
- Allow the exclusion of certain JS libraries from being bundled when integrating Cypht with third-party software by @mercihabam in #1301
- Remove the duplicate of cash.min.js and fix js libs exclusion by @mercihabam in #1305
- Add a privacy settings section with the external images whitelist config by @mercihabam in #1299
- Slight adjustements to the menu on mobile viewports to work properly with the routing system by @mercihabam in #1309
- [FIX]Bulk-import accounts using yaml or csv template: Allow both text/csv and text/plain files to be parsed as CSV, accommodating Tiki’s MIME type handling by @Baraka24 in #1310
- [FIX].env.example: DISABLE_ORIGIN_CHECK assigns twice by @Baraka24 in #1316
- Removed forget/save actions by @josaphatim in #1311
- [ENH]message list: Preview of message when viewing message list by @christer77 in #1241
- [FIX]Displaying multiple messages with the same content for a given a… by @christer77 in #1106
- Tweak the sidebar for a modern look and feel by @mercihabam in #1313
- Fix css on privacy setting by @josaphatim in #1324
- Fix the combined inbox not excluding content from folders removed by the user by @mercihabam in #1327
- [ENH] Remove duplicate SMTP display names in dropdown by @DKing2222 in #1326
- Sort combined messages list chronologically and adjust the tag data request and handler by @mercihabam in #1329
- Fix smtp test server action by @josaphatim in #1343
- Allow performing a search operation in all folders by @mercihabam in #1337
- Use date as the default sorting field for all message lists by @mercihabam in #1345
- Fix the display of the unread folder counters and re-adjust the layout to have the sidebar fixed on the view by @mercihabam in #1346
- [UX]Renamed 'add_contact' to 'add_contact_responsive' to improve resp… by @amaninyumu1 in #1335
- [FIX]DEFAULT_TEXT_ONLY value must be false by @Baraka24 in #1317
- Enhance the sidebar's collapsible/expandable behavior by ensuring that only the minimum necessary content is shown and the layout remains intact when the sidebar is collapsed by @mercihabam in #1347
- Prevent external links from trying to navigate internally by @mercihabam in #1352
- [ENH]DragAndDrop: add drag and drop functionality on touchscreens by @GedeonTS in #1356
- [DOC]Dev Page: Reviewing documentation links by @Baraka24 in #1357
- make sieve data format automatic on connect by @Shadow243 in #1331
- Fix the sieve filters page which is duplicating the modal content by @mercihabam in #1358
- Reduce left menu height to make it appealing by @josaphatim in #1363
- Fix accessing keys when server was not found by @josaphatim in #1364
- Fixed tag display content by @Shadow243 in #1339
- Revert "Fixed tag display content" by @mercihabam in #1365
- Edit Contact: Cleaning up fields after editing the contact by @...
v1.4.7
What's Changed
- fix(backend): fix smtp/imap servers for fastmail by @josaphatim in #1561
- fix(backend): Fix dkim body hash failure by @kambereBr in #1631
- fix(backend): allow cypht integration to save message away from imap server by @josaphatim in #1695
- fix(frontend): remove selected email from recipients on reply-all by @IrAlfred in #1703
- fix(other): remove envelope-to address exclusion from reply-all logic by @IrAlfred in #1706
- fix(other): Fix message content processing strip DNS prefetch tags before formatting by @Baraka24 in #1708
Full Changelog: v1.4.6...v1.4.7
v2.4.2
Security fixes only
- feat(other): add HTML email sanitizer to remove external background images by @Baraka24 in #1491
- fix(backend): address potential security exploits in request parameters by @mercihabam in #1514
We greatly appreciate @4rdr’s efforts in identifying and reporting security concerns in this security release. Thank you for your collaboration and commitment to security!
Full Changelog: v2.4.0...v2.4.2
Version 2.4.1 was briefly released but then deleted, which is why it goes from 2.4.0 to 2.4.2
v1.4.6
What's Changed
- docs(other): remove duplication for installation notes by @Baraka24 in #1475
- docs(other): Fix screenshot display readme by @Baraka24 in #1476
- [UPD] update henrique-borba/php-sieve-manager to 1.0.9 by @Shadow243 in #1482
- update(feature): sieve manager to latest release by @Shadow243 in #1487
- feat(other): add strip_dns_prefetch_tags for the html by @Baraka24 in #1492
Full Changelog: v1.4.5...v1.4.6
v1.4.5
What's Changed
- [UDP] Sieve: Update php-sieve-manager to latest version 1.0.8 by @Shadow243 in #1207
- [UPD] update composer.lock to fix league outdated dependencies by @Yannick243 in #1234
- Fixed keyboard shortcuts by @josaphatim in #1238
- Added imap account name as part of error message by @josaphatim in #1336
- fix(backend): ensure attachments are sent along when forwarding an email by @mercihabam in #1407
Full Changelog: v1.4.4...v1.4.5
v2.4.0
What's Changed
- Update release token by @Shadow243 in #1209
- Udpdate docker version to 2.3.0 by @Shadow243 in #1211
- Check for null in quota-root. Some servers yield null values here by @indridieinarsson in #1202
- Fixed attachment dir when config type is set to DB by @josaphatim in #1205
- Update database credentials in docker-compose.dev.yaml for local development by @Yannick243 in #1215
- Fix Docker theme css path by @Shadow243 in #1214
- Remove Jason's email and instead invite people to the chat room by @David-Muhasa in #1220
- Fixed background in tiki by @josaphatim in #1223
- Fix forms width for tiki integration by @josaphatim in #1225
- [FIX][UI] Adjust the searcbar's width by @GedeonTS in #1226
- Merge master to 2.x by @Shadow243 in #1227
- Comment reload_folder_list that will be reviewed after by @Shadow243 in #1228
- [FIX] block_list page: reviewing unblock and block actions by @christer77 in #1213
- Fix default_settings configured from .env file by @Shadow243 in #1158
- fix multibyte handling in imap literals and address splitting, improve unit tests by @kroky in #1230
- Removed some styling not necessary after bootstrap 5 integration that break themes by @josaphatim in #1232
- Merge to 2.x 1 by @Shadow243 in #1231
- Always show spinner when copying/moving to mailbox by @josaphatim in #1235
- Adding bulk-import accounts using csv sample file by @Shadow243 in #976
- Fixed broken module keyboard shortcuts by @josaphatim in #1237
- [FIX]Compose page: clicking on Send button can't send email by @Baraka24 in #1219
- Merge master to 2.x by @Shadow243 in #1242
- Correct undefined const DEFAULT_NO_PASSWORD_SAVE in docker by @Shadow243 in #1244
Full Changelog: v2.3.0...v2.4.0
v2.3.0
What's Changed
- Update Cypht Docker version by @Shadow243 in #1180
- [FIX] ensure the email address part is the only value captured when allowing the display of external resources from a particular sender by @jacob-js in #1166
- Merge tag v2.2.0 into 2.x by @Shadow243 in #1182
- Autocrypt messages encrept automatically by @David-Muhasa in #1183
- Define constant for theme path by @Shadow243 in #1185
- [EHN]Email filtering: Cypht Sieve filters: Better handling of 'Stop processing more rules' by @christer77 in #1098
- [Fix] Add error message for a missing database connexion by @GedeonTS in #1188
- [FIX]Profiles: Fixing undefined array key rmk on Profiles page by @Baraka24 in #1190
- [EHN]Like Gmail, warn if you are about to reply to a new contact (and perh… by @christer77 in #1065
- [FIX]Site Settings/General/:Warn for Unsaved Changes parameter once set cannot be unset by @Baraka24 in #1179
- Merge master(fixes) to 2.x by @Shadow243 in #1192
- implement-screen-email by @christer77 in #1132
- Fix undeclared properties in hm-feed.php by @josaphatim in #1085
- Correct Broken folder_list selenium tests by @Shadow243 in #1189
- Make bootstrap icons available on dockerized installs by @indridieinarsson in #1203
- [UDP] Sieve: Update php-sieve-manager to latest version 1.0.8 by @Shadow243 in #1206
- Update fixes before release by @Shadow243 in #1208
- Update release token by @Shadow243 in #1210
New Contributors
- @GedeonTS made their first contribution in #1188
- @indridieinarsson made their first contribution in #1203
Full Changelog: v2.2.0...v2.3.0