Every release, reconstructed from the project's commit history.
Removing a cluster network name makes Windows disable the listener's AD computer object, and only the AD team can enable it again. The tool did that on its own when it cleaned up a leftover WSFC role or leftover listener resources. Now a warning dialog names the AD objects affected first, with No as the default; on No nothing is removed and the log shows the manual steps.
The HADR check looked for a sys.configurations entry that does not exist, so every run tried sp_configure 'hadr enabled' (an error) and restarted SQL Server on every node. It now uses SERVERPROPERTY('IsHadrEnabled') and, only when HADR is really off, sets HADR_Enabled in the instance registry and restarts the service.
The temporary login was dropped while connected as that login, which SQL Server refuses. Now the tool connects with Windows authentication, ends the login's sessions and drops it.
Network name and IP resources left by a failed ADD LISTENER (Msg 41057) are removed. Removing a network name makes the cluster disable the listener's AD computer object, and a new listener then fails with 0x533; the tool now names those objects for the AD team and prints the ADD LISTENER statement to run afterwards.
Creating the endpoint and the test database no longer report success when they fail.
Since 1.2.0 the login test after creating the temporary login used a parameter that Connect-DbaInstance does not have. The automatic path therefore always ended in "A parameter cannot be found that matches parameter name 'EnableException'" and fell back to the manual T-SQL step. Fixed; all other cmdlet calls were checked against dbatools 2.9.0.
Switching a node to mixed mode needed PowerShell remoting. Without a WinRM listener for the node ("the requested HTTP URL was not available") the setup stopped. Now the tool sets LoginMode via T-SQL (xp_instance_regwrite, read back afterwards) and restarts the service via the Service Control Manager, the same path sc.exe uses. WinRM is only the fallback; if the restart fails both ways, the registry value is set back.
Every node is checked via T-SQL first: a node already in mixed mode, for example switched by hand, is skipped. If a node still cannot be switched, the setup no longer stops but continues with the manual login step and names the node to switch by hand.
Without domain read access, setspn -L fails. Under Windows PowerShell 5.1 that ended the SPN step in an error without any SPN list. Now it is a warning with setspn's message, every needed SPN (each node by short name and FQDN, plus the listener) is listed, and the AD-team file contains all setspn -S commands with a note that the current state could not be checked.
If the AG sync job from step 8 already exists on a node, the log shows a note and the existing job is left unchanged. Before, it was dropped and recreated, and a rerun ended in an error.
The daily 02:00 schedule is created again: current dbatools refuses New-DbaAgentSchedule without start date, end date and end time, so the job was left without a schedule. A schedule left over from an earlier run is now attached to the new job.
On the manual path the live log shows the setup-login T-SQL and the login name with its password, so the operator can run it on the node. The automatic text log at the end of the run and the save-log button (RTF or text) copied that password to disk. Every saved log now has it replaced by ********; the live window and the clipboard still show it while the session runs.
Before the test database is created, every node is checked. A copy that belongs to no AG and is not ONLINE, typically a secondary left in RESTORING, is dropped because it would block automatic seeding. AG members are left alone; an ONLINE copy outside an AG on a secondary is only reported.
The status step waits up to 3 minutes for the automatic seeding and reports per secondary whether the database was distributed, why seeding failed, or that no seeding started (usually no endpoint connection). Before, it showed only a status snapshot after 5 seconds.
Nodes the tool switches to mixed mode for the SQL-login path are set back to Windows authentication only at the end, secondaries first and the primary last; an automatic failover caused by the primary restart is failed back. Named instances are supported, and if mixed mode cannot be enabled the setup stops with a clear message instead of a Continue loop.
When the temporary setup login has to be created manually, the T-SQL block is copied to the clipboard as soon as it is shown. A new button below the log copies it again for the next node.
A PBM policy with On Change: Prevent that enforces the password policy rolls back CREATE LOGIN with CHECK_POLICY = OFF and Windows logins. The temporary setup login is now created with CHECK_POLICY = ON. If the service-account login is still rolled back by a trigger, the log names the active server triggers and policies instead of reporting an unresolvable account.
Windows authentication to the remote nodes now has to use Kerberos; an NTLM connection no longer counts as OK. Without Kerberos, or with the new option Setup-Authentifizierung = SQL-Login, the tool creates the temporary sysadmin SQL login itself and runs every step with it. The manual T-SQL block is only needed when a node cannot be reached with Windows auth at all.
The cluster core role is no longer taken as the listener (WSFC error 5057). The PBM policy is disabled around CREATE LOGIN ... FROM WINDOWS. Certificate files go to the instance backup path instead of C:\System\Certs. MODIFY REPLICA uses one statement per option. The AG sync job owner is found by the sa SID, without Windows groups.
If the cluster role was deleted beforehand, the GUI finds no listener settings. Listener-IP and Listener-Port are now editable in the PropertyGrid, and a new Listener-Subnetzmaske field replaces the hard-coded 255.255.255.0. IP, subnet mask and port are validated before the start; Reset also restores the detected listener values.
Replaced C:\Temp paths with C:\System in certificate and backup handling.
ListenerName/AGName must be entered manually if no cluster role can be detected.
Now set explicitly via MODIFY REPLICA instead of relying on a default.
Robust Step 4 cross-domain login with certificate fallback; UPN conversion now uses the target domain's NetBIOS name; UPN fallback for cross-domain CREATE LOGIN; hadr enabled fix split into two separate sp_configure calls (required for it to take effect reliably).
Fixed shortly after: the starter now copies itself locally before elevation, and the GUI's SplitterDistance is set correctly on startup.
AlwaysOn Availability Group setup automation, MIT-licensed. Auto-enables Mixed Mode when SPNs are missing; fixed the backup path to use a local path instead of UNC. Added a 15-slide bilingual (DE/EN) Reveal.js presentation with a full WinForms GUI mockup matching the website, including documentation of the endpoint-ownership problem.