Version 1.4.0

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Søren Eggert Lundsteen Olsen 2026-10-02 14:45:31 +02:00
parent 31fa89b385
commit 7f0900bf3e
2 changed files with 16 additions and 6 deletions

View file

@ -14,7 +14,7 @@
<Product>SQLInsight Pro</Product> <Product>SQLInsight Pro</Product>
<Copyright>Copyright (c) SEOSoft</Copyright> <Copyright>Copyright (c) SEOSoft</Copyright>
<!-- Release version; set with -p:Version=… when publishing. Update checks compare against it. --> <!-- Release version; set with -p:Version=… when publishing. Update checks compare against it. -->
<Version>1.3.0</Version> <Version>1.4.0</Version>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="$(MSBuildProjectName.EndsWith('Tests'))"> <PropertyGroup Condition="$(MSBuildProjectName.EndsWith('Tests'))">

View file

@ -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. Læs dette, før en ny version installeres. Repository-skemaet opgraderes af agenten ved første start.
### 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).
- **Ny, valgfri læseadgang:** batchjob, nummerserier og RecId kræver `SELECT` på nogle få af AX' egne systemtabeller (aldrig kundedata, aldrig mere end `SELECT`). Den gives pr. AX-database med [db/permissions/grant-dynamics-ax-read.sql](../db/permissions/grant-dynamics-ax-read.sql) (og fjernes igen med `revoke-dynamics-ax-read.sql`); den nøjagtige GRANT står under **Dynamics AX → AX-databaser**. SQLInsight kører aldrig selv scriptet.
- **Uden den GRANT ændres intet:** agenten læser ingen AX-tabeller, de nye AX-regler er *ikke målbare* med den GRANT, der skal til, og alt andet virker som i 1.3. Genkendelsen af AX og AX-brugere bag blokering bruger kun de rettigheder, `grant-least-privilege.sql` allerede giver. Læsningerne er altid `SELECT` med `TOP`, med 2 sekunders lock timeout (eller snapshot), aldrig `NOLOCK`, og kun i databaser, der er genkendt som AX **og** valgt til overvågning.
- **AX-fund til SQLInsight Hub** følger stadig tilvalget pr. database fra 1.3 (standard fra) og gælder nu også `SQLI-AX-…`.
- **Axapta 3.0/4.0 og tidszone:** de lokale batchtider omregnes med AOS'ens tidszone. Kører agenten i en anden tidszone end AOS'en, så sæt `SQLInsight:DynamicsAx:LocalTimeZone` (fx `Romance Standard Time`).
- **AX-versioner:** kun Axapta 3.0 er verificeret mod en kundes database. AX 4.0, AX 2009, AX 2012 og Dynamics 365 F&O er bygget efter Microsofts dokumenterede skema og **ikke verificeret mod kundedata** – mangler en tabel eller kolonne, er tjekket *ikke målbart* med det præcise navn i stedet for at fejle.
- **Repository:** migration 0017 (tabellerne `insight.AxBatchRuns` og `insight.AxSequenceSamples`) køres af agenten ved første start; de ryddes op efter `EventDays` og `HourlyDays` som de øvrige data.
### 1.3: Servere og databaser ### 1.3: Servere og databaser
- **Ændret adfærd – Dynamics AX-fund og SQLInsight Hub:** fra 1.3 sendes AX-fund (regler `COM-AX-…`) og AX-reglernes resultater **kun** til SQLInsight Hub for de databaser, hvor *AX-fund til SQLInsight Hub* er slået til under **Overvågning → Servere og databaser**. Standard er **fra** for alle databaser, også efter opgraderingen. Har I delt AX-fund med hubben i 1.2, stopper det altså ved opgraderingen, indtil I slår det til for hver AX-database. Andre fund sendes som før. Se [servere-og-databaser.md](servere-og-databaser.md#dynamics-ax-fund-og-sqlinsight-hub) og [databehandling.md](databehandling.md). - **Ændret adfærd – Dynamics AX-fund og SQLInsight Hub:** fra 1.3 sendes AX-fund (regler `COM-AX-…`) og AX-reglernes resultater **kun** til SQLInsight Hub for de databaser, hvor *AX-fund til SQLInsight Hub* er slået til under **Overvågning → Servere og databaser**. Standard er **fra** for alle databaser, også efter opgraderingen. Har I delt AX-fund med hubben i 1.2, stopper det altså ved opgraderingen, indtil I slår det til for hver AX-database. Andre fund sendes som før. Se [servere-og-databaser.md](servere-og-databaser.md#dynamics-ax-fund-og-sqlinsight-hub) og [databehandling.md](databehandling.md).
@ -138,18 +148,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 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) # MSI til installationer lavet med MSI'en (bygges på Linux)
installer/build-msi.sh 1.3.0 installer/build-msi.sh 1.4.0
# Programpakker: én zip pr. platform med mapperne Agent/ og Web/ # 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 # 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.3.0 -o pkg/win-x64/Agent 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.3.0 -o pkg/win-x64/Web dotnet publish src/SQLInsight.Web -c Release -r win-x64 --self-contained true -p:Version=1.4.0 -o pkg/win-x64/Web
# Signér kanalens manifest (det, der ikke angives, overtages fra det eksisterende manifest) # 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 \ dotnet run --project tools/SQLInsight.LicenseTool -- publish --key sqlinsight-k20260929.private.pem --kid k20260929 \
--feed feed --channel stable --rulepack rulepack-2026.10.14.json \ --feed feed --channel stable --rulepack rulepack-2026.10.14.json \
--release 1.3.0 --asset win-x64=sqlinsight-1.3.0-win-x64.zip --asset win-x64-msi=dist/SQLInsight-Pro-1.3.0-x64.msi \ --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.3.0-linux-x64.zip \ --asset linux-x64=sqlinsight-1.4.0-linux-x64.zip \
--notes https://git.seosoft.dk/seo/sqlinsight-pro/releases --notes https://git.seosoft.dk/seo/sqlinsight-pro/releases
``` ```