Files
BizTalkPlatformManagementTool/CHANGELOG.md
T

178 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Changelog
## [2.3.2] - 2026-08-26
### Added
- A persisted, fail-closed operator drain checkpoint between the global receive-location phase and all later real shutdown phases.
- Durable `Continue`, `Stop` or `Error` checkpoint evidence plus `NotExecuted` results for every protected downstream plan row.
- Regression coverage for checkpoint ordering, continuation after an early receive-location failure, explicit operator stop, missing-handler fail-closed behavior and dry-run isolation.
- A dedicated PROD runbook and plain-text handoff for drain verification and BizTalk application status semantics.
### Changed
- Real shutdown now pauses with a default-No dialog that summarizes receive-location outcomes and asks the operator to verify Group Hub and enterprise monitoring before continuing.
- A safe operator stop still attempts the partial-state snapshot and execution report and is shown as stopped rather than a completed shutdown.
### Security
- The tool deliberately does not issue a broad application-level stop merely to change `Partially Started`; stronger BizTalk application stop modes can remove subscriptions, unenlist artifacts, undeploy policies or terminate running instances.
## [2.3.1] - 2026-08-26
### Added
- A real runtime-log write/read roundtrip to the WMI-free installer self-test and a durable startup verification record naming the active daily file.
- Regression coverage for startup fallback, append-time failover without record loss and total storage failure diagnostics.
- A dedicated PROD storage-validation runbook in Markdown and plain text.
### Changed
- Runtime logging now verifies actual writes and uses the deterministic fallback order ProgramData, LocalAppData, executable-local `Logs`, then Temp.
- **Log Folder** opens the currently verified path; fallback and total failure diagnostics include attempted paths and exceptions in the Operation Log grid.
### Fixed
- Successful directory creation can no longer be mistaken for working file logging when the subsequent append is denied.
- Runtime append failures are no longer swallowed silently; the failed record is retried on the next local candidate and a durable/visible warning is emitted.
## [2.3.0] - 2026-08-26
### Added
- Process-local, assembly-identity-checked resolution and preflight for ScheduledTask `scheduler:` receive locations, including automatic BizTalk/adapter directory and registry discovery plus an explicit configuration override.
- Persistent Operation Log grid restoration from retained plain and GZip-compressed daily logs.
- **Log Folder** action and a dedicated PROD validation/support runbook in Markdown and plain text.
- Regression coverage for Scheduler plan metadata, assembly identity rejection, restart persistence, compression, 30-day retention and detailed exception diagnostics.
### Changed
- Runtime logs now retain 30 calendar days and compress completed daily files instead of deleting everything older than five days.
- Grid, result JSON and file logs now preserve exception type, HRESULT, inner exceptions, Fusion loader details and stack traces for support analysis.
### Fixed
- ScheduledTask 7.0.2 receive locations can resolve `Microsoft.BizTalk.Scheduler.dll` from the installed BizTalk environment before WMI `Enable`/`Disable`, without requiring the management tool to mutate the GAC.
## [2.2.4] - 2026-08-24
### Fixed
- Permission, Windows Script Host, validation and rollback errors affecting the optional all-users desktop shortcut no longer abort installation, update or uninstallation.
- Failure to capture or restore the optional desktop shortcut can no longer prevent restoration of mandatory registry, Start menu and uninstaller state.
### Changed
- The all-users desktop shortcut is now opt-in and unchecked by default.
- Optional desktop warnings are visible in the setup UI and durable log, while completion remains successful with an explicit warning result.
### Added
- Failure-injection coverage proving that both an optional shortcut exception and a failing warning sink remain non-fatal.
- Dedicated operator and maintainer documentation for the optional Windows-integration boundary.
## [2.2.3] - 2026-08-24
### Fixed
- A persistent Windows/EDR denial of the final staging-directory rename no longer aborts activation after an existing installation has already been atomically moved to its backup.
- The SHA-256-verified copy fallback now covers both first installation and update activation, while refusing to overwrite an existing target or an update without a completed backup.
### Added
- Regression coverage for successful update copy fallback and complete restoration of the previous version when the post-copy target self-test fails.
- PROD incident analysis and a plain-text operator handoff for the observed 2.1.2 `SETUP-ACTIVATION` failure.
## [2.2.2] - 2026-08-19
### Fixed
- A failure in the optional GUI log sink can no longer escape step-level error handling or stop later independent shutdown/restore steps.
### Added
- Failure-injection coverage for multiple consecutive unexpected exception types and a permanently failing log-display sink.
## [2.2.1] - 2026-08-19
### Added
- WMI-free **Validate State** preflight with snapshot metadata, server matching and artifact counts.
- Direct **State...** file selection for a preserved recovery snapshot.
- Automatic timestamped JSON/CSV/HTML target/actual diff after a real Emergency Restore.
- Regression coverage proving that a `before.json` created by version 2.1.3 remains a valid Emergency Restore source.
### Changed
- Emergency-recovery documentation now provides a dedicated operator runbook for the ACC restart and explicitly distinguishes dry-run evidence from real execution evidence.
## [2.2.0] - 2026-08-19
### Added
- State-aware **Emergency Restore** from an existing `before.json` without overwriting the recovery source.
- Enterprise Single Sign-On (`ENTSSO`) startup as the first emergency-recovery prerequisite.
- Durable per-step `shutdown-result.json`, `restore-result.json` and timestamped emergency result reports.
- Regression coverage for the ACC `Microsoft.BizTalk.Scheduler` failure, best-effort continuation, already-satisfied states, emergency ordering and global cross-application ordering.
### Changed
- Shutdown and restore continue with remaining independent steps after an isolated WMI or adapter failure and finish with an explicit operator-review result.
- Runtime operations skip artifacts that already match the requested target state, making recovery from partial shutdowns idempotent.
- Post-operation snapshots are attempted and diagnosed independently after partial execution failures.
- Shutdown order is now global across all applications: receive locations, orchestrations, send ports, then host instances.
- Restore order is now global across all applications: host instances, send ports, orchestrations, then receive locations.
### Fixed
- An ACC shutdown no longer aborts every later step when `RV_PMP_Trigger_Schedule` fails validation because `Microsoft.BizTalk.Scheduler` or a dependency cannot be loaded.
- A partial shutdown no longer prevents recovery evidence from being written after the first failed step.
- Host-instance steps no longer treat the short name and FQDN of the same target server as different machines.
## [2.1.3] - 2026-08-11
### Added
- Bounded retry/backoff diagnostics for transient `Directory.Move` locks caused by the Windows loader, antivirus or endpoint protection.
- A SHA-256-verified copy activation fallback limited to first-time installations with no existing active version.
- Regression coverage for transient recovery, permanent new-install fallback and permanent update denial without mutation.
- ACC incident analysis and an AI maintainer handoff document.
### Changed
- Install, update, rollback and uninstall directory moves now use eight bounded attempts over at most 19.75 seconds.
- Setup completion logs record the activation method and preservation state of both backup and staging directories.
- Product and setup version advanced to 2.1.3.
## [2.1.2] - 2026-08-11
### Added
- Complete XML documentation for types and methods across application, setup, packager and regression projects, including parameters, generic type parameters and return values.
- Focused German inline comments for non-obvious BizTalk ordering, WMI compatibility, persistence, security and installer transaction decisions.
- XML documentation output in every Release project configuration for compiler-side validation.
### Changed
- README, technical documentation and installation/build guidance now describe the source-documentation standard and generated XML developer artifacts.
## [2.1.1] - 2026-08-11
### Added
- Stable setup/uninstall phase codes, environment and file metadata, complete self-test output, exception chains with HRESULT/stacktrace, and per-step rollback diagnostics.
- Installer-log fallback from ProgramData to Temp plus a setup button for opening diagnostic logs.
- Post-write verification of shortcuts, uninstall executable and essential uninstall-registry values.
- Regression coverage for pre-mutation rollback wording, diagnostic context, log fallback and UI-report isolation.
### Changed
- Pre-mutation failures now explicitly report that no rollback was required; completed rollbacks are only reported as successful when every restoration step succeeded.
- Self-test timeout handling is bounded after termination is requested and records kill/capture status.
- Technical installer acceptance is explicitly separated from BizTalk WMI/environment validation.
- Setup and uninstall preserve undeletable backup/quarantine data and record a successful completion with a cleanup warning.
## [2.1.0] - 2026-08-11
### Added
- Transactional Windows setup/updater with SHA-256 payload manifest, isolated staging, pre/post activation self-tests, rollback, shortcuts and uninstall registration.
- Certutil-compatible installer ZIP as Base64 TXT plus separate ZIP SHA-256 file.
- WMI-free application self-test and regression test project covering persistence, diffs, restore safety, CSV hardening and installer rollback.
- UAC manifest and single-instance protection for the management application.
### Changed
- Snapshot and plan JSON writes now replace files atomically and keep BOM-tolerant reads.
- Snapshot diffs identify artifacts by application and name.
- Restore planning rejects snapshots from a different target server.
- Real shutdown/restore requires confirmation of the fully prepared and saved plan.
- Runtime logs are written to `%ProgramData%\BizTalkPlatformManagementTool\Logs` with executable-directory fallback.
- WMI query objects and WMI method output objects are disposed deterministically.
- CSV exports neutralize formula-like cell prefixes.
## [Unreleased] - 2026-04-27
### Changed
- Projekt auf `BizTalkPlatformManagementTool` umbenannt.
- Solution, Projektdatei, Namespace, Assemblyname und Standard-Ausgabepfad angepasst.
- Dokumentation aktualisiert und `Installation.md` ergänzt.
## [1.3.0] - 2026-02-02
### Added
- HTML Report mit farblicher Kennzeichnung (grün/rot)
- Farbige Statusausgabe auf STDOUT
- RemoteServer Parameter (-Server) und Ausgabeverzeichnis (-OutDir)
- Verbesserte DiffErkennung (neu/entfernt)
## [1.2.0] - 2026-02-02
### Added
- Remotefähige SnapshotFunktion, Logging (Konsole + Datei)
## [1.1.0] - 2026-02-02
### Added
- Textuelle DiffAusgabe auf STDOUT + HTML Report
## [1.0.0] - 2026-02-02
### Added
- Grundfunktion: Snapshot & Diff (Receive Locations, Send Ports, Orchestrations)