Am 10.05.26 um 18:38 schrieb Barry de Graaff via Dev:
Sorry folks, don't have a github account.

When upgrading to 1.7.0 I am greeted with an error (500 I believe) in the logs I see:

DB Error: [1054] Unknown column 'expires_at' in 'INSERT INTO' (SQL Query: INSERT INTO `session` (`sess_id`, `vars`, `ip`, `expires_at`) VALUES ('...', '192.168.1.228', now() + INTERVAL 36000 SECOND)) in /etc/mailwww/program/lib/Roundcube/rcube_db.php on line 553 (GET /mail/...)


so you didn't basic homework which isn't only replace files and never was


[harry@srv-rhsoft:/downloads/roundcubemail-1.7.0/SQL/mysql]$
cat 2025092300.sql
ALTER TABLE `session` RENAME COLUMN `changed` TO `expires_at`;
ALTER TABLE `session` RENAME INDEX `changed_index` TO `expires_at_index`;
UPDATE session SET expires_at = ADDTIME(expires_at, '00:10:00');


[harry@srv-rhsoft:/downloads/roundcubemail-1.7.0/SQL/mysql]$
ls
insgesamt 144K
-rw------- 1 harry verwaltung  362 2026-05-10 08:37 2008030300.sql
-rw------- 1 harry verwaltung  335 2026-05-10 08:37 2008040500.sql
-rw------- 1 harry verwaltung  101 2026-05-10 08:37 2008060900.sql
-rw------- 1 harry verwaltung  515 2026-05-10 08:37 2008092100.sql
-rw------- 1 harry verwaltung  292 2026-05-10 08:37 2009090400.sql
-rw------- 1 harry verwaltung 2,7K 2026-05-10 08:37 2009103100.sql
-rw------- 1 harry verwaltung  193 2026-05-10 08:37 2010042300.sql
-rw------- 1 harry verwaltung  239 2026-05-10 08:37 2010100600.sql
-rw------- 1 harry verwaltung  344 2026-05-10 08:37 2011011200.sql
-rw------- 1 harry verwaltung 2,8K 2026-05-10 08:37 2011092800.sql
-rw------- 1 harry verwaltung  106 2026-05-10 08:37 2011111600.sql
-rw------- 1 harry verwaltung 1017 2026-05-10 08:37 2011121400.sql
-rw------- 1 harry verwaltung  192 2026-05-10 08:37 2012080700.sql
-rw------- 1 harry verwaltung  220 2026-05-10 08:37 2013011000.sql
-rw------- 1 harry verwaltung    8 2026-05-10 08:37 2013042700.sql
-rw------- 1 harry verwaltung  369 2026-05-10 08:37 2013052500.sql
-rw------- 1 harry verwaltung 1,3K 2026-05-10 08:37 2013061000.sql
-rw------- 1 harry verwaltung   65 2026-05-10 08:37 2014042900.sql
-rw------- 1 harry verwaltung   66 2026-05-10 08:37 2015030800.sql
-rw------- 1 harry verwaltung  124 2026-05-10 08:37 2015111100.sql
-rw------- 1 harry verwaltung   45 2026-05-10 08:37 2016081200.sql
-rw------- 1 harry verwaltung   56 2026-05-10 08:37 2016100900.sql
-rw------- 1 harry verwaltung 1,1K 2026-05-10 08:37 2016112200.sql
-rw------- 1 harry verwaltung  521 2026-05-10 08:37 2018021600.sql
-rw------- 1 harry verwaltung  474 2026-05-10 08:37 2018122300.sql
-rw------- 1 harry verwaltung  169 2026-05-10 08:37 2019092900.sql
-rw------- 1 harry verwaltung  116 2026-05-10 08:37 2020020100.sql
-rw------- 1 harry verwaltung 4,7K 2026-05-10 08:37 2020020101.sql
-rw------- 1 harry verwaltung  634 2026-05-10 08:37 2020091000.sql
-rw------- 1 harry verwaltung    9 2026-05-10 08:37 2020122900.sql
-rw------- 1 harry verwaltung  618 2026-05-10 08:37 2021081000.sql
-rw------- 1 harry verwaltung   14 2026-05-10 08:37 2021100300.sql
-rw------- 1 harry verwaltung   23 2026-05-10 08:37 2022081200.sql
-rw------- 1 harry verwaltung  407 2026-05-10 08:37 2022100100.sql
-rw------- 1 harry verwaltung  202 2026-05-10 08:37 2025092300.sql



[10-May-2026 15:15:39 +0000]: <c455ce65> DB Error: [1054] Unknown column 'expires_at' in 'SELECT' (SQL Query: SELECT `vars`, `ip`, `expires_at`, now() AS ts, CASE WHEN `expires_at` < now() THEN 1 ELSE 0 END AS expired FROM `session` WHERE `sess_id` = 'c455ce6567c5f3e7d27ae128ed40a670') in /etc/mailwww/program/lib/Roundcube/rcube_db.php on line 553 (GET /mail/public_html/)
[10-May-2026 15:15:39 +0000]: <c455ce65> DB Error: [1054] Unknown column 'expires_at' in 'INSERT INTO' (SQL Query: INSERT INTO `session` (`sess_id`, `vars`, `ip`, `expires_at`) VALUES ('...', '...', '192.168.1.228', now() + INTERVAL 36000 SECOND)) in /etc/mailwww/program/lib/Roundcube/rcube_db.php on line 553 (GET /mail/public_html/)


My workaround for now, add to config.inc.php:

$config['session_storage'] = 'php';

Then all works, I do prefer to use the database for session storage though. Seen this happen on 2 different instances.

Thanks, Barry


On 2026-05-10 14:01, Aleksander Machniak via Announce wrote:
This is the stable release of the next major version 1.7 of Roundcube Webmail.

After almost four years of development we introduce a few breaking changes, some new features, and bring support for recent PHP versions. With automated code style and quality checks, removed code bloat and updated dependencies, we hope for even more codebase quality.

Some noteworthy changes are:

- Mandatory `public_html/` entry-point for HTTP servers, protecting all installations better.
- Improved OAuth2/OIDC support (e.g. support for OIDC discovery, OIDC logout).
- Markdown mail rendering and composing.
- A quick actions mouse-over menu on the messages list.
- Advanced mail search syntax.

## Breaking Changes

- Dropped support for PHP < 8.1.
- Dropped support for Internet Explorer.
- Dropped support for MS SQL Server and Oracle.
- `public_html/` entry-point made mandatory, all static resources are served via `public_html/static.php`.
- Removed `apc` cache driver (replaced by `apcu` cache driver).
- Changed `smtp_log` option default value to `false`.
- Removed `contact_search_name` option in favor of `contactlist_name_template`.
- Replaced session property `changed` by `expires_at`.
- Removed the (insecure) virtualmin password driver.

This release is considered stable and we encourage you to update your productive installations  after carefully testing the upgrade scenario.

With the release of Roundcube 1.7.0, the previous stable release branch 1.6.x changes into an LTS (low maintenance) mode which means it will only receive important security updates. The 1.5.x series is no longer supported and maintained.

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

You can download it from https://roundcube.net