Files
Karsten Hassel d05ea751d9 Release 2.35.0 (#4072)
## Release Notes
Thanks to: @angeldeejay, @in-voker, @JHWelch, @khassel,
@KristjanESPERANTO, @rejas, @sdetweil
> ⚠️ This release needs nodejs version >=22.21.1 <23 || >=24 (no change
to previous release)

[Compare to previous Release
v2.34.0](https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.34.0...v2.25.0)

> ⚠️ We introduced some internal changes with this release, please read
[this forum
post](https://forum.magicmirror.builders/topic/20138/upcoming-release-april-1-2026-breaking-changes-some-operational-changes)
before upgrading!

### [core]
- Prepare Release 2.35.0 (#4071)
- docs: add security policy and vulnerability reporting guidelines
(#4069)
- refactor: simplify internal `require()` calls (#4056)
- allow environment variables in cors urls (#4033)
- fix cors proxy getting binary data (e.g. png, webp) (#4030)
- fix: correct secret redaction and optimize loadConfig (#4031)
- change loading config.js, allow variables in config.js and try to
protect sensitive data (#4029)
- remove kioskmode (#4027)
- Add dark theme logo (#4026)
- move custom.css from css to config (#4020)
- move default modules from /modules/default to /defaultmodules (#4019)
- update node versions in workflows (#4018)
- [core] refactor: extract and centralize HTTP fetcher (#4016)
- fix systeminformation not displaying electron version (#4012)
- Update node-ical and support it's rrule-temporal changes (#4010)
- Change default start scripts from X11 to Wayland (#4011)
- refactor: unify favicon for index.html and Electron (#4006)
- [core] run systeminformation in subprocess so the info is always
displayed (#4002)
- set next release dev number (#4000)

### [dependencies]
- update dependencies (#4068)
- update dependencies incl. electron to v41 (#4058)
- chore: upgrade ESLint to v10 and fix newly surfaced issues (#4057)
- chore: update ESLint and plugins, simplify config, apply new rules
(#4052)
- chore: update dependencies + add exports, files, and sideEffects
fields to package.json (#4040)
- [core] refactor: enable ESLint rule require-await and handle detected
issues (#4038)
- Update node-ical and other deps (#4025)
- chore: update dependencies (#4021)
- chore(eslint): migrate from eslint-plugin-vitest to
@vitest/eslint-plugin and run rules only on test files (#4014)
- Update deps as requested by dependabot (#4008)
- update Collaboration.md and dependencies (#4001)

### [logging]
- refactor: further logger clean-up (#4050)
- Fix Node.js v25 logging prefix and modernize logger (#4049)

### [modules/calendar]
- fix(calendar): make showEnd behavior more consistent across time
formats (#4059)
- test(calendar): fix hardcoded date in event shape test (#4055)
- [calendar] refactor: delegate event expansion to node-ical's
expandRecurringEvent (#4047)
- calendar.js: remove useless hasCalendarURL function (#4028)
- fix(calendar): update to node-ical 0.23.1 and fix full-day recurrence
lookup (#4013)
- fix(calendar): correct day-of-week for full-day recurring events
across all timezones (#4004)

### [modules/newsfeed]
- fix(newsfeed): fix full article view and add framing check (#4039)
- [newsfeed] refactor: migrate to centralized HTTPFetcher (#4023)

### [modules/weather]
- fix(weather): fix openmeteo forecast stuck in the past (#4064)
- fix(weather): fix weathergov forecast day labels off by one (#4065)
- weather: fixes for templates (#4054)
- weather: add possibility to override njk's and css (#4051)
- Use getDateString in openmeteo (#4046)
- [weather] refactor: migrate to server-side providers with centralized
HTTPFetcher (#4032)
- [weather] feat: add Weather API Provider  (#4036)

### [testing]
- chore: remove obsolete Jest config and unit test global setup (#4044)
- replace template_spec test with config_variables test (#4034)
- refactor(clientonly): modernize code structure and add comprehensive
tests (#4022)
- Switch to undici Agent for HTTPS requests (#4015)
- chore: migrate CI workflows to ubuntu-slim for faster startup times
(#4007)

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Kristjan ESPERANTO <35647502+KristjanESPERANTO@users.noreply.github.com>
Co-authored-by: Bugsounet - Cédric <github@bugsounet.fr>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: sam detweiler <sdetweil@gmail.com>
Co-authored-by: Veeck <github@veeck.de>
Co-authored-by: veeck <gitkraken@veeck.de>
Co-authored-by: Magnus <34011212+MagMar94@users.noreply.github.com>
Co-authored-by: Ikko Eltociear Ashimine <eltociear@gmail.com>
Co-authored-by: DevIncomin <56730075+Developer-Incoming@users.noreply.github.com>
Co-authored-by: Nathan <n8nyoung@gmail.com>
Co-authored-by: mixasgr <mixasgr@users.noreply.github.com>
Co-authored-by: Savvas Adamtziloglou <savvas-gr@greeklug.gr>
Co-authored-by: Konstantinos <geraki@gmail.com>
Co-authored-by: OWL4C <124401812+OWL4C@users.noreply.github.com>
Co-authored-by: BugHaver <43462320+bughaver@users.noreply.github.com>
Co-authored-by: BugHaver <43462320+lsaadeh@users.noreply.github.com>
Co-authored-by: Koen Konst <koenspero@gmail.com>
Co-authored-by: Koen Konst <c.h.konst@avisi.nl>
Co-authored-by: dathbe <github@beffa.us>
Co-authored-by: Marcel <m-idler@users.noreply.github.com>
Co-authored-by: Kevin G. <crazylegstoo@gmail.com>
Co-authored-by: Jboucly <33218155+jboucly@users.noreply.github.com>
Co-authored-by: Jboucly <contact@jboucly.fr>
Co-authored-by: Jarno <54169345+jarnoml@users.noreply.github.com>
Co-authored-by: Jordan Welch <JordanHWelch@gmail.com>
Co-authored-by: Blackspirits <blackspirits@gmail.com>
Co-authored-by: Samed Ozdemir <samed@xsor.io>
Co-authored-by: in-voker <58696565+in-voker@users.noreply.github.com>
Co-authored-by: Andrés Vanegas Jiménez <142350+angeldeejay@users.noreply.github.com>
2026-04-01 12:35:16 +02:00

2 lines
7.2 KiB
XML

<svg id="Hour_Markers_-_Digits" data-name="Hour Markers - Digits" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 250 250"><defs><style>.cls-1{fill:#fff;stroke-width:1.15px;}.cls-1,.cls-2{stroke:#fff;stroke-miterlimit:10;}.cls-2{fill:none;stroke-linecap:round;stroke-width:0.47px;}</style></defs><title>face-003</title><path class="cls-1" d="M117.49,5l-2.84,1.1-0.49-1.42,4.9-1.87V17.3h3.33v1.4h-8.81V17.3h3.92V5Z"/><path class="cls-1" d="M127.64,17.3l5.76-7.44A4.44,4.44,0,0,0,134.7,7a2.4,2.4,0,0,0-2.5-2.54c-1.84,0-2.77,1.45-3,3.12l-1.54-.21c0.37-2.59,1.79-4.38,4.55-4.38a3.79,3.79,0,0,1,4.13,4,6.17,6.17,0,0,1-1.63,3.8l-5.08,6.6h6.69v1.4h-8.67V17.3Z"/><path class="cls-1" d="M182.09,20.46l-2.84,1.1-0.49-1.42,4.9-1.87V32.73H187v1.4h-8.81v-1.4h3.92V20.46Z"/><path class="cls-1" d="M220.42,74.88l5.76-7.44a4.44,4.44,0,0,0,1.31-2.91A2.4,2.4,0,0,0,225,62c-1.84,0-2.77,1.45-3,3.12l-1.54-.21c0.37-2.59,1.79-4.38,4.55-4.38a3.79,3.79,0,0,1,4.13,4,6.17,6.17,0,0,1-1.63,3.8l-5.08,6.6h6.69v1.4h-8.67v-1.4Z"/><path class="cls-1" d="M237.64,124.46l4.59-4.73h-6.48v-1.4h8.63v1.4l-4.31,4.41c2.42,0,4.5,1.38,4.5,4a5.42,5.42,0,0,1-2.82,4.73c-1.28.79-2.8,1.26-5.78,1.26v-1.47c2.56,0,3.66-.28,4.48-0.75a4.41,4.41,0,0,0,2.5-3.73c0-2-1.75-2.61-3.47-2.61a16,16,0,0,0-1.82.19v-1.26Z"/><path class="cls-1" d="M220.35,187.58l2.31-12,1.56,0.42-2,10.14h4.22v-7.9H228v7.9h1.24v1.4H228v3.89h-1.56v-3.89h-6.09Z"/><path class="cls-1" d="M178.82,218.09h8v1.4h-6.41v4.78a6.61,6.61,0,0,1,2.31-.49,4,4,0,0,1,4.22,4.13,5.61,5.61,0,0,1-2.75,4.78c-1.21.77-2.8,1.17-5.83,1.17v-1.47a10.26,10.26,0,0,0,4.55-.68,4.38,4.38,0,0,0,2.4-3.8,2.53,2.53,0,0,0-2.75-2.66,5.36,5.36,0,0,0-2.59.82h-1.12v-8Z"/><path class="cls-1" d="M127.83,235.93a3.8,3.8,0,0,0-2.49-1.17c-2.82,0-3,3.59-3.08,5.67a4.56,4.56,0,0,1,3.1-1.26c2.94,0,4,2.42,4,5,0,2.77-1.49,5.11-4.48,5.11-4,0-4.27-4.85-4.27-7.81,0-3.17.4-8.16,4.64-8.16a5.09,5.09,0,0,1,3.45,1.35ZM125,247.8c1.91,0,2.73-1.68,2.73-3.57s-0.54-3.59-2.61-3.59a4.47,4.47,0,0,0-2.87,1.52C122.28,247,123.58,247.8,125,247.8Z"/><path class="cls-1" d="M70.2,218.51H63.79v-1.4h8.67L65.4,233l-1.4-.63Z"/><path class="cls-1" d="M29.71,187.55a4.17,4.17,0,0,1-4.45,4.17,4.17,4.17,0,0,1-4.45-4.17c0-2.17,1.35-3.19,3.12-4.08-1.42-.89-2.61-2-2.61-3.75a3.94,3.94,0,1,1,7.88,0c0,1.8-1.17,2.87-2.59,3.75C28.36,184.35,29.71,185.38,29.71,187.55Zm-7.27.07a2.64,2.64,0,0,0,2.82,2.63,2.64,2.64,0,0,0,2.82-2.63c0-1.84-1.45-2.5-2.82-3.36C23.88,185.12,22.43,185.78,22.43,187.62Zm5.13-7.9a2.32,2.32,0,1,0-4.62,0c0,1.56,1.17,2.17,2.31,2.94C26.4,181.88,27.56,181.28,27.56,179.71Z"/><path class="cls-1" d="M6.93,131.49a3.75,3.75,0,0,0,2.52,1.17c2.82,0,3-3.59,3.05-5.67a4.5,4.5,0,0,1-3.08,1.26c-2.94,0-4-2.4-4-5,0-2.75,1.47-5.11,4.45-5.11,4,0,4.27,4.85,4.27,7.81,0,3.17-.4,8.16-4.64,8.16A5.13,5.13,0,0,1,6,132.77Zm2.84-11.87c-1.91,0-2.73,1.68-2.73,3.59s0.51,3.57,2.61,3.57a4.49,4.49,0,0,0,2.84-1.49C12.5,120.51,11.24,119.62,9.78,119.62Z"/><path class="cls-1" d="M21.75,62.66l-2.84,1.1-0.49-1.42,4.9-1.87V74.92h3.33v1.4H17.84v-1.4h3.92V62.66Z"/><path class="cls-1" d="M40.57,68.56c0,2.5.42,8-4.34,8s-4.34-5.29-4.34-8c0-3.66-.19-8,4.34-8C41.18,60.56,40.57,66.81,40.57,68.56Zm-7,0c0,6.11,1.12,6.5,2.7,6.5,1.8,0,2.7-.72,2.7-6.5,0-6-1-6.53-2.7-6.53C33.3,62,33.53,65.46,33.53,68.56Z"/><path class="cls-1" d="M61.91,20.49l-2.84,1.1-0.49-1.42,4.9-1.87V32.75H66.8v1.4H58v-1.4h3.92V20.49Z"/><path class="cls-1" d="M75.9,20.49l-2.84,1.1-0.49-1.42,4.9-1.87V32.75h3.33v1.4H72v-1.4H75.9V20.49Z"/><line class="cls-2" x1="134.41" y1="35.49" x2="133.65" y2="42.71"/><line class="cls-2" x1="143.71" y1="36.97" x2="142.2" y2="44.07"/><line class="cls-2" x1="152.81" y1="39.4" x2="150.57" y2="46.31"/><line class="cls-2" x1="161.61" y1="42.78" x2="158.65" y2="49.41"/><line class="cls-2" x1="170" y1="47.06" x2="166.37" y2="53.35"/><line class="cls-2" x1="177.9" y1="52.19" x2="173.63" y2="58.06"/><line class="cls-2" x1="185.22" y1="58.12" x2="180.36" y2="63.51"/><line class="cls-2" x1="191.88" y1="64.78" x2="186.49" y2="69.64"/><line class="cls-2" x1="197.81" y1="72.1" x2="191.94" y2="76.37"/><line class="cls-2" x1="202.94" y1="80" x2="196.65" y2="83.63"/><line class="cls-2" x1="207.22" y1="88.39" x2="200.59" y2="91.35"/><line class="cls-2" x1="210.6" y1="97.19" x2="203.69" y2="99.43"/><line class="cls-2" x1="213.03" y1="106.29" x2="205.93" y2="107.8"/><line class="cls-2" x1="214.51" y1="115.59" x2="207.29" y2="116.35"/><line class="cls-2" x1="215" y1="125" x2="207.74" y2="125"/><line class="cls-2" x1="214.51" y1="134.41" x2="207.29" y2="133.65"/><line class="cls-2" x1="213.03" y1="143.71" x2="205.93" y2="142.2"/><line class="cls-2" x1="210.6" y1="152.81" x2="203.69" y2="150.57"/><line class="cls-2" x1="207.22" y1="161.61" x2="200.59" y2="158.65"/><line class="cls-2" x1="202.94" y1="170" x2="196.65" y2="166.37"/><line class="cls-2" x1="197.81" y1="177.9" x2="191.94" y2="173.63"/><line class="cls-2" x1="191.88" y1="185.22" x2="186.49" y2="180.36"/><line class="cls-2" x1="185.22" y1="191.88" x2="180.36" y2="186.49"/><line class="cls-2" x1="177.9" y1="197.81" x2="173.63" y2="191.94"/><line class="cls-2" x1="170" y1="202.94" x2="166.37" y2="196.65"/><line class="cls-2" x1="161.61" y1="207.22" x2="158.65" y2="200.59"/><line class="cls-2" x1="152.81" y1="210.6" x2="150.57" y2="203.69"/><line class="cls-2" x1="143.71" y1="213.03" x2="142.2" y2="205.93"/><line class="cls-2" x1="134.41" y1="214.51" x2="133.65" y2="207.29"/><line class="cls-2" x1="125" y1="215" x2="125" y2="207.74"/><line class="cls-2" x1="115.59" y1="214.51" x2="116.35" y2="207.29"/><line class="cls-2" x1="106.29" y1="213.03" x2="107.8" y2="205.93"/><line class="cls-2" x1="97.19" y1="210.6" x2="99.43" y2="203.69"/><line class="cls-2" x1="88.39" y1="207.22" x2="91.35" y2="200.59"/><line class="cls-2" x1="80" y1="202.94" x2="83.63" y2="196.65"/><line class="cls-2" x1="72.1" y1="197.81" x2="76.37" y2="191.94"/><line class="cls-2" x1="64.78" y1="191.88" x2="69.64" y2="186.49"/><line class="cls-2" x1="58.12" y1="185.22" x2="63.51" y2="180.36"/><line class="cls-2" x1="52.19" y1="177.9" x2="58.06" y2="173.63"/><line class="cls-2" x1="47.06" y1="170" x2="53.35" y2="166.37"/><line class="cls-2" x1="42.78" y1="161.61" x2="49.41" y2="158.65"/><line class="cls-2" x1="39.4" y1="152.81" x2="46.31" y2="150.57"/><line class="cls-2" x1="36.97" y1="143.71" x2="44.07" y2="142.2"/><line class="cls-2" x1="35.49" y1="134.41" x2="42.71" y2="133.65"/><line class="cls-2" x1="35" y1="125" x2="42.26" y2="125"/><line class="cls-2" x1="35.49" y1="115.59" x2="42.71" y2="116.35"/><line class="cls-2" x1="36.97" y1="106.29" x2="44.07" y2="107.8"/><line class="cls-2" x1="39.4" y1="97.19" x2="46.31" y2="99.43"/><line class="cls-2" x1="42.78" y1="88.39" x2="49.41" y2="91.35"/><line class="cls-2" x1="47.06" y1="80" x2="53.35" y2="83.63"/><line class="cls-2" x1="52.19" y1="72.1" x2="58.06" y2="76.37"/><line class="cls-2" x1="58.12" y1="64.78" x2="63.51" y2="69.64"/><line class="cls-2" x1="64.78" y1="58.12" x2="69.64" y2="63.51"/><line class="cls-2" x1="72.1" y1="52.19" x2="76.37" y2="58.06"/><line class="cls-2" x1="80" y1="47.06" x2="83.63" y2="53.35"/><line class="cls-2" x1="88.39" y1="42.78" x2="91.35" y2="49.41"/><line class="cls-2" x1="97.19" y1="39.4" x2="99.43" y2="46.31"/><line class="cls-2" x1="106.29" y1="36.97" x2="107.8" y2="44.07"/><line class="cls-2" x1="115.59" y1="35.49" x2="116.35" y2="42.71"/><line class="cls-2" x1="125" y1="35" x2="125" y2="42.26"/></svg>