diff --git a/bin/aarch64-linux-gnu/ReGaHss b/bin/aarch64-linux-gnu/ReGaHss index c5bc3de8..29f9b2cd 100644 Binary files a/bin/aarch64-linux-gnu/ReGaHss and b/bin/aarch64-linux-gnu/ReGaHss differ diff --git a/bin/arm-linux-gnueabihf/ReGaHss b/bin/arm-linux-gnueabihf/ReGaHss index 06b613a4..c637d883 100644 Binary files a/bin/arm-linux-gnueabihf/ReGaHss and b/bin/arm-linux-gnueabihf/ReGaHss differ diff --git a/bin/i686-linux-gnu/ReGaHss b/bin/i686-linux-gnu/ReGaHss index 2eb031b1..3d35ef6f 100644 Binary files a/bin/i686-linux-gnu/ReGaHss and b/bin/i686-linux-gnu/ReGaHss differ diff --git a/bin/x86_64-linux-gnu/ReGaHss b/bin/x86_64-linux-gnu/ReGaHss index b9fc4dca..158302ec 100644 Binary files a/bin/x86_64-linux-gnu/ReGaHss and b/bin/x86_64-linux-gnu/ReGaHss differ diff --git a/src/ReGaHss/ChangeLog b/src/ReGaHss/ChangeLog index 4e4faba5..2194030f 100644 --- a/src/ReGaHss/ChangeLog +++ b/src/ReGaHss/ChangeLog @@ -2,6 +2,40 @@ ReGaHss ChangeLog ----------------- +#### R1.00.0388.0264 (138ef45) Release #################################### + +2026-10-15 Jens Maus + + * fix foreach() silently skipping the loop if the loop variable was not + declared as string (or as integer for a loop over an integer count), + e.g. 'var x; foreach(x, list)' or 'integer x; foreach(x, "A\tB")'. + The loop variable may now be declared with any type, as it is set to + the elements of the list (string) or the count (integer) anyway. + (cf. https://github.com/OpenCCU/OpenCCU/issues/2612) + * fix the WebUI showing wrong, incomplete or duplicated content (e.g. + duplicated control buttons) or not loading at all, and ReGaHss crashing, + after system.ClearCache() or system.CacheMode() had been used or when + several requests for the same page were processed at the same time: + - system.ClearCache() did not clear the cached function lookups of + Call() and code cache IDs were reused, so that Call() afterwards + executed no or completely different code. Code cache IDs are now never + reused and Call() reloads functions no longer cached. + - code executing system.ClearCache() itself (or a concurrent request) + freed the code still being executed (use-after-free). + - the page and file caches were not protected against concurrent + access, so that pages processed for the first time by concurrent + requests could permanently end up with duplicated or missing content + in the cache. Pages are now cached only once completely processed and + only valid cache entries are used. + - the cached content of files could be modified or released while being + used by a concurrent request. + (cf. https://github.com/OpenCCU/OpenCCU/issues/2638) + (cf. https://github.com/OpenCCU/OpenCCU/issues/1467) + * fix undefined behaviour when loading and saving the parameter sets of + devices, channels and UI data in the DOM file: they were accessed as + DOM objects (IseObject), which they are not. Behaviour is unchanged, + the CI now also tests ReGaHss with UndefinedBehaviorSanitizer. + #### R1.00.0388.0263 (74880c6) Release #################################### 2026-10-14 Jens Maus