Software 43918 Published by

Roundcube Webmail 1.7 Beta has been released and represents a beta release for the forthcoming major version of Roundcube Webmail. This update includes several significant changes, new features, and comprehensive support for PHP 8.4. Significant updates consist of requiring public_html/ as a mandatory entry point for HTTP daemons, enhancing OAuth2 support, introducing a mouse-over menu on the messages list featuring quick action icons, and incorporating advanced mail search syntax. The test file contains a compilation of implemented keywords.

The components of content-type text/markdown are now displayed as HTML when designated for viewing. A PHP logging driver has been implemented, which directs all log statements to PHP's error_log handler, facilitating the unification of all log output. This release requires PHP version 8.1 or later and advises conducting tests in a separate environment.



The changelog outlines several important updates: The minimum required PHP version has been set to 8.1, jQuery has been updated to version 3.7.1, the dependency on JsTimeZoneDetect has been removed, an APCu cache driver has been added, composer.json.dist has been renamed to composer.json, the public_html/ entry point is now mandatory, support for MS SQL Server and Oracle has been discontinued, and more stringent code quality and style validation measures have been implemented.

The additional features comprise a mouse-over menu on the message list, advanced mail search syntax, and expanded options for the default mail search scope, font list, and font-size list for HTML editors. The plugin API has undergone an update, and enhancements have been made to the installation process.

Roundcube Webmail 1.7-beta

This is a beta release for the next major version 1.7 of Roundcube webmail.

With this milestone we introduce a few breaking changes, some new features, and bring full support for PHP 8.4.

Some noteworthy changes are:

  • Make public_html/ mandatory as entry-point for HTTP daemons, protecting all installations better.
  • Improve support for OAuth2 (e.g. supporting OpenID Connect discovery URLs).
  • A Mouse-over menu on the messages list with quick action icons.
  • Advanced mail search syntax with more possibilities – you can now use e.g. is:unread to only match unread messages. The  test file has a list of implemented keywords.
  • Message parts of content-type text/markdown are now rendered to HTML (if they are designated for showing).
  • Add a 'php' logging driver, which passes all log statements to PHP's error_log handler, allowing to unify all log output.
  • Requires PHP v8.1 or newer.

Breaking Changes

  • Dropped support for PHP < 8.1.
  • Removed support for MS SQL Server and Oracle.
  • Make public_html/ entry-point mandatory, all static resources are served via static.php.
  • Removed apc cache driver (replaced by apcu cache driver).
  • Change smtp_log option default value to false.

This is a beta release and we recommend to test it on a separate environment.
Migrate existing configs with either the installto.sh or the update.sh scripts.

And don't forget to backup your data before installing it!

Changelog

Here is the full changelog:

  • Set minimum required PHP version to 8.1 ( #9599)
  • Update to jQuery 3.7.1
  • Drop dependency on JsTimeZoneDetect ( #8965)
  • Added apcu cache driver ( #9828)
  • Removed apc cache driver
  • Renamed composer.json.dist to composer.json ( #9279)
  • Make public_html/ entry-point mandatory, all static resources are served via static.php ( #9294 #8851)
  • Removed support for MS SQL Server and Oracle ( #7854)
  • Added more strict code quality/style validation
  • Added text/markdown mail rendering ( #8873)
  • Store uploads metadata in a separate sql database table instead of a session ( #8415)
  • Mouse-over menu on messages list ( #7141)
  • Advanced mail search syntax with more possibilities (without UI) ( #8502)
  • Added an option for a default mail search scope ( #9077 #7556)
  • Added an option for default "Keep formatting" state, option can be hidden via dont_override ( #8987 #9703)
  • Added option to define font list and font-size list for HTML editor - available_fonts/available_font_sizes ( #5700)
  • IMAP: Support for HAproxy protocol header in IMAP connections ( #8625)
  • Change 'smtp_log' option default value to False
  • Add 'php' logging driver ( #6138)
  • Delete messages directly from Junk on folder purge if delete_junk is enabled ( #8766)
  • Hide information about quota, when there is no quota ( #8994)
  • Set timeout=30, connect_timeout=5, read_timeout=120 as defaults for HTTP client ( #8865)
  • Remove use of utf8_encode() and utf8_decode() functions deprecated in PHP 8.2
  • Support PHP Zip extension and 7z in install-jsdeps.sh ( #8935)
  • Add identities management script - bin/identity.sh ( #8887)
  • Add skin information into the About dialog ( #9441)
  • Prefer 8bit over quoted-printable for HTML parts, when force_7bit is disabled ( #8477)
  • Convert images in HTML content pasted into HTML editor to data: URIs (and later to attachments) ( #6938)
  • Add possibility to change ATTR_EMULATE_PREPARES via config file ( #9213)
  • Use draft settings (like DSN) on "Edit as new" ( #9349)
  • Add more detailed feedback on vCard import errors ( #9591)
  • Use new HTML5 parser available on PHP >= 8.4
  • Clear "list is empty" message on loading a new list ( #9006)
  • Add enable_autolink option for HTML editor ( #9818 #9762)
  • Rework/fix zoom and rotate of attached images ( #9843 #7669)
  • Installer: Show NOT OK if none of the database extensions is installed ( #9594 #9604)
  • Plugin API: Added message_delete hook ( #9499)
  • Plugin API: Added message_move hook ( #9499)
  • Mailvelope: Add a button to enable the extension for webmail domain ( #9498)
  • OAuth: Add support for SMTP without authentication ( #9183)
  • OAuth: Add support for OAuth/OpenIDC discovery ( #8201)
  • OAuth: Add support for invalidating the OAuth-session on logout ( #8057)
  • OAuth: Add support for OpenID Connect RP-Initiated Logout ( #9109)
  • OAuth: Add support for OpenID Connect Back-Channel Logout ( #9110)
  • OAuth: Add support for PKCE ( #8757)
  • OAuth: Add support for OAUTHBEARER ( #9217)
  • OAuth: Add oauth_debug option ( #9217)
  • OAuth: Fix: missing config oauth_provider_name in rcmail_oauth's constructor ( #9217)
  • OAuth: Fix Bearer authentication for Kinde ( #9244)
  • OAuth: Refactor: move display to the rcmail_oauth class and use loginform_content hook ( #9217)
  • OAuth: Add a flag to the 'authenticate' hook arguments indicating SSO is in use
  • Additional_Message_Headers: Added %u, %d and %l variables ( #8746 #8732)
  • ACL: Set default of 'acl_specials' option to ['anyone'] ( #8911)
  • Enigma: Support Kolab's Web Of Anti-Trust feature ( #8626)
  • Enigma: Add key icon to passphrase input ( #9894)
  • Managesieve: Support :encodeurl (RFC 5435) ( #8917)
  • Managesieve: Add List-ID to the list of headers for creating new sieve-filters ( #8307)
  • Managesieve: Support an array in managesieve_host option ( #9447)
  • Managesieve: Fix the frontend datetime picker not respecting the 12h format and apending a dangling 's' to the seconds ( #9688)
  • Managesieve: Add parsing for all PHP time formatters from time_format config to frontend the time picker ( #9655)
  • Password: Add ldap_samba_ad driver ( #8525)
  • Password: Allow LDAP access using LDAP URI and SASL binding ( #8402)
  • Password: Use Guzzle HTTP Client in the pwned driver
  • Password: Use Guzzle HTTP Client in the directadmin driver
  • Password: Use Guzzle HTTP Client in the plesk driver
  • Password: Use Guzzle HTTP Client in the modoboa driver
  • Password: Use Guzzle HTTP Client in the domainfactory driver
  • Password: Use Guzzle HTTP Client in the cpanel driver
  • Password: Check that a user email is part of password in the zxcvbn checker ( #9404)
  • Virtuser_file: Support opensmtpd file format ( #9898)
  • Zipdownload: Change "Download..." menu label into "Export..." ( #9713)
  • Fix bug in handling rcmail::format_date()'s $convert argument ( #9666)
  • Fix use of Bootstrap's box-sizing inside a HTML message content ( #9727)
  • Fix folders hierarchy when special folders are subfolders of INBOX, with no personal namespace prefix ( #9452)
  • Fix attachment name decoding when 'charset' parameter exists in the headers ( #9376)
  • Fix deprecated (in PHP 8.4) use of session_set_save_handler() ( #9060)
  • Fix potential HTTP protocol version mismatch ( #8982)
  • Fix "Assign to group" action state after creation of a first group ( #9889)
  • Fix bug where contacts search would fail if contactlist_fields contained vcard fields ( #9850)
  • Fix bug where an mbox export file could include inconsistent message delimiters ( #9879)

Release Roundcube Webmail 1.7-beta · roundcube/roundcubemail