Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 2.30.0 #3673

Merged
merged 175 commits into from
Jan 1, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
175 commits
Select commit Hold shift + click to select a range
5e346e7
Start of 2.27.0 develop branch.
MichMich Jan 1, 2024
367d02f
Update URLs to MagicMirrorOrg (#3321)
KristjanESPERANTO Jan 1, 2024
ae1f9d0
Bump moment-timezone from 0.5.43 to 0.5.44 in /vendor (#3317)
dependabot[bot] Jan 1, 2024
bcab8eb
skip changelog requirement when running tests for dependency updates …
khassel Jan 1, 2024
5f7b56e
Bump eslint-plugin-jsdoc from 46.9.1 to 47.0.2 (#3315)
dependabot[bot] Jan 1, 2024
6097547
Add systeminfo (#3331)
KristjanESPERANTO Jan 4, 2024
407072d
Update system information (#3337)
KristjanESPERANTO Jan 7, 2024
4bbd35f
Use node prefix for build-in modules (#3340)
KristjanESPERANTO Jan 8, 2024
b47600e
Remove lodash (#3339)
KristjanESPERANTO Jan 8, 2024
dadc7ba
[newsfeed] Suppress unsightly animation edge cases when there are 0 o…
crazyscot Jan 14, 2024
f890f14
ignore strange errors from systeminformation under aarch64 (#3349)
khassel Jan 14, 2024
58bc14e
Request only required information instead of all (#3338)
KristjanESPERANTO Jan 14, 2024
098757f
update dependencies including electron to v28 (#3357)
khassel Jan 16, 2024
6dbacbb
Rework logging colors (#3350)
KristjanESPERANTO Jan 16, 2024
35e4dfb
Ignore all custom css files (#3359)
KristjanESPERANTO Jan 16, 2024
b005a8f
[newsfeed] Fix bug where the newsfeed sometimes stops (#3361)
crazyscot Jan 18, 2024
c09338a
changed `log.debug` to `log.log` in `app.js` (#3362)
khassel Jan 18, 2024
995b61b
Bump follow-redirects from 1.15.3 to 1.15.5 (#3356)
dependabot[bot] Jan 20, 2024
c96ced9
updatenotification: update_helper.js recode with pm2 library (v2.27.x…
bugsounet Jan 20, 2024
c75b7d4
pm2 update ;) (#3364)
bugsounet Jan 20, 2024
339aaf4
Bump actions/dependency-review-action from 3 to 4 (#3366)
dependabot[bot] Jan 22, 2024
f88b92f
Bump follow-redirects from 1.15.3 to 1.15.5 (#3367)
dependabot[bot] Jan 22, 2024
b0161fe
Lint package.json files (#3368)
KristjanESPERANTO Jan 24, 2024
27f3c86
remove all useless header comments (#3363)
khassel Jan 24, 2024
7f0b8e4
Better fixes for #3291 and the underlying exdate issues (#3342)
jkriegshauser Jan 27, 2024
fb5fab8
Cleanups (#3369)
rejas Jan 27, 2024
3bf8480
Correct apibase of weathergov weatherprovider to match documentation …
rejas Jan 27, 2024
431bf22
Update husky and let lint-staged fix ESLint issues (#3370)
KristjanESPERANTO Jan 28, 2024
57de389
[cosmetic] Weather module humidity positioning (#3330)
crazyscot Jan 29, 2024
5fb5ef6
Improved, fixed and added translations for estonian (#3371)
illimarkangur Feb 1, 2024
db65cd6
Bundle all Dependabot updates (#3378)
rejas Feb 1, 2024
88a96fb
Bump husky from 9.0.7 to 9.0.10 (#3379)
dependabot[bot] Feb 1, 2024
08f8a51
add error message if config.js appears empty after loading w require(…
sdetweil Feb 13, 2024
73140cd
update electron to v29 and other deps (#3386)
khassel Feb 24, 2024
313531d
Bump @stylistic/eslint-plugin from 1.6.2 to 1.6.3 (#3391)
dependabot[bot] Mar 1, 2024
2f2d84b
Bump electron from 29.0.1 to 29.1.0 (#3390)
dependabot[bot] Mar 1, 2024
c7d94a0
Bump express from 4.18.2 to 4.18.3 (#3389)
dependabot[bot] Mar 1, 2024
e5678f0
Bump playwright from 1.41.2 to 1.42.0 (#3388)
dependabot[bot] Mar 1, 2024
90ff340
Bump node-ical from 0.17.2 to 0.18.0 (#3387)
dependabot[bot] Mar 1, 2024
1a745cf
Fix issue 3393 (#3395)
jkriegshauser Mar 13, 2024
16af809
Update .npmrc (#3399)
bugsounet Mar 16, 2024
c5f9050
[calendar] deny fetch interval < 60000 and set 60000 in this case (pr…
bugsounet Mar 21, 2024
d970214
Fix for #3345 - precipitation probability not displayed when it is 0%…
vppencilsharpener Mar 21, 2024
6de578e
move suncalc dependency out of dev, as it is used by the clock module…
sdetweil Mar 22, 2024
52cfbac
Changes the layout of the current weather module, targetting indoor v…
Paranoid93 Mar 23, 2024
57549fa
Fix compliments module bringing mirror to a halt (#3402)
rejas Mar 23, 2024
be63e36
Add electron-rebuild to suite test (#3392)
bugsounet Mar 27, 2024
fd44445
update deps and package.json's (eslint) (#3406)
khassel Mar 27, 2024
d9926fa
MM² Icon (#3407)
bugsounet Mar 28, 2024
e004b33
Change multiday fullDay Event behaviour (#3396)
Paranoid93 Mar 28, 2024
72ef823
update Collaboration.md (added infos from discord) (#3408)
khassel Mar 30, 2024
b262bf6
Release 2.27.0
rejas Apr 1, 2024
53420f5
Fix check for mastermerge label (#3415)
rejas Apr 1, 2024
2a883c3
Remove codecov yaml (#3416)
rejas Apr 1, 2024
1981601
Merge branch 'mm_master' into mm_develop
rejas Apr 1, 2024
8aaad8e
Prepare v2.28.0-develop
rejas Apr 1, 2024
1fa1788
Bump ansis from 2.3.0 to 3.0.1 (#3417)
dependabot[bot] Apr 1, 2024
3b00357
Update deps (#3439)
khassel May 1, 2024
d1c17e7
weather module: Fixed precipitationProbability in forecast … (#3448)
khassel May 13, 2024
cd0bc5b
fixed type=daily for provider openmeteo having no data … (#3451)
khassel May 20, 2024
4bd66cb
fixed type=daily for provider openmeteo showing nightly icons (#3459)
khassel Jun 8, 2024
6332445
update dependencies (#3460)
khassel Jun 11, 2024
bc27c46
MM² Main core use node >= v20 // delete node v18 from test suite (#3463)
bugsounet Jun 19, 2024
9cbd30f
update dependencies incl. electron v31 (#3473)
khassel Jun 19, 2024
4c748a4
update `config.js.sample` to use openmeteo as weather provider (#3476)
khassel Jun 22, 2024
e95c144
Fix crash possibility if `module: <name>` is not defined and on mista…
bugsounet Jun 24, 2024
8d20832
[calendar] add config option "showEndsOnlyWithDuration" (#3477)
khassel Jun 24, 2024
3d9d72e
Open-Meteo: Fix forecast and hourly weather to use real temperatures,…
btoconnor Jun 24, 2024
aefb3a0
Update compliments module (#3471)
WallysWellies Jun 24, 2024
f28b4bd
Use latest@version of node for automated-tests.yaml (#3483)
bugsounet Jun 26, 2024
4aafa32
fixes e2e tests running in docker container (#3485)
khassel Jun 27, 2024
cfc0bc6
Update CHANGELOG.md (#3486)
bugsounet Jun 27, 2024
74c6bb3
Update dependencies (#3487)
khassel Jun 28, 2024
c89c3ed
Fix weathergov api precipitationLastHour (#3125)
JasonStieber Jun 28, 2024
92ac389
updatenotification: avoid using pm2 when running in docker container …
khassel Jun 28, 2024
795e5c7
Release 2.28.0
khassel Jun 28, 2024
7389a33
Merge remote-tracking branch 'origin/master' into develop
khassel Jun 30, 2024
f7369a7
Prepare v2.29.0-develop
khassel Jun 30, 2024
160d95a
Cleanup folders for #3492 (#3493)
sdetweil Jul 1, 2024
3b22622
fixes `checks` badge in README.md (#3494)
khassel Jul 4, 2024
4d14f4a
Fixes the UK Met Office Datahub provider (#3499)
jargordon Jul 7, 2024
974a1da
[weather] update provider openweathermap to new apiVersion (#3496)
dkallen78 Jul 11, 2024
d9665b3
Update compliments with support for cron type date/time for selection…
sdetweil Jul 15, 2024
d22d0e1
remove raspberry object from systeminformation (#3507)
khassel Jul 29, 2024
4182c21
Update dependencies (#3515)
rejas Aug 1, 2024
76d8f98
allow custom module positions by setting `allowCustomModulePositions`…
khassel Aug 1, 2024
780e4e2
Fix loading of multiple instances of node_helper when multiple instan…
sdetweil Aug 4, 2024
976c8ae
Bump stylistic-eslint (#3520)
rejas Aug 12, 2024
cc1d4ab
Improve duplicate module filtering. Update SocketIO catch-all API. (#…
ryan-d-williams Aug 18, 2024
5673678
Bug in Weather Units for Broadcasted Notification (#3519)
skpanagiotis Aug 18, 2024
2b97e0d
add support for custom regions, by detecting what is used in index.ht…
sdetweil Aug 27, 2024
7915de3
update dependencies (#3527)
khassel Aug 31, 2024
bca5d9c
Ignore positions.js (#3531)
KristjanESPERANTO Sep 11, 2024
3380314
hotfix for calendar_spec.js (used data now returns 20 events) (#3533)
khassel Sep 13, 2024
81351fb
update dependencies (#3536)
khassel Sep 14, 2024
0faefd1
fixes calendar test by moving it from e2e to electron with fixed date…
khassel Sep 15, 2024
ea3a323
add fix for sliceMultiDayEvents (#3543)
sdetweil Sep 17, 2024
d9f9f41
Add spell check (#3544)
KristjanESPERANTO Sep 18, 2024
659e0c7
add new env vars MM_MODULES_DIR and MM_CUSTOMCSS_FILE … (#3530)
khassel Sep 18, 2024
866419e
Check config before starting MM (#3450)
KristjanESPERANTO Sep 18, 2024
c6e05c9
Added `DOM_OBJECTS_UPDATED` notification when the DOM is re-rendered …
ryan-d-williams Sep 18, 2024
06f6fbf
Review config_check.js (#3545)
KristjanESPERANTO Sep 18, 2024
65d7e2d
fix CHANGELOG.md
khassel Sep 18, 2024
8f5aa50
added test for `MM_MODULES_DIR` (#3546)
khassel Sep 19, 2024
1823f5a
Updated to new notification name `DOM_OBJECTS_UPDATED` -> `MODULE_DOM…
ryan-d-williams Sep 19, 2024
06a8b51
Cleanup github actions (#3549)
rejas Sep 19, 2024
fa6a752
add tests for minimal node version (currently v20.9.0) (#3556)
khassel Sep 24, 2024
08116b8
fixes for running tests for MM_MODULES_DIR (#3550)
khassel Sep 24, 2024
5ffdf9a
Updated minimal needed node version in `package.json` (currently v20.…
bugsounet Sep 25, 2024
d318768
Switch to ESLint v9 and flat config (#3558)
KristjanESPERANTO Sep 25, 2024
2e6e868
fix calendar showing previous day when using sliceMultiDayEvents (#3555)
MarcLandis Sep 25, 2024
ebaeed9
Engine except on node v21 (#3561)
bugsounet Sep 26, 2024
731512c
Electron rebuild tests update (#3563)
bugsounet Sep 26, 2024
d9eefff
fix double load of positions now that check:config at startup is acti…
sdetweil Sep 28, 2024
719eca4
update dependencies, nail down node-ical version to 0.18.0 (#3566)
khassel Sep 28, 2024
d84d612
Release 2.29.0
khassel Sep 18, 2024
15a9346
Merge remote-tracking branch 'origin/master' into develop
khassel Sep 30, 2024
d1be92a
Prepare v2.30.0-develop
khassel Sep 30, 2024
4c7c859
[Electron rebuild] Removed node-pty and drivelist from rebuilded test…
bugsounet Oct 2, 2024
ee98a0c
[UpdateNotification] Fix pm2 using detection when pm2 script is in Ma…
bugsounet Oct 2, 2024
0eafa19
Bump eslint-plugin-jsdoc from 50.3.0 to 50.3.1 (#3571)
dependabot[bot] Oct 2, 2024
f91340c
Bump helmet from 7.1.0 to 8.0.0 (#3570)
dependabot[bot] Oct 2, 2024
f51fbe3
reactivated `stale.yaml` as github action (#3577)
khassel Oct 4, 2024
961bae6
[core] add try / catch on mode_helper loading (#3578)
bugsounet Oct 5, 2024
c7dcf54
allow manually running stale workflow (#3580)
khassel Oct 5, 2024
0130dc4
stale workflow: increase operations-per-run (default=30) so that all …
khassel Oct 5, 2024
7489e51
Change default for weatherEndpoint according to API 3.0 (#3583)
HeikoGr Oct 11, 2024
1b80e87
[core] test electron v32 and electron rebuild (#3584)
bugsounet Oct 11, 2024
3d1e8ab
add address and ipWhitelist to all test configs (#3585)
khassel Oct 12, 2024
fff3106
Re-add eslint-plugin-import (#3586)
rejas Oct 13, 2024
0f024cf
Run and test with node 23 (#3588)
KristjanESPERANTO Oct 19, 2024
b54fc08
Add npm publishing step to release process (#3595)
rejas Oct 23, 2024
aa7e856
Add wayland and windows start options (#3594)
KristjanESPERANTO Oct 23, 2024
6946b49
Fixtestcase calendar testcase failure (#3596)
sdetweil Oct 23, 2024
cfa5c0d
fix electron tests mocking dates (#3599)
khassel Oct 25, 2024
c96326b
Cleanup testcases that had hard coded Date() values which override th…
sdetweil Oct 25, 2024
399e2ae
[updatenotification] Fix pm2 using detection when pm2 script is insid…
bugsounet Oct 28, 2024
9114aef
fix missing basePath (#3620)
khassel Nov 2, 2024
0aae771
Update dependencies reported by Dependabot (#3621)
rejas Nov 2, 2024
6ce3622
Add spelling check to GitHub workflow (#3623)
KristjanESPERANTO Nov 3, 2024
7e6349c
Fix compliments croner (#3625)
sdetweil Nov 4, 2024
b250cfa
Bump croner from 8.1.2 to 9.0.0 in /vendor (#3614)
dependabot[bot] Nov 4, 2024
cd6f10c
PM2 Fix (again): add `pm2_env.unique_id` checking and cleaning (#3626)
bugsounet Nov 7, 2024
4259d7c
updatenotification: some fixes (#3628)
bugsounet Nov 9, 2024
56cb536
add support for test mode detection in modulename.js via index.html (…
sdetweil Nov 12, 2024
f1522da
Fix eslint ignores (#3633)
KristjanESPERANTO Nov 12, 2024
bd620e0
Enhance compliments remote file with refresh support (#3630)
sdetweil Nov 13, 2024
15baffd
Adapt to "Keep a Changelog" (#3634)
KristjanESPERANTO Nov 14, 2024
bd1324c
Remove `@eslint/js` dependency. Already installed with `eslint` in de…
bugsounet Nov 17, 2024
3627beb
Bump stylelint from 16.10.0 to 16.11.0 (#3639)
dependabot[bot] Dec 1, 2024
f417bc0
Bump prettier from 3.3.3 to 3.4.1 (#3638)
dependabot[bot] Dec 1, 2024
28341d4
Bump eslint-plugin-package-json from 0.15.4 to 0.17.0 (#3637)
dependabot[bot] Dec 1, 2024
8d61336
Bump @fortawesome/fontawesome-free from 6.6.0 to 6.7.1 in /vendor (#3…
dependabot[bot] Dec 1, 2024
07768c3
Reactivate eslint-plugin-package-json (#3643)
KristjanESPERANTO Dec 1, 2024
63178eb
Export animations (#3644)
sdetweil Dec 2, 2024
291ae85
Handle "module is not defined" in e2e tests (#3647)
KristjanESPERANTO Dec 7, 2024
19bd76a
Fixcaldates2 fix calendar module date processing, using node-ical@0.…
sdetweil Dec 7, 2024
5b7b76c
Add linting for markdown files (#3646)
KristjanESPERANTO Dec 7, 2024
76fac78
Run code style checks in workflow only once (#3648)
KristjanESPERANTO Dec 7, 2024
39ab651
Show animations, fix export only on server side (#3649)
sdetweil Dec 8, 2024
5232f46
fix #3267 again this time, dropped from big cal update (#3650)
sdetweil Dec 8, 2024
5b3b40d
Use project URL in fallback config (#3656)
KristjanESPERANTO Dec 18, 2024
786eacf
update config.js.sample about locale variable (#3655)
sdetweil Dec 18, 2024
24d9b70
fix access denied fault error writing js/positions.js (#3652)
sdetweil Dec 18, 2024
b910c60
update dependencies (#3657)
khassel Dec 18, 2024
c485ff6
path resolve and sub/sub folder module (#3653)
bugsounet Dec 18, 2024
0b3a04c
Switch to 'npx' for lint-staged in pre-commit hook (#3658)
KristjanESPERANTO Dec 22, 2024
2fb5143
delete exception `allow-ghsas: GHSA-8hc4-vh64-cxmj` in `dep-review.ya…
bugsounet Dec 24, 2024
6a09bc4
add support for fetch timeout control for node_helpers, fix timeouts …
sdetweil Dec 25, 2024
9d0501f
Fix: package-lock.json after PR #3660 (#3661)
bugsounet Dec 27, 2024
93a0c24
fix #3662 line parse on windows with linux line ends (#3663)
sdetweil Dec 28, 2024
d41ce81
update dependencies, fix typo in Collaboration.md (#3664)
khassel Dec 28, 2024
143dfd6
Add some ESLint rules + minor changes (#3665)
KristjanESPERANTO Dec 30, 2024
c92fbb8
Final dependency updates for v2.30 (#3671)
rejas Jan 1, 2025
9be625c
ready for release 2.30.0 (#3672)
sdetweil Jan 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 12 additions & 6 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,28 @@ We hold our code to standard, and these standards are documented below.

## Linters

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

### JavaScript: Run ESLint
To run prettier, use `npm run lint:prettier`.

We use [ESLint](https://eslint.org) on our JavaScript files.
### JavaScript: Run ESLint

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

To run ESLint, use `npm run lint:js`.

### CSS: Run StyleLint

We use [StyleLint](https://stylelint.io) to lint our CSS. Our configuration is in our `.stylelintrc` file.
We use [StyleLint](https://stylelint.io) to lint our CSS. The configuration is in our `.stylelintrc.json` file.

To run StyleLint, use `npm run lint:css`.

### Markdown: Run markdownlint

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

To run markdownlint, use `npm run markdownlint:css`.

## Testing

We use [Jest](https://jestjs.io) for JavaScript testing.
Expand All @@ -43,7 +49,7 @@ When submitting a new issue, please supply the following information:

**Platform**: Place your platform here... give us your web browser/Electron version _and_ your hardware (Raspberry Pi 2/3/4, Windows, Mac, Linux, System V UNIX).

**Node Version**: Make sure it's version 18 or later (recommended is 20).
**Node Version**: Make sure it's version 20 or later (recommended is 22).

**MagicMirror² Version**: Please let us know which version of MagicMirror² you are running. It can be found in the `package.json` file.

Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ When submitting a new issue, please supply the following information:

**Platform**: Place your platform here... give us your web browser/Electron version _and_ your hardware (Raspberry Pi 2/3/4, Windows, Mac, Linux, System V UNIX).

**Node Version**: Make sure it's version 18 or later (recommended is 20).
**Node Version**: Make sure it's version 20 or later (recommended is 22).

**MagicMirror² Version**: Please let us know which version of MagicMirror² you are running. It can be found in the `package.json` file.

Expand Down
19 changes: 0 additions & 19 deletions .github/stale.yaml

This file was deleted.

25 changes: 21 additions & 4 deletions .github/workflows/automated-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,32 @@ permissions:
contents: read

jobs:
code-style-check:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: "Checkout code"
uses: actions/checkout@v4
- name: "Use Node.js"
uses: actions/setup-node@v4
with:
node-version: 23
cache: "npm"
- name: "Install dependencies"
run: |
npm run install-mm:dev
- name: "Run linter tests"
run: |
npm run test:prettier
npm run test:js
npm run test:css
npm run test:markdown
test:
runs-on: ubuntu-latest
timeout-minutes: 30
strategy:
matrix:
node-version: [20.9.0, 20.x, 22.x]
node-version: [20.18.1, 20.x, 22.x, 23.x]
steps:
- name: "Checkout code"
uses: actions/checkout@v4
Expand All @@ -36,7 +56,4 @@ jobs:
Xvfb :99 -screen 0 1024x768x16 &
export DISPLAY=:99
touch css/custom.css
npm run test:prettier
npm run test:js
npm run test:css
npm run test
2 changes: 0 additions & 2 deletions .github/workflows/dep-review.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,3 @@ jobs:
uses: actions/checkout@v4
- name: "Dependency Review"
uses: actions/dependency-review-action@v4
with:
allow-ghsas: GHSA-8hc4-vh64-cxmj
6 changes: 3 additions & 3 deletions .github/workflows/electron-rebuild.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20.9.0, 20.x, 22.x]
node-version: [20.18.1, 20.x, 22.x, 23.x]
steps:
- name: Checkout code
uses: actions/checkout@v4
Expand All @@ -23,8 +23,8 @@ jobs:
run: npm install @electron/rebuild
- name: Install node-libgpiod deps
run: sudo apt-get install gpiod libgpiod2 libgpiod-dev
- name: Install some test library to be rebuilded
run: npm install node-libgpiod node-pty drivelist
- name: Install test library (node-libgpiod) to be rebuilded
run: npm install node-libgpiod
- name: Run electron-rebuild
run: npx electron-rebuild
continue-on-error: false
31 changes: 31 additions & 0 deletions .github/workflows/spellcheck.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# This workflow will run a spellcheck on the codebase.
# It runs a few days before each release. At 00:00 on day-of-month 27 in March, June, September, and December.

name: Run Spellcheck

on:
schedule:
- cron: "0 0 27 3,6,9,12 *"

permissions:
contents: read

jobs:
spellcheck:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: develop
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "22"
check-latest: true
cache: "npm"
- name: Install dependencies
run: |
npm run install-mm:dev
- name: Run Spellcheck
run: npm run test:spellcheck
22 changes: 22 additions & 0 deletions .github/workflows/stale.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: "Close stale issues and PRs"

on:
workflow_dispatch: # needed for manually running this workflow
schedule:
- cron: "30 1 * * 6" # every Saturday at 1:30

permissions:
issues: write

jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v9
with:
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."
days-before-issue-stale: 60
days-before-issue-close: 7
operations-per-run: 100
stale-issue-label: "wontfix"
exempt-issue-labels: "pinned,security,under investigation,pr welcome"
4 changes: 2 additions & 2 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/sh

if command -v npm &> /dev/null; then
npm run lint:staged
if command -v npx &> /dev/null; then
npx lint-staged
fi
6 changes: 6 additions & 0 deletions .markdownlint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"line_length": false,
"no-duplicate-heading": false,
"no-inline-html": false,
"no-trailing-punctuation": false
}
3 changes: 0 additions & 3 deletions .prettierrc.json

This file was deleted.

127 changes: 119 additions & 8 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,74 @@
# MagicMirror² Change Log
# Changelog

All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](https://semver.org/).

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

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

## [2.30.0] - 2025-01-01

Thanks to: @xsorifc28, @HeikoGr, @bugsounet, @khassel, @KristjanESPERANTO, @rejas, @sdetweil.

> ⚠️ This release needs nodejs version `v20` or `v22 or higher`, minimum version is `v20.18.1`

### Added

- [core] Add wayland and windows start options to `package.json` (#3594)
- [docs] Add step for npm publishing in release process (#3595)
- [core] Add GitHub workflow to run spellcheck a few days before each release (#3623)
- [core] Add test flag to `index.html` to pass to module js for test mode detection (needed by #3630)
- [core] Add export on animation names (#3644)
- [compliments] Add support for refreshing remote compliments file, and test cases (#3630)
- [linter] Re-add `eslint-plugin-import`now that it supports ESLint v9 (#3586)
- [linter] Re-activate `eslint-plugin-package-json` to lint `package.json` (#3643)
- [linter] Add linting for markdown files (#3646)
- [linter] Add some handy ESLint rules.
- [calendar] Add ability to display end date for full date events, where end is not same day (showEnd=true) (#3650)
- [core] Add text to the config.js.sample file about the locale variable (#3654, #3655)
- [core] Add fetch timeout for all node_helpers (thru undici, forces node 20.18.1 minimum) to help on slower systems. (#3660) (3661)

### Changed

- [core] Run code style checks in workflow only once (#3648)
- [core] Fix animations export #3644 only on server side (#3649)
- [core] Use project URL in fallback config (#3656)
- [core] Fix Access Denied crash writing js/positions.js (on synology nas) #3651. new message, MM starts, but no modules showing (#3652)
- [linter] Switch to 'npx' for lint-staged in pre-commit hook (#3658)

### Removed

- [tests] Remove `node-pty` and `drivelist` from rebuilded test (#3575)
- [deps] Remove `@eslint/js` dependency. Already installed with `eslint` in deep (#3636)

### Updated

- [repo] Reactivate `stale.yaml` as GitHub action to mark issues as stale after 60 days and close them 7 days later (if no activity) (#3577, #3580, #3581)
- [core] Update electron dependency to v32 (test electron rebuild) and all other dependencies too (#3657)
- [tests] All test configs have been updated to allow full external access, allowing for easier debugging (especially when running as a container)
- [core] Run and test with node 23 (#3588)
- [workflow] delete exception `allow-ghsas: GHSA-8hc4-vh64-cxmj` in `dep-review.yaml` (#3659)

### Fixed

- [updatenotification] Fix pm2 using detection when pm2 script is inside or outside MagicMirror root folder (#3576) (#3605) (#3626) (#3628)
- [core] Fix loading node_helper of modules: avoid black screen, display errors and continue loading with next module (#3578)
- [weather] Change default value for weatherEndpoint of provider openweathermap to "/onecall" (#3574)
- [tests] Fix electron tests with mock dates, the mock on server side was missing (#3597)
- [tests] Fix testcases with hard coded Date.now (#3597)
- [core] Fix missing `basePath` where `location.host` is used (#3613)
- [compliments] croner library changed filenames used in latest version (#3624)
- [linter] Fix ESLint ignore pattern which caused that default modules not to be linted (#3632)
- [core] Fix module path in case of sub/sub folder is used and use path.resolve for resolve `moduleFolder` and `defaultModuleFolder` in app.js (#3653)
- [calendar] Update to resolve issues #3098 #3144 #3351 #3422 #3443 #3467 #3537 related to timezone changes
- [calendar] Fix #3267 (styles array), also fixes event with both exdate AND recurrence(and testcase)
- [calendar] Fix showEndsOnlyWithDuration not working, #3598, applies ONLY to full day events
- [calendar] Fix showEnd for Full Day events (#3602)
- [tests] Suppress "module is not defined" in e2e tests (#3647)
- [calendar] Fix #3267 (styles array, really this time!)
- [core] Fix #3662 js/positions.js created incorrectly

## [2.29.0] - 2024-10-01

Thanks to: @bugsounet, @dkallen78, @jargordon, @khassel, @KristjanESPERANTO, @MarcLandis, @rejas, @ryan-d-williams, @sdetweil, @skpanagiotis.
Expand All @@ -13,7 +77,7 @@ Thanks to: @bugsounet, @dkallen78, @jargordon, @khassel, @KristjanESPERANTO, @Ma

### 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)
- [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)
Expand Down Expand Up @@ -43,9 +107,9 @@ Thanks to: @bugsounet, @dkallen78, @jargordon, @khassel, @KristjanESPERANTO, @Ma

### Fixed

- Fixed `checks` badge in README.md
- [docs] 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)
- [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)
Expand Down Expand Up @@ -117,7 +181,7 @@ For more info, please read the following post: [A New Chapter for MagicMirror: T

### Fixed

- Correct apiBase of weathergov weatherProvider to match documentation (#2926)
- [weather] Correct apiBase of weathergov weatherProvider to match documentation (#2926)
- Worked around several issues in the RRULE library that were causing deleted calender events to still show, some
initial and recurring events to not show, and some event times to be off an hour. (#3291)
- Skip changelog requirement when running tests for dependency updates (#3320)
Expand Down Expand Up @@ -269,7 +333,7 @@ Special thanks to @khassel, @rejas and @sdetweil for taking over most (if not al

### Updated

- Added support for precipitation probability with openmeteo weather-provider
- [weather] Added support for precipitation probability with openmeteo weather-provider
- Update electron to v25.2 and other dependencies
- Use node v20 in github workflow (replacing v14)
- Refactor formatTime into common util function for default modules
Expand Down Expand Up @@ -442,7 +506,7 @@ Special thanks to the following contributors: @eouia, @khassel, @kolbyjack, @Kri

### Added

- Added a new config option `httpHeaders` used by helmet (see https://helmetjs.github.io/). You can now set own httpHeaders which will override the defaults in `js/defaults.js` which is useful e.g. if you want to embed MagicMirror into another website (solves #2847).
- Added a new config option `httpHeaders` used by helmet (see <https://helmetjs.github.io/>). You can now set own httpHeaders which will override the defaults in `js/defaults.js` which is useful e.g. if you want to embed MagicMirror into another website (solves #2847).
- Show endDate for calendar events when dateHeader is enabled and showEnd is set to true (#2192).
- Added the notification emitting from the weather module on information updated.
- Use recommended file extension for YAML files (#2864).
Expand Down Expand Up @@ -1606,3 +1670,50 @@ It includes (but is not limited to) the following features:
### Initial release of MagicMirror

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)

[2.30.0]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.29.0...v2.30.0
[2.29.0]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.28.0...v2.29.0
[2.28.0]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.27.0...v2.28.0
[2.27.0]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.26.0...v2.27.0
[2.26.0]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.25.0...v2.26.0
[2.25.0]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.24.0...v2.25.0
[2.24.0]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.23.0...v2.24.0
[2.23.0]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.22.0...v2.23.0
[2.22.0]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.21.0...v2.22.0
[2.21.0]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.20.0...v2.21.0
[2.20.0]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.19.0...v2.20.0
[2.19.0]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.18.0...v2.19.0
[2.18.0]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.17.1...v2.18.0
[2.17.1]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.17.0...v2.17.1
[2.17.0]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.16.0...v2.17.0
[2.16.0]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.15.0...v2.16.0
[2.15.0]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.14.0...v2.15.0
[2.14.0]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.13.0...v2.14.0
[2.13.0]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.12.0...v2.13.0
[2.12.0]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.11.0...v2.12.0
[2.11.0]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.10.1...v2.11.0
[2.10.1]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.10.0...v2.10.1
[2.10.0]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.9.0...v2.10.0
[2.9.0]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.8.0...v2.9.0
[2.8.0]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.7.1...v2.8.0
[2.7.1]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.7.0...v2.7.1
[2.7.0]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.6.0...v2.7.0
[2.6.0]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.5.0...v2.6.0
[2.5.0]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.4.1...v2.5.0
[2.4.1]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.4.0...v2.4.1
[2.4.0]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.3.1...v2.4.0
[2.3.1]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.3.0...v2.3.1
[2.3.0]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.2.2...v2.3.0
[2.2.2]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.2.1...v2.2.2
[2.2.1]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.2.0...v2.2.1
[2.2.0]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.1.3...v2.2.0
[2.1.3]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.1.2...v2.1.3
[2.1.2]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.1.1...v2.1.2
[2.1.1]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.1.0...v2.1.1
[2.1.0]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.0.5...v2.1.0
[2.0.5]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.0.4...v2.0.5
[2.0.4]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.0.3...v2.0.4
[2.0.3]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.0.2...v2.0.3
[2.0.2]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.0.1...v2.0.2
[2.0.1]: /~https://github.com/MagicMirrorOrg/MagicMirror/compare/v2.0.0...v2.0.1
[2.0.0]: /~https://github.com/MagicMirrorOrg/MagicMirror/releases/tag/v2.0.0
Loading
Loading