Releases: GoodRequest/GoodNetworking
Releases · GoodRequest/GoodNetworking
4.4.2
4.4.1
4.4.0
4.3.2
4.3.1
4.3.0
4.2.0
4.1.0
4.0.0
What's Changed
Full Changelog: 3.3.1...4.0.0
Migration guide
- Remove
import Alamofireand@preconcurrency import Alamofire - Replace
BaseUrlProviderwithURLConvertible - Replace
func resolveBaseUrl() async -> String?->func resolveUrl() async -> URL?(in URL providers) - Replace
func url(on baseUrl: String) throws -> URLin Endpoints withfunc url(on baseUrl: any URLConvertible) async -> URL?or remove the function completely where default implementation is sufficient. Replacethrow-s withreturn nil. - Replace
var path: String {withvar path: URLConvertible {andimport GoodNetworkingwhere required. Take care not to replace unrelated implementations. - Wrap string return values returning URLs in
URL(string:)orURL(_:)(if optionals are accepted). - Replace Alamofire implementation of
AuthenticatorInterceptors with new, simplerAuthenticatorprotocol - Adapters, Retriers and Interceptors are now from local package (API is similar, but will require manual migration)
- Simplified error handling to only 3 cases in
NetworkError:local(network failure),remote(Invalid HTTP status code, server errors) anddecoding(decoding failures). - GoodLogger dependency removed and replaced with local logging protocol