- Remove custom exit handler.
- Move exit handling into `Tgstation.Server.Host.System.Process`.
- Adjust `IProcessExecutor.LaunchNew` signature.
- `IProcessBase.Lifetime` result now nullable to represent a detach.
- Await `Lifetime` in dispose.
- Set all requests to use assemblyInformationProvider UserAgent by default.
- Removed DefaultIOManager's dependency on IAssemblyInformationProvider.
- Fixed bad Dispose scope for requests under construction in SwarmService.
- Address various IDE messages
- Additional logging
- Do not access DB in Watchdog's actual Dispose
- Fix issue with legacy behaviour in PGSQL
- Remove obsolete dotnet workaround
- Update to v3 actions checkout/upload-artifact/download-artifact
- Sending `SIGUSR1` on POSIX will now attempt to gracefully shutdown the watchdog with a timeout
- Added `General:ShutdownTimeoutMinutes` config to support this.
- Renamed `General:RestartTimeout` to `General:RestartTimeoutMinutes`
- Config version bump to `4.0.0`
- Core version bump to `4.13.0`
- Added unit tests for new `PosixSignalHandler` class.