The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
- Add async/await
Add a `URLRequestAdapter` and `URLResponseAdapter`
* Using `DispatchGroup` for parallel joins
* Removed deprecated methods on `ResponseFuture`
* `public func replace<U>(_ successCallback: @escaping (T) throws -> ResponseFuture<U>?) -> ResponseFuture<U>`
* `public func join<U>(_ callback: () -> ResponseFuture<U>) -> ResponseFuture<(T, U)>`
* `public func nonFailing() -> ResponseFuture<SafeResponse<T>>`
* `public func thenError<U>(_ callback: @escaping (SafeResponse<T>) throws -> U) -> ResponseFuture<U>`
* `public func join<U>(_ callback: @escaping (T) throws -> ResponseFuture<U>?) -> ResponseFuture<(T, U)>`
* Removed methods for joining calls of the same type on a sequence (array) of futures
* `func addingParallelResult(from callback: () -> ResponseFuture<T.Element>) -> ResponseFuture<[T.Element]>`
* `func addingSeriesResult(from callback: @escaping (T) throws -> ResponseFuture<T.Element>?) -> ResponseFuture<[T.Element]>`
* Added an initializer for joining many parallel calls on a sequence
* Rename `ResponseFuture` embedded type from `T` to `Success` (i.e. `ResponseFuture<Success>`)
* Rename `Response` embedded type from `T` to `Body` (i.e. `Response<Body>`)
* Rename `HTTPResponse` embedded type from `T` to `Body` (i.e. `HTTPResponse<Body>`)
* Rename `ResponseInterface` associated type from `T` to `Body`
* Localize HTTPError
* Add `makeHTTPResponse` and `decoded` functions to `ResponseFuture` with type `Response<Data?>`
* Add `decoded` function to `ResponseFuture` with type `HTTPResponse<Data?>`
* Add `safeDecoded` function to `ResponseFuture` with type `HTTPResponse<Data?>`
* Move `makeHTTPResponse` from `ResponseInterface` to `Response`
- Using DispatchGroup for parallel joins
- Removed deprecated methods on ResponseFuture
- Removed methods for joining calls of the same type on a sequence (array) of futures
- Added an initalizer for joining many parallel calls on a sequence
- Rename ResponseFuture embedded type from T to Success (i.e. ResponseFuture<Success>)
- Rename Response embedded type from T to Body (i.e. Response<Body>)
- Rename HTTPResponse embedded type from T to Body (i.e. HTTPResponse<Body>)
- Rename ResponseInterface associated type from T to Body
- Localize HTTPError
**Full Changelog**: https://github.com/cuba/PiuPiu/compare/1.9.2...1.10.0-beta
Minor cleanups for Xcode 13
2 years ago
* Remove warning for Xcode 13 upgrade
* Improve method descriptions
* Improve example project
Cleaned up syntax
2 years ago
* Removed GroupedFailure. First error triggered will fail the future. If you need access to the results use safeParallelJoin instead.
* Added some more convenience "join" functions on ResponseFuture: addingParallelNullableResult, addingSeriesNullableResult, safeParallelNullableJoin, safeSeriesNullableJoin, parallelNullableJoin, and seriesNullableJoin
* Deprecated some ResponseFuture functions in favour of ones that take an explicit type
* Remove useless throwables that never threw anything
* Remove MockDispatcherError and use ResponseError.noResponse if no callback is set on MockURLRequestDispatcher
Minor cleanups
3 years ago
* Add missing public flags
* Removed `GroupedFailure`. First error triggered will fail the future. If you need access to the results use `safeParallelJoin` instead.
* Addes some more convenience "join" functions on `ResponseFuture`: `addingParallelNullableResult`, `addingSeriesNullableResult`, `safeParallelNullableJoin`, `safeSeriesNullableJoin`, `parallelNullableJoin`, and `seriesNullableJoin`
* Deprecated some `ResponseFuture` functions in favour of ones that take an explicit type
* Remove useless throwables that never threw anything
* Remove `MockDispatcherError` and use `ResponseError.noResponse` if no callback is set on `MockURLRequestDispatcher`
* Add missing optionality to safeSeriesJoin
Cleanup syntax
3 years ago
* Dropped `SafeResponse` in favour or `Result`
* Require `[CodingKey]` to be passed in to the `EncodingTransform` and `DecodingTransform` methods
* Replaced `func transform(value: Self.ValueSource)` with `func toJSON(_ value: Self.ValueSource, codingPath: [CodingKey])`
* Replaced `func transform(json: Self.JSONSource)` with `func from(json: Self.JSONSource, codingPath: [CodingKey])`
* Added `map`, `parallelJoin`, `seriesJoin`, `thenResult`, `safeResult`, `safeParallelJoin` and `safeSeriesJoin` callbacks to `ResponseFuture`
* Added `result` callback
* Added `addingParallelResult` and `addingSeriesResults` methods to `ResponseFutures` that encompass a `Sequence`
* Deprecated the `SafeResponse` enum and `fulfill`, `join` (series and parallel), `thenError`, `nonFailing` methods on `ResponseFuture`