Release 2.29.0 (#3568)

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

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Michael Teeuw <michael@xonaymedia.nl>
Co-authored-by: Kristjan ESPERANTO <35647502+KristjanESPERANTO@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ross Younger <crazyscot@gmail.com>
Co-authored-by: Veeck <github@veeck.de>
Co-authored-by: Bugsounet - Cédric <github@bugsounet.fr>
Co-authored-by: jkriegshauser <joshuakr@nvidia.com>
Co-authored-by: illimarkangur <116028111+illimarkangur@users.noreply.github.com>
Co-authored-by: sam detweiler <sdetweil@gmail.com>
Co-authored-by: vppencilsharpener <tim.pray@gmail.com>
Co-authored-by: veeck <michael.veeck@nebenan.de>
Co-authored-by: Paranoid93 <6515818+Paranoid93@users.noreply.github.com>
Co-authored-by: Brian O'Connor <btoconnor@users.noreply.github.com>
Co-authored-by: WallysWellies <59727507+WallysWellies@users.noreply.github.com>
Co-authored-by: Jason Stieber <jrstieber@gmail.com>
Co-authored-by: jargordon <50050429+jargordon@users.noreply.github.com>
Co-authored-by: Daniel <32464403+dkallen78@users.noreply.github.com>
Co-authored-by: Ryan Williams <65094007+ryan-d-williams@users.noreply.github.com>
Co-authored-by: Panagiotis Skias <panagiotis.skias@gmail.com>
Co-authored-by: Marc Landis <dirk.rettschlag@gmail.com>
This commit is contained in:
Karsten Hassel
2024-10-01 00:02:17 +02:00
committed by GitHub
parent 53fc814ff8
commit 94c3c699e8
84 changed files with 3899 additions and 2830 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "magicmirror",
"version": "2.28.0",
"version": "2.29.0",
"description": "The open source modular smart mirror platform.",
"keywords": [
"magic mirror",
@@ -41,6 +41,7 @@
"test:js": "eslint .",
"test:css": "stylelint 'css/main.css' 'fonts/*.css' 'modules/default/**/*.css' 'vendor/*.css' --config .stylelintrc.json",
"test:calendar": "node ./modules/default/calendar/debug.js",
"test:spelling": "cspell . --gitignore",
"config:check": "node js/check_config.js",
"lint:prettier": "prettier . --write",
"lint:js": "eslint . --fix",
@@ -54,12 +55,12 @@
"*.css": "stylelint --fix"
},
"dependencies": {
"ajv": "^8.16.0",
"ansis": "^3.2.0",
"ajv": "^8.17.1",
"ansis": "^3.3.2",
"console-stamp": "^3.1.2",
"envsub": "^4.1.0",
"eslint": "^8.57.0",
"express": "^4.19.2",
"eslint": "^9.11.1",
"express": "^4.21.0",
"express-ipfilter": "^1.3.2",
"feedme": "^2.0.2",
"helmet": "^7.1.0",
@@ -67,36 +68,36 @@
"iconv-lite": "^0.6.3",
"module-alias": "^2.2.3",
"moment": "^2.30.1",
"node-ical": "^0.18.0",
"pm2": "^5.4.1",
"socket.io": "^4.7.5",
"node-ical": "0.18.0",
"pm2": "^5.4.2",
"socket.io": "^4.8.0",
"suncalc": "^1.9.0",
"systeminformation": "^5.22.11"
"systeminformation": "^5.23.5"
},
"devDependencies": {
"@stylistic/eslint-plugin": "^1.8.1",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-jest": "^28.6.0",
"eslint-plugin-jsdoc": "^48.5.0",
"eslint-plugin-package-json": "^0.15.0",
"eslint-plugin-unicorn": "^54.0.0",
"@eslint/js": "^9.11.1",
"@stylistic/eslint-plugin": "^2.8.0",
"cspell": "^8.14.4",
"eslint-plugin-jest": "^28.8.3",
"eslint-plugin-jsdoc": "^50.3.0",
"eslint-plugin-package-json": "^0.15.3",
"express-basic-auth": "^1.2.1",
"husky": "^9.0.11",
"husky": "^9.1.6",
"jest": "^29.7.0",
"jsdom": "^24.1.0",
"lint-staged": "^15.2.7",
"playwright": "^1.45.0",
"prettier": "^3.3.2",
"sinon": "^18.0.0",
"stylelint": "^16.6.1",
"jsdom": "^25.0.1",
"lint-staged": "^15.2.10",
"playwright": "^1.47.2",
"prettier": "^3.3.3",
"sinon": "^19.0.2",
"stylelint": "^16.9.0",
"stylelint-config-standard": "^36.0.1",
"stylelint-prettier": "^5.0.0"
"stylelint-prettier": "^5.0.2"
},
"optionalDependencies": {
"electron": "^31.1.0"
"electron": "^31.6.0"
},
"engines": {
"node": ">=20"
"node": ">=20.9.0 <21 || 22"
},
"_moduleAliases": {
"node_helper": "js/node_helper.js",