<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[v2.29.0]]></title><description><![CDATA[<p dir="auto"><a href="https://github.com/MagicMirrorOrg/MagicMirror/releases/tag/v2.29.0" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/MagicMirrorOrg/MagicMirror/releases/tag/v2.29.0</a></p>
<h2>[2.29.0] - 2024-10-01</h2>
<p dir="auto">Thanks to: <a class="plugin-mentions-user plugin-mentions-a" href="/user/bugsounet" aria-label="Profile: bugsounet">@<bdi>bugsounet</bdi></a>, <a class="plugin-mentions-user plugin-mentions-a" href="/user/dkallen78" aria-label="Profile: dkallen78">@<bdi>dkallen78</bdi></a>, @jargordon, @khassel, <a class="plugin-mentions-user plugin-mentions-a" href="/user/kristjanesperanto" aria-label="Profile: KristjanESPERANTO">@<bdi>KristjanESPERANTO</bdi></a>, <a class="plugin-mentions-user plugin-mentions-a" href="/user/marclandis" aria-label="Profile: MarcLandis">@<bdi>MarcLandis</bdi></a>, <a class="plugin-mentions-user plugin-mentions-a" href="/user/rejas" aria-label="Profile: rejas">@<bdi>rejas</bdi></a>, @ryan-d-williams, <a class="plugin-mentions-user plugin-mentions-a" href="/user/sdetweil" aria-label="Profile: sdetweil">@<bdi>sdetweil</bdi></a>, @skpanagiotis.</p>
<blockquote>
<p dir="auto">⚠️ This release needs nodejs version <code>v20</code> or <code>v22</code>, minimum version is <code>v20.9.0</code></p>
</blockquote>
<h3>Added</h3>
<ul>
<li>[compliments] Added support for cron type date/time format entries mm hh DD MM dow (minutes/hours/days/months and day of week) see <a href="https://crontab.cronhub.io" target="_blank" rel="noopener noreferrer nofollow ugc">https://crontab.cronhub.io</a> for construction (#3481)</li>
<li>[core] Check config at every start of MagicMirror² (#3450)</li>
<li>[core] Add spelling check (cspell): <code>npm run test:spelling</code> and handle spelling issues (#3544)</li>
<li>[core] removed <code>config.paths.vendor</code> (could not work because <code>vendor</code> is hardcoded in <code>index.html</code>), renamed <code>config.paths.modules</code> to <code>config.foreignModulesDir</code>, added variable <code>MM_CUSTOMCSS_FILE</code> which - if set - overrides <code>config.customCss</code>, added variable <code>MM_MODULES_DIR</code> which - if set - overrides <code>config.foreignModulesDir</code>, added test for <code>MM_MODULES_DIR</code> (#3530)</li>
<li>[core] elements are now removed from <code>index.html</code> when loading script or stylesheet files fails</li>
<li>[core] Added <code>MODULE_DOM_UPDATED</code> notification each time the DOM is re-rendered via <code>updateDom</code> (#3534)</li>
<li>[tests] added minimal needed node version to tests (currently v20.9.0) to avoid releases with wrong node version info</li>
<li>[tests] Added <code>node-libgpiod</code> library to electron-rebuild tests (#3563)</li>
</ul>
<h3>Removed</h3>
<ul>
<li>[core] removed installer only files (#3492)</li>
<li>[core] removed raspberry object from systeminformation (#3505)</li>
<li>[linter] removed <code>eslint-plugin-import</code>, because it doesn’t support ESLint v9. We will reenter it later when it does.</li>
<li>[tests] removed <code>onoff</code> library from electron-rebuild tests (#3563)</li>
</ul>
<h3>Updated</h3>
<ul>
<li>[weather] Updated <code>apiVersion</code> default from 2.5 to 3.0 (#3424)</li>
<li>[core] Updated dependencies including stylistic-eslint</li>
<li>[core] nail down <code>node-ical</code> version to <code>0.18.0</code> with exception <code>allow-ghsas: GHSA-8hc4-vh64-cxmj</code> in <code>dep-review.yaml</code> (which should removed after next <code>node-ical</code> update)</li>
<li>[core] Updated SocketIO catch all to new API</li>
<li>[core] Allow custom modules positions by scanning index.html for the defined regions, instead of hard coded (PR #3518 fixes issue #3504)</li>
<li>[core] Detail optimizations in <code>config_check.js</code></li>
<li>[core] Updated minimal needed node version in <code>package.json</code> (currently v20.9.0) (#3559) and except for v21 (no security updates) (#3561)</li>
<li>[linter] Switch to ESLint v9 and flat config and replace <code>eslint-plugin-unicorn</code> by <code>@eslint/js</code></li>
<li>[core] fix discovering module positions twice after #3450</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed <code>checks</code> badge in <a href="http://README.md" target="_blank" rel="noopener noreferrer nofollow ugc">README.md</a></li>
<li>[weather] Fixed issue with the UK Met Office provider following a change in their API paths and header info.</li>
<li>[core] add check for node_helper loading for multiple instances of same module (#3502)</li>
<li>[weather] Fixed issue for respecting unit config on broadcasted notifications</li>
<li>[tests] Fixes calendar test by moving it from e2e to electron with fixed date (#3532)</li>
<li>[calendar] fixed sliceMultiDayEvents getting wrong count and displaying incorrect entries, Europe/Berlin (#3542)</li>
<li>[tests] ignore <code>js/positions.js</code> when linting (this file is created at runtime)</li>
<li>[calendar] fixed sliceMultiDayEvents showing previous day without config enabled</li>
</ul>
]]></description><link>https://forum.magicmirror.builders/topic/19019/v2-29-0</link><generator>RSS for Node</generator><lastBuildDate>Wed, 16 Sep 2026 19:18:49 GMT</lastBuildDate><atom:link href="https://forum.magicmirror.builders/topic/19019.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 30 Sep 2024 22:13:11 GMT</pubDate><ttl>60</ttl></channel></rss>