v2.34.0
jdx/misev2.34.0Jan 1, 2026by github-actions[bot]
AI Summary
This release focuses on infrastructure modernization, requiring a higher Node.js version and migrating the testing suite from Jest to Vitest, along with improvements to server-side logging and Wayland support.
Key Highlights
- Updated Node.js requirement to >=22.21.1
- Migrated testing framework from Jest to Vitest
- Added `server:watch` script for automatic restarts on file changes
- Refactored Wayland support for improved reliability
- Replaced `express-ipfilter` with lightweight custom middleware
Breaking Changes
- Requires Node.js version >=22.21.1 <23 || >=24
New Features
- Server watch script
- Configurable forecast date format for weather
- Calendar checksum for detecting list changes
- ESLint rule for sparse arrays
- Logger prefixing with calling filename
Full Release Notes
## Release Notes Thanks to: @Blackspirits, @Crazylegstoo, @jarnoml, @jboucly, @JHWelch, @khassel, @KristjanESPERANTO, @rejas, @sdetweil, @xsorifc28 > ⚠️ This release needs nodejs version >=22.21.1 <23 || >=24 [Compare to previous Release v2.33.0](https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.33.0...v2.34.0) ### [core] - Merge branch 'master' into develop - Prepare Release 2.34.0 (#3998) - dependency update + adjust Playwright setup + fix linter issue (#3994) - demo with gif (#3995) - [core] fix: allow browser globals in config files (#3992) - [core] fix: restore `--ozone-platform=wayland` flag for reliable Wayland support (#3989) - [core] auto create release notes with every push on develop (#3985) - [core] chore: simplify Wayland start script (#3974) - [gitignore] restore the old Git behavior for the default modules (#3968) - [core] configure cspell to check default modules only and fix typos (#3955) - [gitignore] restoring the old Git behavior for the CSS directory (#3954) - feat(core): add `server:watch` script with automatic restart on file changes (#3920) - [check_config] refactor: improve error handling (#3927) - refactor: replace `express-ipfilter` with lightweight custom middleware (#3917) - refactor: replace `module-alias` dependency with internal alias resolver (#3893) - Release 2.33.0 (#3903) ### [dependencies] - [chore] update dependencies and min. node version (#3986) - [core] bump dependencies into december (#3982) - Bump actions/checkout from 5 to 6 (#3972) - Update deps, unpin parse5 (#3934) - [core] Update deps and pin jsdom to v27.0.0 (#3925) - chore: update dependencies (#3921) - update deps, exclude node v23 (#3916) - remove eslint warnings, add npm publish process to Collaboration.md (#3913) - feat: add ESlint rule `no-sparse-arrays` for config check (#3911) - chore: bump dependencies into october (#3909) ### [logging] - logger: add calling filename as prefix on server side (#3926) - [logger] Add prefixes to most Log messages (#3923) ### [modules/alert] - Add new pt and pt-BR translations for Alert module and update global PT strings (#3965) ### [modules/calendar] - add checksum to test whether calendar event list changed (#3988) - [calendar] fix: prevent excessive fetching on client reload and refactor `calendarfetcherutils.js` (#3976) - [calendar] refactor: migrate CalendarFetcher to ES6 class and improve error handling (#3959) - [calendar] Show `repeatingCountTitle` only if `yearDiff` > 0 (#3949) - [tests] suppress debug logs in CI environment + improve calendar symbol test stability (#3941) - [calendar] chore: remove `requiresVersion: "2.1.0"` (#3932) - [calendar] test: remove "Recurring event per timezone" test (#3929) ### [modules/compliments] - [compliments] refactor: optimize `loadComplimentFile` method and add unit tests (#3969) - fix: set compliments remote file minimum delay to 15 minutes (#3970) - [compliments] fix: duplicate query param "?" in compliments module refresh url (#3967) ### [modules/newsfeed] - [newsfeed] fix header layout issue (#3946) ### [modules/weather] - [weatherprovider] update subclass language use override (#3914) - [weather] fix wind-icon not showing in pirateweather (#3957) - [weather] add error handling to weather fetch functions, including cors (#3791) - remove deprecated ukmetoffice datapoint provider, cleanup .gitignore (#3952) - fixes problems with daylight-saving-time in weather provider `openmeteo` (#3931) - Fix for envcanada Provider to use updated Env Canada URL (#3919) - [weather] feat: add configurable forecast date format option (#3918) ### [testing] - testing: update "Enforce Pull-Request Rules" workflow (#3987) - [core] refactor: replace `XMLHttpRequest` with `fetch` and migrate e2e tests to Playwright (#3950) - [test] replace `node-libgpiod` with `serialport` in electron-rebuild workflow (#3945) - [ci] Add concurrency to automated tests workflow to cancel outdated runs (#3943) - [tests] migrate from `jest` to `vitest` (#3940)