Skip to content

v1.11.0

Choose a tag to compare

@github-actions github-actions released this 26 Sep 15:30
· 77 commits to develop since this release
Immutable release. Only release title and notes can be modified.
v1.11.0
d7062f0

Important

WinGet license display

We confirmed that WinGet displayed MIT for HardwareVisualizer 1.11.0. The source for that release declares GPL-3.0-or-later, so the displayed license did not match the source declaration.

The automated release submission inherited the license metadata from an earlier WinGet manifest. We have corrected the workflow to use the license declared at the target release tag for future submissions. This workflow change does not update the existing 1.11.0 manifest.

If you reused or redistributed source code based on the MIT display, or that display affected your use of the software, please contact us through the dedicated Discussion. Share when and how you used it, to the extent you are comfortable sharing. We will review the circumstances and discuss your situation individually.


What's Changed

Added

  • feat(monitor): show Apple Silicon power draw by @shm11C3 in #1980
  • feat(insight): archive power draw summaries by @shm11C3 in #1981
  • feat(settings): select power display targets by @shm11C3 in #1982
  • feat(core): cooling daily rollup with a Cooling Insight retention contract by @shm11C3 in #2025
  • feat(core): idle detection and cooling baseline establishment by @shm11C3 in #2026
  • feat(performance): add switchable Power Draw modes to Performance views by @shm11C3 in #2027
  • feat(front): rebuild the Cooling Insight view skeleton with long-range periods by @shm11C3 in #2030
  • feat(front): synchronized thermal timeline lanes for Cooling Insight by @shm11C3 in #2031
  • feat(front): cooling observation strip and load-band comparison by @shm11C3 in #2032
  • feat(front): load-temperature explorer as a secondary Cooling Insight analysis by @shm11C3 in #2034
  • feat(core): collect Windows CPU package power by @shm11C3 in #2035
  • feat(front): capability-dependent CPU package power lane for the cooling timeline by @shm11C3 in #2038
  • feat(core): collect experimental IT8728F temperatures by @shm11C3 in #2039
  • feat(core): environmental sensor provider and ambient temperature archive by @shm11C3 in #2049
  • feat(front): capability-dependent fan lane completing the cooling timeline by @shm11C3 in #2050
  • feat(core): ambient-normalized Cooling Insight rollups by @shm11C3 in #2051
  • feat(front): ambient-aware Cooling Insight by @shm11C3 in #2055
  • feat: SwitchBot Meter BLE environmental sensor provider by @shm11C3 in #2054
  • feat(core): SwitchBot Hub-family ambient readings and explicit sensor selection by @shm11C3 in #2066
  • feat: Cooling Insight correlation view - what moved with the Thermal Delta by @shm11C3 in #2070
  • feat(database): add validated DuckDB snapshot candidates by @shm11C3 in #2091
  • feat(database): finalize DuckDB candidates and query them natively by @shm11C3 in #2097
  • fix(test): anchor the Process Stats compatibility fixture to the clock by @shm11C3 in #2103
  • fix(ci): fix third-party license notice generation by @shm11C3 in #2104
  • feat(database): query the ambient, fan and cooling families natively by @shm11C3 in #2105
  • feat(database): add native archive queries, reconciliation and selection by @shm11C3 in #2106
  • feat(core): enable NCT6796D experimental motherboard sensors by @shm11C3 in #2121
  • feat: surface Intel package thermal status by @shm11C3 in #2122
  • feat: pin the written DuckDB storage version by @shm11C3 in #2125
  • feat(settings): install PawnIO through External Component Setup by @shm11C3 in #2120
  • feat(database): answer Storage Health from the native backend by @shm11C3 in #2140
  • feat: move sccache's cache store off GitHub Actions cache to Cloudflare R2 by @shm11C3 in #2151
  • ci: cache Rust deps/rustc for the CodeQL rust job by @shm11C3 in #2159
  • feat(database): add the native backend dispatch boundary by @shm11C3 in #2154
  • feat(database): route the raw archive families through dispatch by @shm11C3 in #2156
  • feat(database): route Storage Health through dispatch by @shm11C3 in #2157
  • feat(database): route Cooling's projections and baselines through dispatch by @shm11C3 in #2161
  • feat(tauri): own native database path resolution and startup authority by @shm11C3 in #2155
  • feat(tauri): add the App-owned native database conversion driver by @shm11C3 in #2158
  • feat(database): run the application on the selected native backend by @shm11C3 in #2164
  • feat: start fresh installs on native DuckDB database by @shm11C3 in #2203
  • feat(installer): offer PawnIO setup as a default-selected option in the MSI installer by @shm11C3 in #2211
  • feat(tauri): make Reset Database native-aware by @shm11C3 in #2219
  • feat(installer): tell the user PawnIO stays installed when uninstalling by @shm11C3 in #2221
  • feat(settings): persist dismissal of the NSIS-to-MSI migration notice by @shm11C3 in #2226
  • feat(database): surface the DuckDB conversion as an explicit user flow by @shm11C3 in #2220
  • feat(installer): start MSI installs from Program Files when only the NSIS folder is inherited by @shm11C3 in #2223
  • feat(windows): refuse elevated launches from outside Program Files by @shm11C3 in #2229
  • feat(windows): recommend migrating from the NSIS build to the MSI by @shm11C3 in #2227
  • feat(windows): explain and disable elevation when installed outside Program Files by @shm11C3 in #2230
  • feat(setup): replace outdated PawnIO module files with the pinned release by @shm11C3 in #2289
  • feat(settings): show outdated PawnIO module files as an available update by @shm11C3 in #2290

Fixed

  • fix: stabilize performance memory growth gate by @shm11C3 in #1976
  • fix(core): sample every Windows GPU adapter a vendor API cannot read by @shm11C3 in #1992
  • fix(ci): allow out-of-repo paths through the agent hook pre-check by @shm11C3 in #1993
  • fix(core): emit every Linux DRM card regardless of vendor by @shm11C3 in #1997
  • fix(core): keep ADL temperatures for adapters whose usage query fails by @shm11C3 in #1996
  • fix(rust): resolve clippy errors introduced by Rust 1.98.0 by @shm11C3 in #2008
  • fix(core): persist the cooling baseline once established by @shm11C3 in #2029
  • fix(config): exclude generated trees from the vite dev watcher by @shm11C3 in #2064
  • fix: distinguish sensor support from uncollected history by @shm11C3 in #2073
  • fix(core): prevent invalid pointer dereference during macOS interface traversal by @shm11C3 in #2124
  • fix(ci): fail when license notices are incomplete by @shm11C3 in #2152
  • fix(ci): point the CodeQL rust job at the renamed sccache action by @shm11C3 in #2163
  • fix(tauri): drop a routing comment that #2156 made untrue by @shm11C3 in #2169
  • fix(deps): update Tauri Store to 2.4.5 by @shm11C3 in #2172
  • fix(core): avoid direct macOS interface pointer dereference by @shm11C3 in #2173
  • fix(dashboard): correct the network section of the clipboard export by @shm11C3 in #2175
  • fix(ci): guard R2 compiler cache for untrusted PRs by @shm11C3 in #2189
  • fix(tauri): keep the retired SQLite copy complete and skip its preflight once native is authoritative by @shm11C3 in #2193
  • fix(tauri): gate the concurrent-open conversion test to Windows by @shm11C3 in #2201
  • fix(database): refuse a second native owner in the same process on every platform by @shm11C3 in #2210
  • fix(test): duckdb_candidate source-hash check independent of WAL checkpoints by @shm11C3 in #2218
  • fix(updater): use the updater plugin's installMode key and drop the v1 dialog key by @shm11C3 in #2222
  • fix(windows): resolve the executable's static DLL imports from System32 only by @shm11C3 in #2228
  • fix(database): reconcile changed rows with UPDATE instead of delete and insert by @shm11C3 in #2232
  • fix(agents): keep repository-relative guidance paths POSIX on Windows by @shm11C3 in #2234
  • fix(settings): show the database conversion result as a one-time follow-up by @shm11C3 in #2237
  • fix(windows): defer the NSIS migration notice behind the conversion prompt by @shm11C3 in #2235
  • fix(windows): launch the elevated child before stopping the workers by @shm11C3 in #2236
  • fix: keep cooling timeline tooltip above sibling charts by @shm11C3 in #2243
  • build(windows): link the MSVC C/C++ runtime statically by @shm11C3 in #2240
  • fix(settings): default fresh installs to the native retention period by @shm11C3 in #2246
  • fix(tray): keep flyout geometry transient by @shm11C3 in #2253
  • fix(settings): surface thrown IPC errors in External Component Setup by @shm11C3 in #2256
  • fix(app): read the command line lossily before the Tauri runtime starts by @shm11C3 in #2258
  • fix(windows): hold lower-priority startup dialogs while higher checks run by @shm11C3 in #2241
  • fix(installer): keep the PawnIO default off at reduced UI and check the consent wiring by @shm11C3 in #2257
  • fix(windows): enable elevated startup mode through the settings atom by @shm11C3 in #2254
  • fix: import waitFor in guidance dialog test by @shm11C3 in #2273
  • fix(database): keep producers off SQLite when selection fails after its commit by @shm11C3 in #2251
  • fix(database): mark conversion Converting before the driver task spawns by @shm11C3 in #2252
  • fix(settings): settle useTauriStore when the initial store read fails by @shm11C3 in #2255
  • fix(setup): bound the PawnIO installer run and the elevated child wait by @shm11C3 in #2281
  • fix(tauri): allow reads and writes after a cancelled or failed conversion by @shm11C3 in #2250
  • fix(updater): close workers before Windows update install by @shm11C3 in #2274
  • fix: isolate native runtime spill cleanup by @shm11C3 in #2276
  • fix(database): refuse dispatch after shutdown by @shm11C3 in #2275
  • fix: add guarded native recovery from SQLite by @shm11C3 in #2279
  • fix: recover native database after checkpoint failure by @shm11C3 in #2280
  • fix(database): refuse stale consumers after selected database failures by @shm11C3 in #2277
  • fix(tauri): let Retry re-inspect unreadable native metadata by @shm11C3 in #2288
  • fix(i18n): scope the database conversion prompt to Insight, not Cooling by @shm11C3 in #2292

Maintenance

  • perf(charts): draw the gauges without Recharts by @shm11C3 in #1975
  • perf(insights): aggregate archive series before crossing the Tauri IPC boundary by @shm11C3 in #1984
  • refactor(core): type the platform error boundary with PlatformError by @shm11C3 in #1985
  • refactor(core): resolve the platform once and modernize trait signatures by @shm11C3 in #1986
  • chore(build): use native-compatible Vite config paths by @shm11C3 in #1987
  • ci: treat rust-toolchain changes as Rust source changes by @shm11C3 in #2009
  • ci: fail safe when a changed file matches no known CI path filter by @shm11C3 in #2010
  • docs(specs): add Intel and AMD Zen RAPL package power specs by @shm11C3 in #2033
  • docs(sensors): specify experimental ITE temperature reads by @shm11C3 in #2036
  • docs: record lossless Hardware Archive storage decision by @shm11C3 in #2053
  • ci: analyze Rust with CodeQL by @shm11C3 in #2074
  • chore: relicense HardwareVisualizer to GPL-3.0-or-later by @shm11C3 in #2067
  • fix: clarify pre-relicense MIT license scope by @shm11C3 in #2075
  • ci: scan Rust changes in pull requests by @shm11C3 in #2077
  • docs: define archive migration design and implementation slices by @shm11C3 in #2079
  • ci: keep required CodeQL configurations on pull requests by @shm11C3 in #2081
  • docs: design native DuckDB hardware archive storage by @shm11C3 in #2086
  • docs(archive): record native DuckDB distribution and durability evidence by @shm11C3 in #2109
  • chore(build): share Cargo build-dir across git worktrees by @shm11C3 in #2110
  • docs(adr): allow copyleft-derived facts to back Experimental sensor scopes by @shm11C3 in #2115
  • chore: cover DuckDB archive dependencies in license checks by @shm11C3 in #2123
  • ci: make rust-cache restore real build artifacts and key it per job kind by @shm11C3 in #2131
  • ci: run Core tests through cargo-nextest by @shm11C3 in #2133
  • chore(license): complete the DuckDB bundled-library attribution by @shm11C3 in #2141
  • ci: cache the bundled DuckDB C++ build with sccache by @shm11C3 in #2132
  • docs(archive): measure native DuckDB expiry, checkpoint and reuse by @shm11C3 in #2153
  • perf(ci): remove duplicate DuckDB integration test work by @shm11C3 in #2171
  • ci: measure and stabilize compiler caching by @shm11C3 in #2174
  • ci: evaluate faster feedback and superseded-run cancellation by @shm11C3 in #2170
  • test: make tests assert the behaviour their names claim by @shm11C3 in #2176
  • refactor: remove dead code surfaced by the test audit by @shm11C3 in #2177
  • ci: report runner telemetry and cache health on pull requests by @shm11C3 in #2190
  • docs(adr): retire the SQLite conversion path in v2.0.0 by @shm11C3 in #2192
  • ci: run Tauri App tests with duckdb-archive feature enabled by @shm11C3 in #2199
  • chore: keep dev-profile debuginfo to line tables and drop it for libduckdb-sys by @shm11C3 in #2214
  • chore: prune orphaned shared Cargo build subtrees from the agent Stop hook by @shm11C3 in #2213
  • chore(agents): keep .github/scripts for GitHub Actions plumbing only by @shm11C3 in #2217
  • docs: describe the native DuckDB database in the architecture and agent guidance by @shm11C3 in #2225
  • build: enable duckdb-archive in shipped builds by @shm11C3 in #2224
  • build: make duckdb-archive a default feature by @shm11C3 in #2233
  • docs: list every exit code of the external component setup mode by @shm11C3 in #2259
  • chore(setup): update PawnIO.Modules to 0.2.11 by @shm11C3 in #2283
  • docs(adr): refresh outdated external component files on update by @shm11C3 in #2285

Other Changes

  • style(performance): drop the top accent bar from Instrument Strip cards by @shm11C3 in #2202
  • perf: reduce native archive memory use by @shm11C3 in #2286

Full Changelog: v1.10.0...v1.11.0