All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
Note: This update uses new dependencies. Please update using the following command: git pull && npm install
- Remove Roboto fonts files inside
fonts
and these are installed by npm install command.
- Add
clientonly
script to start only the electron client for a remote server. - Add symbol and color properties of event when
CALENDAR_EVENTS
notification is broadcasted fromdefault/calendar
module. - Add
.vscode/
folder to.gitignore
to keep custom Visual Studio Code config out of git. - Add unit test the capitalizeFirstLetter function of newfeed module.
- Add new unit tests for function
shorten
in calendar module. - Add new unit tests for function
getLocaleSpecification
in calendar module. - Add unit test for js/class.js.
- Add unit tests for function
roundValue
in currentweather module. - Add test e2e showWeek feature in spanish language.
- Add warning Log when is used old authentication method in the calendar module.
- Add test e2e for helloworld module with default config text.
- Add ability for
currentweather
module to display indoor humidity via INDOOR_HUMIDITY notification. - Add Welsh (Cymraeg) translation.
- Add Slack badge to Readme.
- Changed 'default.js' - listen on all attached interfaces by default.
- Add execution of
npm list
after the test are ran in Travis CI. - Change hooks for the vendors e2e tests.
- Add log when clientonly failed on starting.
- Add warning color when are using full ip whitelist.
- Set version of the
express-ipfilter
on 0.3.1.
- Fixed issue with incorrect allignment of analog clock when displayed in the center column of the MM.
- Fixed ipWhitelist behaviour to make empty whitelist ([]) allow any and all hosts access to the MM.
- Fixed issue with calendar module where 'excludedEvents' count towards 'maximumEntries'.
- Fixed issue with calendar module where global configuration of maximumEntries was not overridden by calendar specific config (see module doc).
- Fixed issue where
this.file(filename)
returns a path with two hashes. - Workaround for the WeatherForecast API limitation.
- Revert Docker related changes in favor of docker-MagicMirror. All Docker images are outsourced. (#856)
- Change Docker base image (Debian + Node) to an arm based distro (AlpineARM + Node) (#846)
- Fix the dockerfile to have it running from the first time.
- Add in option to wrap long calendar events to multiple lines using
wrapEvents
configuration option. - Add test e2e
show title newsfeed
for newsfeed module. - Add task to check configuration file.
- Add test check URLs of vendors.
- Add test of match current week number on clock module with showWeek configuration.
- Add test default modules present modules/default/defaultmodules.js.
- Add unit test calendar_modules function capFirst.
- Add test for check if exists the directories present in defaults modules.
- Add support for showing wind direction as an arrow instead of abbreviation in currentWeather module.
- Add support for writing translation fucntions to support flexible word order
- Add test for check if exits the directories present in defaults modules.
- Add calendar option to set a separate date format for full day events.
- Add ability for
currentweather
module to display indoor temperature via INDOOR_TEMPERATURE notification - Add ability to change the path of the
custom.css
. - Add translation Dutch to Alert module.
- Added Romanian translation.
- Added missing keys to Polish translation.
- Added missing key to German translation.
- Added better translation with flexible word order to Finnish translation.
- Fix instruction in README for using automatically installer script.
- Bug of duplicated compliments as described in here.
- Fix double message about port when server is starting
- Corrected Swedish translations for TODAY/TOMORROW/DAYAFTERTOMORROW.
- Removed unused import from js/electron.js
- Made calendar.js respect config.timeFormat irrespecive of locale setting.
- Fixed alignment of analog clock when a large calendar is displayed in the same side bar.
Note: This update uses new dependencies. Please update using the following command: git pull && npm install
- Add
anytime
group for Compliments module. - Compliments module can use remoteFile without default daytime arrays defined.
- Installer: Use init config.js from config.js.sample.
- Switched out
rrule
package forrrule-alt
and fixes inical.js
in order to fix calendar issues. (#565) - Make mouse events pass through the region fullscreen_above to modules below.
- Scaled the splash screen down to make it a bit more subtle.
- Replace HTML tables with markdown tables in README files.
- Added
DAYAFTERTOMORROW
,UPDATE_NOTIFICATION
andUPDATE_NOTIFICATION_MODULE
to Finnish translations. - Run
npm test
on Travis automatically. - Show the splash screen image even when is reboot or halted.
- Added some missing translaton strings in the sv.json file.
- Run task jsonlint to check translation files.
- Restructured Test Suite.
- Added Docker support (Pull Request #673).
- Calendar-specific support for
maximumEntries
, andmaximumNumberOfDays
. - Add loaded function to modules, providing an async callback.
- Made default newsfeed module aware of gesture events from MMM-Gestures
- Add use pm2 for manager process into Installer RaspberryPi script.
- Russian Translation.
- Afrikaans Translation.
- Add postinstall script to notify user that MagicMirror installed successfully despite warnings from NPM.
- Init tests using mocha.
- Option to use RegExp in Calendar's titleReplace.
- Hungarian Translation.
- Icelandic Translation.
- Add use a script to prevent when is run by SSH session set DISPLAY enviroment.
- Enable ability to set configuration file by the enviroment variable called MM_CONFIG_FILE.
- Option to give each calendar a different color.
- Option for colored min-temp and max-temp.
- Add test e2e helloworld.
- Add test e2e enviroment.
- Add
chai-as-promised
npm module to devDependencies. - Basic set of tests for clock module.
- Run e2e test in Travis.
- Estonian Translation.
- Add test for compliments module for parts of day.
- Korean Translation.
- Added console warning on startup when deprecated config options are used.
- Add option to display temperature unit label to the current weather module.
- Added ability to disable wrapping of news items.
- Added in the ability to hide events in the calendar module based on simple string filters.
- Updated Norwegian translation.
- Added hideLoading option for News Feed module.
- Added configurable dateFormat to clock module.
- Added multiple calendar icon support.
- Added tests for Translations, dev argument, version, dev console.
- Added test anytime feature compliments module.
- Added test ipwhitelist configuration directive.
- Added test for calendar module: default, basic-auth, backward compability, fail-basic-auth.
- Added meta tags to support fullscreen mode on iOS (for server mode)
- Added
ignoreOldItems
andignoreOlderThan
options to the News Feed module - Added test for MM_PORT enviroment variable.
- Added a configurable Week section to the clock module.
- Update .gitignore to not ignore default modules folder.
- Remove white flash on boot up.
- Added
update
in Raspberry Pi installation script. - Fix an issue where the analog clock looked scrambled. (#611)
- If units is set to imperial, the showRainAmount option of weatherforecast will show the correct unit.
- Module currentWeather: check if temperature received from api is defined.
- Fix an issue with module hidden status changing to
true
although lock string prevented showing it. - Fix newsfeed module bug (removeStartTags)
- Fix when is set MM_PORT enviroment variable.
- Fixed missing animation on
this.show(speed)
when module is alone in a region.
Note: This update uses new dependencies. Please update using the following command: git pull && npm install
- Finnish translation.
- Danish translation.
- Turkish translation.
- Option to limit access to certain IP addresses based on the value of
ipWhitelist
in theconfig.js
, default is access from localhost only (Issue #456). - Added ability to change the point of time when calendar events get relative.
- Add Splash screen on boot.
- Add option to show humidity in currentWeather module.
- Add VSCode IntelliSense support.
- Module API: Add Visibility locking to module system. See documentation for more information.
- Module API: Method to overwrite the module's header. See documentation for more information.
- Module API: Option to define the minimum MagicMirror version to run a module. See documentation for more information.
- Calendar module now broadcasts the event list to all other modules using the notification system. See documentation for more information.
- Possibility to use the the calendar feed as the source for the weather (currentweather & weatherforecast) location data. See documentation for more information.
- Added option to show rain amount in the weatherforecast default module
- Add module
updatenotification
to get an update whenever a new version is availabe. See documentation for more information. - Add the abilty to set timezone on the date display in the Clock Module
- Ability to set date format in calendar module
- Possibility to use currentweather for the compliments
- Added option
disabled
for modules. - Added option
address
to set bind address. - Added option
onlyTemp
for currentweather module to show show only current temperature and weather icon. - Added option
remoteFile
to compliments module to load compliment array from filesystem. - Added option
zoom
to scale the whole mirror display with a given factor. - Added option
roundTemp
for currentweather and weatherforecast modules to display temperatures rounded to nearest integer. - Added abilty set the classes option to compliments module for style and text size of compliments.
- Added ability to configure electronOptions
- Calendar module: option to hide private events
- Add root_path for global vars
- Modified translations for Frysk.
- Modified core English translations.
- Updated package.json as a result of Snyk security update.
- Improve object instantiation to prevent reference errors.
- Improve logger.
Log.log()
now accepts multiple arguments. - Remove extensive logging in newsfeed node helper.
- Calendar times are now uniformly capitalized.
- Modules are now secure, and Helmet is now used to prevent abuse of the Mirror's API.
- Solve an issue where module margins would appear when the first module of a section was hidden.
- Solved visual display errors on chrome, if all modules in one of the right sections are hidden.
- Global and Module default config values are no longer modified when setting config values.
- Hide a region if all modules in a region are hidden. Prevention unwanted margins.
- Replaced
electron-prebuilt
package withelectron
in order to fix issues that would happen after 2017. - Documentation of alert module
- Added ability to remove tags from the beginning or end of newsfeed items in 'newsfeed.js'.
- Added ability to define "the day after tomorrow" for calendar events (Definition for German and Dutch already included).
- Added CII Badge (we are compliant with the CII Best Practices)
- Add support for doing http basic auth when loading calendars
- Add the abilty to turn off and on the date display in the Clock Module
- Fix typo in installer.
- Add message to unsupported Pi error to mention that Pi Zeros must use server only mode, as ARMv6 is unsupported. Closes #374.
- Fix API url for weather API.
- Force fullscreen when kioskmode is active.
- Update the .github templates and information with more modern information.
- Update the Gruntfile with a more functional StyleLint implementation.
- Brazilian Portuguese Translation.
- Option to enable Kiosk mode.
- Added ability to start the app with Dev Tools.
- Added ability to turn off the date display in
clock.js
when in analog mode. - Greek Translation
- Prevent
getModules()
selectors from returning duplicate entries. - Append endpoints of weather modules with
/
to retreive the correct data. (Issue #337) - Corrected grammer in
module.js
from 'suspend' to 'suspended'. - Fixed openweathermap.org URL in config sample.
- Prevent currentweather module from crashing when received data object is incorrect.
- Fix issue where translation loading prevented the UI start-up when the language was set to 'en'. (Issue #388)
- Updated package.json to fix possible vulnerabilities. (Using Snyk)
- Updated weathericons
- Updated default weatherforecast to work with the new icons.
- More detailed error message in case config file couldn't be loaded.
- Add max newsitems parameter to the newsfeed module.
- Translations for Simplified Chinese, Traditional Chinese and Japanese.
- Polish Translation
- Add an analog clock in addition to the digital one.
- Edit Alert Module to display title & message if they are provided in the notification (Issue #300)
- Removed 'null' reference from updateModuleContent(). This fixes recent Edge and Internet Explorer browser displays (Issue #319)
- Added default string to calendar titleReplace.
- Norwegian Translations (nb and nn)
- Portuguese Translation
- Swedish Translation
- Added reference to Italian Translation.
- Added the missing NE translation to all languages. #344
- Added proper User-Agent string to calendar call.
- Add option to use locationID in weather modules.
- Changelog
- Italian Translation
- Improve the installer by fetching the latest Node.js without any 3rd party interferences.
It includes (but is not limited to) the following features:
- Modular system allowing 3rd party plugins.
- An Node/Electron based application taking away the need for external servers or browsers.
- A complete development API documentation.
- Small cute fairies that kiss you while you sleep.
This was part of the blogpost: http://michaelteeuw.nl/post/83916869600/magic-mirror-part-vi-production-of-the