[horde] Horde 6 FRAMEWORK Beta Timeline
Nels Lindquist
nlindq at maei.ca
Thu Apr 2 17:12:34 UTC 2026
After getting things running with PHP 8.4, I revisited this based on
your feedback.
It looks like replacing those two instances in HordeString.php with
$language = setlocale(LC_CTYPE, NULL);
also works, at least for now. (See:
https://github.com/php/php-src/issues/19070)
Some further reading indicates that setlocale() and associated
strftime() are being deprecated over time, with ext-intl recommended for
replacement i18n functionality. Seems like that would be beyond the
scope of the 6.0 release, but maybe 6.1...?
--
Nels Lindquist
nlindq at maei.ca
On 2026-03-31 7:32 PM, Brent wrote:
> I just changed that line and now things seem to work. Not sure this is
> the right fix as I'm not a programmer.
>
> In the file: <inst-dir>/vendor/horde/util/src/HordeString.php
>
> line 265:
>
> before:
>
> $language = setlocale(LC_CTYPE, 0);
>
> after
>
> $language = setlocale(LC_CTYPE, '0');
>
> Same change in the file on line 318:
>
> before:
>
> $language = setlocale(LC_CTYPE, 0);
>
> after:
>
> $language = setlocale(LC_CTYPE, '0');
>
> Pages are loading now. I've not fully tested things out, but mail,
> calendar, contacts, tasks, and the admin page loads. Progress?
>
> brent
>
> Quoting Brent <impuser at bitrealm.com>:
>
>> I note that Fedora is going to 44 release around April 16th. They are
>> shipping with php 8.5.
>>
>> I just ran a test on that platform. Things "work", but seems like
>> something with locale changed a bit in php 8.5.
>>
>> On the Contacts main page, I get an error. (similar error on Notes)
>> and on the Administration->Configuration page. All at line 265 in
>> HordeString.php.
>>
>> A fatal error has occurred
>> setlocale(): Argument #2 ($locales) must be of type array|string|null,
>> int given
>> in /var/www/horde/vendor/horde/util/src/HordeString.php:265
>>
>> 1. require_once() /var/www/horde/web/turba/index.php:3
>> 2. require() /var/www/horde/vendor/horde/turba/index.php:25
>> 3. Turba_View_Browse->run()
>> /var/www/horde/vendor/horde/turba/browse.php:49
>> 4. Turba_View_List->display()
>> /var/www/horde/vendor/horde/turba/lib/View/Browse.php:473
>> 5. Turba_View_List->getAlpha()
>> /var/www/horde/vendor/horde/turba/lib/View/List.php:237
>> 6. Turba_View_List_AlphaFilter->__construct()
>> /var/www/horde/vendor/horde/turba/lib/View/List.php:301
>> 7. Horde\Util\HordeString::lower()
>> /var/www/horde/vendor/horde/turba/lib/View/List/AlphaFilter.php:24
>> 8. setlocale() /var/www/horde/vendor/horde/util/src/HordeString.php:265
>>
>> Details
>> The full error message is logged in Horde's log file, and is shown
>> below only to administrators. Non-administrative users will not see
>> error details.
>>
>> TypeError Object
>> (
>> [message:protected] => setlocale(): Argument #2 ($locales) must be
>> of type array|string|null, int given
>> [string:Error:private] => TypeError: setlocale(): Argument #2
>> ($locales) must be of type array|string|null, int given in
>> /var/www/horde/vendor/horde/util/src/HordeString.php:265
>> Stack trace:
>> #0 /var/www/horde/vendor/horde/util/src/HordeString.php(265): setlocale()
>> #1
>> /var/www/horde/vendor/horde/turba/lib/View/List/AlphaFilter.php(24):
>> Horde\Util\HordeString::lower()
>> #2 /var/www/horde/vendor/horde/turba/lib/View/List.php(301):
>> Turba_View_List_AlphaFilter->__construct()
>> #3 /var/www/horde/vendor/horde/turba/lib/View/List.php(237):
>> Turba_View_List->getAlpha()
>> #4 /var/www/horde/vendor/horde/turba/lib/View/Browse.php(473):
>> Turba_View_List->display()
>> #5 /var/www/horde/vendor/horde/turba/browse.php(49):
>> Turba_View_Browse->run()
>> #6 /var/www/horde/vendor/horde/turba/index.php(25):
>> require('/var/www/horde/...')
>> #7 /var/www/horde/web/turba/index.php(3):
>> require_once('/var/www/horde/...')
>> #8 {main}
>> [code:protected] => 0
>> [file:protected] =>
>> /var/www/horde/vendor/horde/util/src/HordeString.php
>> [line:protected] => 265
>> [trace:Error:private] => Array
>> (
>> [0] => Array
>> (
>> [file] =>
>> /var/www/horde/vendor/horde/util/src/HordeString.php
>> [line] => 265
>> [function] => setlocale
>> )
>>
>> [1] => Array
>> (
>> [file] =>
>> /var/www/horde/vendor/horde/turba/lib/View/List/AlphaFilter.php
>> [line] => 24
>> [function] => lower
>> [class] => Horde\Util\HordeString
>> [type] => ::
>> )
>>
>> [2] => Array
>> (
>> [file] =>
>> /var/www/horde/vendor/horde/turba/lib/View/List.php
>> [line] => 301
>> [function] => __construct
>> [class] => Turba_View_List_AlphaFilter
>> [type] => ->
>> )
>>
>> [3] => Array
>> (
>> [file] =>
>> /var/www/horde/vendor/horde/turba/lib/View/List.php
>> [line] => 237
>> [function] => getAlpha
>> [class] => Turba_View_List
>> [type] => ->
>> )
>>
>> [4] => Array
>> (
>> [file] =>
>> /var/www/horde/vendor/horde/turba/lib/View/Browse.php
>> [line] => 473
>> [function] => display
>> [class] => Turba_View_List
>> [type] => ->
>> )
>>
>> [5] => Array
>> (
>> [file] =>
>> /var/www/horde/vendor/horde/turba/browse.php
>> [line] => 49
>> [function] => run
>> [class] => Turba_View_Browse
>> [type] => ->
>> )
>>
>> [6] => Array
>> (
>> [file] => /var/www/horde/vendor/horde/turba/index.php
>> [line] => 25
>> [args] => Array
>> (
>> [0] =>
>> /var/www/horde/vendor/horde/turba/browse.php
>> )
>>
>> [function] => require
>> )
>>
>> [7] => Array
>> (
>> [file] => /var/www/horde/web/turba/index.php
>> [line] => 3
>> [args] => Array
>> (
>> [0] =>
>> /var/www/horde/vendor/horde/turba/index.php
>> )
>>
>> [function] => require_once
>> )
>>
>> )
>>
>> [previous:Error:private] =>
>> )
>>
>> Quoting Torben Dannhauer <torben at dannhauer.info>:
>>
>>> Currently working with 8.4
>>>
>>> I Need anyway to enhance my setup for a second Installation.. why not
>>> 8.5..n- maybe second half of April.
>>>
>>> If you comb through H6 to create the 8.5 fixes asPRs, I‘ll invest a
>>> day to get a 8.5 installation and test/merge Your PRs
>>>
>>> Torben
>>>
>>> Von unterwegs gesendet
>>> Sent from mobile
>>>
>>>> Am 31.03.2026 um 23:23 schrieb Nels Lindquist <nlindq at maei.ca>:
>>>>
>>>> On 2026-03-26 1:22 AM, Ralf Lang wrote:
>>>>> just some updates on the beta phase
>>>>> SCOPE:
>>>>> The beta phase includes the horde mainstream apps
>>>>> - horde/horde (base)
>>>>> - horde/imp (webmail)
>>>>> - horde/kronolith (calendar)
>>>>> - horde/nag (tasks)
>>>>> - horde/turba (contacts)
>>>>> - horde/passwd (passwords)
>>>>> - horde/ingo (mail filters)
>>>>> - horde/timeobjects (interop)
>>>>> - horde/content (tagger)
>>>>
>>>> <SNIP>
>>>>
>>>>> All relevant libraries have been released as beta versions or will be
>>>>> released in the next few days. If you miss any item please get in
>>>>> touch.
>>>>> TIMELINE:
>>>>> The beta phase runs through april. Around May 1st we will release
>>>>> RC1 for
>>>>> apps and intend to release as stable as soon as no further RCs are
>>>>> needed.
>>>>
>>>> Are you targeting specific PHP versions, ie 8.0 - 8.4? I did try out
>>>> PHP 8.5, but ran into trouble getting it working and switched back
>>>> to 8.4.x. I could work on generating some feedback if you want to
>>>> achieve 8.5 compatibility during the beta, though.
More information about the horde
mailing list