Group Details Private

Core Contributors

People who contributed to the Core of MagicMirror²

  • v2.26.0

    [2.26.0] - 01-01-2024

    https://github.com/MichMich/MagicMirror/releases/tag/v2.26.0

    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.

    Added

    • Added update notification updater (for 3rd party modules)
    • Added node 21 to the test matrix
    • Added transform object to calendar:customEvents
    • Added ESLint rules for jest (including jest/expect-expect and jest/no-done-callback)

    Removed

    • Removed Codecov workflow (not working anymore, other workflow required) (#3107)
    • Removed titleReplace from calendar, replaced + extended by customEvents (backward compatibility included) (#3249)
    • Removed failing unit test (#3254)
    • Removed some unused variables

    Updated

    • Update electron to v27 and update other dependencies as well as github actions
    • Update newsfeed: Use html-to-text instead of regex for transform description
    • Review ESLint config (#3269)
    • Updated dependencies
    • Clock module: optionally display current moon phase in addition to rise/set times
    • electron is now per default started without gpu, if needed it must be enabled with new env var ELECTRON_ENABLE_GPU=1 on startup (#3226)
    • Replace prettier by stylistic in ESLint config to lint JavaScript (and disable some rules for config/config.js* files)
    • Update node-ical to v0.17.1 and fix tests

    Fixed

    • Avoid fade out/in on updateDom when many calendars are used
    • Fix the option eventClass on customEvents.
    • Fix yr API version in locationforecast and sunrise call (#3227)
    • Fix cloneObject() function to respect RegExp (#3237)
    • Fix newsfeed module for feeds using “a10:updated” tag (#3238)
    • Fix issue template (#3167)
    • Fix #3256 filter out bad results from rrule.between
    • Fix calendar events sometimes not respecting deleted events (#3250)
    • Fix electron loadurl locally on Windows when address “0.0.0.0” (#2550)
    • Fix updatanotification (update_helper.js): catch error if reponse is not an JSON format (check PM2)
    • Fix missing typeof in calendar module
    • Fix style issues after prettier update
    • Fix calendar test (#3291) by moving “Exdate check” from e2e to electron to run on a Thursday
    • Fix calendar config params fetchInterval and excludedEvents were never used from single calendar config (#3297)
    • Fix MM_PORT variable not used in electron and allow full path for MM_CONFIG_FILE variable (#3302)
    posted in MagicMirror
  • A New Chapter for MagicMirror: The Community Takes the Lead

    Dear MagicMirror Community,

    As we step into 2024, MagicMirror marks a significant milestone - a decade of innovation, collaboration, and growth. Ten years ago, I embarked on an incredible journey with the inception of the MagicMirror project on GitHub. It has been an honor and a privilege to witness this project evolve, driven by the passion and dedication of a vibrant and creative community.

    However, life is an ever-changing tapestry, and with new priorities and paths unfolding for me, the time has come to make a pivotal decision. Recognizing that my ability to invest the energy and attention MagicMirror deserves is diminishing, I have decided that it is in the best interest of the project to transition its stewardship to those who can carry its legacy forward with renewed vigor and vision.

    Today, I am announcing the transfer of the MagicMirror repository to a new GitHub organization. This move is not an end, but rather a new beginning - a step towards transforming MagicMirror into a fully community-led project. It is my firm belief that this transition will open new avenues for innovation and growth, ensuring that MagicMirror continues to thrive and adapt in the ever-evolving tech landscape.

    I want to extend my heartfelt gratitude to everyone who has contributed to MagicMirror over the past decade. Your contributions, big and small, have been the lifeblood of this project, and I am deeply thankful for your support and enthusiasm.

    As we move forward, I want to assure you that this transition will be smooth and thoughtful. The repository’s shift to a new organization is just the first step in this transformation. In the future, we may also transition other components of the project, such as the website, forum, and servers, to ensure that MagicMirror continues to be supported and nurtured by its community.

    I am excited to see where you, the community, will take MagicMirror next. Here’s to a future filled with innovation, collaboration, and success.

    Thank you for being a part of this incredible journey.

    Warm regards,

    Michael Teeuw

    posted in MagicMirror
  • v2.25.0

    [2.25.0] - 2023-10-01

    https://github.com/MichMich/MagicMirror/releases/tag/v2.25.0

    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!

    Added

    • Added UV Index support to OpenWeatherMap
    • Added ‘hideDuplicates’ flag to the calendar module
    • Added allowOverrideNotification to weather module to enable sending current weather objects with the CURRENT_WEATHER_OVERRIDE notification to supplement/replace the current weather displayed
    • Added optional AnimateCSS animate for hide(), show(), updateDom()
    • Added AnimateIn and animateOut in module config definition
    • Apply AnimateIn rules on the first start
    • Added automatic client page reload when server was restarted by setting reloadAfterServerRestart: true in config.js, per default false (#3105)
    • Added eventClass option for customEvents on the default calendar
    • Added AnimateCSS integration in tests suite (#3206)
    • Added npm dependabot [Reserved to developer] (#3210)
    • Added improved logging for calendar (#3110)

    Removed

    • Breaking Change: Removed digest authentication method from calendar module (which was already broken since release 2.15.0)

    Updated

    • Update roboto fonts to version v5
    • Update issue template
    • Update dev/dependencies incl. electron to v26
    • Replace pretty-quick by lint-staged (https://github.com/azz/pretty-quick/issues/164)
    • Update engine node >=18. v16 reached it’s end of life. (#3170)
    • Update typescript definition for modules
    • Cleaned up nunjuck templates
    • Replace node-fetch with internal fetch (#2649) and remove digest-fetch
    • Update the French translation according to the English file.
    • Update dependabot incl. vendor/fonts (monthly check)
    • Renew package-lock.json for release

    Fixed

    • Fix engine check on npm install (#3135)
    • Fix undefined formatTime method in clock module (#3143)
    • Fix clientonly startup fails after async added (#3151)
    • Fix electron width/heigth when using xrandr under bullseye
    • Fix time issue with certain recurring events in calendar module
    • Fix ipWhiteList test (#3179)
    • Fix newsfeed: Convert HTML entities, codes and tag in description (#3191)
    • Respect width/height (no fullscreen) if set in electronOptions (together with fullscreen: false) in config.js (#3174)
    • Fix: AnimateCSS merge hide() and show() animated css class when we do multiple call
    • Fix Uncaught SyntaxError: Identifier 'getCorsUrl' has already been declared (at utils.js:1:1) when using clock and weather module (#3204)
    • Fix overriding config.js when running tests (#3201)
    • Fix issue in weathergov provider with probability of precipitation not showing up on hourly or daily forecast
    posted in MagicMirror
  • v2.24.0

    [2.24.0] - 2023-07-01

    https://github.com/MichMich/MagicMirror/releases/tag/v2.24.0

    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!

    Added

    • Added UV Index to hourly and current Weather, with support for Openmeteo
    • Added tests for serveronly
    • Set Timezone Europe/Berlin in unit tests (needed for new formatTime tests)
    • Added no-param-reassign eslint rule and fix warnings
    • updatenotification: Added sendUpdatesNotifications feature. Broadcast update with UPDATES notification to other modules
    • updatenotification: allow force scanning with SCAN_UPDATES notification from other modules
    • Added per-calendar fetchInterval

    Removed

    • Removed unneeded (and unwanted) ‘.’ after the year in calendar repeatingCountTitle (#2896, second attempt …)

    Updated

    • Added support for precipitation probability with openmeteo weather-provider
    • Update electron to v25.2 and other dependencies
    • Use node v20 in github workflow (replacing v14)
    • Refactor formatTime into common util function for default modules
    • Refactor some calendar methods into own class and added tests for them
    • Split install and run commands in github actions
    • Changed fetchInterval of calendar in config.js.sample to 7 days so we not to request example calendar too frequently
    • Changed default calendar fetchInterval to one hour
    • Changed calendar url in sample config

    Fixed

    • Fix envcanada hourly forecast time (#3080)
    • Fix electron not running under windows after async changes (#3083)
    • Fix style issues after eslint-plugin-jsdoc update
    • Fix don’t filter out ongoing full day events (#3095)
    • Fix date not shown when clock in analog mode (#3100)
    • Fix envcanada today percentage-of-precipitation (#3106)
    • Fix updatenotification where no branch is checked out but e.g. a version tag (#3130)
    posted in MagicMirror
  • v2.23.0

    [2.23.0] - 2023-04-04

    https://github.com/MichMich/MagicMirror/releases/tag/v2.23.0

    Thanks 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!

    Added

    • Added increments for hourly forecasts in weather module (#2996)
    • Added tests for hourly weather forecast
    • Added possibility to ignore MagicMirror repo in updatenotification module
    • Added Pirate Weather as new weather provider (#3005)
    • Added possibility to use your own templates in Alert module
    • Added error message if <modulename>.js file is missing in module folder to get a hint in the logs (#2403)
    • Added possibility to use environment variables in config.js (#1756)
    • Added option pastDaysCount to default calendar module to control of how many days past events should be displayed
    • Added thai language to alert module
    • Added option sendNotifications in clock module (#3056)

    Removed

    • Removed darksky weather provider
    • Removed unneeded (and unwanted) ‘.’ after the year in calendar repeatingCountTitle (#2896)

    Updated

    • Use develop as target branch for dependabot
    • Update issue template, contributing doc and sample config
    • The weather modules clearly separates precipitation amount and probability (risk of rain/snow)
      • This requires all providers that only supports probability to change the config from showPrecipitationAmount to showPrecipitationProbability.
    • Update tests for weather and calendar module
    • Changed updatenotification module for MagicMirror repo only: Send only notifications for master if there is a tag on a newer commit
    • Update dates in Calendar widgets every minute
    • Cleanup jest coverage for patches
    • Update stylelint dependencies, switch to stylelint-config-standard and handle stylelint issues, update main.css matching new rules
    • Update Eslint config, add new rule and handle issue
    • Convert lots of callbacks to async/await
    • Revise require imports (#3071 and #3072)

    Fixed

    • Fix wrong day labels in envcanada forecast (#2987)
    • Fix for missing default class name prefix for customEvents in calendar
    • Fix electron flashing white screen on startup (#1919)
    • Fix weathergov provider hourly forecast (#3008)
    • Fix message display with HTML code into alert module (#2828)
    • Fix typo in french translation
    • Yr wind direction is no longer inverted
    • Fix async node_helper stopping electron start (#2487)
    • The wind direction arrow now points in the direction the wind is flowing, not into the wind (#3019)
    • Fix precipitation css styles and rounding value
    • Fix wrong vertical alignment of calendar title column when wrapEvents is true (#3053)
    • Fix empty news feed stopping the reload forever
    • Fix e2e tests (failed after async changes) by running calendar and newsfeed tests last
    • Lint: Use template literals instead of string concatenation
    • Fix default alert module to render HTML for title and message
    • Fix Open-Meteo wind speed units
    posted in MagicMirror
  • v2.22.0

    [2.22.0] - 2023-01-01

    https://github.com/MichMich/MagicMirror/releases/tag/v2.22.0

    Thanks 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!

    Added

    • Added test for remoteFile option in compliments module
    • Added hourlyWeather functionality to Weather.gov weather provider
    • Removed weatherEndpoint definition from weathergov.js (not used)
    • Added css class names “today” and “tomorrow” for default calendar
    • Added Collaboration.md
    • Added new github action for dependency review (#2862)
    • Added a WeatherProvider for Open-Meteo
    • Added Yr as a weather provider
    • Added config options “ignoreXOriginHeader” and “ignoreContentSecurityPolicy”

    Removed

    • Removed usage of internal fetch function of node until it is more stable

    Updated

    • Cleaned up test directory (#2937) and jest config (#2959)
    • Wait for all modules to start before declaring the system ready (#2487)
    • Updated e2e tests (moved done() in helper functions) and use es6 syntax in all tests
    • Updated da translation
    • Rework weather module
      • Make sure smhi provider api only gets a maximum of 6 digits coordinates (#2955)
      • Use fetch instead of XMLHttpRequest in weatherprovider (#2935)
      • Reworked how weatherproviders handle units (#2849)
      • Use unix() method for parsing times, fix suntimes on the way (#2950)
      • Refactor conversion functions into utils class (#2958)
    • The cors-method in server.js now supports sending and recieving HTTP headers
    • Replace &hellip; by
    • Cleanup compliments module
    • Updated dependencies including electron to v22 (#2903)

    Fixed

    • Correctly show apparent temperature in SMHI weather provider
    • Ensure updatenotification module isn’t shown when local is ahead of remote
    • Handle node_helper errors during startup (#2944)
    • Possibility to change FontAwesome class in calendar, so icons like fab fa-facebook-square works.
    • Fix cors problems with newsfeed articles (as far as possible), allow disabling cors per feed with option useCorsProxy: false (#2840)
    • Tests not waiting for the application to start and stop before starting the next test
    • Fix electron tests failing sometimes in github workflow
    • Fixed gap in clock module when displayed on the left side with displayType=digital
    • Fixed playwright issue by upgrading to v1.29.1 (#2969)
    posted in MagicMirror
  • v2.21.0

    [2.21.0] - 2022-10-01

    https://github.com/MichMich/MagicMirror/releases/tag/v2.21.0

    Special thanks to: @BKeyport, @buxxi, @davide125, @khassel, @kolbyjack, @krukle, @MikeBishop, @rejas, @sdetweil, @SkySails and @veeck

    Added

    • Possibility to fetch calendars through socket notifications.
    • New scripts 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.
    • New showTimeToday option in calendar module shows time for current-day events even if timeFormat is "relative".
    • Add hourly forecasts, apparent temperature & custom location name to SMHI weather provider.

    Removed

    • Old weather deprecated modules currentweather and weatherforecast.

    Updated

    • Removed DAYAFTERTOMORROW from English.
    • Update dependencies.
    • Updated jsdoc.
    • Updated font tree to use variables consistantly.
    • Removed deprecated Docker Repository from issue template.

    Fixed

    • Broadcast all calendar events while still honoring global and per-calendar maximumEntries.
    • Respect rss ttl provided by newsfeed (#2883).
    • Fix multi day calendar events always presented as “(1/X)” instead of the amount of days the event has progressed.
    • Fix weatherbit provider to use type config value instead of endpoint.
    • Fix calendar events which DO NOT specify rrule byday adjusted incorrectly (#2885).
    • Fix e2e tests not failing on errors (#2911).
    posted in MagicMirror
  • v2.20.0

    [2.20.0] - 2022-07-02

    https://github.com/MichMich/MagicMirror/releases/tag/v2.20.0

    Special thanks to the following contributors: @eouia, @khassel, @kolbyjack, @KristjanESPERANTO, @nathannaveen, @naveensrinivasan, @rejas, @rohitdharavath and @sdetweil.

    Added

    • Added a new config option 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).
    • Show endDate for calendar events when dateHeader is enabled and showEnd is set to true (#2192).
    • Added the notification emitting from the weather module on infromation updated.
    • Use recommended file extention for YAML files (#2864).

    Updated

    • Use latest node 18 when running tests on github actions.
    • Update electron to v19 and other dependencies.
    • Use internal fetch function of node instead external node-fetch library if used node version >= v18.
    • Include duplicate events in broadcasts.

    Fixed

    • Fix problems with non latin fonds caused by updating to fontsource (fixes #2835).
    posted in MagicMirror
  • v2.19.0

    [2.19.0] - 2022-04-01

    https://github.com/MichMich/MagicMirror/releases/tag/v2.19.0

    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.

    Added

    • Added a config option under the weather module, absoluteDates, providing an option to format weather forecast date output with either absolute or relative dates.
    • Added test for new weather forecast absoluteDates porperty.
    • The modules get a class hidden added/removed if they get hidden/shown which will also toggle pointer-events.
    • Added new config option 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.
    • Added internal cors proxy to get weather providers working without public proxies (fixes #2714). The new url http(s)://address:port/cors?url=https://whatever-to-proxy can be used in other modules too.
    • Added a WeatherProvider for Weatherflow.
    • Added new env var ELECTRON_DISABLE_GPU which disable gpu under electron if set (fixes #2831).
    • Added missing Czech translations.

    Updated

    • Deprecated roboto fonts package roboto-fontface-bower replaced with fontsource.
    • Update electron to v17, helmet to v5 (use defaults of v4) and other dependencies
    • Updates Font Awesome css class to new default style (fixes #2768)
    • Replaced deprecated modules currentweather and weatherforecast with dummy modules only displaying that they have to be replaced.
    • Include all calendar events from the configured date range when broadcasting.
    • Update Danish and German translation.
    • Update node-ical to v0.15 and added luxon as dependency for not breaking the “no-optional” install (see #2718 and #2824).

    Fixed

    • Improved and speedup e2e tests, artificial wait after mm start removed.
    • Improved husky setup not blocking git commit if husky or npm is not installed.
    • Using a consistent spelling of MagicMirror².
    • Fix minor console output issue for loading translations (#2814).
    • Don’t adjust startDate for full day events if endDate is in the past.
    • Fix windspeed conversion error in openweathermap provider. (#2812)
    • Fix conflicting parms turning off showEnd for full day events. (#2629)
    posted in MagicMirror
  • v2.18.0

    [2.18.0] - 2022-01-01

    Special thanks to the following contributors: @AmpioRosso, @eouia, @fewieden, @jupadin, @khassel, @kolbyjack, @KristjanESPERANTO, @MariusVaice, @rejas, @rico24 and @sdetweil.

    Added

    • Added test for calendar recurring event with checks the correct date displayed (related to #2752).

    Updated

    • ESLint version supports now ECMAScript 2018.
    • Cleaned up updatenotification module and switched to nunjuck template.
    • Moved calendar tests from category electron to e2e.
    • Update missed translations for Korean language (ko.json).
    • Update missed translations for Dutch language (nl.json).
    • Cleaned up alert module and switched to nunjuck template.
    • Moved weather tests from category electron to e2e.
    • Updated github actions.
    • Replace spectron with playwright, update dependencies including electron update to v16.
    • Added lithuanian language to translations.js.
    • Show info message if newsfeed is empty (fixes #2731).
    • Added dangerouslyDisableAutoEscaping config option for newsfeed templates (fixes #2712).
    • Added missing shebang to installers/mm.sh.
    • Node versions in templates and github workflows.

    Fixed

    • Fixed wrong file kr.json to ko.json. Use language code ‘ko’ instead of ‘kr’ for Korean language.
    • Fixed feels_like data from openweathermaps current weather being ignored (#2678).
    • Fixed chaotic newsfeed display after network connection loss thanks to @jalibu (#2638).
    • Fixed incorrect time zone correction of recurring full day events (#2632 and #2634).
    • Fixed e2e tests by increasing testTimeout.
    • Revert node-ical update due to missing luxon package.
    • Fixed User-Agent-Header for newsfeed and calendar module (#2729).
    • Replace broken shields in Readme and use https for links.
    • Fixed electron tests with retry.
    • Fixed Calendar recurring cross timezone error (add/subtract a day, not just offset hours) (#2632).
    • Fixed Calendar showEnd and Full Date overlay (#2629).
    • Fixed regression on #2632, #2752.
    • Broadcast custom symbols in CALENDAR_EVENTS.
    posted in MagicMirror