v2.33.0
BenedictKing/ccxv2.33.0Sep 30, 2025by KristjanESPERANTO
AI Summary
A major update requiring Node.js v22.18.0+, featuring a significant upgrade to Electron v38 and various improvements to calendar, clock, and weather modules.
Key Highlights
- Requires Node.js version v22.18.0 or higher
- Electron v38 upgrade
- New prettier plugin for Nunjucks templates
- Enhanced system information logging
Breaking Changes
- Requires Node.js version v22.18.0 or higher
New Features
- Configuration option for User-Agent
- New file for module functions
- New prettier plugin
Full Release Notes
## [2.33.0] - 2025-10-01 Thanks to: @Crazylegstoo, @dathbe, @m-idler, @plebcity, @khassel, @KristjanESPERANTO, @rejas and @sdetweil! > ⚠️ This release needs nodejs version `v22.18.0 or higher` ### Added - Add configuration option for `User-Agent`, used by calendar & news module (#3255) - [linter] Add prettier plugin for nunjuck templates (#3887) - [core] Add clear log for occupied port at startup (#3890) ### Changed - [clock] Add CSS to prevent line breaking of sunset/sunrise time display (#3816) - [core] Enhance system information logging format and include additional env and RAM details (#3839, #3843) - [refactor] Add new file `js/module_functions.js` to move code used in several modules to one place (#3837) - [refactor] Use global.root_path where possible and add tests for config:check (#3883, #3885, #3886, #3889) - [tests] refactor: simplify jest config file (#3844) - [tests] refactor: extract constants for weather electron tests (#3845) - [tests] refactor: add `setupDOMEnvironment` helper function to eliminate repetitive JSDOM setup code (#3860) - [tests] replace `console` with `Log` in calendar `debug.js` to avoid exception in eslint config (#3846) - [tests] speed up e2e tests, cleanup and stabilize weather e2e tests, update snapshot url (#3847, #3848, #3861) - [tests] refactor translation tests (#3866) - Remove `sinon` dependency in favor of Jest native mocking - Unify test helper functions across translation test suites - Rename `setupDOMEnvironment` to `createTranslationTestEnvironment` for consistency - Simplify DOM setup by removing unnecessary Promise/async patterns - Avoid potential port conflicts by using port 3001 for translator unit tests - Improve test reliability and maintainability - [tests] add alert module tests for different welcome_message configurations (#3867) - [lint-staged] use `prettier --write --ignore-unknown` in `lint-staged` to avoid errors on unsupported files (#3888) ### Updated - [calendar] Update defaultSymbol name and also the link to the icon search site (#3879) - [core] Update dependencies including electron to v38 as well as github actions (#3831, #3849, #3857, #3858, #3872, #3876, #3882, #3891, #3896) - [weather] Update feels_like temperature calculation formula (#3869) - [weather] Update null value handling for weather type (#3892) - [layout] Update styles for weather and calendar (#3894) ### Fixed - [calendar] Fixed broken unittest that only broke on the 1st of July and 1st of january (#3830) - [clock] Fixed missing icons when no other modules with icons is loaded (#3834) - [weather] Fixed handling of empty values in weathergov providers handling of precipitationAmount (#3859) - [calendar] Fix regression handling of limit days (#3840) - [calendar] Fixed regression of calendarfetcherutils.shouldEventBeExcluded (#3841) - [core] Fixed socket.io timeout when server is slow to send notification, notification lost at client (#3380) - [tests] refactor AnimateCSS tests after jsdom 27 upgrade (#3891) - [weather] Use `apparent_temperature` data from openmeteo's hourly weather for current feelsLikeTemp (#3868). - [weather] Updated envcanada Provider to use new database/URL schema for accessing weather data (#3878).