Skip to content

Releases: MagicMirrorOrg/MagicMirror

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.

Lets Fix Lets Encrypt

01 Oct 16:51
222a5f3
Compare
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
Compare
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
Compare
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
Compare
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 … 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).

Goodbye Travis!

01 Jan 18:18
10dc315
Compare
Choose a tag to compare

[2.14.0] - 2021-01-01

Special thanks to the following contributors: @Alvinger, @AndyPoms, @ashishtank, @bluemanos, @flopp999, @jakemulley, @jakobsarwary1, @marvai-vgtu, @mirontoli, @rejas, @sdetweil, @Snille & @Sub028.

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

Added

  • Added new log level "debug" to the logger.
  • Added new parameter "useKmh" to weather module for displaying wind speed as kmh.
  • Chuvash translation.
  • Added Weatherbit as a provider to Weather module.
  • Added SMHI as a provider to Weather module.
  • Added Hindi & Gujarati translation.
  • Added optional support for DEGREE position in Feels like translation.
  • Added support for variables in nunjucks templates for translate filter.
  • Added Chuvash translation.
  • Calendar: new options "limitDays" and "coloredEvents".
  • Added new option "limitDays" - limit the number of discreet days displayed.
  • Added new option "customEvents" - use custom symbol/color based on keyword in event title.
  • Added GitHub workflows for automated testing and changelog enforcement.

Updated

  • Merging .gitignore in the config-folder with the .gitignore in the root-folder.
  • Weather module - forecast now show TODAY and TOMORROW instead of weekday, to make it easier to understand.
  • Update dependencies to latest versions.
  • Update dependencies eslint, feedme, simple-git and socket.io to latest versions.
  • Update lithuanian translation.
  • Update config sample.
  • Highlight required version mismatch.
  • No select Text for TouchScreen use.
  • Corrected logic for timeFormat "relative" and "absolute".
  • Added missing function call in module.show()
  • Translator variables can have falsy values (e.g. empty string)
  • Fix issue with weather module with DEGREE label in FEELS like

Deleted

  • Removed Travis CI intergration.

Fixed

  • JSON Parse translation files with comments crashing UI. (#2149)
  • Calendar parsing where RRULE bug returns wrong date, add Windows timezone name support. (#2145, #2151)
  • Wrong node-ical version installed (package.json) requested version. (#2153)
  • Fix calendar fetcher subsequent timing. (#2160)
  • Rename Greek translation to correct ISO 639-1 alpha-2 code (gr > el). (#2155)
  • Add a space after icons of sunrise and sunset. (#2169)
  • Fix calendar when no DTEND record found in event, startDate overlay when endDate set. (#2177)
  • Fix windspeed convertion error in ukmetoffice weather provider. (#2189)
  • Fix console.debug not having timestamps. (#2199)
  • Fix calendar full day event east of UTC start time. (#2200)
  • Fix non-fullday recurring rule processing. (#2216)
  • Catch errors when parsing calendar data with ical. (#2022)
  • Fix Default Alert Module does not hide black overlay when alert is dismissed manually. (#2228)
  • Weather module - Always displays night icons when local is other then English. (#2221)
  • Update Node-ical 0.12.4 , fix invalid RRULE format in cal entries
  • Fix package.json for optional electron dependency (2378)
  • Update node-ical version again, 0.12.5, change RRULE fix (#2371, #2379)
  • Remove undefined objects from modules array (#2382)
  • Update node-ical version again, 0.12.7, change RRULE fix (#2371, #2379), node-ical now throws error (which we catch)
  • Update simple-git version to 2.31 unhandled promise rejection (#2383)

Stay Healthy!

01 Oct 10:16
3dbe8bf
Compare
Choose a tag to compare

[2.13.0] - 2020-10-01

Special thanks to the following contributors: @bryanzzhu, @bugsounet, @chamakura, @cjbrunner, @easyas314, @larryare, @oemel09, @rejas, @sdetweil & @sthuber90.

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

Added

  • --dry-run option added in fetch call within updatenotification node_helper. This is to prevent
    MagicMirror from consuming any fetch result. Causes conflict with MMPM when attempting to check
    for updates to MagicMirror and/or MagicMirror modules.
  • Test coverage with Istanbul, run it with npm run test:coverage.
  • Add lithuanian language.
  • Added support in weatherforecast for OpenWeather onecall API.
  • Added config option to calendar-icons for recurring- and fullday-events.
  • Added current, hourly (max 48), and daily (max 7) weather forecasts to weather module via OpenWeatherMap One Call API.
  • Added eslint-plugin for jsdoc comments.
  • Added new configDeepMerge option for module developers.

Updated

  • Change incorrect weather.js default properties.
  • Cleaned up newsfeed module.
  • Cleaned up jsdoc comments.
  • Cleaned up clock tests.
  • Move lodash into devDependencies, update other dependencies.
  • Switch from ical to node-ical library.

Fixed

  • Fix backward compatibility issues for Safari < 11.
  • Fix the use of "maxNumberOfDays" in the module "weatherforecast depending on the endpoint (forecast/daily or forecast)". #2018
  • Fix calendar display. Account for current timezone. #2068
  • Fix logLevel being set before loading config.
  • Fix incorrect namespace links in svg clockfaces. #2072
  • Fix weather/providers/weathergov for API guidelines. #2045
  • Fix "undefined" in weather modules header. #1985
  • Fix #2110, #2111, #2118: Recurring full day events should not use timezone adjustment. Just compare month/day.

Halfway 2020

01 Jul 18:17
018cb91
Compare
Choose a tag to compare

[2.12.0] - 2020-07-01

Special thanks to the following contributors: @AndreKoepke, @andrezibaia, @bryanzzhu, @chamakura, @DarthBrento, @Ekristoffe, @khassel, @Legion2, @ndom91, @radokristof, @rejas, @XBCreepinJesus & @ZoneMR.

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

Added

  • Added option to config the level of logging.
  • Added prettier for an even cleaner codebase.
  • Hide Sunrise/Sunset in Weather module.
  • Hide Sunrise/Sunset in Current Weather module.
  • Added Met Office DataHub (UK) provider.

Updated

  • Cleaned up alert module code.
  • Cleaned up check_config code.
  • Replaced grunt-based linters with their non-grunt equivalents.
  • Switch to most of the eslint:recommended rules and fix warnings.
  • Replaced insecure links with https ones.
  • Cleaned up all "no-undef" warnings from eslint.
  • Added location title wrapping for calendar module.
  • Updated the BG translation.

Deleted

  • Removed truetype (ttf) fonts.

Fixed

  • The broken modules due to Socket.io change from last release. #1973
  • Add backward compatibility for old module code in socketclient.js. #1973
  • Support multiple instances of calendar module with different config. #1109
  • Fix the use of "maxNumberOfDays" in the module "weatherforecast". #2018
  • Throw error when check_config fails. #1928
  • Bug fix related to 'maxEntries' not displaying Calendar events. #2050
  • Updated ical library to latest version. #1926