github Starosdev/scrutiny v1.40.0

12 hours ago

v1.40.0 (2026-03-03)

Features

UUIDv5 Device ID as primary identifier (#270, #310, #311)

The internal device identifier has been migrated from WWN (World Wide Name) to a deterministic UUIDv5 based on model name, serial number, and WWN. This is a major architectural change that improves support for devices without a valid WWN.

  • SQLite primary key changed from wwn to device_id (UUIDv5)
  • All API routes, handlers, and frontend updated to use device_id
  • MQTT Home Assistant topics migrated from WWN-based to DeviceID-based (legacy topics cleaned up automatically on startup)
  • Devices without a valid WWN (e.g. USB enclosures, virtual drives) are now fully supported

Add on-demand MQTT sync endpoint for HA entity cleanup (#316)

  • New POST /api/health/mqtt-sync endpoint to re-sync all MQTT discovery entities with Home Assistant on demand
  • Archived devices are actively removed from Home Assistant during sync
  • No longer requires container restart to clean up stale entities

Bug Fixes

Fix duplicate WWN unique constraint failure (#314)

  • Replaced unique index on wwn with a regular index, fixing UNIQUE constraint failed: devices.wwn errors when registering multiple devices sharing the same non-empty WWN (e.g. 0x0000000000000000)

Replace deprecated object_id with default_entity_id in HA discovery (#312, #313)

  • Updated MQTT discovery messages to use default_entity_id instead of the deprecated object_id field, ensuring compatibility with latest Home Assistant versions

Migration Notes

  • The database migration runs automatically on startup. Both the UUIDv5 backfill (m20260315000000) and PK swap (m20260401000000) migrations are applied in sequence.
  • Existing MQTT entities in Home Assistant will be recreated with new DeviceID-based identifiers. Old WWN-based entities are cleaned up automatically.
  • Old collectors using WWN-based API paths will continue to work via backward-compatible device resolution.

Don't miss a new scrutiny release

NewReleases is sending notifications on new releases.