From 526462b1e3c66d82ef19a35fd5380db55f720b5e Mon Sep 17 00:00:00 2001 From: Peter Bieringer Date: Fri, 13 Feb 2026 05:48:02 +0100 Subject: [PATCH 1/2] fix issue#1984 (refix issue#1851) --- radicale/utils.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/radicale/utils.py b/radicale/utils.py index 54b80913..8d7ba914 100644 --- a/radicale/utils.py +++ b/radicale/utils.py @@ -338,10 +338,13 @@ def format_ut(unixtime: int) -> str: elif unixtime >= DATETIME_MAX_UNIXTIME: r = str(unixtime) + "(>=MAX:" + str(DATETIME_MAX_UNIXTIME) + ")" else: - if sys.version_info < (3, 11): - dt = datetime.datetime.utcfromtimestamp(unixtime) + if sys.maxsize > 2**32: + if sys.version_info < (3, 11): + dt = datetime.datetime.utcfromtimestamp(unixtime) + else: + dt = datetime.datetime.fromtimestamp(unixtime, datetime.UTC) else: - dt = datetime.datetime.fromtimestamp(unixtime, datetime.UTC) + dt = datetime.datetime(1970, 1, 1, tzinfo=datetime.timezone.utc) + datetime.timedelta(seconds=unixtime) r = str(unixtime) + "(" + dt.strftime('%Y-%m-%dT%H:%M:%SZ') + ")" return r From 1b93b9e5f35500366aa717a2e4fd641c513c9630 Mon Sep 17 00:00:00 2001 From: Peter Bieringer Date: Tue, 17 Feb 2026 08:41:35 +0100 Subject: [PATCH 2/2] changelog for fc4f32acb93f6071a01cd016a73e55210763db3b --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c690e34d..ec1edfca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ * Improve: add workaround to remove empty lines in item to avoid reject by vobject parser * Improve: check/enforce RECURRENCE-ID MUST have the same value type as DTSTART in the recurring component (RFC 5545 3.8.4.4) * Fix: RECURRENCE-ID comparison on all-day events +* Fix: format_ut problem on 32-bit systems (got lost inbetween since fixed in 3.5.8) ## 3.6.0