Skip to content

Releases: MagicMirrorOrg/MagicMirror

v2.33.0

30 Sep 16:18
b0c5924

Choose a tag to compare

[2.33.0] - 2025-10-01

Thanks to: @Crazylegstoo, @dathbe, @m-idler, @plebcity, @khassel, @KristjanESPERANTO, @rejas and @sdetweil!

⚠️ This release needs nodejs version v22.18.0 or higher

Added

  • Add configuration option for User-Agent, used by calendar & news module (#3255)
  • [linter] Add prettier plugin for nunjuck templates (#3887)
  • [core] Add clear log for occupied port at startup (#3890)

Changed

  • [clock] Add CSS to prevent line breaking of sunset/sunrise time display (#3816)
  • [core] Enhance system information logging format and include additional env and RAM details (#3839, #3843)
  • [refactor] Add new file js/module_functions.js to move code used in several modules to one place (#3837)
  • [refactor] Use global.root_path where possible and add tests for config:check (#3883, #3885, #3886, #3889)
  • [tests] refactor: simplify jest config file (#3844)
  • [tests] refactor: extract constants for weather electron tests (#3845)
  • [tests] refactor: add setupDOMEnvironment helper function to eliminate repetitive JSDOM setup code (#3860)
  • [tests] replace console with Log in calendar debug.js to avoid exception in eslint config (#3846)
  • [tests] speed up e2e tests, cleanup and stabilize weather e2e tests, update snapshot url (#3847, #3848, #3861)
  • [tests] refactor translation tests (#3866)
    • Remove sinon dependency in favor of Jest native mocking
    • Unify test helper functions across translation test suites
    • Rename setupDOMEnvironment to createTranslationTestEnvironment for consistency
    • Simplify DOM setup by removing unnecessary Promise/async patterns
    • Avoid potential port conflicts by using port 3001 for translator unit tests
    • Improve test reliability and maintainability
  • [tests] add alert module tests for different welcome_message configurations (#3867)
  • [lint-staged] use prettier --write --ignore-unknown in lint-staged to avoid errors on unsupported files (#3888)

Updated

  • [calendar] Update defaultSymbol name and also the link to the icon search site (#3879)
  • [core] Update dependencies including electron to v38 as well as github actions (#3831, #3849, #3857, #3858, #3872, #3876, #3882, #3891, #3896)
  • [weather] Update feels_like temperature calculation formula (#3869)
  • [weather] Update null value handling for weather type (#3892)
  • [layout] Update styles for weather and calendar (#3894)

Fixed

  • [calendar] Fixed broken unittest that only broke on the 1st of July and 1st of january (#3830)
  • [clock] Fixed missing icons when no other modules with icons is loaded (#3834)
  • [weather] Fixed handling of empty values in weathergov providers handling of precipitationAmount (#3859)
  • [calendar] Fix regression handling of limit days (#3840)
  • [calendar] Fixed regression of calendarfetcherutils.shouldEventBeExcluded (#3841)
  • [core] Fixed socket.io timeout when server is slow to send notification, notification lost at client (#3380)
  • [tests] refactor AnimateCSS tests after jsdom 27 upgrade (#3891)
  • [weather] Use apparent_temperature data from openmeteo's hourly weather for current feelsLikeTemp (#3868).
  • [weather] Updated envcanada Provider to use new database/URL schema for accessing weather data (#3878).

v2.32.0

30 Jun 22:12
62b0f7f

Choose a tag to compare

[2.32.0] - 2025-07-01

Thanks to: @bughaver, @bugsounet, @khassel, @KristjanESPERANTO, @plebcity, @rejas, @sdetweil.

⚠️ This release needs nodejs version v22.14.0 or higher
⚠️ This release uses express v5 which has breaking changes that may cause problems with third-party modules

Added

  • [config] Allow to change module order for final renderer (or dynamically with CSS): Feature order in config (#3762)
  • [clock] Added option 'disableNextEvent' to hide next sun event (#3769)
  • [clock] Implement short syntax for clock week (#3775)

Changed

  • [refactor] Simplify module loading process (#3766)
  • Use node --run instead of npm run (#3764) and adapt start:dev script (#3773)
  • [workflow] Run linter and spellcheck with LTS node version (#3767)
  • [workflow] Split "Run test" step into two steps for more clarity (#3767)
  • [linter] Review linter setup (#3783)
    • Fix command to lint markdown in CONTRIBUTING.md
    • Re-activate JSDoc linting and fix linting issues
    • Refactor ESLint config to use defineConfig and globalIgnores
    • Replace eslint-plugin-import with eslint-plugin-import-x
    • Switch Stylelint config to flat format and simplify Stylelint scripts
  • [workflow] Replace Node.js version v23 with v24 (#3770)
  • [refactor] Replace deprecated constants fs.F_OK and fs.R_OK (#3789)
  • [refactor] Replace ansis with built-in function util.styleText (#3793)
  • [core] Integrate stuff from vendor and fonts folders into main package.json, simplifies install and maintaining dependencies (#3795, #3805)
  • [l10n] Complete translations (with the help of translation tools) (#3794)
  • [refactor] Refactored calendarfetcherutils in Calendar module to handle timezones better (#3806)
    • Removed as many of the date conversions as possible
    • Use moment-timezone when calculating recurring events, this will fix problems from the past with offsets and DST not being handled properly
    • Added some tests to test the behavior of the refactored methods to make sure the correct event dates are returned
  • [linter] Enable ESLint rule no-console and replace console with Log in some files (#3810)
  • [tests] Review and refactor translation tests (#3792)

Fixed

  • [fix] Handle spellcheck issues (#3783)
  • [calendar] fix fullday event rrule until with timezone offset (#3781)
  • [feat] Add rule no-undef in config file validation to fix #3785 (#3786)
  • [fonts] Fix roboto.css to avoid error message Unknown descriptor 'var(' in @font-face rule. in firefox console (#3787)
  • [tests] Fix and refactor e2e test Same keys in translations_spec.js (#3809)
  • [tests] Fix e2e tests newsfeed and calendar to exit without open handles (#3817)

Updated

  • [core] Update dependencies including electron to v36 (#3774, #3788, #3811, #3804, #3815, #3823)
  • [core] Update package type to commonjs
  • [logger] Review factory code part: use switch/case instead of if/else if (#3812)

v2.31.0 - 2025-04-01

01 Apr 18:12
39a614e

Choose a tag to compare

Thanks to: @Developer-Incoming, @eltociear, @geraki, @khassel, @KristjanESPERANTO, @MagMar94, @mixasgr, @n8many, @OWL4C, @rejas, @savvadam, @sdetweil.

⚠️ This release needs nodejs version v22.14.0 or higher

Added

  • Add CSS support to the digital clock hour/minute/second through the use of the classes clock-hour-digital, clock-minute-digital, and clock-second-digital.
  • Add Arabic (#3719) and Esperanto translation.
  • Mark option secondsColor as deprecated in clock module.
  • Add Greek translation to Alerts module.
  • [newsfeed] Add specific ignoreOlderThan value (override) per feed (#3360)
  • [weather] Added option Humidity to hourly View
  • [weather] Added option to hide hourly entries that are Zero, hiding the entire column if empty.
  • [updatenotification] Added option to iterate over modules directory instead using modules defined in config.js (#3739)

Changed

  • [core] starting clientonly now checks for needed env var WAYLAND_DISPLAY or DISPLAY and starts electron with needed parameters (if both are set wayland is used) (#3677)
  • [core] Optimize systeminformation calls and output (#3689)
  • [core] Add issue templates for feature requests and bug reports (#3695)
  • [core] Adapt start:x11:dev script
  • [weather/yr] The Yr weather provider now enforces a minimum updateInterval of 600 000 ms (10 minutes) to comply with the terms of service. If a lower value is set, it will be automatically increased to this minimum.
  • [weather/weatherflow] Fixed icons and added hourly support as well as UV, precipitation, and location name support.
  • [workflow] Run sudo apt-get update before installing packages to avoid install errors
  • [workflow] Exclude issues with label ready (coming with next release) from stale job

Removed

Updated

  • [core] Update requirements and dependencies including electron to v35 and formatting (#3593, #3693, #3717)
  • [core] Update prettier, ESLint and simplify config
  • Update Greek translation

Fixed

  • [calendar] Fix clipping events being broadcast (#3678)
  • [tests] Fix Electron tests by running them under new github image ubuntu-24.04, replace xserver with labwc, running under xserver and labwc depending on env variable WAYLAND_DISPLAY is set (#3676)
  • [calendar] Fix arrayed symbols, #3267, again, add testcase, add testcase for #3678
  • [weather] Fix wrong weatherCondition name in openmeteo provider which lead to n/a icon (#3691)
  • [core] Fix wrong port in log message when starting server only (#3696)
  • [calendar] Fix NewYork event processed on system in Central timezone shows wrong time #3701
  • [weather/yr] The Yr weather provider is now able to recover from bad API responses instead of freezing (#3296)
  • [compliments] Fix evening events being shown during the day (#3727)
  • [weather] Fixed minor spacing issues when using UV Index in Hourly
  • [workflow] Fix command to run spellcheck

v2.30.0 - 2025-01-01 Another New year with exciting changes

01 Jan 14:30
c24de64

Choose a tag to compare

Thanks to: @xsorifc28, @HeikoGr, @bugsounet, @khassel, @KristjanESPERANTO, @rejas, @sdetweil.

⚠️ This release needs nodejs version v20 or v22 or higher, minimum version is v20.18.1

Added

  • [core] Add wayland and windows start options to package.json (#3594)
  • [docs] Add step for npm publishing in release process (#3595)
  • [core] Add GitHub workflow to run spellcheck a few days before each release (#3623)
  • [core] Add test flag to index.html to pass to module js for test mode detection (needed by #3630)
  • [core] Add export on animation names (#3644)
  • [compliments] Add support for refreshing remote compliments file, and test cases (#3630)
  • [linter] Re-add eslint-plugin-importnow that it supports ESLint v9 (#3586)
  • [linter] Re-activate eslint-plugin-package-json to lint package.json (#3643)
  • [linter] Add linting for markdown files (#3646)
  • [linter] Add some handy ESLint rules.
  • [calendar] Add ability to display end date for full date events, where end is not same day (showEnd=true) (#3650)
  • [core] Add text to the config.js.sample file about the locale variable (#3654, #3655)
  • [core] Add fetch timeout for all node_helpers (thru undici, forces node 20.18.1 minimum) to help on slower systems. (#3660) (3661)

Changed

  • [core] Run code style checks in workflow only once (#3648)
  • [core] Fix animations export #3644 only on server side (#3649)
  • [core] Use project URL in fallback config (#3656)
  • [core] Fix Access Denied crash writing js/positions.js (on synology nas) #3651. new message, MM starts, but no modules showing (#3652)
  • [linter] Switch to 'npx' for lint-staged in pre-commit hook (#3658)

Removed

  • [tests] Remove node-pty and drivelist from rebuilded test (#3575)
  • [deps] Remove @eslint/js dependency. Already installed with eslint in deep (#3636)

Updated

  • [repo] Reactivate stale.yaml as GitHub action to mark issues as stale after 60 days and close them 7 days later (if no activity) (#3577, #3580, #3581)
  • [core] Update electron dependency to v32 (test electron rebuild) and all other dependencies too (#3657)
  • [tests] All test configs have been updated to allow full external access, allowing for easier debugging (especially when running as a container)
  • [core] Run and test with node 23 (#3588)
  • [workflow] delete exception allow-ghsas: GHSA-8hc4-vh64-cxmj in dep-review.yaml (#3659)

Fixed

  • [updatenotification] Fix pm2 using detection when pm2 script is inside or outside MagicMirror root folder (#3576) (#3605) (#3626) (#3628)
  • [core] Fix loading node_helper of modules: avoid black screen, display errors and continue loading with next module (#3578)
  • [weather] Change default value for weatherEndpoint of provider openweathermap to "/onecall" (#3574)
  • [tests] Fix electron tests with mock dates, the mock on server side was missing (#3597)
  • [tests] Fix testcases with hard coded Date.now (#3597)
  • [core] Fix missing basePath where location.host is used (#3613)
  • [compliments] croner library changed filenames used in latest version (#3624)
  • [linter] Fix ESLint ignore pattern which caused that default modules not to be linted (#3632)
  • [core] Fix module path in case of sub/sub folder is used and use path.resolve for resolve moduleFolder and defaultModuleFolder in app.js (#3653)
  • [calendar] Update to resolve issues #3098 #3144 #3351 #3422 #3443 #3467 #3537 related to timezone changes
  • [calendar] Fix #3267 (styles array), also fixes event with both exdate AND recurrence(and testcase)
  • [calendar] Fix showEndsOnlyWithDuration not working, #3598, applies ONLY to full day events
  • [calendar] Fix showEnd for Full Day events (#3602)
  • [tests] Suppress "module is not defined" in e2e tests (#3647)
  • [calendar] Fix #3267 (styles array, really this time!)
  • [core] Fix #3662 js/positions.js created incorrectly

Summer is over

30 Sep 22:04
94c3c69

Choose a tag to compare

[2.29.0] - 2024-10-01

Thanks to: @bugsounet, @dkallen78, @jargordon, @khassel, @KristjanESPERANTO, @MarcLandis, @rejas, @ryan-d-williams, @sdetweil, @skpanagiotis.

⚠️ This release needs nodejs version v20 or v22, minimum version is v20.9.0

Added

  • [compliments] Added support for cron type date/time format entries mm hh DD MM dow (minutes/hours/days/months and day of week) see https://crontab.cronhub.io for construction (#3481)
  • [core] Check config at every start of MagicMirror² (#3450)
  • [core] Add spelling check (cspell): npm run test:spelling and handle spelling issues (#3544)
  • [core] removed config.paths.vendor (could not work because vendor is hardcoded in index.html), renamed config.paths.modules to config.foreignModulesDir, added variable MM_CUSTOMCSS_FILE which - if set - overrides config.customCss, added variable MM_MODULES_DIR which - if set - overrides config.foreignModulesDir, added test for MM_MODULES_DIR (#3530)
  • [core] elements are now removed from index.html when loading script or stylesheet files fails
  • [core] Added MODULE_DOM_UPDATED notification each time the DOM is re-rendered via updateDom (#3534)
  • [tests] added minimal needed node version to tests (currently v20.9.0) to avoid releases with wrong node version info
  • [tests] Added node-libgpiod library to electron-rebuild tests (#3563)

Removed

  • [core] removed installer only files (#3492)
  • [core] removed raspberry object from systeminformation (#3505)
  • [linter] removed eslint-plugin-import, because it doesn't support ESLint v9. We will reenter it later when it does.
  • [tests] removed onoff library from electron-rebuild tests (#3563)

Updated

  • [weather] Updated apiVersion default from 2.5 to 3.0 (#3424)
  • [core] Updated dependencies including stylistic-eslint
  • [core] nail down node-ical version to 0.18.0 with exception allow-ghsas: GHSA-8hc4-vh64-cxmj in dep-review.yaml (which should removed after next node-ical update)
  • [core] Updated SocketIO catch all to new API
  • [core] Allow custom modules positions by scanning index.html for the defined regions, instead of hard coded (PR #3518 fixes issue #3504)
  • [core] Detail optimizations in config_check.js
  • [core] Updated minimal needed node version in package.json (currently v20.9.0) (#3559) and except for v21 (no security updates) (#3561)
  • [linter] Switch to ESLint v9 and flat config and replace eslint-plugin-unicorn by @eslint/js
  • [core] fix discovering module positions twice after #3450

Fixed

  • Fixed checks badge in README.md
  • [weather] Fixed issue with the UK Met Office provider following a change in their API paths and header info.
  • [core] add check for node_helper loading for multiple instances of same module (#3502)
  • [weather] Fixed issue for respecting unit config on broadcasted notifications
  • [tests] Fixes calendar test by moving it from e2e to electron with fixed date (#3532)
  • [calendar] fixed sliceMultiDayEvents getting wrong count and displaying incorrect entries, Europe/Berlin (#3542)
  • [tests] ignore js/positions.js when linting (this file is created at runtime)
  • [calendar] fixed sliceMultiDayEvents showing previous day without config enabled

Weather Fixes in Summer Heat

30 Jun 21:48
53fc814

Choose a tag to compare

[2.28.0] - 2024-07-01

Thanks to: @btoconnor, @bugsounet, @JasonStieber, @khassel, @kleinmantara and @WallysWellies.

⚠️ This release needs nodejs version >= v20.9.0

Added

  • [calendar] Added config option "showEndsOnlyWithDuration" for default calendar
  • [compliments] Added specialDayUnique config option, defaults to false (#3465)
  • [weather] Provider weathergov: Use precipitationLast3Hours if precipitationLastHour is null (#3124)

Removed

  • [tests] delete node v18 support (#3462)

Updated

  • [core] Update dependencies including electron to v31
  • [core] use node >= v20 (#3462)
  • [core] Update config.js.sample to use openmeteo as weather provider which needs no api key
  • [tests] Use latest@version of node for automated-tests.yaml (#3483)
  • [updatenotification] Avoid using pm2 when running in docker container

Fixed

  • [core] Fixed crash possibility if module: <name> is not defined and on postion: <positon> mistake (#3445)
  • [weather] Fixed precipitationProbability in forecast for provider openmeteo (#3446)
  • [weather] Fixed type=daily for provider openmeteo having no data when running after 23:00 (#3449)
  • [weather] Fixed type=daily for provider openmeteo showing nightly icons in forecast when current time is "nightly" (#3458)
  • [weather] Fixed forecast and hourly weather for provider openmeteo to use real temperatures, not apparent temperatures (#3466)
  • [tests] Fixed e2e tests running in docker container which needs address: "0.0.0.0" (#3479)

Community's First Release!

01 Apr 20:17
5ea8a34

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

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

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

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)