All notable changes to this project will be documented in this file. See commit-and-tag-version for commit guidelines.
2.3.6 (2026-05-10)
- fix View filenames - replace comma-dash with dash (116a828)
- improve event filtering, sorting & transformation guidance (7080781)
- improve Transforming section with safer examples and iconMap guidance (9b12e9c), closes #465
- normalize headings (9406390)
- fetcher: remove dead selfSignedCert code (f1e8be3)
2.3.5 (2026-05-08)
- fix markdown line length (56fa86e)
- extract icon normalization helper (56ad4f0)
- narrow no-eval suppression to per-line instead of file-wide (5eeb50b)
- remove unimplemented DrawSleeve stub (6fd670e)
2.3.4 (2026-05-07)
- fix transform note and clean up iconMap section (d7b5c1f)
2.3.3 (2026-04-26)
2.3.2 (2026-03-15)
- re-register dayjs plugins in start to prevent cross-module conflicts (f2abe70)
2.3.1 (2026-03-15)
- update terminology rule to standardize "Bug Fixes" term (bdca2cb)
- add GitHub issue templates for bug reports and feature requests (393812d)
- fix typos in docs and source, configure textlint terminology rule (2cb1d10)
- remove .textlintrc.json and add .textlintignore and .textlintrc files (3776165)
- simplify ESLint config (86fce8c)
- simplify prepare script (7ffc693)
- update dependencies (a25762d)
2.3.0 (2026-02-28)
- add weekStart config option (0=Sunday, 1=Monday) (309388c)
- defer drawEvents to next animation frame to prevent layout race (922689d), closes #258
- replace day.format("E") with day.day() for weekday CSS classes (2fbd2c9), closes #443
- update runner to use ubuntu-latest for Super-Linter workflow (74391db)
- update command to run unit tests in automated workflow (1f51c9c)
- update dependencies (cfa2f11)
- update node engine requirement to >=20 (3931811)
- extract slot date logic into pure testable helper (87ef446)
2.2.0 (2026-02-21)
- add iconMap view option for category-based icons (d2acd9d), closes #86
- migrate from Iconify v1 CDN to iconify-icon web component (f1681fe)
- add new types for chore, refactor, and test sections for changelog (cf780b4)
- update release script to commit all changes (0456b2c)
- remove [CALEXT2] prefix from log messages (bda0d31)
2.1.0 (2026-02-20)
- add demo config and script (9378ba6)
- update devDependencies (1d36f70)
- update ESLint config (af5d35f)
2.0.2 (2026-01-18)
- update prepare script to handle simple-git-hooks execution (1a1f4a1)
- add package-lock.json to .prettierignore (471aed8)
- add textlintrc configuration for terminology rules (6c11659)
- change runner from ubuntu-latest to ubuntu-slim in workflows (3e3f566)
- deps-dev: bump globals from 16.5.0 to 17.0.0 (4e9a57a)
- update devDependencies (15ae656)
- update markdownlint configuration to include no-duplicate-heading rule (747af52)
2.0.1 (2025-12-18)
- clarify timeFormat and dateTimeFormat usage for consistent formatting (1758214)
- rename showAttendees example image (d252a4a)
- deps: bump actions/checkout from 5 to 6 (e9d6e59)
- replace husky with simple-git-hooks for pre-commit linting (a24b99d)
- setup commit-and-tag-version (ef5e911)
- update devDependencies (1d9b5a3)
2.0.0 2025-11-13
This release replaces Moment.js with the modern Day.js library. While Day.js is API-compatible and extensive testing has been performed, this fundamental change to the module's date handling warrants a major version bump per semantic versioning. Your existing configuration should work unchanged, but edge cases in date/time formatting may exist. Please report any unexpected behavior.
- feat: display attendees/guests in calendar events (solves #100)
- feat: add HTTP error cooldown handling (solves #237)
- Implement smart retry logic to prevent account lockouts and respect rate limits. Auth errors (401/403) and client errors (4xx) trigger 1-hour cooldowns, rate limits (429) respect Retry-After headers. Server errors (5xx) retry normally.
- chore: update devDependencies
- chore: update Node.js setup action to version 6
- chore: update workflows to improve context printing and credential handling
- docs: remove obsolete memo regarding MMM-Carousel bug
- refactor: extract fetch logic to CalendarFetcher class
- refactor: move helper functions to lib directory
1.4.21 2025-10-06
- chore: update actions/setup-node to version 5 in automated tests workflow
- chore: update devDependencies
- docs: correct formatting for
slotAltTitleFormatin week and month views
1.4.20 2025-09-08
- chore: update actions/checkout to version 5 in workflows
- chore: update dependencies
- refactor: improve error handling for iCal data parsing
1.4.19 2025-08-02
- chore: update devDependencies
- chore: update prepare script to handle missing husky installation gracefully
- chore: update Super-Linter to version 8
1.4.18 2025-07-25
- docs: change
vartolet - fix: prevent undefined property access errors in ical.js event parsing (this should fix #401)
1.4.17 2025-07-23
- chore: update devDependencies
- refactor: remove empty stop method from NodeHelper
- refactor: replace unmaintained 'ical-expander' with 'ical.js' This should fix the issue with recurring events not being displayed correctly (#363).
- refactor: simplify payload handling by removing unused sender parameter
1.4.16 2025-07-06
- fix: ensure container visibility by removing hidden class (this should finally fix #393)
- refactor: improve calendar scanning methods
- refactor: simplify drawEvents method by removing layout wait logic
1.4.15 2025-07-06
- chore: update devDependencies
- docs: change clone command order in installation instructions
- docs: fix image URLs in
docs/Tip-Sync-with-MMM-Pages.md - docs: remove redundant empty lines in Event-Time documentation
- docs: update URLs in
README - refactor: enhance
drawEventsmethod with layout readiness check (this should fix #393)
1.4.14 2025-06-03
- chore: add missing type field to
package.json - chore: update dependencies
- fix: correct
eventPoolslicing to properly limit items - refactor: simplify and format code
1.4.13 2025-05-18 - Maintenance update
- chore: sort scripts
- chore: update devDependencies
- docs: adapt formatting of
READMEandCHANGELOGentries for consistency
1.4.12 2025-05-17 - Maintenance update
- chore: add
huskyandlint-stagedfor pre-commit hooks - chore: review linter setup
- chore: update devDependencies
- docs: format
READMEandCHANGELOGentries for consistency
1.4.11 2025-04-30 - Maintenance update
- chore: add Code of Conduct
- chore: sharpen ESLint rules for consistency and error handling
- chore: switch from 'npm run' to 'node --run'
- chore: update devDependencies
- docs: update developer commands in
README - docs: update installation instructions to use
npm ci --omit=devto avoid installingdevDependencies - refactor: remove unused deprecated drawSlots method
1.4.10 2025-04-04 - Maintenance update
- fix: Handle null sceneUid correctly in work method. This will fix #383. It was caused by refactoring the code in 1.4.5 - commit 3c19d7c6091a127641e8ad87b27cedd470997e75.
- chore: Update devDependencies
- chore: update Dependabot configuration to include GitHub Actions ecosystem
1.4.9 2025-04-03 - Maintenance update
- Update dependencies
- refactor: update ESLint configuration to use new import plugin structure
- chore: add missing links and dates to releases in
CHANGELOG
1.4.8 2025-03-11 - Maintenance update
- Update devDependencies
- Optimize stylelint configuration
- Rewording some parts of the
README
1.4.7 2025-03-04 - Maintenance update
- Update CodeQL workflow
- Switch to superlinter 7
- Add formatting check step to CI
- Replace eslint-plugin-import by eslint-plugin-import
- Update devDependencies
- Simplify ESLint calls
- Remove unused release script
- Sort pakckage.json the npm standard way
1.4.6 2025-02-02 - Maintenance update
- Remove unused dependency
valid-url - Update dependencies
1.4.5 2024-12-06 - Maintenance update
- Optimize ESLint rules
- remove unused
- switch to some default settings
- tightening up some settings
- Update devDependencies
1.4.4 2024-11-27
- Get rid of callback function
cb - Remove useless assignment and unnecessary use of
undefined - Simplify nodeVersion
- Optimize logging
- Update dependencies
- Update URL in
.editorconfig - Move Changelog from
READMEtoCHANGELOG - Add link to LICENSE file in
README - Fix Update instructions in
README
1.4.3 2024-10-28 - Maintenance update
- Add linting for Markdown
- Update dependencies
- Add
eslint-plugin-import - Remove unused
eslint-plugin-prettier - Switch to flat config for prettier and stylelint
1.4.2 2024-08-27 - Maintenance update
- Upgrade ESLint to v9
- Switch to ESLint flat config
- Update dependencies
- Disable validating JavaScript, CSS and JSON by super-linter
1.4.1 2024-01-01 - Maintenance update
- Update dependencies
- Update ESLint env
- Replace eslint-plugin-json by eslint-plugin-jsonc
- Update URLs to MagicMirror project
1.4.0 2023-10-10
- MODIFIED: Replace external package
node-fetchby internalfetch- With this change, node version 18 or newer is required.
1.3.0 2022-03-07
- MODIFIED: Reduction of linting issues #158
1.2.0 2022-02-24
- ADDED: Basic auth support. #138
- MODIFIED: Introduction of Super-Linter and with it a large number of code adjustments (which should have no functional impact). #147
1.1.0 2022-02-11
- ADDED: Vertical Autosizing, Hidden Footer and Space right of items in week/month view #128
- MODIFIED: Replace deprecated package
requestbynode-fetch#135 - FIXED:
git cloneproblem with Windows #137
1.0.9 2020-02-14
- ADDED:
positionOrderofview. now you can change the order of that view in region(position) against other modules.
1.0.8 2020-02-13
- ADDED:
isRecurringproperty toeventobject. now you can check this event is recurred or not. You can use this infilter/sort/transformcallbacks. and CSS classrecurredwill be added to that event.
1.0.7 2020-01-31
- MODIFIED: Default value of
maxItemsto1000from100to avoid frequently asking issue ofevents of nowadays are not shown - MODIFIED: Automatically fixing of unofficial URI from
webcal://URL tohttp://.
1.0.6 2019-12-12
- ADDED:
titleof view can have callback function as a value. Now you can make view title contextually
title: "My Weekly",or
title: (mObj) => { // moment object for first slot of view.
return mObj.format("[My Weekly:] Wo")
},
// This will show "My Weekly: 49TH" as module title.1.0.5 2019-08-23
- ADDED: can display name of Month (e.g: August) in
monthview (monthFormat:"MMMM")
1.0.4 2019-03-26
- ADDED: event property
ms_busystatusis added. (Thanks to @klaernie for the PR)
1.0.3 2019-03-25
- FIXED: calendar filter is implemented (Sorry, I've totally forgotten it).
1.0.2 2019-02-14
- FIXED: not visible in second or followed pages of MMM-pages.
1.0.1 2019-02-11
view:transform()is added, now you can modify event value as your wish.
