Skip to content

Releases: dummylabs/thewatchman

v0.8.6

25 Mar 19:10
e0bf248

Choose a tag to compare

v0.8.6 Pre-release
Pre-release

What's new

🐛 Bugfixes:

  • Ignored unavailable state in report filtering now works propely (#317)

v0.8.5

25 Mar 08:16
81974e9

Choose a tag to compare

v0.8.5 Pre-release
Pre-release

What's new

🚀 Improvements:

  • Improved management of ignored items and files in the configuration; replaced comma-separated lists with UI pills(#310).
  • Added the force_parsing action parameter. When set to true, the parser explicitly bypasses cached results and forces a full re-parsing of all configuration files (#291).
  • The maximum file size limit for a single configuration file can now be disabled in the integration options screen (#265).
  • Deprecated the parse_config action parameter. The new parser now automatically detects modified config files with near-zero overhead, as results for unmodified files are cached (#291).

🐛 Bugfixes:

  • Purpose-specific condition intents are now properly suppressed by the parser (#306).
  • Improved script_id resolution for automation checks. Thanks @FaHuSchmidt! (#304)
  • Entities with the state disabled (not to be confused with those disabled in the entity registry) no longer trigger false positives (#296).
  • Introduced a stateless domains list. Entities from these domains will not trigger false positives for the unknown state (covers #286) (#294).

🛠️ Other:

  • parser-cli to show cached parsing results (#307)

Note

The deprecation of the parse_config parameter might force the Actions window into YAML mode. To restore UI Mode, just remove text from Action data field. This issue has also been added to the FAQ in the documentation.


Full list of changes

  • feat: migrate ignored items/files to SelectSelector chip input (#310) (81974e9)
  • fix: suppress purpose-specific condition intents as false positives (#306) (#309) (6ebeeb1)
  • Merge pull request #308 from dummylabs/tests/report-consistency-tests (3b9e44a)
  • tests: add report text/YAML consistency tests (e4166a4)
  • Fix script unique_id resolution for automation checks (#304) (1ac18af)
  • feat: parser-cli to show cached parsing results (#307) (8a57763)
  • fix: correctly cancel delay timer (#303) (37a826e)
  • fix: move report button under Controls pane in Service Info (#302) (bb91d8e)
  • fix: extend uid migration to button entity to prevent _2 suffix (#301) (019f958)
  • feat: improve visibility of create_file report option in UI action editor (b3d308b)
  • fix flaky snapshots testing (1146994)
  • Update conftest.py (6e61d94)
  • fix test env (1acb897)
  • fix test snapshots (43f16b2)
  • ref: flatten tests directory structure to fix snapshot path resolution (7425698)
  • chore: debug CI snapshots with update and diff (b9266f6)
  • chore: force sync snapshot files and ensure correct location (c3942fe)
  • improved test env stability (be87cf8)
  • fix: correct processing of "disabled" state, fix for #296 (#300) (2bc8458)
  • ref: report functions decoupling (#299) (e0d62d3)
  • fix: remove report deprecated params from bl (#297) (4e82401)
  • Update README.md (b979b8c)
  • Update README.md (9774728)
  • Update README.md (e8ef551)
  • Update README.md (8fc69a7)
  • bump version to 0.8.5 (2d9f9a4)
  • fix: replace references to 'integration_blueprint' with 'watchman' (#295) (256456b)
  • fix: extend list of STATELESS_DOMAINS (special case for unknown state) (#294) (32a1adb)
  • ref: remove unused return values from async_parse (#293) (28612ae)
  • feat: force_parsing mode in watchman.report (#291) (d2fe433)
  • chore: updated translations, added test for missing translation keys (#290) (a6ba10a)
  • feat: option to bypass max file size limit for parser, reported in #265 (#289) (f6ad8ef)
  • fix: ignore unknown state for scenes (#288) (1006ce9)

v0.8.5-rc1

15 Feb 15:30

Choose a tag to compare

v0.8.5-rc1 Pre-release
Pre-release

Bugfixes

  • fix: respect ignored states from configuration settings (#278)
  • fix: ignore entries within jinja comments (#275)
  • fix: exclude lovelace.* from the parsed items (#277)
  • fix: assign notification_id for persistent_notification only (#279)

v0.8.4

14 Feb 08:40
2eab21b

Choose a tag to compare

What's new

🚀 Improvements:

  • Moved the "Ignored Labels" setting from the Service Info screen to configuration options (now with multiselect control)
  • New set_ignored_labels action to manage ignore rules for your automations
  • Debug log obfuscation can be turned off in configuration settings
  • Icons added to the report to distinguish between groups, templates, and regular files
image

🐛 Bugfixes:

  • Fixed a lot of parser false-positives
  • Fixed an issue where entities were misidentified as actions (#266)
  • Dashboard files with extensions were skipped by parser (e.g. /config/.storage/lovelace.my_card)
  • Fixed a bug where the ignored files pattern was not applied to files within the .storage folder (#267)

🛠️ Other:

  • Significantly improved sensor update performance for systems with 1K+ entities.
  • Parser performance improvements
  • Breaking change: the text.watchman_ignored_labels entity is deprecated and will be removed in future versions. Use new set_ignored_labels action to manage ignore rules for your automations instead.

Full list of changes

  • feat: icons for sources in the report (#274) (2eab21b)
  • tests: improving robustness within teardown phase (#268) (11a466b)
  • fix: apply ignored patterns to the whitelisted files in .storage (#267) (ff4a8e4)
  • fix: misidentification entity as action (#266) (b42f4e3)
  • fix: parse lovelace files regardless of their naming convention (#262) (b3a2ab1)
  • fix: parser bug with redundant regexp definitions + refactoring #256 (#261) (35d27e9)
  • perf: incremental state update in coordinator (#259) (86cec5f)
  • fix: prevent false positives with hyphens and special chars #252 (#257) (884217b)
  • exclude logger: key from parsing (#255) (89b109b)
  • feat: user-friendly control of ignored labels setting (#254) (4cb78c1)
  • fix: nested context detection (#247) (#251) (3a5326a)
  • fix: support registry-disabled automations (#250) (f8a9784)
  • feat: added UI option to control logs obfuscation (99d3e15)
  • perf: switch to async_track_state_change_event for performance reasons (1149ed9)
  • chore: improved tests cleanup (511ca4e)
  • perf: caching coordinator.FilterContext class to speed-up async_update_data (2d6fb10)
  • chore: code cleanup (7ec1a52)
  • chore: improve log obfuscation (c423706)
  • chore: coordinator and hub refactoring (afce302)
  • chore: improved test coverage (d0b8253)
  • feat: implemented reset-on-version-mismatch migration strategy for DB cache #246 (531f92d)
  • chore: shrink test time (d9503d1)
  • parser fix: ignore events from trigger and triggers keys #224, #231 (30db80c)
  • add default notification_id for the report, closes #203 (8417aab)
  • fix for jinja template markers in entity definitions, closes #89 (#273) (db80910)
  • fix: support multiple files for an entity in the report (#272) (eeacf91)
  • fix: removed unnecessary default values for service (UI settings) (#271) (3764a13)

v0.8.4-rc3

12 Feb 09:19
83a8bfb

Choose a tag to compare

v0.8.4-rc3 Pre-release
Pre-release

What's new

  • Fixed an issue where entities were misidentified as actions (#266)
  • Fixed a bug where the ignored files pattern was not applied to files within the .storage folder (#267)

Full list of changes

  • tests: improving robustness within teardown phase (#268) (11a466b)
  • fix: apply ignored patterns to the whitelisted files in .storage (#267) (ff4a8e4)
  • fix: misidentification entity as action (#266) (b42f4e3)

Previous Release Candidate changes

v0.8.4-rc2

11 Feb 08:29
b3a2ab1

Choose a tag to compare

v0.8.4-rc2 Pre-release
Pre-release

What's new

  • Moved the "Ignored Labels" setting from the Service Info screen to configuration options.
  • Added a new service watchman.set_ignored_labels to change this setting via automations.
  • Fixed parser bugs.
  • Significantly improved sensor update performance for systems with 1K+ entities.

Full list of changes

  • fix: parse lovelace files regardless of their naming convention (#262) (b3a2ab1)
  • fix: parser bug with redundant regexp definitions + refactoring #256 (#261) (35d27e9)
  • perf: incremental state update in coordinator (#259) (86cec5f)
  • fix: prevent false positives with hyphens and special chars #252 (#257) (884217b)
  • exclude logger: key from parsing (#255) (89b109b)
  • feat: user-friendly control of ignored labels setting (#254) (4cb78c1)
  • fix: nested context detection (#247) (#251) (3a5326a)
  • fix: support registry-disabled automations (#250) (f8a9784)

v0.8.4-rc1

09 Feb 06:35

Choose a tag to compare

v0.8.4-rc1 Pre-release
Pre-release

v0.8.4-rc1 Highlights

  • removed false positives for triggers (#224, #231)
  • debug log obfuscation can be turned off in configuration settings
  • performance improvements

All changes

  • added UI option to control logs obfuscation (99d3e15)
  • switch to async_track_state_change_event for performance reasons (1149ed9)
  • improved tests cleanup (511ca4e)
  • caching coordinator.FilterContext class to speed-up async_update_data (2d6fb10)
  • code cleanup (7ec1a52)
  • improve log obfuscation (c423706)
  • coordinator and hub refactoring (afce302)
  • improved test coverage (d0b8253)
  • implemented reset-on-version-mismatch migration strategy for DB cache #246 (531f92d)
  • shrink test time (d9503d1)
  • bump version to 0.8.4-rc1 (64811e0)
  • parser fix: ignore events from trigger and triggers keys #224, #231 (30db80c)
  • add default notification_id for the report, closes #203 (8417aab)

v0.8.3

06 Feb 12:06

Choose a tag to compare

v0.8.3 Highlights:

  • 🚫 Ignore Disabled Automations: Added the ability to ignore entities in disabled automations and scripts.
  • 🏷️ HA Labels: Use Home Assistant Labels to dynamically include or exclude entities from the report.
  • 🧩 UI Helpers Support: Now scans the contents of Groups and Templates created manually via UI Helpers.
  • Instant Results: Report data is now returned directly in Developer Tools -> Actions (no need to hunt for the text file).
  • 🩺 Extended Diagnostics: A wide range of new diagnostic sensors added to the Device Info screen.
  • ⚙️ Total Overhaul: The parser and architecture have been rewritten from scratch to enable these features and improve performance.

Full list of changes:

  • Ignore disabled automations: Added the ability to exclude entities declared in disabled automations and scripts from the report @bwibwi13 (#211).
  • Support for HA Labels: You can now use Home Assistant labels to mark entities that should be ignored/excluded from the report @bexelbie (#219). 📌 Tip: The special entity text.watchman_ignored_labels can be used in automations to dynamically manage ignored entities (for those who have been asking for this).
  • View report within Perform Action screen: Report data is now displayed directly in the Perform Action screen, eliminating the need to download files from the config folder.
  • Advanced background parsing: Implemented a highly optimized and conservative background parsing mechanism designed to minimize system load, addressing performance issues reported on some setups in v0.8.1.
  • Report button: Device info page now has "Report" button for more convenient way to run a report.
  • Extended .storage support: The parser now processes core.config_entries to detect UI-created entities like groups and templates.
  • Parser rewritten from scratch: The new parser now utilizes standard libraries for loading YAML and JSON files. This ensures a better understanding of configuration file structures (keys/values) and enables full implementation of "automation awareness".
  • CLI Parser Version: A CLI version of the parser has been developed. It will allow for more transparent troubleshooting and parsing quality assessment on any configuration files.
  • Context info: The service response data (visible as YAML in Developer Tools -> Actions) now includes the specific context where a flagged entity was found (e.g., automation, script, UI helper group, or UI helper template). This is not working for text report version.

⚠️ Note: Despite extensive unit testing, bugs may still occur due to a significant rewrite of the codebase. Please do backup before install the new version.

0.8.3-rc3

05 Feb 18:08

Choose a tag to compare

0.8.3-rc3 Pre-release
Pre-release

Watchman 0.8.3-rc3

This version address issues with false positives found in core.config_entries file located in .storage.
Even though the .storage folder is excluded from parsing, this file (along with a few others) contains useful information that can help Watchman identify problematic entities. A good example of such data is groups and templates created in the Helpers UI section.

🐛 Bugfixes

  • Improved parser logic for core.config_entries. Now only entries in group and template domains are analyzed, which should reduce the number of false positives (#240)

🚀 Enhancements

  • The service response data (visible as YAML in Developer Tools -> Actions) now includes the specific context where a flagged entity was found (e.g., automation, script, UI helper group, or UI helper template).
image

⚠️ Note: Despite extensive unit testing, bugs may still occur due to a significant rewrite of the codebase. Please do backup before install the new version.

0.8.3-rc2

05 Feb 11:21

Choose a tag to compare

0.8.3-rc2 Pre-release
Pre-release

Watchman 0.8.3-rc2

Bug Fixes

  • Fix race condition on startup: Resolved an issue where the integration could fail to unload correctly if Home Assistant was still starting up (#237).
  • Parser improvements: Refined parser heuristics to address false positives reported in #231.

Optimizations & Changes

  • Database optimization: Frequently updated statistics have been moved from the main database to a separate file. This reduces SQLite write operations and improves overall reliability (#232).
  • SQLite Journal Mode: Changed database journal mode to TRUNCATE to mitigate potential locking and corruption issues (#232).
  • Configuration: The default list of ignored files is now empty for new installations.

I’m excited to present Watchman 0.8! While the integration looks almost identical on the surface, the codebase has undergone a deep internal refactoring. This "under-the-hood" overhaul lays the foundation for much easier maintenance and faster implementation of new features in the future.

  • Ignore disabled automations: Added the ability to exclude entities declared in disabled automations and scripts from the report @bwibwi13 (#211).
  • Support for HA Labels: You can now use Home Assistant labels to mark entities that should be ignored/excluded from the report @bexelbie (#219). 📌 Tip: The special entity text.watchman_ignored_labels can be used in automations to dynamically manage ignored entities (for those who have been asking for this).
  • View report within Perform Action screen: Report data is now displayed directly in the Perform Action screen, eliminating the need to download files from the config folder.
  • Advanced background parsing: Implemented a highly optimized and conservative background parsing mechanism designed to minimize system load, addressing performance issues reported on some setups in v0.8.1.
  • Report button: Device info page now has "Report" button for more convenient way to run a report.
  • Extended .storage support: The parser now processes core.config_entries to detect UI-created entities.
  • Parser rewritten from scratch: The new parser now utilizes standard libraries for loading YAML and JSON files. This ensures a better understanding of configuration file structures (keys/values) and enables full implementation of "automation awareness".
  • CLI Parser Version: A CLI version of the parser has been developed. It will allow for more transparent troubleshooting and parsing quality assessment on any configuration files.

⚠️ Note: Despite extensive unit testing, bugs may still occur due to a significant rewrite of the codebase. Please do backup before install the new version.