Releases: erikdarlingdata/PerformanceStudio
Nightly Build (1.4.3-nightly.20260410)
Automated nightly build from dev branch.
Version: 1.4.3-nightly.20260410
Commit: f4df0b2
Built: 2026-04-10 06:46 UTC
These builds include the latest changes and may be unstable.
For production use, download the latest stable release.
v1.4.3
What's Changed
- Add server name dropdown for saved connections by @erikdarlingdata in #203
- Bump version to 1.4.3 by @erikdarlingdata in #204
- Release v1.4.3 by @erikdarlingdata in #205
Full Changelog: v1.4.2...v1.4.3
v1.4.2 - SignPath Signing Party
Early Release
The main point of this release is to get the app out there with the production SignPath certificate. That means an end to all of the false flag malware/virus warnings that I've been dealing with on Windows.
What's Changed
- Expand Rule 3 NonParallelPlanReason coverage by @erikdarlingdata in #200
- Bump version to 1.4.2 by @erikdarlingdata in #201
- Release v1.4.2 by @erikdarlingdata in #202
Full Changelog: v1.4.1...v1.4.2
v1.4.1
What's Changed
- Add web-based plan analysis via Blazor WASM (#2) by @erikdarlingdata in #174
- Merge dev to main: web plan analysis (v1.5.0) by @erikdarlingdata in #175
- Web: Add operator properties panel (#176) by @erikdarlingdata in #177
- Gate XML MemoryGrantWarning at 1 GB threshold by @erikdarlingdata in #179
- Fix false positive warnings and UI improvements (#178) by @erikdarlingdata in #180
- Link header logo to erikdarling.com by @erikdarlingdata in #181
- Web UI refresh: font, header nav, footer by @erikdarlingdata in #184
- Address round 2 #178 feedback (items 13-16) by @erikdarlingdata in #185
- Add powered-by line on landing page by @erikdarlingdata in #186
- Add Darling Data favicon by @erikdarlingdata in #187
- Add Open Graph meta tags for social sharing by @erikdarlingdata in #188
- Clarify social share description by @erikdarlingdata in #189
- Add HTML export for plan analysis (#182) by @erikdarlingdata in #190
- Merge dev: HTML export for plan analysis (#182) by @erikdarlingdata in #191
- Fix Rule 3: CouldNotGenerateValidParallelPlan stays Warning by @erikdarlingdata in #192
- Expand Rule 3 to cover all NonParallelPlanReason values by @erikdarlingdata in #193
- Add plan sharing via server API (#182, Option A) by @erikdarlingdata in #195
- Merge dev: plan sharing and export (#182) by @erikdarlingdata in #196
- Switch to SignPath release-signing by @erikdarlingdata in #194
- Bump version to 1.4.1 by @erikdarlingdata in #198
- Release v1.4.1 by @erikdarlingdata in #199
Full Changelog: v1.4.0...v1.4.1
v1.4.0
Contextual Schema Lookup
As always, a big MERCI is due to MON AMI rferraton, for all the nifty little UI/UX tweaks he's been adding in here.
The headline feature in v1.4.0: right-click any table or object name — in the query editor or on a plan operator — to instantly view its indexes, table definition, or object definition without leaving the app.
Added
- Contextual schema lookup from query editor — right-click a table, procedure, or function name to see Show Indexes, Show Table Definition, or Show Object Definition (#1)
- Schema lookup from plan viewer — right-click a data access operator (scan, seek, lookup, insert/update/delete) for the same schema lookups (#166)
- Connection toolbar on plan viewer — Connect button + database dropdown on plan tabs, enabling schema lookups on plans opened from file (#166)
- Nonclustered index count badge — modification operators show a
+N NCbadge indicating how many nonclustered indexes are maintained, with index names in tooltip and properties panel (#167) - Open in Query Editor — right-click a statement in the plan viewer grid to open its text in the editor (#165)
- T-SQL parser — uses Microsoft.SqlServer.TransactSql.ScriptDom for AST-based object resolution at cursor position
- CREATE TABLE/INDEX output includes partition schemes, non-default index options (fill factor, compression, lock settings), columnstore syntax, identity, and computed columns
Changed
- Schema queries use READ UNCOMMITTED to avoid blocking on busy servers
- Mouse-centered zoom on plan viewer (@rferraton, #162)
- Ctrl+mousewheel zoom in Human Advice window (@rferraton, #162)
- Clickable "Node N" references in Human Advice navigate to the node in the plan (@rferraton, #162)
- ShowAdviceWindow extracted to shared AdviceWindowHelper (@rferraton, #162)
- Query Store history improvements with plan hash grouping, multi-select, and aggregate metrics (@rferraton, #158)
Fixed
- Rule 2 false positive: eager table spools no longer misidentified as eager index spools (#160)
Full Changelog: v1.3.0...v1.4.0
v1.3.0
What A Fun Release
This release is largely a vehicle to get @rferraton's changes into the main branch, so it's what everyone sees when they use the Query Store Integration.
I love the way this looks, and interacting with it feels pretty great now. If you were using 1.2.5 and it felt sluggish, the query that runs in the background got tuned to better match the patterns sp_QuickieStore uses to get around the nightmare that is querying Query Store data.
Read on below for the full change log.
What's Changed
- Shorten update link text by @erikdarlingdata in #130
- Delete .coderabbit.yaml by @erikdarlingdata in #129
- Fix Query Store time slicer metric display by @erikdarlingdata in #132
- Feature/query store wait stats by @rferraton in #137
- Fix wait stats cleanup: tab indentation and CTS leak by @erikdarlingdata in #138
- Fix SkiaSharp native library mismatch on Linux (#139) by @erikdarlingdata in #141
- Feature/query store time range improvements by @rferraton in #140
- Gate Query Store wait stats for SQL 2017+ with capture mode check by @erikdarlingdata in #142
- Improve Query Store grid query performance (#143) by @erikdarlingdata in #144
- Rewrite Query Store grid query using sp_QuickieStore patterns (#143) by @erikdarlingdata in #145
- Fix/query store improvement and fixes 202603 by @rferraton in #148
- Post-merge cleanup for PR #148 by @erikdarlingdata in #149
- Fix search filter not applied and slicer reset on Fetch (#147) by @erikdarlingdata in #150
- Add GitHub Sponsors funding link by @erikdarlingdata in #152
- Feature/query store timeslicer v1.1 by @rferraton in #151
- Feature/query store wait stats v1.1 by @rferraton in #153
- Fix wait stats: duplicate using, label overlap, avg clipping by @erikdarlingdata in #154
- Bump to v1.3.0 by @erikdarlingdata in #155
- Release v1.3.0 by @erikdarlingdata in #156
Full Changelog: v1.2.5...v1.3.0
v1.2.5
What's Changed
- Add confirmation dialog before update restart by @erikdarlingdata in #126
- Bump to v1.2.5 by @erikdarlingdata in #127
- Release v1.2.5 by @erikdarlingdata in #128
Full Changelog: v1.2.4...v1.2.5
v1.2.4
What's Changed
- Add restart prompt + startup update check by @erikdarlingdata in #123
- Bump to v1.2.4 by @erikdarlingdata in #124
- Release v1.2.4 by @erikdarlingdata in #125
Full Changelog: v1.2.3...v1.2.4
v1.2.3
What's Changed
- Feature/query store timeslicer by @rferraton in #114
- Add time display picker (Local/UTC/Server) and parameterize SQL by @erikdarlingdata in #120
- Release v1.2.3 by @erikdarlingdata in #122
Full Changelog: v1.2.2...v1.2.3
v1.2.2
What's Changed
- Fix vpk upload token by @erikdarlingdata in #117
- Bump to v1.2.2 by @erikdarlingdata in #118
- Release v1.2.2 by @erikdarlingdata in #119
Full Changelog: v1.2.1...v1.2.2