Skip to content

Commit 62b0f7f

Browse files
khasselMichMichKristjanESPERANTOdependabot[bot]crazyscot
authored
Release 2.32.0 (#3826)
## [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` ### 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) --------- 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> Co-authored-by: HeikoGr <20295490+HeikoGr@users.noreply.github.com> Co-authored-by: Pedro Lamas <pedrolamas@gmail.com> Co-authored-by: veeck <gitkraken@veeck.de> Co-authored-by: Magnus <34011212+MagMar94@users.noreply.github.com> Co-authored-by: Ikko Eltociear Ashimine <eltociear@gmail.com> Co-authored-by: DevIncomin <56730075+Developer-Incoming@users.noreply.github.com> Co-authored-by: Nathan <n8nyoung@gmail.com> Co-authored-by: mixasgr <mixasgr@users.noreply.github.com> Co-authored-by: Savvas Adamtziloglou <savvas-gr@greeklug.gr> Co-authored-by: Konstantinos <geraki@gmail.com> Co-authored-by: OWL4C <124401812+OWL4C@users.noreply.github.com> Co-authored-by: BugHaver <43462320+bughaver@users.noreply.github.com> Co-authored-by: BugHaver <43462320+lsaadeh@users.noreply.github.com> Co-authored-by: Koen Konst <koenspero@gmail.com> Co-authored-by: Koen Konst <c.h.konst@avisi.nl>
1 parent 8e0b846 commit 62b0f7f

File tree

111 files changed

+5134
-4215
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

111 files changed

+5134
-4215
lines changed

.github/CONTRIBUTING.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,31 +8,31 @@ We hold our code to standard, and these standards are documented below.
88

99
We use [prettier](https://prettier.io/) for automatic formatting a lot all our files. The configuration is in our `prettier.config.mjs` file.
1010

11-
To run prettier, use `npm run lint:prettier`.
11+
To run prettier, use `node --run lint:prettier`.
1212

1313
### JavaScript: Run ESLint
1414

1515
We use [ESLint](https://eslint.org) to lint our JavaScript files. The configuration is in our `eslint.config.mjs` file.
1616

17-
To run ESLint, use `npm run lint:js`.
17+
To run ESLint, use `node --run lint:js`.
1818

1919
### CSS: Run StyleLint
2020

21-
We use [StyleLint](https://stylelint.io) to lint our CSS. The configuration is in our `.stylelintrc.json` file.
21+
We use [StyleLint](https://stylelint.io) to lint our CSS. The configuration is in our `stylelint.config.mjs` file.
2222

23-
To run StyleLint, use `npm run lint:css`.
23+
To run StyleLint, use `node --run lint:css`.
2424

2525
### Markdown: Run markdownlint
2626

2727
We use [markdownlint-cli2](https://github.com/DavidAnson/markdownlint-cli2) to lint our markdown files. The configuration is in our `.markdownlint.json` file.
2828

29-
To run markdownlint, use `npm run markdownlint:css`.
29+
To run markdownlint, use `node --run lint:markdown`.
3030

3131
## Testing
3232

3333
We use [Jest](https://jestjs.io) for JavaScript testing.
3434

35-
To run all tests, use `npm run test`.
35+
To run all tests, use `node --run test`.
3636

3737
The specific test commands are defined in `package.json`.
38-
So you can also run the specific tests with other commands, e.g. `npm run test:unit` or `npx jest tests/e2e/env_spec.js`.
38+
So you can also run the specific tests with other commands, e.g. `node --run test:unit` or `npx jest tests/e2e/env_spec.js`.

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,11 @@ body:
4444
description: |
4545
Please keep in mind that some problems are specific to certain start options.
4646
options:
47-
- "npm run start"
48-
- "npm run start:wayland"
49-
- "npm run start:windows"
50-
- "npm run start:x11"
51-
- "npm run server"
47+
- "node --run start"
48+
- "node --run start:wayland"
49+
- "node --run start:windows"
50+
- "node --run start:x11"
51+
- "node --run server"
5252
- "node clientonly --address ... --port ..."
5353
validations:
5454
required: true

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Hello and thank you for wanting to contribute to the MagicMirror² project!
1010
> - What does the pull request accomplish? Use a list if needed.
1111
> - If it includes major visual changes please add screenshots.
1212
>
13-
> 3. Please run `npm run lint:prettier` before submitting so that
13+
> 3. Please run `node --run lint:prettier` before submitting so that
1414
> style issues are fixed.
1515
> 4. Don't forget to add an entry about your changes to
1616
> the CHANGELOG.md file.

.github/dependabot.yaml

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -18,23 +18,3 @@ updates:
1818
- "Skip Changelog"
1919
- "dependencies"
2020
- "javascript"
21-
22-
- package-ecosystem: "npm"
23-
directory: "/vendor"
24-
schedule:
25-
interval: "monthly"
26-
target-branch: "develop"
27-
labels:
28-
- "Skip Changelog"
29-
- "dependencies"
30-
- "javascript"
31-
32-
- package-ecosystem: "npm"
33-
directory: "/fonts"
34-
schedule:
35-
interval: "monthly"
36-
target-branch: "develop"
37-
labels:
38-
- "Skip Changelog"
39-
- "dependencies"
40-
- "javascript"

.github/workflows/automated-tests.yaml

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,23 +22,23 @@ jobs:
2222
- name: "Use Node.js"
2323
uses: actions/setup-node@v4
2424
with:
25-
node-version: 23
25+
node-version: lts/*
2626
cache: "npm"
2727
- name: "Install dependencies"
2828
run: |
29-
npm run install-mm:dev
29+
node --run install-mm:dev
3030
- name: "Run linter tests"
3131
run: |
32-
npm run test:prettier
33-
npm run test:js
34-
npm run test:css
35-
npm run test:markdown
32+
node --run test:prettier
33+
node --run test:js
34+
node --run test:css
35+
node --run test:markdown
3636
test:
3737
runs-on: ubuntu-24.04
3838
timeout-minutes: 30
3939
strategy:
4040
matrix:
41-
node-version: [22.14.0, 22.x, 23.x]
41+
node-version: [22.14.0, 22.x, 24.x]
4242
steps:
4343
- name: Install electron dependencies and labwc
4444
run: |
@@ -54,14 +54,16 @@ jobs:
5454
cache: "npm"
5555
- name: "Install MagicMirror²"
5656
run: |
57-
npm run install-mm:dev
58-
- name: "Run tests"
57+
node --run install-mm:dev
58+
- name: "Prepare environment for tests"
5959
run: |
6060
# Fix chrome-sandbox permissions:
6161
sudo chown root:root ./node_modules/electron/dist/chrome-sandbox
6262
sudo chmod 4755 ./node_modules/electron/dist/chrome-sandbox
6363
# Start labwc
6464
WLR_BACKENDS=headless WLR_LIBINPUT_NO_DEVICES=1 WLR_RENDERER=pixman labwc &
65-
export WAYLAND_DISPLAY=wayland-0
6665
touch css/custom.css
67-
npm run test
66+
- name: "Run tests"
67+
run: |
68+
export WAYLAND_DISPLAY=wayland-0
69+
node --run test

.github/workflows/electron-rebuild.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
runs-on: ubuntu-latest
99
strategy:
1010
matrix:
11-
node-version: [22.14.0, 22.x, 23.x]
11+
node-version: [22.14.0, 22.x, 24.x]
1212
steps:
1313
- name: Checkout code
1414
uses: actions/checkout@v4
@@ -18,7 +18,7 @@ jobs:
1818
node-version: ${{ matrix.node-version }}
1919
check-latest: true
2020
- name: Install MagicMirror
21-
run: npm run install-mm
21+
run: node --run install-mm
2222
- name: Install @electron/rebuild
2323
run: npm install @electron/rebuild
2424
- name: Install node-libgpiod deps

.github/workflows/spellcheck.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ jobs:
2121
- name: Set up Node.js
2222
uses: actions/setup-node@v4
2323
with:
24-
node-version: "22"
24+
node-version: lts/*
2525
check-latest: true
2626
cache: "npm"
2727
- name: Install dependencies
2828
run: |
29-
npm run install-mm:dev
29+
node --run install-mm:dev
3030
- name: Run Spellcheck
31-
run: npm run test:spelling
31+
run: node --run test:spelling

.gitignore

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@ coverage
1010
.lock-wscript
1111
build/Release
1212
/node_modules/**/*
13-
fonts/node_modules/**/*
14-
vendor/node_modules/**/*
1513
!/tests/node_modules/**/*
1614
jspm_modules
1715
.npm
@@ -67,6 +65,8 @@ Temporary Items
6765
/css/*
6866
!/css/custom.css.sample
6967
!/css/main.css
68+
!/css/roboto.css
69+
!/css/font-awesome.css
7070

7171
# Ignore users config file but keep the sample.
7272
/config/*
@@ -84,3 +84,7 @@ Temporary Items
8484

8585
# Ignore positions file (#3518)
8686
js/positions.js
87+
88+
# Ignore lock files other than package-lock.json
89+
pnpm-lock.yaml
90+
yarn.lock

.stylelintrc.json

Lines changed: 0 additions & 7 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 56 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,57 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
❤️ **Donate:** Enjoying MagicMirror²? [Please consider a donation!](https://magicmirror.builders/#donate) With your help we can continue to improve the MagicMirror².
99

10+
## [2.32.0] - 2025-07-01
11+
12+
Thanks to: @bughaver, @bugsounet, @khassel, @KristjanESPERANTO, @plebcity, @rejas, @sdetweil.
13+
14+
> ⚠️ This release needs nodejs version `v22.14.0 or higher`
15+
16+
### Added
17+
18+
- [config] Allow to change module order for final renderer (or dynamically with CSS): Feature `order` in config (#3762)
19+
- [clock] Added option 'disableNextEvent' to hide next sun event (#3769)
20+
- [clock] Implement short syntax for clock week (#3775)
21+
22+
### Changed
23+
24+
- [refactor] Simplify module loading process (#3766)
25+
- Use `node --run` instead of `npm run` (#3764) and adapt `start:dev` script (#3773)
26+
- [workflow] Run linter and spellcheck with LTS node version (#3767)
27+
- [workflow] Split "Run test" step into two steps for more clarity (#3767)
28+
- [linter] Review linter setup (#3783)
29+
- Fix command to lint markdown in `CONTRIBUTING.md`
30+
- Re-activate JSDoc linting and fix linting issues
31+
- Refactor ESLint config to use `defineConfig` and `globalIgnores`
32+
- Replace `eslint-plugin-import` with `eslint-plugin-import-x`
33+
- Switch Stylelint config to flat format and simplify Stylelint scripts
34+
- [workflow] Replace Node.js version v23 with v24 (#3770)
35+
- [refactor] Replace deprecated constants `fs.F_OK` and `fs.R_OK` (#3789)
36+
- [refactor] Replace `ansis` with built-in function `util.styleText` (#3793)
37+
- [core] Integrate stuff from `vendor` and `fonts` folders into main `package.json`, simplifies install and maintaining dependencies (#3795, #3805)
38+
- [l10n] Complete translations (with the help of translation tools) (#3794)
39+
- [refactor] Refactored `calendarfetcherutils` in Calendar module to handle timezones better (#3806)
40+
- Removed as many of the date conversions as possible
41+
- Use `moment-timezone` when calculating recurring events, this will fix problems from the past with offsets and DST not being handled properly
42+
- Added some tests to test the behavior of the refactored methods to make sure the correct event dates are returned
43+
- [linter] Enable ESLint rule `no-console` and replace `console` with `Log` in some files (#3810)
44+
- [tests] Review and refactor translation tests (#3792)
45+
46+
### Fixed
47+
48+
- [fix] Handle spellcheck issues (#3783)
49+
- [calendar] fix fullday event rrule until with timezone offset (#3781)
50+
- [feat] Add rule `no-undef` in config file validation to fix #3785 (#3786)
51+
- [fonts] Fix `roboto.css` to avoid error message `Unknown descriptor 'var(' in @font-face rule.` in firefox console (#3787)
52+
- [tests] Fix and refactor e2e test `Same keys` in `translations_spec.js` (#3809)
53+
- [tests] Fix e2e tests newsfeed and calendar to exit without open handles (#3817)
54+
55+
### Updated
56+
57+
- [core] Update dependencies including electron to v36 (#3774, #3788, #3811, #3804, #3815, #3823)
58+
- [core] Update package type to `commonjs`
59+
- [logger] Review factory code part: use `switch/case` instead of `if/else if` (#3812)
60+
1061
## [2.31.0] - 2025-04-01
1162

1263
Thanks to: @Developer-Incoming, @eltociear, @geraki, @khassel, @KristjanESPERANTO, @MagMar94, @mixasgr, @n8many, @OWL4C, @rejas, @savvadam, @sdetweil.
@@ -16,7 +67,7 @@ Thanks to: @Developer-Incoming, @eltociear, @geraki, @khassel, @KristjanESPERANT
1667
### Added
1768

1869
- 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`.
19-
- Add Arabic (#3719) and Esperanto translation.
70+
- Add Arabic (#3719) and Esperanto translation (#3740)
2071
- Mark option `secondsColor` as deprecated in clock module.
2172
- Add Greek translation to Alerts module.
2273
- [newsfeed] Add specific ignoreOlderThan value (override) per feed (#3360)
@@ -26,7 +77,7 @@ Thanks to: @Developer-Incoming, @eltociear, @geraki, @khassel, @KristjanESPERANT
2677

2778
### Changed
2879

29-
- [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)
80+
- [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)
3081
- [core] Optimize systeminformation calls and output (#3689)
3182
- [core] Add issue templates for feature requests and bug reports (#3695)
3283
- [core] Adapt `start:x11:dev` script
@@ -64,7 +115,7 @@ Thanks to: @xsorifc28, @HeikoGr, @bugsounet, @khassel, @KristjanESPERANTO, @reja
64115
65116
### Added
66117

67-
- [core] Add wayland and windows start options to `package.json` (#3594)
118+
- [core] Add Wayland and Windows start options to `package.json` (#3594)
68119
- [docs] Add step for npm publishing in release process (#3595)
69120
- [core] Add GitHub workflow to run spellcheck a few days before each release (#3623)
70121
- [core] Add test flag to `index.html` to pass to module js for test mode detection (needed by #3630)
@@ -1470,7 +1521,7 @@ A huge, huge, huge thanks to user @fewieden for all his hard work on the new `we
14701521
### Fixed
14711522

14721523
- Fix instruction in README for using automatically installer script.
1473-
- Bug of duplicated compliments as described in [here](https://forum.magicmirror.builders/topic/2381/compliments-module-stops-cycling-compliments).
1524+
- Bug of [duplicated compliments](https://forum.magicmirror.builders/topic/2381/compliments-module-stops-cycling-compliments).
14741525
- Fix double message about port when server is starting
14751526
- Corrected Swedish translations for TODAY/TOMORROW/DAYAFTERTOMORROW.
14761527
- Removed unused import from js/electron.js
@@ -1720,6 +1771,7 @@ It includes (but is not limited to) the following features:
17201771

17211772
This was part of the blogpost: [https://michaelteeuw.nl/post/83916869600/magic-mirror-part-vi-production-of-the](https://michaelteeuw.nl/post/83916869600/magic-mirror-part-vi-production-of-the)
17221773

1774+
[2.32.0]: https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.31.0...v2.32.0
17231775
[2.31.0]: https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.30.0...v2.31.0
17241776
[2.30.0]: https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.29.0...v2.30.0
17251777
[2.29.0]: https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.28.0...v2.29.0

0 commit comments

Comments
 (0)