Update failures now retain their diagnostic details and provide clearer alert messages.
- Non-2xx HTTPS responses throw
AppUpdaterHTTPError, preserving the fullHTTPURLResponse, including status and retry/rate-limit headers. AppUpdaterNetworkError.underlyingErrorretains the originalURLErrorand its diagnostic context.- Rate limits and server errors provide useful localized messages without exposing signed URLs in alert text.
- Existing HTTPS, validation, installation, cancellation, and verified TUF fallback behavior remains intact.
Error-handling compatibility
Non-2xx HTTPS responses now throw AppUpdaterHTTPError instead of AppUpdaterError.invalidHTTPResponse. Network timeouts now throw AppUpdaterNetworkError with code .timedOut instead of .operationTimedOut; process timeouts are unchanged. Retained response/error objects may contain sensitive URLs or headers; use localized error text for presentation.
Changes: #27
Full Changelog: 4.1.2...4.2.0