Skip to content

Commit b0c5924

Browse files
Release 2.33.0 (#3903)
1 parent 62b0f7f commit b0c5924

File tree

77 files changed

+2806
-2649
lines changed

Some content is hidden

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

77 files changed

+2806
-2649
lines changed

.github/workflows/automated-tests.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ jobs:
1818
timeout-minutes: 15
1919
steps:
2020
- name: "Checkout code"
21-
uses: actions/checkout@v4
21+
uses: actions/checkout@v5
2222
- name: "Use Node.js"
23-
uses: actions/setup-node@v4
23+
uses: actions/setup-node@v5
2424
with:
2525
node-version: lts/*
2626
cache: "npm"
@@ -38,16 +38,16 @@ jobs:
3838
timeout-minutes: 30
3939
strategy:
4040
matrix:
41-
node-version: [22.14.0, 22.x, 24.x]
41+
node-version: [22.18.0, 22.x, 24.x]
4242
steps:
4343
- name: Install electron dependencies and labwc
4444
run: |
4545
sudo apt-get update
4646
sudo apt-get install -y libnss3 libasound2t64 labwc
4747
- name: "Checkout code"
48-
uses: actions/checkout@v4
48+
uses: actions/checkout@v5
4949
- name: "Use Node.js ${{ matrix.node-version }}"
50-
uses: actions/setup-node@v4
50+
uses: actions/setup-node@v5
5151
with:
5252
node-version: ${{ matrix.node-version }}
5353
check-latest: true

.github/workflows/dep-review.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ jobs:
1313
runs-on: ubuntu-latest
1414
steps:
1515
- name: "Checkout code"
16-
uses: actions/checkout@v4
16+
uses: actions/checkout@v5
1717
- name: "Dependency Review"
1818
uses: actions/dependency-review-action@v4

.github/workflows/electron-rebuild.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ jobs:
88
runs-on: ubuntu-latest
99
strategy:
1010
matrix:
11-
node-version: [22.14.0, 22.x, 24.x]
11+
node-version: [22.18.0, 22.x, 24.x]
1212
steps:
1313
- name: Checkout code
14-
uses: actions/checkout@v4
14+
uses: actions/checkout@v5
1515
- name: "Use Node.js ${{ matrix.node-version }}"
16-
uses: actions/setup-node@v4
16+
uses: actions/setup-node@v5
1717
with:
1818
node-version: ${{ matrix.node-version }}
1919
check-latest: true

.github/workflows/spellcheck.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ jobs:
1515
runs-on: ubuntu-latest
1616
steps:
1717
- name: Checkout code
18-
uses: actions/checkout@v4
18+
uses: actions/checkout@v5
1919
with:
2020
ref: develop
2121
- name: Set up Node.js
22-
uses: actions/setup-node@v4
22+
uses: actions/setup-node@v5
2323
with:
2424
node-version: lts/*
2525
check-latest: true

.github/workflows/stale.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
stale:
1313
runs-on: ubuntu-latest
1414
steps:
15-
- uses: actions/stale@v9
15+
- uses: actions/stale@v10
1616
with:
1717
stale-issue-message: "This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions."
1818
days-before-issue-stale: 60

CHANGELOG.md

Lines changed: 59 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,59 @@ 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.33.0] - 2025-10-01
11+
12+
Thanks to: @Crazylegstoo, @dathbe, @m-idler, @plebcity, @khassel, @KristjanESPERANTO, @rejas and @sdetweil!
13+
14+
> ⚠️ This release needs nodejs version `v22.18.0 or higher`
15+
16+
### Added
17+
18+
- Add configuration option for `User-Agent`, used by calendar & news module (#3255)
19+
- [linter] Add prettier plugin for nunjuck templates (#3887)
20+
- [core] Add clear log for occupied port at startup (#3890)
21+
22+
### Changed
23+
24+
- [clock] Add CSS to prevent line breaking of sunset/sunrise time display (#3816)
25+
- [core] Enhance system information logging format and include additional env and RAM details (#3839, #3843)
26+
- [refactor] Add new file `js/module_functions.js` to move code used in several modules to one place (#3837)
27+
- [refactor] Use global.root_path where possible and add tests for config:check (#3883, #3885, #3886, #3889)
28+
- [tests] refactor: simplify jest config file (#3844)
29+
- [tests] refactor: extract constants for weather electron tests (#3845)
30+
- [tests] refactor: add `setupDOMEnvironment` helper function to eliminate repetitive JSDOM setup code (#3860)
31+
- [tests] replace `console` with `Log` in calendar `debug.js` to avoid exception in eslint config (#3846)
32+
- [tests] speed up e2e tests, cleanup and stabilize weather e2e tests, update snapshot url (#3847, #3848, #3861)
33+
- [tests] refactor translation tests (#3866)
34+
- Remove `sinon` dependency in favor of Jest native mocking
35+
- Unify test helper functions across translation test suites
36+
- Rename `setupDOMEnvironment` to `createTranslationTestEnvironment` for consistency
37+
- Simplify DOM setup by removing unnecessary Promise/async patterns
38+
- Avoid potential port conflicts by using port 3001 for translator unit tests
39+
- Improve test reliability and maintainability
40+
- [tests] add alert module tests for different welcome_message configurations (#3867)
41+
- [lint-staged] use `prettier --write --ignore-unknown` in `lint-staged` to avoid errors on unsupported files (#3888)
42+
43+
### Updated
44+
45+
- [calendar] Update defaultSymbol name and also the link to the icon search site (#3879)
46+
- [core] Update dependencies including electron to v38 as well as github actions (#3831, #3849, #3857, #3858, #3872, #3876, #3882, #3891, #3896)
47+
- [weather] Update feels_like temperature calculation formula (#3869)
48+
- [weather] Update null value handling for weather type (#3892)
49+
- [layout] Update styles for weather and calendar (#3894)
50+
51+
### Fixed
52+
53+
- [calendar] Fixed broken unittest that only broke on the 1st of July and 1st of january (#3830)
54+
- [clock] Fixed missing icons when no other modules with icons is loaded (#3834)
55+
- [weather] Fixed handling of empty values in weathergov providers handling of precipitationAmount (#3859)
56+
- [calendar] Fix regression handling of limit days (#3840)
57+
- [calendar] Fixed regression of calendarfetcherutils.shouldEventBeExcluded (#3841)
58+
- [core] Fixed socket.io timeout when server is slow to send notification, notification lost at client (#3380)
59+
- [tests] refactor AnimateCSS tests after jsdom 27 upgrade (#3891)
60+
- [weather] Use `apparent_temperature` data from openmeteo's hourly weather for current feelsLikeTemp (#3868).
61+
- [weather] Updated envcanada Provider to use new database/URL schema for accessing weather data (#3878).
62+
1063
## [2.32.0] - 2025-07-01
1164

1265
Thanks to: @bughaver, @bugsounet, @khassel, @KristjanESPERANTO, @plebcity, @rejas, @sdetweil.
@@ -260,7 +313,7 @@ For more info, please read the following post: [A New Chapter for MagicMirror: T
260313
### Added
261314

262315
- Output of system information to the console for troubleshooting (#3328 and #3337), ignore errors under aarch64 (#3349)
263-
- [core] Add `eslint-plugin-package-json` to lint the `package.json` files (#3368)
316+
- [linter] Add `eslint-plugin-package-json` to lint the `package.json` files (#3368)
264317
- [weather] `showHumidity` config is now a string describing where to show this element. Supported values: "wind", "temp", "feelslike", "below", "none". (#3330)
265318
- electron-rebuild test suite for electron and 3rd party modules compatibility (#3392)
266319
- Create MM² icon and attach it to electron process (#3407)
@@ -277,7 +330,7 @@ For more info, please read the following post: [A New Chapter for MagicMirror: T
277330
- Update translations for estonian (#3371)
278331
- Update electron to v29 and update other dependencies
279332
- [calendar] fullDay events over several days now show the left days from the first day on and 'today' on the last day
280-
- Update layout of current weather indoor values
333+
- [weather] Update layout of current weather indoor values
281334

282335
### Fixed
283336

@@ -422,7 +475,7 @@ Special thanks to @khassel, @rejas and @sdetweil for taking over most (if not al
422475
- Added UV Index to hourly and current Weather, with support for Openmeteo
423476
- Added tests for serveronly
424477
- Set Timezone `Europe/Berlin` in unit tests (needed for new formatTime tests)
425-
- Added no-param-reassign eslint rule and fix warnings
478+
- [linter] Added no-param-reassign eslint rule and fix warnings
426479
- [updatenotification] Added `sendUpdatesNotifications` feature. Broadcast update with `UPDATES` notification to other modules
427480
- [updatenotification] Allow force scanning with `SCAN_UPDATES` notification from other modules
428481
- Added per-calendar fetchInterval
@@ -687,7 +740,7 @@ Special thanks to the following contributors: @AmpioRosso, @eouia, @fewieden, @j
687740
### Fixed
688741

689742
- Fixed wrong file `kr.json` to `ko.json`. Use language code 'ko' instead of 'kr' for Korean language.
690-
- Fixed `feels_like` data from openweathermap's current weather being ignored (#2678).
743+
- [weather] Fixed `feels_like` data from openweathermap's current weather being ignored (#2678).
691744
- Fixed chaotic newsfeed display after network connection loss thanks to @jalibu (#2638).
692745
- Fixed incorrect time zone correction of recurring full day events (#2632 and #2634).
693746
- Fixed e2e tests by increasing testTimeout.
@@ -725,7 +778,7 @@ Special thanks to the following contributors: @apiontek, @eouia, @jupadin, @khas
725778
- Actually test all js and css files when lint script is run.
726779
- Updated jsdocs and print warnings during testing too.
727780
- Updated weathergov provider to try fetching not just current, but also forecast, when API URLs available.
728-
- Refactored clock layout.
781+
- [clock] Refactored clock layout.
729782
- Refactored methods from weather-providers into weatherobject (isDaytime, updateSunTime).
730783
- Use of `logger.js` in jest tests.
731784
- Run prettier over all relevant files.
@@ -1771,6 +1824,7 @@ It includes (but is not limited to) the following features:
17711824

17721825
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)
17731826

1827+
[2.33.0]: https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.32.0...v2.33.0
17741828
[2.32.0]: https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.31.0...v2.32.0
17751829
[2.31.0]: https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.30.0...v2.31.0
17761830
[2.30.0]: https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.29.0...v2.30.0

Collaboration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Are done by
3535
- [ ] test `prep-release` branch
3636
- [ ] update `CHANGELOG.md`
3737
- [ ] add all contributor names: `...`
38-
- [ ] add min. node version: > ⚠️ This release needs nodejs version `v22.14.0` or higher
38+
- [ ] add min. node version: > ⚠️ This release needs nodejs version `v22.18.0` or higher
3939
- [ ] check release link at the bottom of the file
4040
- [ ] commit and push all changes
4141
- [ ] create pull request from `prep-release` to `develop` branch with title `Prepare Release 2.xx.0`

cspell.config.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
"browserwindow",
2222
"bryanzzhu",
2323
"btoconnor",
24+
"bughaver",
2425
"bugsounet",
2526
"buxxi",
2627
"byday",
@@ -44,6 +45,7 @@
4445
"darksky",
4546
"dateheader",
4647
"dateheaders",
48+
"dathbe",
4749
"davide",
4850
"DAYAFTERTOMORROW",
4951
"DAYBEFOREYESTERDAY",
@@ -175,6 +177,7 @@
175177
"oraclesean",
176178
"oscarb",
177179
"philnagel",
180+
"plebcity",
178181
"Português",
179182
"PRECIP",
180183
"Problema",
@@ -233,6 +236,7 @@
233236
"Weatherflow",
234237
"weatherforecast",
235238
"weathergov",
239+
"weathericon",
236240
"weathericons",
237241
"weatherobject",
238242
"weatherutils",

css/main.css

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -252,3 +252,15 @@ sup {
252252
.region .container.hidden {
253253
display: none;
254254
}
255+
256+
.region.left .flex {
257+
justify-content: flex-start;
258+
}
259+
260+
.region.center .flex {
261+
justify-content: center;
262+
}
263+
264+
.region.right .flex {
265+
justify-content: flex-end;
266+
}

eslint.config.mjs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import globals from "globals";
33
import {flatConfigs as importX} from "eslint-plugin-import-x";
44
import jest from "eslint-plugin-jest";
55
import js from "@eslint/js";
6-
import jsdoc from "eslint-plugin-jsdoc";
6+
import jsdocPlugin from "eslint-plugin-jsdoc";
77
import packageJson from "eslint-plugin-package-json";
88
import stylistic from "@stylistic/eslint-plugin";
99

@@ -23,8 +23,8 @@ export default defineConfig([
2323
moment: "readonly"
2424
}
2525
},
26-
plugins: {js, jsdoc, stylistic},
27-
extends: [importX.recommended, jest.configs["flat/recommended"], "js/recommended", jsdoc.configs["flat/recommended"], "stylistic/all"],
26+
plugins: {js, stylistic},
27+
extends: [importX.recommended, jest.configs["flat/recommended"], "js/recommended", jsdocPlugin.configs["flat/recommended"], "stylistic/all"],
2828
rules: {
2929
"@stylistic/array-element-newline": ["error", "consistent"],
3030
"@stylistic/arrow-parens": ["error", "always"],
@@ -88,7 +88,6 @@ export default defineConfig([
8888
files: ["**/*.js"],
8989
ignores: [
9090
"clientonly/index.js",
91-
"modules/default/calendar/debug.js",
9291
"js/logger.js",
9392
"tests/**/*.js"
9493
],

0 commit comments

Comments
 (0)