https://github.com/MagicMirrorOrg/MagicMirror/releases/tag/v2.29.0
[2.29.0] - 2024-10-01
Thanks to: @bugsounet, @dkallen78, @jargordon, @khassel, @KristjanESPERANTO, @MarcLandis, @rejas, @ryan-d-williams, @sdetweil, @skpanagiotis.
⚠️ This release needs nodejs version v20 or v22, minimum version is v20.9.0
Added
[compliments] Added support for cron type date/time format entries mm hh DD MM dow (minutes/hours/days/months and day of week) see https://crontab.cronhub.io for construction (#3481)
[core] Check config at every start of MagicMirror² (#3450)
[core] Add spelling check (cspell): npm run test:spelling and handle spelling issues (#3544)
[core] removed config.paths.vendor (could not work because vendor is hardcoded in index.html), renamed config.paths.modules to config.foreignModulesDir, added variable MM_CUSTOMCSS_FILE which - if set - overrides config.customCss, added variable MM_MODULES_DIR which - if set - overrides config.foreignModulesDir, added test for MM_MODULES_DIR (#3530)
[core] elements are now removed from index.html when loading script or stylesheet files fails
[core] Added MODULE_DOM_UPDATED notification each time the DOM is re-rendered via updateDom (#3534)
[tests] added minimal needed node version to tests (currently v20.9.0) to avoid releases with wrong node version info
[tests] Added node-libgpiod library to electron-rebuild tests (#3563)
Removed
[core] removed installer only files (#3492)
[core] removed raspberry object from systeminformation (#3505)
[linter] removed eslint-plugin-import, because it doesn’t support ESLint v9. We will reenter it later when it does.
[tests] removed onoff library from electron-rebuild tests (#3563)
Updated
[weather] Updated apiVersion default from 2.5 to 3.0 (#3424)
[core] Updated dependencies including stylistic-eslint
[core] nail down node-ical version to 0.18.0 with exception allow-ghsas: GHSA-8hc4-vh64-cxmj in dep-review.yaml (which should removed after next node-ical update)
[core] Updated SocketIO catch all to new API
[core] Allow custom modules positions by scanning index.html for the defined regions, instead of hard coded (PR #3518 fixes issue #3504)
[core] Detail optimizations in config_check.js
[core] Updated minimal needed node version in package.json (currently v20.9.0) (#3559) and except for v21 (no security updates) (#3561)
[linter] Switch to ESLint v9 and flat config and replace eslint-plugin-unicorn by @eslint/js
[core] fix discovering module positions twice after #3450
Fixed
Fixed checks badge in README.md
[weather] Fixed issue with the UK Met Office provider following a change in their API paths and header info.
[core] add check for node_helper loading for multiple instances of same module (#3502)
[weather] Fixed issue for respecting unit config on broadcasted notifications
[tests] Fixes calendar test by moving it from e2e to electron with fixed date (#3532)
[calendar] fixed sliceMultiDayEvents getting wrong count and displaying incorrect entries, Europe/Berlin (#3542)
[tests] ignore js/positions.js when linting (this file is created at runtime)
[calendar] fixed sliceMultiDayEvents showing previous day without config enabled