# MagicMirror v2.33.0 - Product: MagicMirror (https://whatsnew.fyi/product/magicmirror) - Vendor: MagicMirrorOrg - Date: 2025-09-30 - Version: v2.33.0 - Original notes: https://github.com/MagicMirrorOrg/MagicMirror/releases/tag/v2.33.0 - Permalink: https://whatsnew.fyi/product/magicmirror/releases/v2.33.0 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **added** — Add configuration option for User-Agent, used by calendar & news module - **added** — Add prettier plugin for nunjuck templates in linter - **added** — Add clear log for occupied port at startup - **changed** — Add CSS to prevent line breaking of sunset/sunrise time display in clock module - **changed** — Enhance system information logging format and include additional env and RAM details - **changed** — Add new file js/module_functions.js to move code used in several modules to one place - **changed** — Use global.root_path where possible and add tests for config:check - **changed** — Update defaultSymbol name in calendar module and the link to the icon search site - **changed** — Update dependencies including electron to v38 as well as github actions - **changed** — Update feels_like temperature calculation formula in weather module - **changed** — Update null value handling for weather type in weather module - **changed** — Update styles for weather and calendar in layout - **changed** — Use apparent_temperature data from openmeteo's hourly weather for current feelsLikeTemp in weather module - **changed** — Update envcanada Provider to use new database/URL schema for accessing weather data - **fixed** — Fixed broken unittest in calendar that only broke on the 1st of July and 1st of January - **fixed** — Fixed missing icons in clock when no other modules with icons is loaded - **fixed** — Fixed handling of empty values in weathergov providers handling of precipitationAmount in weather module - **fixed** — Fix regression handling of limit days in calendar module - **fixed** — Fixed regression of calendarfetcherutils.shouldEventBeExcluded in calendar module - **fixed** — Fixed socket.io timeout when server is slow to send notification, notification lost at client ##### [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).