<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Staros Labs Changelog</title>
    <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
    <description>Updates on what's been shipped and released at Staros Labs.</description>
    <language>en-us</language>
    <lastBuildDate>Thu, 30 Apr 2026 03:30:48 GMT</lastBuildDate>
    <atom:link href="https://staroslabs.dev/feed-changelog.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>v1.51.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-51-0</guid>
      <description>v1.51.0 (2026-04-25)
Features
Improved Time Format and Settings Fixes (#478) - Closes #472, Closes #475, Closes #476Users can now set their preferred time format.The settings dialog is wider to ensure all content is visible.Fixed an issue that caused errors when saving SMART attribute overrides.
Dep</description>
      <pubDate>Sat, 25 Apr 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.48.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-48-0</guid>
      <description>v1.48.0 (2026-04-04)
Features
Replacement risk scoring system (#424) - Closes #358SMART attribute-level risk weights for ATA, NVMe, and SCSI drivesTrend analysis using 30-day rate-of-change dataReplacement risk score and category displayed on device detail pageRisk badge on dashboard device cardsCon</description>
      <pubDate>Sat, 04 Apr 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.49.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-49-0</guid>
      <description>v1.49.0 (2026-04-12)
Features
Add arm64 support for scrutiny collector zfs (#422) - Closes #90This PR adds native linux/arm64 cross-compilation support to the collector-zfs Docker image and solves the 45+ minute QEMU emulation bottleneck.</description>
      <pubDate>Sat, 04 Apr 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.49.1</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-49-1</guid>
      <description>v1.49.1 (2026-04-12)
Bug Fixes
Address potential memory leak sources (#426) - Closes #419Close HTTP response body in InfluxSetupComplete health checkCap InfluxDB TSM cache memory in omnibus mode (256MB max, 25MB snapshot threshold) to prevent unbounded growth
Memory leak, query fixes, and dependency</description>
      <pubDate>Sun, 05 Apr 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.49.2</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-49-2</guid>
      <description>v1.49.2 (2026-04-12)
Bug Fixes
Add insecure_skip_verify for self-signed TLS certs (#432) - Closes #418Add web.uptime_kuma.insecure_skip_verify config option to allow Uptime Kuma push to work with self-signed TLS certificates</description>
      <pubDate>Mon, 06 Apr 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.50.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-50-0</guid>
      <description>v1.50.0 (2026-04-12)
Features
Time format preference, tooltip fixes, dependency updates (#450) - Closes #445, Closes #443Fix temperature chart tooltip truncation and spike hover behavior (#443)Bump frontend, Go, and CI action dependencies (#408, #409, #410, #412, #413, #414, #415, #416, #417, #420, </description>
      <pubDate>Sun, 12 Apr 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.47.1</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-47-1</guid>
      <description>v1.47.1 (2026-03-15)
Bug Fixes
Prevent excessive collector processes in Docker (#369) - Fixes #365
Resolved an issue where collector cron processes would accumulate rapidly in Docker containers when the COLLECTOR_CRON_SCHEDULE environment variable is set.</description>
      <pubDate>Sun, 15 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.47.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-47-0</guid>
      <description>v1.47.0 (2026-03-14)
Features
The user interface is now mobile-friendly, featuring a bottom tab bar and card layouts.
A bottom tab bar includes 5 tabs: Home, Drives, ZFS, Workload, and Settings, with badge indicators for drives that need attention.The new Home tab provides a unified health overview,</description>
      <pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>[FEAT] make UI more mobile friendly</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#feat-make-ui-more-mobile-friendly</guid>
      <description>**Is your feature request related to a problem? Please describe.**
Currently the WebUI is not very mobile optimized so using the main menu does not work, since menu points are cut off.</description>
      <pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.46.4</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-46-4</guid>
      <description>v1.46.4 (2026-03-14)
Bug Fixes
Improved support for TrueNAS/Docker environments (#362) - Closes #361
This update enhances the compatibility of Scrutiny with TrueNAS and Docker by implementing an AppArmor profile.
Users will receive warnings if the default docker-default profile is active, which may </description>
      <pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.46.3</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-46-3</guid>
      <description>v1.46.3 (2026-03-14)
Bug Fixes
Improved handling of smartctl exit codes for better data collection (#355) - Closes #352
The system now logs a warning when exit code 0x04 occurs, allowing users to see this condition without losing valid SMART data.Exit code 0x04 is now categorized as informational, a</description>
      <pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.46.2</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-46-2</guid>
      <description>v1.46.2 (2026-03-13)
Updates
This release includes various improvements and bug fixes.
Enhanced the user interface for better navigation and usability.Fixed issues related to data display and reporting accuracy.</description>
      <pubDate>Fri, 13 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.46.1</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-46-1</guid>
      <description>v1.46.1 (2026-03-13)
Bug Fixes
Improved validation for SMART data persistence (#349) - Closes #348
The system now rejects and logs errors for specific command line and device issues, preventing invalid SMART data from being saved.Disk health indicators are still logged and saved, allowing for ongoin</description>
      <pubDate>Fri, 13 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.46.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-46-0</guid>
      <description>v1.46.0 (2026-03-11)
Bug Fixes
Improved attribute override management (#346) - Closes #345
The system now enforces unique attribute overrides, preventing duplicates.The settings panel displays all active overrides, combining database and configuration file settings, with config overrides shown as re</description>
      <pubDate>Wed, 11 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.45.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-45-0</guid>
      <description>v1.45.0 (2026-03-11)
Features
Built-in cron scheduling is now available.
You can now schedule tasks directly within the collector using the new --cron-schedule, --run-startup, and --run-startup-sleep CLI flags.New YAML config options include cron.schedule, cron.run_on_startup, and cron.startup_sleep</description>
      <pubDate>Wed, 11 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.44.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-44-0</guid>
      <description>v1.44.0 (2026-03-11)
New Features
#### Collector Error Notifications (#342)
Scrutiny can now notify you when the collector fails to read a drive, not just when a drive reports a health problem.
What&apos;s new:
smartctl --scan failures — if the collector cannot enumerate devices (e.g. permission denied),</description>
      <pubDate>Wed, 11 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.43.2</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-43-2</guid>
      <description>v1.43.2 (2026-03-10)
Bug Fixes
Device path case preservation for /dev/disk/by-id paths (#340) - Closes #335
Uppercase manufacturer names and serial numbers in /dev/disk/by-id/ paths are now preserved when passed to smartctl.Config override map lookups are now case-insensitive without changing the or</description>
      <pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.43.1</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-43-1</guid>
      <description>v1.43.1 (2026-03-10)
Bug Fixes
Improved handling of macOS device paths for better accuracy (#337) - Closes #336
Device paths on macOS are now processed correctly, ensuring accurate monitoring.The system will now return IO paths as they are, without unnecessary prefixes, while standard paths will sti</description>
      <pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.43.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-43-0</guid>
      <description>v1.43.0 (2026-03-09)
Features
New warning-level notification support - You can now receive notifications for devices that only have warning attributes.
The ShouldNotify function now includes a notifyLevel parameter to handle warning notifications.Devices with DeviceStatusPassed can now trigger notif</description>
      <pubDate>Mon, 09 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.42.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-42-0</guid>
      <description>v1.42.0 (2026-03-09)
Features
You can now reset a device&apos;s status on demand through a new endpoint and UI button.
A new &quot;Reset Status&quot; button is available on the device detail page header for desktop users and in the actions menu for mobile users.The button appears only when the device status indica</description>
      <pubDate>Mon, 09 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.0.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-0-0</guid>
      <description>1.0.0 (2025-11-29)
Features
Ability to override commands args (604dcf3)create allow-list for filtering down devices to only a subset (c9429c6)dynamic line stroke settings (536b590)Update dashboard.component.ts (bb98b8c)
Bug Fixes
collector: show correct nvme capacity (db86bac), closes #466https://gi</description>
      <pubDate>Sat, 29 Nov 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.1.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-1-0</guid>
      <description>1.1.0 (2025-11-30)
Features
Add &quot;day&quot; as resolution for temperature graph (2670af2)add day resolution for temperature graph (upstream PR #823) (2d6ffa7)add setting to enable/disable SCT temperature history (upstream PR #557) (c3692ac)Implement device-wise notification mute/unmute (925e86d)implement </description>
      <pubDate>Sun, 30 Nov 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.1.1</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-1-1</guid>
      <description>1.1.1 (2025-12-09)
Bug Fixes
collector: handle large LBA values in SMART data parsing (7f4bceb), closes #24 AnalogJ/scrutiny#800collector: ignore bit 6 in smartctl exit-code during detect (735fe2e)collector: keep existing device type (b5bb1a2)config: use structured logging for config file messages (</description>
      <pubDate>Tue, 09 Dec 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.1.2</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-1-2</guid>
      <description>1.1.2 (2025-12-18)
Refactoring
database: extract hardcoded time ranges to constants (deb2df0), closes #49</description>
      <pubDate>Thu, 18 Dec 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.2.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-2-0</guid>
      <description>1.2.0 (2025-12-19)
Features
ci: add SHA256 checksums to GitHub releases (367a2dc), closes #28
Bug Fixes
ui: Frontend Demo Mode now loads (462a0c3), closes #57</description>
      <pubDate>Fri, 19 Dec 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.3.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-3-0</guid>
      <description>1.3.0 (2025-12-20)
Features
ui: add device label editing and API timeout configuration (75050d5)</description>
      <pubDate>Sat, 20 Dec 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.4.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-4-0</guid>
      <description>1.4.0 (2026-01-07)
Features
thresholds: enhance Seagate drive timeout handling in SMART attribute metadata (eec5c13)
Bug Fixes
ui: remove console.log statements from frontend (5cf1366), closes #55
Documentation
update CONTRIBUTING.md to reference GitHub Issues instead of Linear (46f9b02)</description>
      <pubDate>Wed, 07 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.4.1</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-4-1</guid>
      <description>1.4.1 (2026-01-08)
Bug Fixes
Health Check: Verify /web folder exists before reporting healthy status (#47)Temperature Display: Fix temperature info masked by UI border on dashboard (#8)SAS Drives: Fix infinite temperature display on SAS/SCSI drives by reading SCSI environmental reports (#26)Demo Mod</description>
      <pubDate>Thu, 08 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.5.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-5-0</guid>
      <description>1.5.0 (2026-01-08)
Features
notify: add device label to notification payload (#48) (231cc4c)
Bug Fixes
batch of quick wins from GitHub issues (5eef50e), closes #47 #50 #47 #50 #8 #56 #59 #26collector: populate DeviceType from smartctl info when not set (6704245)tests: add GetString notify.urls mock </description>
      <pubDate>Thu, 08 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.6.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-6-0</guid>
      <description>1.6.0 (2026-01-08)
Features
frontend: Upgrade Angular 13 to Angular 21 (d9e4b6a), closes #9
Highlights
Major frontend modernization upgrade:
Angular 13 LTS to Angular 21TypeScript upgraded to 5.9New Angular control flow syntax (@if, @for, @else)Updated Angular Material to standalone componentsRxJS a</description>
      <pubDate>Thu, 08 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.6.1</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-6-1</guid>
      <description>1.6.1 (2026-01-08)
Bug Fixes
ci: correct frontend tarball path in release workflow (d46b8f0), closes #59ci: make frontend coverage upload optional (5cc5ed1)</description>
      <pubDate>Thu, 08 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.6.2</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-6-2</guid>
      <description>1.6.2 (2026-01-08)
Bug Fixes
docker: correct Angular 21 frontend build paths (18d464b), closes #59</description>
      <pubDate>Thu, 08 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.7.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-7-0</guid>
      <description>1.7.0 (2026-01-08)
Features
zfs: add ZFS pool monitoring support (6df294a), closes #66</description>
      <pubDate>Thu, 08 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.7.1</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-7-1</guid>
      <description>1.7.1 (2026-01-09)
Bug Fixes
deps: security audit and dependency inventory (b42e940), closes #69 #70 #36</description>
      <pubDate>Fri, 09 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.7.2</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-7-2</guid>
      <description>1.7.2 (2026-01-17)
Bug Fixes
mock: add ZFS pool management methods to MockDeviceRepo (af2d4bd)</description>
      <pubDate>Sat, 17 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.8.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-8-0</guid>
      <description>1.8.0 (2026-01-17)
Features
thresholds: add metadata for all ATA Device Statistics (6602bf8)thresholds: add metadata for all remaining unknown attributes (163284c)thresholds: add metadata for Page 3 and Page 5 device statistics (72a7ea8)thresholds: add metadata for remaining unknown attributes (7b0a</description>
      <pubDate>Sat, 17 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.9.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-9-0</guid>
      <description>What&apos;s Changed
New Features
Attribute History Dialog: Click on any sparkline chart in the History column to view detailed historical data in a modal dialog with a larger chart and scrollable table (#71)ZFS Collector: Added ZFS collector to omnibus Docker image (#82)Dashboard Sorting: Added more sort</description>
      <pubDate>Mon, 19 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.9.1</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-9-1</guid>
      <description>v1.9.1 (2026-01-19)
Bug Fixes
Fix ZFS pool data display on frontend (#87)Fixed mismatches between the backend ZFS API response structure and what the frontend expected. Also added a missing MatDialogModule import required for ZFS pool card dialogs.</description>
      <pubDate>Mon, 19 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.10.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-10-0</guid>
      <description>What&apos;s Changed
New Features
ZFS Collector Docker Image: Added standalone ZFS collector Docker image for hub-spoke deployments (#85, #88)Available at ghcr.io/starosdev/scrutiny:latest-collector-zfsVersioned tags: 1.10.0-collector-zfs, 1.10-collector-zfs, 1-collector-zfsCurrently supports amd64 only (</description>
      <pubDate>Mon, 19 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.10.1</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-10-1</guid>
      <description>v1.10.1 (2026-01-20)
Bug Fixes
Fix ZFS pool mock implementations for testing (c8b22fd)Added missing mock implementations for new ZFS pool management interface methods introduced in v1.10.0, fixing build failures in tests.</description>
      <pubDate>Tue, 20 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.11.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-11-0</guid>
      <description>v1.11.0 (2026-01-21)
Features
Display total terabytes written and read (#74)The device detail sidebar now shows total TB written and TB read for drives that report this data. Values are calculated from SMART LBA counts using the drive&apos;s logical block size, which is now parsed from smartctl output.</description>
      <pubDate>Wed, 21 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.12.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-12-0</guid>
      <description>v1.12.0 (2026-01-22)
Features
Add SSD health metrics to detail view (#96)The device detail sidebar now shows SSD wear information. NVMe and ATA drives with device statistics show &quot;Percentage Used,&quot; while other SSDs show &quot;SSD Wearout Health&quot; based on attributes 177, 233, 231, or 232. Only one metric </description>
      <pubDate>Thu, 22 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.12.1</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-12-1</guid>
      <description>v1.12.1 (2026-01-22)
Bug Fixes
Prevent false failures from corrupted ATA device statistics (#98)Fixed false failure alerts caused by impossibly high ATA Device Statistics values (e.g., 420 billion mechanical failures). Values above 1 million are now treated as corrupted data rather than real failure</description>
      <pubDate>Thu, 22 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.13.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-13-0</guid>
      <description>v1.13.0 (2026-01-22)
Features
Add SSD health metrics to dashboard cards (#99)Dashboard device cards now display SSD wear percentage when available. NVMe and ATA drives with device statistics show &quot;Used&quot; percentage, while other SSDs show &quot;Health&quot; percentage from wearout attributes. HDDs are not affec</description>
      <pubDate>Thu, 22 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.13.1</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-13-1</guid>
      <description>v1.13.1 (2026-01-22)
Bug Fixes
Fix ZFS pool data not updating after initial registration (#100)ZFS pool capacity values (size, allocated, free) and the updated_at timestamp were stuck at their initial registration values. Replaced an unreliable GORM upsert pattern with explicit find-or-create logic </description>
      <pubDate>Thu, 22 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.13.2</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-13-2</guid>
      <description>v1.13.2 (2026-01-22)
Bug Fixes
Correct TB written/read calculation for Intel SSDs (#101)Intel S4510/S4610 and similar SSDs were showing 0.00 TB written/read because they report attributes 241/242 in 32 MiB units rather than LBA counts. The fix detects the unit type from the attribute name provided b</description>
      <pubDate>Thu, 22 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.13.3</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-13-3</guid>
      <description>v1.13.3 (2026-01-23)
Bug Fixes
Fix ZFS pool scrub property name mismatches (#103)Updated the frontend ZFS pool model and components to use property names matching the backend API response. Before this fix, last scrub timestamps always showed &quot;a few seconds ago&quot; because the values were undefined.</description>
      <pubDate>Fri, 23 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.13.4</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-13-4</guid>
      <description>v1.13.4 (2026-01-23)
Bug Fixes
Remove unused Quill dependency to fix XSS vulnerability (#104)Removed the Quill rich text editor package, which was never actually used in the application. This eliminates an XSS vulnerability (GHSA-4943-9vgg-gr5r) and removes 18 unnecessary packages from the dependenc</description>
      <pubDate>Fri, 23 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.13.5</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-13-5</guid>
      <description>v1.13.5 (2026-01-23)
Bug Fixes
Reset device failure status when SMART data passes (#105)Fixed a bug where device failure status was permanently sticky -- once a drive was marked as failed, it could never return to a passing state even if all current SMART attributes were within range. Also added deb</description>
      <pubDate>Fri, 23 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.13.6</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-13-6</guid>
      <description>v1.13.6 (2026-01-23)
Bug Fixes
Skip web integration tests when InfluxDB is unavailable (#116)Running go test ./... without a local InfluxDB instance no longer panics with connection errors. Integration tests now detect InfluxDB availability and skip gracefully with a helpful setup message when it is</description>
      <pubDate>Fri, 23 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.14.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-14-0</guid>
      <description>v1.14.0 (2026-01-23)
Features
Add SMART attribute overrides support (#118)Users can now configure overrides for specific SMART attributes in scrutiny.yaml. Supported actions include: ignoring attributes to suppress false positives, forcing an attribute to a specific status (passed/warn/failed), and </description>
      <pubDate>Fri, 23 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.15.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-15-0</guid>
      <description>v1.15.0 (2026-01-23)
Features
Add UI for configuring SMART attribute overrides (#120)A new &quot;SMART Attribute Overrides&quot; section in Dashboard Settings lets users add, view, and delete attribute overrides directly from the web UI without editing config files. Overrides created in the UI are stored in t</description>
      <pubDate>Fri, 23 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.15.1</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-15-1</guid>
      <description>1.15.1 (2026-01-24)
Bug Fixes
frontend: improve detail view table layout for issue #122 (#127) (b0907f8)
Detail View Layout Improvements
This release includes significant layout changes to the drive detail view to improve usability on smaller screens:
Layout restructureChanged from side-by-side layo</description>
      <pubDate>Sat, 24 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.15.2</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-15-2</guid>
      <description>v1.15.2 (2026-01-24)
Bug Fixes
SCSI metadata parsing (#124)Fixed SCSI devices incorrectly using NVMe metadata functions, which caused SCSI SMART data to be parsed with the wrong logic.</description>
      <pubDate>Sat, 24 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.15.3</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-15-3</guid>
      <description>v1.15.3 (2026-01-24)
Build
Update Go and dependencies for CVE fixes (#125)Bumped Go from 1.20 to 1.24, updated gin, logrus, protobuf, and other dependencies to patch known CVEs. Docker base images updated to debian:trixie-slim.</description>
      <pubDate>Sat, 24 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.15.4</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-15-4</guid>
      <description>v1.15.4 (2026-01-24)
Bug Fixes
Repeat notification detection (#129)Fixed notifications firing repeatedly even when &quot;only notify on value change&quot; was enabled. The comparison was using daily-aggregated values instead of the actual previous SMART submission, causing false change detection.</description>
      <pubDate>Sat, 24 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.15.5</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-15-5</guid>
      <description>v1.15.5 (2026-01-24)
Bug Fixes
Safe type assertions for SMART metrics (#130)Added safe type assertion checks when parsing temperature, power-on hours, and power cycle count from InfluxDB. Previously, unexpected data types (nil or float64) could cause panics.</description>
      <pubDate>Sat, 24 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.15.6</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-15-6</guid>
      <description>v1.15.6 (2026-01-24)
Bug Fixes
Zulip notification topic limit (#132)Fixed Zulip notifications failing because Scrutiny&apos;s notification subjects exceeded Zulip&apos;s 60-character topic limit. Added automatic truncation and a new force_topic URL parameter to override the auto-generated topic.</description>
      <pubDate>Sat, 24 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.15.7</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-15-7</guid>
      <description>v1.15.7 (2026-01-24)
Bug Fixes
Docker process overhead (#131)Added exec to s6 service scripts and changed CMD to ENTRYPOINT in the omnibus Dockerfile. This eliminates unnecessary intermediate bash processes from the container&apos;s process tree, improving signal handling and reducing overhead.</description>
      <pubDate>Sat, 24 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.15.8</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-15-8</guid>
      <description>v1.15.8 (2026-01-25)
Refactoring
Migrate from moment.js to dayjs (#147)Replaced moment.js with dayjs for all date handling in the frontend. This is a lightweight alternative that reduces bundle size while maintaining the same date manipulation functionality.</description>
      <pubDate>Sun, 25 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.16.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-16-0</guid>
      <description>1.16.0 (2026-01-26)
Features
api: improve health check depth with structured response (#153)config: make InfluxDB retention periods configurable (#152)frontend: improve temperature graph UX (#145)notify: add missed collector ping notifications (#140)backend: add container CPU quota awareness with au</description>
      <pubDate>Mon, 26 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.16.1</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-16-1</guid>
      <description>v1.16.1 (2026-01-26)
CI/CD
Improved release notes generationUpdated the release workflow to generate release notes from merged PR titles instead of raw commit messages, producing more meaningful changelogs.</description>
      <pubDate>Mon, 26 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.16.2</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-16-2</guid>
      <description>v1.16.2 (2026-01-26)
CI/CD
Release notes script fixesFixed formatting issues in the release notes generation script output.</description>
      <pubDate>Mon, 26 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.16.3</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-16-3</guid>
      <description>v1.16.3 (2026-01-26)
Bug Fixes
Revert parameterized InfluxDB queries (#157)Reverted parameterized Flux queries back to string interpolation because InfluxDB OSS does not support the params object (Cloud-only feature). Users were seeing &quot;undefined identifier params&quot; errors. Input validation at the ha</description>
      <pubDate>Mon, 26 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.17.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-17-0</guid>
      <description>v1.17.0 (2026-01-27)
Features
Missed ping monitoring diagnostics (#160)Added a new /api/health/missed-ping-status diagnostic endpoint that shows whether missed ping monitoring is enabled, timing information, device counts, and InfluxDB bucket validation. Improved logging from DEBUG to INFO level for</description>
      <pubDate>Tue, 27 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.17.1</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-17-1</guid>
      <description>v1.17.1 (2026-01-30)
Bug Fixes
Missed ping diagnostic endpoint 500 error (#169)Fixed the /api/health/missed-ping-status endpoint returning a 500 error. The missed ping monitor was being created after the router setup, so the middleware never registered. Reordered initialization to create the monitor</description>
      <pubDate>Fri, 30 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.17.2</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-17-2</guid>
      <description>v1.17.2 (2026-01-30)
Bug Fixes
Dark mode UI improvements (#170)Fixed poor text contrast in the SMART attributes table when using dark mode. Removed scroll shadow CSS that caused a white frame around the table. Fixed drive filter checkboxes on the temperature chart so toggling drives actually updates</description>
      <pubDate>Fri, 30 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.18.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-18-0</guid>
      <description>v1.18.0 (2026-01-30)
Features
SMART display mode toggle (#172)Added a toggle to switch between normalized and raw SMART attribute values per device. This lets users see the actual raw values reported by the drive instead of only the normalized 0-100 scale.
Bug Fixes
Custom threshold overrides (#172)</description>
      <pubDate>Fri, 30 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.19.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-19-0</guid>
      <description>v1.19.0 (2026-01-30)
Features
Dark mode toggle (#173)Added an accessible dark mode toggle button to the header for quick theme switching.
Temperature chart axis visibility (#173)Fixed Y-axis and X-axis labels on the temperature chart being invisible in dark mode.
Bug Fixes
Override status recalculat</description>
      <pubDate>Fri, 30 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.19.1</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-19-1</guid>
      <description>v1.19.1 (2026-01-31)
Bug Fixes
Missed ping notifications not sending (#174)Fixed missed ping notifications never being sent even when devices exceeded their timeout. The InfluxDB query was filtering for a date field that does not exist as a stored field; changed to query the temp field which is alwa</description>
      <pubDate>Sat, 31 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.19.2</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-19-2</guid>
      <description>v1.19.2 (2026-01-31)
Bug Fixes
Forced failure status hidden by threshold filter (#175)Fixed an edge case where using force_status: failed in attribute overrides could be hidden by the threshold filter setting. Added a has_forced_failure flag so the frontend always shows forced failures regardless of</description>
      <pubDate>Sat, 31 Jan 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.20.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-20-0</guid>
      <description>v1.20.0 (2026-02-05)
Features
ui: Display collector version on device detail page with yellow warning when outdated (#176)ui: Display collector version badge on dashboard host blocksui: Make navbar version a hyperlink to GitHub repository (#178)
Backend
Collector sends version during device registra</description>
      <pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.20.1</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-20-1</guid>
      <description>v1.20.1 (2026-02-06)
Bug Fixes
Fix temperature and data units for Patriot Burst Elite drives (#183)When temperature.current reports invalid values (0, negative, or &gt;150C), the backend now falls back to SMART attribute 194 with bit-masking and sanity checks. Also improved TB read/write calculation wi</description>
      <pubDate>Fri, 06 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.20.2</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-20-2</guid>
      <description>v1.20.2 (2026-02-07)
Bug Fixes
Fix version display clipped on mobile viewports (#184)The header version link is now hidden on narrow screens (</description>
      <pubDate>Sat, 07 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.20.3</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-20-3</guid>
      <description>v1.20.3 (2026-02-07)
Bug Fixes
Consolidate all logging through injected logrus logger (#185)Replaced scattered fmt.Printf, stdlib log, and package-level logrus calls throughout the backend with a single injected structured logger. This ensures all log output is consistently formatted and respects th</description>
      <pubDate>Sat, 07 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.21.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-21-0</guid>
      <description>v1.21.0 (2026-02-07)
Features
Add periodic heartbeat notifications (#192)New opt-in &quot;all clear&quot; heartbeat notifications that periodically confirm Scrutiny is running and all drives are healthy. Useful for integration with uptime monitoring tools like Uptime Kuma. Disabled by default; configurable vi</description>
      <pubDate>Sat, 07 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.22.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-22-0</guid>
      <description>v1.22.0 (2026-02-07)
Features
Add configurable HTTP server timeouts (#193)The web server now applies ReadTimeout (10s), WriteTimeout (30s), and IdleTimeout (60s) by default to prevent slowloris-style attacks and resource exhaustion. All values are configurable via scrutiny.yaml or environment variab</description>
      <pubDate>Sat, 07 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.23.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-23-0</guid>
      <description>v1.23.0 (2026-02-07)
Features
Infer failure rate from error interval (#197)When a SMART attribute has an error interval but no explicit annual failure rate, Scrutiny now estimates the failure rate from the midpoint of the interval. This provides more accurate health assessments for attributes that p</description>
      <pubDate>Sat, 07 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.23.1</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-23-1</guid>
      <description>v1.23.1 (2026-02-08)
Bug Fixes
Persist model name for SAS/SCSI drives (#198)SAS and SCSI drives were displaying without model names (e.g., /dev/sdaX -) because the backend did not persist model_name during device re-registration or SMART data uploads. Both paths now correctly update the model name.</description>
      <pubDate>Sun, 08 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.23.2</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-23-2</guid>
      <description>v1.23.2 (2026-02-08)
Bug Fixes
Handle manufacturer-specific Power-On Hours encoding (#199)SMART attribute 9 (Power-On Hours) now correctly parses manufacturer-specific encodings, including smartctl&apos;s h+m+s format, parenthetical hours format, and packed 48-bit raw values. The UI shows actual power-on</description>
      <pubDate>Sun, 08 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.23.3</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-23-3</guid>
      <description>v1.23.3 (2026-02-11)
Bug Fixes
Add observed thresholds for wear leveling count (attr 177) (#203)Added threshold buckets for SMART attribute 177 (Wear Leveling Count) so SSDs reporting this attribute no longer trigger false-positive warnings. Healthy drives (normalized value &gt;= 25) now pass cleanly; </description>
      <pubDate>Wed, 11 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.24.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-24-0</guid>
      <description>v1.24.0 (2026-02-14)
Features
#### Performance Benchmarking (#220)
Adds fio-based performance benchmarking for hard drives, tracking sequential throughput, random IOPS, and latency over time. This feature is a work-in-progress -- testing and feedback are appreciated.
New collector binary: scrutiny-c</description>
      <pubDate>Sat, 14 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.24.1</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-24-1</guid>
      <description>v1.24.1 (2026-02-15)
Bug Fixes
Wire up allow_direct_device_io for performance benchmarks (#226)The performance.allow_direct_device_io config option now actually works. When enabled, fio benchmarks target the raw block device (/dev/sdX) directly instead of writing a temp file to /dev/.scrutiny_perf_b</description>
      <pubDate>Sun, 15 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.24.2</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-24-2</guid>
      <description>v1.24.2 (2026-02-15)
Bug Fixes
Fix temperature chart tooltip issues (#229)Fixed three tooltip problems on the dashboard temperature chart: timestamps in Day view now match actual collection times instead of snapping to 10-minute grid boundaries, removed the duplicate timestamp from the x-axis crossh</description>
      <pubDate>Sun, 15 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.24.3</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-24-3</guid>
      <description>v1.24.3 (2026-02-15)
Bug Fixes
Read-only benchmarks for direct device I/O (#230)When allow_direct_device_io is enabled, fio write tests (sequential write, random write, mixed rw) are now skipped to prevent destroying partition tables, superblocks, and filesystems on raw block devices. Only read benc</description>
      <pubDate>Sun, 15 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.24.4</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-24-4</guid>
      <description>v1.24.4 (2026-02-15)
Bug Fixes
replace packagr container with actions/setup-go in release workflow (#231)</description>
      <pubDate>Sun, 15 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.24.5</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-24-5</guid>
      <description>v1.24.5 (2026-02-15)
Bug Fixes
ci: enhance release notes script to include PR body summaries</description>
      <pubDate>Sun, 15 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.25.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-25-0</guid>
      <description>v1.25.0 (2026-02-15)
Features
improve archived disk display (#218) (#232)Archived toggle is now a true filter: Toggle ON shows only archived items, toggle OFF shows only active items (previously ON showed everything mixed together)</description>
      <pubDate>Sun, 15 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.26.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-26-0</guid>
      <description>v1.26.0 (2026-02-16)
Features
delta-based detection for cumulative counters + inline override actions (#233)Backend: Delta-based evaluation - Automatically suppresses warnings for cumulative counter attributes when the raw value hasn&apos;t increased since the last measurement.</description>
      <pubDate>Mon, 16 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.27.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-27-0</guid>
      <description>v1.27.0 (2026-02-18)
Bug Fixes
per-attribute devstat thresholds and blank raw_value display (#237)Fixed incorrect FAILED status on error count devstat attributes (Discussion #215).</description>
      <pubDate>Wed, 18 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.27.1</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-27-1</guid>
      <description>v1.27.1 (2026-02-18)
Bug Fixes
ci: use setup-go action in SonarQube workflow</description>
      <pubDate>Wed, 18 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.27.2</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-27-2</guid>
      <description>v1.27.2 (2026-02-18)
Bug Fixes
address Reddit user feedback - scrub parsing, resolver errors, dark theme, vdev spacing (#238)Bug 1: Fix ZFS scrub regex to handle multi-day durations (1 days 00:12:08) and add resilver operation support via (?:scrub|resilver) alternation</description>
      <pubDate>Wed, 18 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.27.3</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-27-3</guid>
      <description>v1.27.3 (2026-02-20)
Features
Scheduled Reports (daily/weekly/monthly) (#241)Add automated scheduled reports (daily/weekly/monthly) delivering drive health summaries via existing Shoutrrr notification system
Bug Fixes
upgrade shoutrrr to fix SMTP zero-timeout bug (#244)Upgrades nicholas-fedor/shoutr</description>
      <pubDate>Fri, 20 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.28.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-28-0</guid>
      <description>v1.28.0 (2026-02-21)
Features
persist scheduler timestamps, batch missed pings, add HTML emails (#245)Persist report scheduler timestamps in SQLite so service restarts don&apos;t re-trigger daily/weekly/monthly reports (previously in-memory only, causing duplicates on restart -- observed 3x daily report </description>
      <pubDate>Sat, 21 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.28.1</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-28-1</guid>
      <description>v1.28.1 (2026-02-21)
Bug Fixes
apply defaults for empty DB values to prevent blank UI (#248)When the database has empty string values for settings (e.g. theme=&quot;&quot;, layout=&quot;&quot;), the backend returned them as-is and the frontend used them directly, producing a blank white pageapply defaults for empty DB </description>
      <pubDate>Sat, 21 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.29.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-29-0</guid>
      <description>v1.29.0 (2026-02-21)
Features
dashboard: add spacing between host-id groups (#250)Adds vertical spacing (mb-6 / 1.5rem) between host-id group blocks on the dashboard so groups are visually separated</description>
      <pubDate>Sat, 21 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.29.1</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-29-1</guid>
      <description>v1.29.1 (2026-02-21)
Bug Fixes
add retry logic for database init to prevent Docker crash-loops (#260)Replaces panic() in RepositoryMiddleware with a retry loop (30 attempts, 10s intervals = 5 min max) so the -web Docker image waits for InfluxDB to become available instead of crash-looping</description>
      <pubDate>Sat, 21 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.29.2</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-29-2</guid>
      <description>v1.29.2 (2026-02-21)
Bug Fixes
reset device status using map-based GORM update (#263)Fix GORM v2 zero-value bug that prevented device status from ever being reset to PASSED</description>
      <pubDate>Sat, 21 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.30.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-30-0</guid>
      <description>v1.30.0 (2026-02-22)
Features
workload: add Workload Insights page for visualizing drive activity patterns (#259)New /workload page accessible from top navigation barComputes daily read/write rates from existing S.M.A.R.T attribute history (no collector changes needed)I/O intensity classification: i</description>
      <pubDate>Sun, 22 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.30.1</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-30-1</guid>
      <description>v1.30.1 (2026-02-27)
Bug Fixes
Update Makefile tags and docs to reference Starosdev/scrutiny (#265)
Update all 5 Makefile Docker targets from analogj/scrutiny-dev to ghcr.io/starosdev/scrutiny-dev
Fix misleading comment about binary-frontend dependency (handled internally by multi-stage Docker build</description>
      <pubDate>Sun, 22 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.31.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-31-0</guid>
      <description>v1.31.0 (2026-02-24)
Features
API authentication and authorization (#273, closes #268)
  Adds opt-in API authentication to Scrutiny, securing the dashboard and API endpoints while maintaining full backward compatibility. Auth is disabled by default -- existing deployments are completely unaffected.
</description>
      <pubDate>Tue, 24 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.31.1</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-31-1</guid>
      <description>v1.31.1 (2026-02-24)
Bug Fixes
improve devstat status reason messages (#275) (#276)Replace generic devstat status reason strings with descriptive messages that include the attribute name, current value, and threshold</description>
      <pubDate>Tue, 24 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.31.2</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-31-2</guid>
      <description>v1.31.2 (2026-02-24)
Bug Fixes
add smartctl to perf container and configurable mount points (#274) (#277)Add smartmontools to Dockerfile.collector-performance from trixie-backports, fixing smartctl: executable file not found in $PATH error in standalone performance containers</description>
      <pubDate>Tue, 24 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.32.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-32-0</guid>
      <description>v1.32.0 (2026-02-25)
Features
Home Assistant MQTT Discovery -- Native integration that auto-discovers Scrutiny drives in Home Assistant (#279, #280)Each drive appears as an HA device with sensors for temperature, health status, power-on hours, power cycle count, and a problem binary sensorPush-based</description>
      <pubDate>Wed, 25 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.33.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-33-0</guid>
      <description>v1.33.0 (2026-02-25)
Features
add Unraid Community Applications templates (#282)Add official Unraid CA XML templates for all Scrutiny deployment modes (omnibus, web, collector, collector-zfs, collector-performance)</description>
      <pubDate>Wed, 25 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.34.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-34-0</guid>
      <description>v1.34.0 (2026-02-26)
Features
add UI for notification URL configuration (#285)Add &quot;Notification Channels&quot; section to the Settings dialog for managing Shoutrrr notification URLs directly from the web UIMQTT Discovery, notification URL UI, and bug fixes (#287)MQTT Discovery: Native Home Assistant MQTT</description>
      <pubDate>Thu, 26 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.35.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-35-0</guid>
      <description>v1.35.0 (2026-02-27)
Features
add Uptime Kuma push monitor integration (SCR-288) (#293)Add dedicated UptimeKumaMonitor background service that periodically pushes health status to an Uptime Kuma Push Monitor endpointadd Seagate FARM log support (SCR-292) (#294)Add optional Seagate FARM (Field Access</description>
      <pubDate>Fri, 27 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.35.1</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-35-1</guid>
      <description>v1.35.1 (2026-02-27)
Bug Fixes
scsi: use correct attribute type for SCSI temperature (#291)Fixed SCSI temperature attribute using wrong type (SmartNvmeAttribute instead of SmartScsiAttribute), which caused override processing to silently skip it and resulted in missing temperature and SMART data on </description>
      <pubDate>Fri, 27 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.36.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-36-0</guid>
      <description>v1.36.0 (2026-02-27)
Features
Respect dashboard_display setting for device titles (#299) - Closes #290
Passes device identity fields (name, label, serial_id, uuid, host_id) through the workload API response so the frontend can render device titles using the same dashboard_display config setting used</description>
      <pubDate>Fri, 27 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.37.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-37-0</guid>
      <description>v1.37.0 (2026-02-27)
Features
Add config-driven device labels (#302) - Closes #301
Add label field to collector config device overrides, allowing users to set custom device labels in collector.yaml
Labels from config are applied on every collector run, making them ideal for environments where disks </description>
      <pubDate>Sat, 28 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.38.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-38-0-1</guid>
      <description>v1.38.0 (2026-03-01)
Features
New notification settings for better control (#308) - Closes #255
You can now customize notification settings for each device, including cooldown periods and rate limits.
Each device can have its own missed ping timeout, allowing for more tailored notifications.A new co</description>
      <pubDate>Sun, 01 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.39.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-39-0-1</guid>
      <description>v1.39.0 (2026-03-01)
Features
UUIDv5 device_id as primary identifier (#310)
This update introduces a new primary identifier for devices based on UUIDv5.
The system now uses device_id for all API routes and frontend displays, ensuring compatibility with existing data.The primary key in SQLite has bee</description>
      <pubDate>Sun, 01 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.40.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-40-0-1</guid>
      <description>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 de</description>
      <pubDate>Tue, 03 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.40.1</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-40-1</guid>
      <description>v1.40.1 (2026-03-05)
Bug Fixes
Prevent double /dev/ prefix on Windows device paths (#321) - Fixes #320
Fixes an issue where Windows device paths were rendered as /dev//dev/sda instead of /dev/sda. Adds a stripDevicePrefix() helper in the collector and defensive checks in the frontend DeviceTitlePipe</description>
      <pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.41.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-41-0</guid>
      <description>v1.41.0 (2026-03-06)
Features
You can now set timeouts for smartctl and fio command executions to prevent indefinite blocking.
Introduces two new configurable timeouts: commands.metrics_smartctl_timeout (120s) and commands.performance_fio_timeout (300s), which can be adjusted in collector.yaml or th</description>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>[FEAT] &apos;Ignore&apos; certain attribuites</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#feat-ignore-certain-attribuites</guid>
      <description>**Is your feature request related to a problem? Please describe.**
Every night I get multiple Discord notifications about the same disks. In this case, Scrutiny has marked several of my disks as &apos;failed&apos; due to `UltraDMA CRC Error Count`. I am pretty sure this is simply a bad cable somewhere in my D</description>
      <pubDate>Wed, 04 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.38.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-38-0</guid>
      <description>FeaturesNew notification settings for better control (#308) - Closes #255You can now customize notification settings for each device, including cooldown periods and rate limits.Each device can have its own missed ping timeout, allowing for more tailored notifications.A new configurable cooldown sett</description>
      <pubDate>Sun, 01 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.39.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-39-0</guid>
      <description>FeaturesUUIDv5 device_id as primary identifier (#310)This update introduces a new primary identifier for devices based on UUIDv5.The system now uses device_id for all API routes and frontend displays, ensuring compatibility with existing data.The primary key in SQLite has been changed from WWN to de</description>
      <pubDate>Mon, 02 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>v1.40.0</title>
      <link>https://staroslabs.dev/projects/scrutiny/changelog</link>
      <guid isPermaLink="false">https://staroslabs.dev/projects/scrutiny/changelog#v1-40-0</guid>
      <description>FeaturesUUIDv5 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 W</description>
      <pubDate>Tue, 03 Mar 2026 00:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>