From 0163f21e80540fde9b95194bc857fe72e64204d3 Mon Sep 17 00:00:00 2001 From: Rob Date: Thu, 21 May 2026 23:37:58 +0200 Subject: [PATCH] version 1.0.17 --- .github/copilot-plan.md | 6 +++++- RELEASE_NOTES.md | 13 +++++++++++++ build.bat | 4 ++-- config.json | 2 +- 4 files changed, 21 insertions(+), 4 deletions(-) create mode 100644 RELEASE_NOTES.md diff --git a/.github/copilot-plan.md b/.github/copilot-plan.md index bad3d36..4c0c144 100644 --- a/.github/copilot-plan.md +++ b/.github/copilot-plan.md @@ -95,4 +95,8 @@ Installer-EXE erstellen, die: - `{autopf}\AnwesenheitPDF\` (= Program Files, UAC-geschützt) - Requires admin (PrivilegesRequired=admin) - Startmenü: `{group}\AnwesenheitPDF` -- Optional Desktop-Verknüpfung (Checkbox im Wizard) + +## Release Notes +- Aktuelle Versionsnummer aus config.json bestaetigen. +- Release-Notes-Dokument im Projekt-Root anlegen. +- Release-Notes-Datei zusaetzlich zum Installer in `update_check_path` kopieren. \ No newline at end of file diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md new file mode 100644 index 0000000..56c2343 --- /dev/null +++ b/RELEASE_NOTES.md @@ -0,0 +1,13 @@ +# Release Notes + +## Version 1.0.17 (2026-05-21) + +### Zusammenfassung +- Lokale Excel-Datei waehlbar ueber Dropdown (input/). +- Neuer Update-Button neben dem Dropdown (nur bei neuerer Quelldatei sichtbar). +- Quelle nutzt nun Netzordner mit mehreren Excel-Dateien. +- Dateiauswahl aus Quelle automatisch: aktuelles Jahr bevorzugt, sonst neuestes Jahr. +- Pruefung auf Updates beim Start und danach alle 60 Sekunden. +- Bei fehlender Verbindung: Warnsymbol in GUI. +- Beim Update: Ueberschreib-Hinweis mit Abbruchoption; nach Bestaetigung Download nach input/ und automatische Auswahl. +- Bugfix Praktikum: Tage mit Status `P` werden in der PDF jetzt wie ein 6h-Anwesenheitstag behandelt, inklusive `mind. 6 h` und Pauschale `8,60`. diff --git a/build.bat b/build.bat index 29553f3..aff5fa1 100644 --- a/build.bat +++ b/build.bat @@ -111,9 +111,9 @@ echo. echo [OK] Installer erstellt: dist\AnwesenheitPDF-Setup-%APP_VERSION%.exe echo. -echo [5/5] Installer zu update_check_path deployen... +echo [5/5] Installer und Release Notes zu update_check_path deployen... -powershell -NoProfile -ExecutionPolicy Bypass -Command "$ErrorActionPreference = 'Stop'; $config = Get-Content -Raw -Encoding UTF8 'config.json' | ConvertFrom-Json; $updatePath = $config.update_check_path; if ([string]::IsNullOrWhiteSpace($updatePath)) { Write-Host '[WARNUNG] update_check_path nicht in config.json gefunden. Deployment uebersprungen.'; exit 0 }; $installer = Join-Path (Get-Location) 'dist\AnwesenheitPDF-Setup-%APP_VERSION%.exe'; if (-not (Test-Path -LiteralPath $installer)) { throw ('Installer nicht gefunden: ' + $installer) }; while (-not (Test-Path -LiteralPath $updatePath)) { Write-Host ''; Write-Host ' +----------------------------------------------------------+'; Write-Host ' | [!] Deployment-Pfad nicht erreichbar |'; Write-Host ' +----------------------------------------------------------+'; Write-Host ( ' | Pfad : {0}' -f $updatePath ); Write-Host ' | |'; Write-Host ' | Bitte Netzlaufwerk / Zielpfad verbinden und dann ENTER |'; Write-Host ' | druecken. |'; Write-Host ' +----------------------------------------------------------+'; [void](Read-Host 'Eingabe'); }; Write-Host ('[OK] Deployment-Pfad erreichbar: {0}' -f $updatePath); Copy-Item -LiteralPath $installer -Destination $updatePath -Force; Write-Host ('[OK] Installer deployed zu: {0}' -f (Join-Path $updatePath (Split-Path $installer -Leaf)))" +powershell -NoProfile -ExecutionPolicy Bypass -Command "$ErrorActionPreference = 'Stop'; $config = Get-Content -Raw -Encoding UTF8 'config.json' | ConvertFrom-Json; $updatePath = $config.update_check_path; if ([string]::IsNullOrWhiteSpace($updatePath)) { Write-Host '[WARNUNG] update_check_path nicht in config.json gefunden. Deployment uebersprungen.'; exit 0 }; $installer = Join-Path (Get-Location) 'dist\AnwesenheitPDF-Setup-%APP_VERSION%.exe'; $releaseNotes = Join-Path (Get-Location) 'RELEASE_NOTES.md'; if (-not (Test-Path -LiteralPath $installer)) { throw ('Installer nicht gefunden: ' + $installer) }; while (-not (Test-Path -LiteralPath $updatePath)) { Write-Host ''; Write-Host ' +----------------------------------------------------------+'; Write-Host ' | [!] Deployment-Pfad nicht erreichbar |'; Write-Host ' +----------------------------------------------------------+'; Write-Host ( ' | Pfad : {0}' -f $updatePath ); Write-Host ' | |'; Write-Host ' | Bitte Netzlaufwerk / Zielpfad verbinden und dann ENTER |'; Write-Host ' | druecken. |'; Write-Host ' +----------------------------------------------------------+'; [void](Read-Host 'Eingabe'); }; Write-Host ('[OK] Deployment-Pfad erreichbar: {0}' -f $updatePath); Copy-Item -LiteralPath $installer -Destination $updatePath -Force; Write-Host ('[OK] Installer deployed zu: {0}' -f (Join-Path $updatePath (Split-Path $installer -Leaf))); if (Test-Path -LiteralPath $releaseNotes) { Copy-Item -LiteralPath $releaseNotes -Destination $updatePath -Force; Write-Host ('[OK] Release Notes deployed zu: {0}' -f (Join-Path $updatePath (Split-Path $releaseNotes -Leaf))) } else { Write-Host ('[WARNUNG] Release Notes nicht gefunden: {0}' -f $releaseNotes) }" if %ERRORLEVEL% neq 0 ( echo. diff --git a/config.json b/config.json index 2497b4c..90af4d6 100644 --- a/config.json +++ b/config.json @@ -1,5 +1,5 @@ { - "version": "1.0.15+d07b483", + "version": "1.0.17+0d5620a", "antragsnummer": "100740439", "ort": "Dresden", "template_pdf": "template/sab.pdf",