Wrapped the main evaluation logic in Program.cs with a try-catch block to provide clearer error messages on failure. Updated Tls12OfflineInspector to use Path.Combine for system DLL path construction, improving cross-platform compatibility and code clarity.
Introduces the Catswords.TlsReport project, a .NET Framework 4.7.2 console application for offline inspection of Windows TLS 1.2 readiness. Includes project files, configuration, and a comprehensive Tls12OfflineInspector utility that checks OS, registry, and crypto policy for TLS 1.2 support. Updates the solution file to include the new project.
Replaced the Catswords.Phantomizer.dll.gz resource with a new version. This may include bug fixes, new features, or other improvements in the Phantomizer component.
Replaces the existing Catswords.Phantomizer.dll.gz in the launcher resources with a new version. This may include bug fixes, new features, or other improvements in the updated binary.
Eliminated an unnecessary check for HttpStatusCode.NotFound in AssemblyLoader.cs, as EnsureSuccessStatusCode already throws for non-success responses. Updated Catswords.Phantomizer.dll.gz to reflect the latest changes.
Changed AddIntegrityHash to log a warning and return when given a null or whitespace hash, instead of throwing an exception. This prevents unnecessary exceptions and improves robustness.
Updated AssemblyLoader to pass HttpClient explicitly to GetStreamFromUrl for improved flexibility and testability. Simplified GZip download logic to use the new method signature. Updated binary resource Catswords.Phantomizer.dll.gz.
Replaced the Catswords.Phantomizer.dll.gz resource with a new version. This may include bug fixes, new features, or other improvements in the Phantomizer component.
Added case-insensitive parsing for SecurityProtocolType and enforced that integrity hashes must be loaded before using the curl fallback. This ensures more robust protocol handling and prevents curl.exe from being used without prior integrity verification.
Removed all telemetry-related code and configuration from WelsonJS.Launcher, including source files, resource strings, and app.config keys. Enhanced AssemblyLoader to support fallback to curl.exe for downloads on legacy Windows, with integrity hash verification. Updated documentation and resource files to reflect the new curl fallback mechanism and added the required integrity hash for curl.exe.
Introduced EnsureSecurityProtocols and EnsureSecurityProtocolByName methods to programmatically enable TLS 1.2 and optionally TLS 1.3 if available. This improves security and compatibility by ensuring required protocols are set at runtime, with logging for protocol changes and error handling.
Updated the Download-File function to use curl as a fallback if PowerShell download fails. Also added curl.exe and curl-ca-bundle.crt to the installer in setup.iss to ensure curl is available during installation.
Expanded TLS protocol support to include TLS 1.0, 1.1, 1.2, and conditionally TLS 1.3 for better compatibility. Added error handling and warning output if TLS configuration fails.
Relocated the TLS 1.2/1.3 configuration from the script's global scope to within the Download-File function. This ensures secure protocol settings are applied specifically when downloading files, improving reliability and scope control.
Enhanced Extract-CompressedFile and Extract-TarGzArchive to use 7zr.exe as a fallback when native extraction methods fail or are unavailable. Added Invoke-7zr helper for consistent 7zr invocation. Improved script root resolution for better compatibility with older PowerShell versions.
Changed setup.iss to reference the launcher executable from the application directory (bin/x86) instead of the user app data directory. Updated file sources and icon/command paths accordingly. Improved postInstall.ps1 to handle cases where PSCommandPath is not set by falling back to MyInvocation.MyCommand.Path.
Replaces the hardcoded 'source' field in the telemetry payload with the actual script filename, improving accuracy in identifying the script sending telemetry events.