Skip to content

Releases: MagicMirrorOrg/MagicMirror

The one that I completely forgot to release ...

04 Apr 18:45
abe5c08

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

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

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

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

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

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.

Lets Fix Lets Encrypt

01 Oct 16:51
222a5f3

Choose a tag to compare

[2.17.1] - 2021-10-01

Fixed

  • Fixed error when accessing letsencrypt certificates.

Test Shenanigans

01 Oct 13:20
5a4fbbf

Choose a tag to compare

[2.17.0] - 2021-10-01

Special thanks to the following contributors: @apiontek, @eouia, @jupadin, @khassel and @rejas.

Added

  • Added showTime parameter to clock module for enabling/disabling time display in analog clock.
  • Added custom electron switches from user config (config.electronSwitches).
  • Added unit tests for updatenotification module.

Updated

  • Bump electron to v13 (and spectron to v15) and update other dependencies in package.json.
  • Refactor test configs, use default test config for all tests.
  • Updated github templates.
  • Actually test all js and css files when lint script is run.
  • Update jsdocs and print warnings during testing too.
  • Update weathergov provider to try fetching not just current, but also foreacst, when API URLs available.
  • Refactored clock layout.
  • Refactored methods from weatherproviders into weatherobject (isDaytime, updateSunTime).
  • Use of logger.js in jest tests.
  • Run prettier over all relevant files.
  • Move tests needing electron in new category electron, use server only mode in e2e tests.
  • Update dependencies in package.json.

Fixed

  • Fix undefined error with ignoreToday option in weather module (#2620).
  • Fix time zone correction in calendar module when the date hour is equal to the time zone correction value (#2632).
  • Fix black cursor on startup when using electron.
  • Fix update notification not working for own repository (#2644).

Welcome to the team, Jest!

01 Jul 12:30
26a76f8

Choose a tag to compare

[2.16.0] - 2021-07-01

Special thanks to the following contributors: @210954, @B1gG, @codac, @Crazylegstoo, @daniel, @earlman, @ezeholz, @FrancoisRmn, @jupadin, @khassel, @KristjanESPERANTO, @njwilliams, @oemel09, @r3wald, @rejas, @rico24, Faizan Ahmed.

Added

  • Added French translations for "MODULE_CONFIG_ERROR" and "PRECIP".
  • Added German translation for "PRECIP".
  • Added Dutch translation for "WEEK", "PRECIP", "MODULE_CONFIG_CHANGED" and "MODULE_CONFIG_ERROR".
  • Added first test for Alert module.
  • Added support for dateFormat when not using timeFormat: "absolute".
  • Added custom-properties for colors and fonts for improved styling experience, see custom.css.sample file.
  • Added custom-properties for gaps around body and between modules.
  • Added test case for recurring calendar events.
  • Added new Environment Canada provider for default WEATHER module (weather data for Canadian locations only).
  • Added list view for newsfeed module.
  • Added dev dependency jest, switching from mocha to jest.

Updated

  • Bump node-ical to v0.13.0 (now last runtime dependency using deprecated request package is removed).
  • Use codecov in informational mode.
  • Refactor code into es6 where possible (e.g. var -> let/const).
  • Use node v16 in github workflow (replacing node v10).
  • Moved some files into better suited directories.
  • Update dependencies in package.json, require node >= v12, remove rrule-alt and rrule.
  • Update dependencies in package.json and migrate husky to v6, fix husky setup in prod environment.
  • Cleaned up error handling in newsfeed and calendar modules for real.
  • Updated default WEATHER module such that a provider can optionally set a custom unit-of-measure for precipitation (weatherObject.precipitationUnits).
  • Update documentation.
  • Update jest tests: Reset changes on js/logger.js, mock logger.js in global_vars tests.
  • Update dependencies in package.json.

Removed

  • Switching from mocha to jest so removed following dev dependencies: chai, chai-as-promised, mocha, mocha-each, mocha-logger.

Fixed

  • Fix calendar start function logging inconsistency.
  • Fix updatenotification start function logging inconsistency.
  • Checks and applies the showDescription setting for the newsfeed module again.
  • Fix issue with openweathermap not showing current or forecast info when using onecall API.
  • Fix tests in weather module and add one for decimalPoint in forecast.
  • Fix decimalSymbol in the forecast part of the new weather module (#2530).
  • Fix wrong treatment of appendLocationNameToHeader when using ukmetofficedatahub.
  • Fix alert not recognizing multiple alerts (#2522).
  • Fix fetch option httpsAgent to agent in calendar module (#466).
  • Fix module updatenotification which did not work for repos with many refs (#1907).
  • Fix config check failing when encountering let syntax ("Parsing error: Unexpected token config").
  • Fix calendar debug check.
  • Really run prettier over all files.
  • Fix logger.js after jest changes, use --forceExit running jest.
  • Workaround for dev_console test using getWindowCount.

Spring Cleaning

01 Apr 12:26
491f5aa

Choose a tag to compare

[2.15.0] - 2021-04-01

Special thanks to the following contributors: @EdgardosReis, @MystaraTheGreat, @TheDuffman85, @ashishtank, @buxxi, @codac, @fewieden, @khassel, @klaernie, @qu1que, @rejas, @sdetweil & @thomasrockhu.

ℹ️ Note: This update uses new dependencies. Please update using the following command: git pull && npm install.

Added

  • Added Galician language.
  • Added GitHub workflows for automated testing and changelog enforcement.
  • Added CodeCov badge to Readme.
  • Added CURRENTWEATHER_TYPE notification to currentweather and weather module, use it in compliments module.
  • Added start:dev command to the npm scripts for starting electron with devTools open.
  • Added logging when using deprecated modules weatherforecast or currentweather.
  • Added Portuguese translations for "MODULE_CONFIG_CHANGED" and "PRECIP".
  • Respect parameter ColoredSymbolOnly also for custom events.
  • Added a new parameter to hide time portion on relative times.
  • module.show has now the option for a callback on error.
  • Added locale to sample config file.
  • Added support for self-signed certificates for the default calendar module (#466).
  • Added hiddenOnStartup flag to module config (#2475).

Updated

  • Updated markdown files for github.
  • Cleaned up old code on server side.
  • Convert -0 to 0 when displaying temperature.
  • Code cleanup for FEELS like and added {DEGREE} placeholder for FEELSLIKE for each language.
  • Converted newsfeed module to use templates.
  • Updated documentation and help screen about invalid config files.
  • Moving weather provider specific code and configuration into each provider and making hourly part of the interface.
  • Bump electron to v11 and enable contextIsolation.
  • Don't update the DOM when a module is not displayed.
  • Cleaned up jsdoc and tests.
  • Exposed logger as node module for easier access for 3rd party modules.
  • Replaced deprecated request package with node-fetch and digest-fetch.
  • Refactored calendar fetcher.
  • Cleaned up newsfeed module.
  • Cleaned up translations and translator code.

Removed

  • Removed danger.js library.
  • Removed ical which was substituted by node-ical in release v2.13.0. Module developers must install this dependency themselves in the module folder if needed.
  • Removed valid-url library.

Fixed

  • Added default log levels to stop calendar log spamming.
  • Fix socket.io cors errors, see breaking change since socket.io v3.
  • Fix Issue with weather forecast icons due to fixed day start and end time (#2221).
  • Fix empty directory for each module's main javascript file in the inspector.
  • Fix Issue with weather forecast icons unit tests with different timezones (#2221).
  • Fix issue with unencoded characters in translated strings when using nunjuck template (Loading &hellip; as an example).
  • Fix socket.io backward compatibility with socket v2 clients.
  • Fix 3rd party module language loading if language is English.
  • Fix e2e tests after spectron update.
  • Fix updatenotification creating zombie processes by setting a timeout for the git process.
  • Fix weather module openweathermap not loading if lat and lon set without onecall.
  • Fix calendar daylight savings offset calculation if recurring start date before 2007.
  • Fix calendar time/date adjustment when time with GMT offset is different day (#2488).
  • Fix calendar daylight savings offset calculation if recurring FULL DAY start date before 2007 (#2483).
  • Fix newsreaders template, for wrong test for nowrap in 2 places (should be if not).