v2.33.0

JoshuaC215/agent-service-toolkitv2.33.0Sep 30, 2025by KristjanESPERANTO

AI Summary

This release introduces a configuration option for custom User-Agents in calendar and news modules, enhances system logging, and performs extensive refactoring of the test suite. It also updates dependencies, specifically bumping Electron to v38, and fixes several issues within the weather and calendar modules.

Key Highlights

  • Requires Node.js version v22.18.0 or higher
  • Added configuration option for `User-Agent` in calendar and news modules
  • Major test suite refactoring including Jest and JSDOM improvements
  • Electron updated to v38 and general dependency updates
  • Weather module improvements including feels-like temperature calculation

New Features

  • Add configuration option for `User-Agent`, used by calendar & news module
  • Add prettier plugin for nunjuck templates
  • Add clear log for occupied port at startup

Full Release Notes

## [2.33.0] - 2025-10-01

Thanks to: @Crazylegstoo, @dathbe, @m-idler, @plebcity, @khassel, @KristjanESPERANTO, @rejas and @sdetweil!

> ⚠️ This release needs nodejs version `v22.18.0 or higher`

### Added

- Add configuration option for `User-Agent`, used by calendar & news module (#3255)
- [linter] Add prettier plugin for nunjuck templates (#3887)
- [core] Add clear log for occupied port at startup (#3890)

### Changed

- [clock] Add CSS to prevent line breaking of sunset/sunrise time display (#3816)
- [core] Enhance system information logging format and include additional env and RAM details (#3839, #3843)
- [refactor] Add new file `js/module_functions.js` to move code used in several modules to one place (#3837)
- [refactor] Use global.root_path where possible and add tests for config:check (#3883, #3885, #3886, #3889)
- [tests] refactor: simplify jest config file (#3844)
- [tests] refactor: extract constants for weather electron tests (#3845)
- [tests] refactor: add `setupDOMEnvironment` helper function to eliminate repetitive JSDOM setup code (#3860)
- [tests] replace `console` with `Log` in calendar `debug.js` to avoid exception in eslint config (#3846)
- [tests] speed up e2e tests, cleanup and stabilize weather e2e tests, update snapshot url (#3847, #3848, #3861)
- [tests] refactor translation tests (#3866)
  - Remove `sinon` dependency in favor of Jest native mocking
  - Unify test helper functions across translation test suites
  - Rename `setupDOMEnvironment` to `createTranslationTestEnvironment` for consistency
  - Simplify DOM setup by removing unnecessary Promise/async patterns
  - Avoid potential port conflicts by using port 3001 for translator unit tests
  - Improve test reliability and maintainability
- [tests] add alert module tests for different welcome_message configurations (#3867)
- [lint-staged] use `prettier --write --ignore-unknown` in `lint-staged` to avoid errors on unsupported files (#3888)

### Updated

- [calendar] Update defaultSymbol name and also the link to the icon search site (#3879)
- [core] Update dependencies including electron to v38 as well as github actions (#3831, #3849, #3857, #3858, #3872, #3876, #3882, #3891, #3896)
- [weather] Update feels_like temperature calculation formula (#3869)
- [weather] Update null value handling for weather type (#3892)
- [layout] Update styles for weather and calendar (#3894)

### Fixed

- [calendar] Fixed broken unittest that only broke on the 1st of July and 1st of january (#3830)
- [clock] Fixed missing icons when no other modules with icons is loaded (#3834)
- [weather] Fixed handling of empty values in weathergov providers handling of precipitationAmount (#3859)
- [calendar] Fix regression handling of limit days (#3840)
- [calendar] Fixed regression of calendarfetcherutils.shouldEventBeExcluded (#3841)
- [core] Fixed socket.io timeout when server is slow to send notification, notification lost at client (#3380)
- [tests] refactor AnimateCSS tests after jsdom 27 upgrade (#3891)
- [weather] Use `apparent_temperature` data from openmeteo's hourly weather for current feelsLikeTemp (#3868).
- [weather] Updated envcanada Provider to use new database/URL schema for accessing weather data (#3878).