v2.28.0

MagicMirrorOrg/MagicMirrorv2.28.0Jun 30, 2024by khassel

AI Summary

Weather-focused release dropping Node.js 18 support in favor of Node.js 20 and making OpenMeteo the default weather provider.

Key Highlights

  • Dropped Node.js v18 support (requires v20.9.0+)
  • OpenMeteo becomes the default weather provider (no API key needed)
  • Multiple fixes for OpenMeteo precipitation and forecast display

New Features

  • ShowEndsOnlyWithDuration config option
  • SpecialDayUnique config option
  • Fix for weathergov precipitationLast3Hours

Full Release Notes

## [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)