Files
BizTalkPlatformManagementTool/CHANGELOG.md
T

205 lines
14 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.4] - 2026-08-27
### Fixed
- Shutdown plan review, inbound-drain and emergency-restore confirmations are now owned by the main window, preventing a modal decision from being hidden behind the application in RDP and multi-monitor sessions.
- The shutdown status now changes from a generic preparation message to an explicit `ACTION REQUIRED` / paused state before the real inbound-drain decision.
### Changed
- Dry-run and real execution are distinguished with prominent mode text, color and persistent status guidance; execution settings cannot be changed while an operation is active.
- A shutdown Dry-run now displays an owned informational notice explaining that it changes no receive locations and therefore does not open the real drain decision dialog.
- The prepared real-shutdown confirmation explicitly announces the second decision after the receive-location phase; closing the real checkpoint dialog is explicitly documented as a safe stop.
### Added
- Regression coverage for checkpoint creation when later shutdown work exists without enabled receive locations, and for distinct Dry-run, prepared-plan and paused-checkpoint operator guidance.
- A dedicated PROD root-cause analysis, validation runbook and plain-text handoff for shutdown-dialog visibility.
## [2.3.3] - 2026-08-27
### Fixed
- Snapshot, shutdown and restore rows no longer show every Send Port, Receive Location and Orchestration under `(Unknown Application)` when the BizTalk runtime WMI classes omit application ownership.
### Changed
- Application ownership is now read from the official read-only ExplorerOM application hierarchy, while WMI remains authoritative for runtime state and mutations.
- **Diagnose** reports visible Send Ports and the exact number with a resolved application association; incomplete catalog access remains a visible warning instead of being hidden.
- ExplorerOM is loaded process-locally from the GAC or identity-checked BizTalk installation paths, preserving the portable build and WMI-free installer self-test.
### Added
- Regression coverage for Send Port, Receive Port/Location and Orchestration mapping, case-insensitive lookup and rejection of ambiguous cross-application names.
- A dedicated PROD root-cause analysis, validation runbook and plain-text handoff for the application-association fix.
## [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)