Add ReleaseDate for SQL Server 2017, 2019, 2022 and 2025 releases to dbatools-buildref-index.json / Show ReleaseDate in Get-DbaBuild and Test-DbaBuild / Add -MaxTimeBehind to Test-DbaBuild#10277
Conversation
…022 and 2025 CUs Dates sourced directly from Microsoft documentation: - https://learn.microsoft.com/en-us/troubleshoot/sql/releases/sqlserver-2022/build-versions - https://learn.microsoft.com/en-us/troubleshoot/sql/releases/sqlserver-2025/build-versions SQL Server 2022 (v16): RTM (2022-11-16) + CU1 through CU24 (2026-03-12) SQL Server 2025 (v17): CU1 (2026-01-29) through CU3 (2026-03-12) (do Test-DbaBuild) Co-authored-by: Andreas Jordan <andreasjordan@users.noreply.github.com>
|
If it is that ease to add the dates based on the official sources, then we should to that. And we should let Claude check the current contents of the json to be sure it is correct. We should add the non-CU dates as well (add all we can get) and continue with all the currently supported versions. |
|
will merge with @niphlod 's approval |
|
After @niphlod 's approval we should add the ReleaseDate to all patches (not just CUs) of all currently supported versions. I just did not want to burn tokens for that if we don't agree on this way. |
|
in general, I agree (even if personally I don't find it useful). As long as everybody agrees that support for "let's install this given x months passed" will be ONLY based on "rightfully confirmed and present "ReleaseDate" attribute". |
|
Claude finished @andreasjordan's task in 13m 47s —— View job Adding Release Dates for SQL Server Patches
SummaryAdded
Total: 185 Notes:
|
…7, 2019, 2022, and 2025 patches Adds ReleaseDate field to all RTM, CU, GDR, and CU+GDR entries for: - SQL Server 2017 (14.x): RTM + all GDR + all CU/CU+GDR entries - SQL Server 2019 (15.x): RTM + GDR1 + all GDR + all CU/CU+GDR entries - SQL Server 2022 (16.x): all remaining GDR + CU+GDR entries (CU entries already had dates) - SQL Server 2025 (17.x): all remaining GDR + CU+GDR entries (CU entries already had dates) Dates sourced from official Microsoft documentation: - https://learn.microsoft.com/en-us/troubleshoot/sql/releases/sqlserver-2017/build-versions - https://learn.microsoft.com/en-us/troubleshoot/sql/releases/sqlserver-2019/build-versions - https://learn.microsoft.com/en-us/troubleshoot/sql/releases/sqlserver-2022/build-versions - https://learn.microsoft.com/en-us/troubleshoot/sql/releases/sqlserver-2025/build-versions Also updates LastUpdated to 2026-03-30. (do dbatools-buildref-index) Co-authored-by: Andreas Jordan <andreasjordan@users.noreply.github.com>
|
If anyone wants to check: |
|
About the missing dates: I found those on https://sqlserverbuilds.blogspot.com/ 14.0.3164 / KB4506633: 2019-06-20 14.0.3208 / KB4510083: 2019-07-09 15.0.2090 / KB5010657: 2022-02-08 SQL Server 2025 RTM: 2025-11-18 I will add them now... |
|
@claude are you able to read #9259 (comment) and implement the changes to |
|
Claude finished @andreasjordan's task in 4m 55s —— View job Implementing Changes to
|
|
@claude - Here is the content of that comment: Analyzing time-based compliance checking for Test-DbaBuildTasks
My AssessmentI think this is a reasonable and practical feature request that addresses a real-world compliance need. Here's my analysis: Why This Makes Sense
Implementation ApproachThe implementation is straightforward and follows existing dbatools patterns: 1. Add {
"CU": "CU10",
"Version": "16.0.4095",
"KBList": "5031778",
"ReleaseDate": "2023-11-16T00:00:00"
}2. Add
3. Add time-based compliance logic
4. Pragmatic data strategy
Addressing Previous ConcernsRegarding @niphlod's concerns:
Example Usage# Check if instances are within 6 months of latest CU
Test-DbaBuild -SqlInstance $servers -MaxTimeBehind 6Mo
# Check if instance is within 180 days
Test-DbaBuild -SqlInstance prod-sql01 -MaxTimeBehind 180D
# Update index and check compliance
Test-DbaBuild -SqlInstance $servers -MaxTimeBehind 6Mo -UpdateData Collection StrategyI can help gather release dates from Microsoft KB articles. Each CU KB article contains the release date. For example:
This data is public and standardized across all KB articles. RecommendationI recommend implementing this feature with the following scope:
This addresses real compliance needs without significant maintenance burden. The feature can be expanded to older versions later if there's demand. @potatoqualitee - If you'd like me to proceed with the implementation, I'm ready to:
Let me know if you'd like me to move forward! |
|
@claude I just added the content of the comment in the comment obove. |
|
Claude finished @andreasjordan's task in 5m 26s —— View job Implementing
|
…e checking Adds a new -MaxTimeBehind parameter that determines compliance based on how long ago the current build was released, using ReleaseDate data from the build reference index. Supports formats like '6Mo' (months) and '180D' (days). Builds without ReleaseDate data are reported as non-compliant with a warning. (do Test-DbaBuild) Co-authored-by: Andreas Jordan <andreasjordan@users.noreply.github.com>
|
@claude please add |
|
Claude finished @andreasjordan's task in 1m 5s —— View job Adding
|
Co-authored-by: Andreas Jordan <andreasjordan@users.noreply.github.com>
|
@claude can we add ReleaseDate also to the output of Get-DbaBuild? |
|
Claude finished @andreasjordan's task in 1m 35s —— View job Adding
|
(do Get-DbaBuild) Co-authored-by: Andreas Jordan <andreasjordan@users.noreply.github.com>

Adds
ReleaseDatefield to RTM and all named CU entries for SQL Server 2022 (v16, RTM+CU1–CU24) and SQL Server 2025 (v17, CU1–CU3).Dates sourced directly from official Microsoft documentation:
This enables time-based compliance checking as described in issue #9259, where organizations want to verify instances are within a time window (e.g., 6 months) rather than a fixed number of CUs behind.
Closes #9259
Generated with Claude Code