diff --git a/Directory.Build.props b/Directory.Build.props
index 49f4168..f7a6ea1 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -14,7 +14,7 @@
SQLInsight Pro
Copyright (c) SEOSoft
- 1.4.0
+ 1.5.0
diff --git a/docs/opdatering.md b/docs/opdatering.md
index c83031e..182ddee 100644
--- a/docs/opdatering.md
+++ b/docs/opdatering.md
@@ -13,6 +13,16 @@ Begge kommer fra et **opdateringsfeed**: en https-adresse eller en mappe/et fild
Læs dette, før en ny version installeres. Repository-skemaet opgraderes af agenten ved første start.
+### 1.5: Windows-servere og syntetiske tjek
+
+- **Ny menu – Servere:** *Windows-servere* (CPU, hukommelse, diske med prognose for, hvornår de er fulde, tjenester, hændelseslog og planlagte opgaver) og *Syntetiske tjek* (TCP-port, HTTP(S) med certifikatets udløb, SQL-login og forespørgsel, DNS og Dynamics AX-logon), og det samme i API v1 under `/api/v1/windows-servers`, `/api/v1/synthetic-checks` og `/api/v1/server-findings` (ændringer kræver scope `config:write`, som i 1.3). Nye regler `SQLI-WIN-001` … `SQLI-WIN-013` og `SQLI-SYN-001` … `SQLI-SYN-003`. Se [windows-servere.md](windows-servere.md) og [syntetiske-tjek.md](syntetiske-tjek.md).
+- **SQL Server-hosts kommer med af sig selv** som Windows-servere med rollen *SQL Server* (slås fra med `SQLInsight:Servers:IncludeSqlHosts`). Uden de nye rettigheder er deres områder blot *ikke målbare* med årsagen; SQL Server-overvågningen er uændret.
+- **Nye rettigheder pr. server:** agentens konto skal have læseadgang på hver Windows-server, der skal overvåges. Den gives med [db/permissions/grant-windows-server.ps1](../db/permissions/grant-windows-server.ps1), som webbrugerfladen viser udfyldt med agentens konto under serveren. Aldrig lokal administrator og aldrig ret til at køre kode: Performance Monitor Users, Event Log Readers, Distributed COM Users, WMI *Enable Account* + *Remote Enable* på `root\cimv2` og `root\Microsoft\Windows\TaskScheduler`, læseret på Service Control Manager og, kun med `-WinRM`, læseret i WinRM. Scriptet ændrer sikkerheden på kundens server: **afprøv det først på en server, der ikke er i produktion**, og kør det med `-WhatIf` for at se planen. Det gemmer de oprindelige indstillinger, før det ændrer noget, og `-Remove` fjerner præcis det, det selv har givet. SQLInsight kører aldrig selv scriptet.
+- **Firewall** fra agentens server til de overvågede servere: TCP 135 og dynamiske RPC-porte (WMI over DCOM og hændelsesloggen) og, med `-WinRM`, TCP 5985. `grant-windows-server.ps1 -EnableFirewall -AgentAddress ` opretter regler kun for agentens adresse; Windows' egne regler røres ikke. Syntetiske tjek bruger de porte, de tjekker (fx 2712, 443, 1433, 53).
+- **Kun læsning:** agenten læser med CIM-forespørgsler, hændelsesloggen og Task Schedulers skrivebeskyttede `GetInfoByName`; den starter, stopper eller ændrer intet på serverne. Et syntetisk SQL-tjek kører én skrivebeskyttet `SELECT` i en transaktion, der altid rulles tilbage (fra 1.5 tjekkes også egne regler og community-regler strengere: ingen ekstra sætninger uden semikolon, sekvenser eller låse-hints).
+- **Ikke med endnu:** fund på servere og syntetiske tjek sendes **ikke** til SQLInsight Hub og indgår **ikke** i PDF-rapporterne. De vises i webbrugerfladen, i API v1 og som notifikationer.
+- **Repository:** migration 0018 (Windows-servere, målinger, hændelser, syntetiske tjek og deres fund) køres af agenten ved første start; data ryddes op efter `SQLInsight:Servers` og `SQLInsight:SyntheticChecks` (se [windows-servere.md](windows-servere.md#opbevaring)).
+
### 1.4: Dynamics AX
- **Ny menu – Dynamics AX:** vises, så snart en overvåget database er genkendt som Dynamics AX, med siderne AX-databaser, Batchjob, Nummerserier, RecId og AX-brugere bag blokering, og de samme data i API v1 under `/api/v1/dynamics-ax/…` (scope `read`). Nye regler `SQLI-AX-001` … `SQLI-AX-010`. Se [dynamics-ax.md](dynamics-ax.md).
@@ -148,18 +158,18 @@ Kører web i IIS, angives `"AppOffline": true` i stedet for `Service`. Så lægg
dotnet run --project tools/SQLInsight.LicenseTool -- rulepack --version 2026.10.14 --out rulepack-2026.10.14.json
# MSI til installationer lavet med MSI'en (bygges på Linux)
-installer/build-msi.sh 1.4.0
+installer/build-msi.sh 1.5.0
# Programpakker: én zip pr. platform med mapperne Agent/ og Web/
# Samme opsætning som MSI'en (indbygget .NET), så en opdatering ikke kræver en runtime på serveren
-dotnet publish src/SQLInsight.Agent -c Release -r win-x64 --self-contained true -p:Version=1.4.0 -o pkg/win-x64/Agent
-dotnet publish src/SQLInsight.Web -c Release -r win-x64 --self-contained true -p:Version=1.4.0 -o pkg/win-x64/Web
+dotnet publish src/SQLInsight.Agent -c Release -r win-x64 --self-contained true -p:Version=1.5.0 -o pkg/win-x64/Agent
+dotnet publish src/SQLInsight.Web -c Release -r win-x64 --self-contained true -p:Version=1.5.0 -o pkg/win-x64/Web
# Signér kanalens manifest (det, der ikke angives, overtages fra det eksisterende manifest)
dotnet run --project tools/SQLInsight.LicenseTool -- publish --key sqlinsight-k20260929.private.pem --kid k20260929 \
--feed feed --channel stable --rulepack rulepack-2026.10.14.json \
- --release 1.4.0 --asset win-x64=sqlinsight-1.4.0-win-x64.zip --asset win-x64-msi=dist/SQLInsight-Pro-1.4.0-x64.msi \
- --asset linux-x64=sqlinsight-1.4.0-linux-x64.zip \
+ --release 1.5.0 --asset win-x64=sqlinsight-1.5.0-win-x64.zip --asset win-x64-msi=dist/SQLInsight-Pro-1.5.0-x64.msi \
+ --asset linux-x64=sqlinsight-1.5.0-linux-x64.zip \
--notes https://git.seosoft.dk/seo/sqlinsight-pro/releases
```