Releases: MagicMirrorOrg/MagicMirror
The Missed Deadline Edition
[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 injs/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!
[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 withfontsource
. - 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
andweatherforecast
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 addedluxon
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
ifhusky
ornpm
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!
[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
toe2e
. - 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
toe2e
. - 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
toko.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
[2.17.1] - 2021-10-01
Fixed
- Fixed error when accessing letsencrypt certificates.
Test Shenanigans
[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
, useserver only
mode ine2e
tests. - Update dependencies in package.json.
Fixed
Welcome to the team, Jest!
[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 usingtimeFormat: "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
andrrule
. - 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 usingukmetofficedatahub
. - 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
[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
to0
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 withnode-fetch
anddigest-fetch
. - Refactored calendar fetcher.
- Cleaned up newsfeed module.
- Cleaned up translations and translator code.
Removed
- Removed danger.js library.
- Removed
ical
which was substituted bynode-ical
in releasev2.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!
[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!
[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
[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