MagicMirror² is an open source modular smart mirror platform. With a growing list of installable modules, the MagicMirror² allows you to convert your hallway or bathroom mirror into your personal assistant.
Thanks to: @bugsounet, @crazyscot, @illimarkangur, @jkriegshauser, @khassel, @KristjanESPERANTO, @Paranoid93, @rejas, @sdetweil and @vppencilsharpener.
This release marks the first release without Michael Teeuw (@michmich). A very special thanks to him for creating MagicMirror and leading the project for so many years.
For more info, please read the following post: A New Chapter for MagicMirror: The Community Takes the Lead.
eslint-plugin-package-json
to lint the package.json
files (#3368)showHumidity
config is now a string describing where to show this element. Supported values: "wind", "temp", "feelslike", "below", "none". (#3330)log.debug
to log.log
in app.js
where logLevel is not set because config is not loaded at this time (#3353)npm WARN <....>
on install (#3399)Thanks to: @bnitkin, @bugsounet, @dependabot, @jkriegshauser, @kaennchenstruggle, @KristjanESPERANTO and @Ybbet.
Special thanks to @khassel, @rejas and @sdetweil for taking over most (if not all) of the work on this release as project collaborators. This version would not be there without their effort. Thank you guys! You are awesome!
This release also marks the latest release by Michael Teeuw. For more info, please read the following post: A New Chapter for MagicMirror: The Community Takes the Lead.
html-to-text
instead of regex for transform descriptionELECTRON_ENABLE_GPU=1
on startup (#3226)config/config.js*
files)fetchInterval
and excludedEvents
were never used from single calendar config (#3297)Thanks to: @bugsounet, @dgoth, @dependabot, @kenzal, @Knapoc, @KristjanESPERANTO, @martingron, @NolanKingdon, @Paranoid93, @TeddyStarinvest and @Ybbet.
Special thanks to @khassel, @rejas and @sdetweil for taking over most (if not all) of the work on this release as project collaborators. This version would not be there without their effort. Thank you guys! You are awesome!
⚠️ This release needs nodejs version >=
v18
, older releases have reached end of life and will not work!
allowOverrideNotification
to weather module to enable sending current weather objects with the CURRENT_WEATHER_OVERRIDE
notification to supplement/replace the current weather displayedhide()
, show()
, updateDom()
reloadAfterServerRestart: true
in config.js
, per default false
(#3105)digest
authentication method from calendar module (which was already broken since release 2.15.0
)node-fetch
with internal fetch (#2649) and remove digest-fetch
package-lock.json
for releasefullscreen: false
) in config.js
(#3174)Uncaught SyntaxError: Identifier 'getCorsUrl' has already been declared (at utils.js:1:1)
when using clock
and weather
module (#3204)config.js
when running tests (#3201)Thanks to: @angeldeejay, @bugsounet, @buxxi, @CarJem, @dariom, @DaveChild, @dWoolridge, @eddiehung, @grenagit, @Hirschberger, @ismarslomic, @JakeBinney, @KristjanESPERANTO, @MagMar94, @naveensrinivasan, @nfogal, @oscarb, @OWL4C, @psieg, @rajniszp, @retroflex, @SkySails and @tomzt
Special thanks to @khassel, @rejas and @sdetweil for taking over most (if not all) of the work on this release as project collaborators. This version would not be there without their effort. Thank you guys! You are awesome!
Europe/Berlin
in unit tests (needed for new formatTime tests)sendUpdatesNotifications
feature. Broadcast update with UPDATES
notification to other modulesSCAN_UPDATES
notification from other modulesfetchInterval
of calendar in config.js.sample
to 7 days so we not to request example calendar too frequentlyThanks to: @angeldeejay, @buxxi, @CarJem, @dariom, @DaveChild, @dWoolridge, @grenagit, @Hirschberger, @KristjanESPERANTO, @MagMar94, @naveensrinivasan, @nfogal, @psieg, @rajniszp, @retroflex, @SkySails and @tomzt.
Special thanks to @khassel, @rejas and @sdetweil for taking over most (if not all) of the work on this release as project collaborators. This version would not be there without their effort. Thank you guys! You are awesome!
<modulename>.js
file is missing in module folder to get a hint in the logs (#2403)config.js
(#1756)pastDaysCount
to default calendar module to control of how many days past events should be displayedsendNotifications
in clock module (#3056)showPrecipitationAmount
to showPrecipitationProbability
.master
if there is a tag on a newer commitstylelint
dependencies, switch to stylelint-config-standard
and handle stylelint
issues, update main.css
matching new rulesThanks to: @angeldeejay, @buxxi, @dariom, @dWoolridge, @KristjanESPERANTO, @MagMar94, @naveensrinivasan, @retroflex, @SkySails and @Tom.
Special thanks to @khassel, @rejas and @sdetweil for taking over most (if not all) of the work on this release as project collaborators. This version would not be there without their effort. Thank you!
done()
in helper functions) and use es6 syntax in all testscors
-method in server.js
now supports sending and recieving HTTP headers…
by …
fab fa-facebook-square
works.useCorsProxy: false
(#2840)Special thanks to: @BKeyport, @buxxi, @davide125, @khassel, @kolbyjack, @krukle, @MikeBishop, @rejas, @sdetweil, @SkySails and @veeck
install-mm
(and install-mm:dev
) for simplifying mm installation (now: npm run install-mm
) and adding params --no-audit --no-fund --no-update-notifier
for less noise.showTimeToday
option in calendar module shows time for current-day events even if timeFormat
is "relative"
.currentweather
and weatherforecast
.DAYAFTERTOMORROW
from English.Special thanks to the following contributors: @eouia, @khassel, @kolbyjack, @KristjanESPERANTO, @nathannaveen, @naveensrinivasan, @rejas, @rohitdharavath and @sdetweil.
httpHeaders
used by helmet (see https://helmetjs.github.io/). You can now set own httpHeaders which will override the defaults in js/defauls.js
which is useful e.g. if you want to embed MagicMirror into annother website (solves #2847).electron
to v19 and other dependencies.node-fetch
library if used node version >= v18
.Special thanks to the following contributors: @10bias, @CFenner, @JHWelch, @k1rd3rf, @khassel, @kolbyjack, @krekos, @KristjanESPERANTO, @Nerfzooka, @oraclesean, @oscarb, @philnagel, @rejas, @sdetweil, @shin10, @SiderealArt and @Tom-Hirschberger.
absoluteDates
, providing an option to format weather forecast date output with either absolute or relative dates.absoluteDates
porperty.showTitleAsUrl
to newsfeed module. If set, the diplayed title is a link to the article which is useful when running in a browser and you want to read this article.http(s)://address:port/cors?url=https://whatever-to-proxy
can be used in other modules too.ELECTRON_DISABLE_GPU
which disable gpu under electron if set (fixes #2831).roboto-fontface-bower
replaced with fontsource
.electron
to v17, helmet
to v5 (use defaults of v4) and other dependenciescurrentweather
and weatherforecast
with dummy modules only displaying that they have to be replaced.node-ical
to v0.15 and added luxon
as dependency for not breaking the "no-optional" install (see #2718 and #2824).git commit
if husky
or npm
is not installed.Special thanks to the following contributors: @AmpioRosso, @eouia, @fewieden, @jupadin, @khassel, @kolbyjack, @KristjanESPERANTO, @MariusVaice, @rejas, @rico24 and @sdetweil.
updatenotification
module and switched to nunjuck template.electron
to e2e
.alert
module and switched to nunjuck template.electron
to e2e
.installers/mm.sh
.kr.json
to ko.json
. Use language code 'ko' instead of 'kr' for Korean language.feels_like
data from openweathermaps current weather being ignored (#2678).