Skip to content

Releases: MagicMirrorOrg/MagicMirror

Community's First Release!

01 Apr 20:17
5ea8a34
Compare
Choose a tag to compare

[2.27.0] - 2024-04-01

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.

Added

  • Output of system information to the console for troubleshooting (#3328 and #3337), ignore errors under aarch64 (#3349)
  • [chore] Add eslint-plugin-package-json to lint the package.json files (#3368)
  • [weather] showHumidity config is now a string describing where to show this element. Supported values: "wind", "temp", "feelslike", "below", "none". (#3330)
  • electron-rebuild test suite for electron and 3rd party modules compatibility (#3392)
  • Create MM² icon and attach it to electron process (#3407)

Updated

  • Update updatenotification (update_helper.js): Recode with pm2 library (#3332)
  • Removing lodash dependency by replacing merge by spread operator (#3339)
  • Use node prefix for build-in modules (#3340)
  • Rework logging colors (#3350)
  • Update pm2 to v5.3.1 with no allow-ghsas (#3364)
  • [chore] Update husky and let lint-staged fix ESLint issues
  • [chore] Update dependencies including electron to v29 (#3357) and node-ical
  • Update translations for estonian (#3371)
  • Update electron to v29 and update other dependencies
  • [calendar] fullDay events over several days now show the left days from the first day on and 'today' on the last day
  • Update layout of current weather indoor values

Fixed

  • Correct apibase of weathergov weatherprovider to match documentation (#2926)
  • Worked around several issues in the RRULE library that were causing deleted calender events to still show, some
    initial and recurring events to not show, and some event times to be off an hour. (#3291)
  • Skip changelog requirement when running tests for dependency updates (#3320)
  • Display precipitation probability when it is 0% instead of blank/empty (#3345)
  • [newsfeed] Suppress unsightly animation cases when there are 0 or 1 active news items (#3336)
  • [newsfeed] Always compute the feed item URL using the same helper function (#3336)
  • Ignore all custom css files (#3359)
  • [newsfeed] Fix newsfeed stall issue introduced by #3336 (#3361)
  • Changed log.debug to log.log in app.js where logLevel is not set because config is not loaded at this time (#3353)
  • [calendar] deny fetch interval < 60000 and set 60000 in this case (prevent fetch loop failed) (#3382)
  • added message in case where config.js is missing the module.export line PR #3383
  • Fixed an issue where recurring events could extend past their recurrence end date (#3393)
  • Don't display any npm WARN <....> on install (#3399)
  • Fixed move suncalc dependency to production from dev, as it is used by clock module
  • [compliments] Fix mirror not responding anymore when no compliments are to be shown (#3385)
  • [chore] Fixed mastermerge workflow (#3415)

Deleted

  • Unneeded file headers (#3358)
  • Removed codecov.yaml

Michael's Last Release

01 Jan 14:39
8c0e7db
Compare
Choose a tag to compare

[2.26.0] - 01-01-2024

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)

TwentyFive!

01 Oct 18:14
343e7de
Compare
Choose a tag to compare

[2.25.0] - 2023-10-01

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 (prettier/pretty-quick#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

Farewell Apollo!

01 Jul 19:20
e87f50e
Compare
Choose a tag to compare

[2.24.0] - 2023-07-01

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)

The one that I completely forgot to release ...

04 Apr 18:45
abe5c08
Compare
Choose a tag to compare

[2.23.0] - 2023-04-04

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

The Collaborators Edition

01 Jan 17:10
0300ce0
Compare
Choose a tag to compare

[2.22.0] - 2023-01-01

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)

The WhatShouldICallIt™ Release

01 Oct 18:08
9e02930
Compare
Choose a tag to compare

[2.21.0] - 2022-10-01

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).

The Missed Deadline Edition

02 Jul 11:08
30d5bfe
Compare
Choose a tag to compare

[2.20.0] - 2022-07-02

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).

MagicMirror on the wall, I've got an update for y'all!

01 Apr 18:48
a2d7cdc
Compare
Choose a tag to compare

[2.19.0] - 2022-04-01

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)

Twenty Twenty Two!

01 Jan 18:33
a6cbc9f
Compare
Choose a tag to compare

[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.