- Pin dependencies to their major versions only, so no specific minor or patch versions are required. #2207 by @BasThomas.
- Added
NetworkLoggerPlugin.default
andNetworkLoggerPlugin.verbose
to conveniently access the default plugins. #2095 by @sunshinejr.
- Breaking Change Changed
Hashable
&&Equatable
implementation ofEndpoint
since it was returning false positives. #2101 by @sunshinejr. - Breaking Change
MultiPartFormData
is nowHashable
. #2101 by @sunshinejr. - Breaking Change
AccessTokenPlugin
now usesTargetType
, instead ofAuthorizationType
, in the closure to determine the token. FullMultiTarget
integration added as well. #2046 by @Coder-ZJQ. Target.sampleData
is now automatically implemented asData()
with default protocol extension. #2015 by jdisho.- Breaking Change Minimum version of
RxSwift
is now 6.0. #2120 by @peagasilva. - Moya's Swift minimum version is now Swift 5.2. #2120 by @peagasilva.
- Moya now depends on the latest versions of RxSwift, ReactiveSwift & Alamofire. #2197 by @BasThomas.
- Fixed an issue where when using
trackInflights
option in certain circumstances would return a cached response for an endpoint that's not really the same. #2101 by @sunshinejr. - Fixed a crash where Combine Publisher would crash when using stubs. #2072 by jshier.
- Fixed Unit Tests and CI. #2187 by OhKanghoon.
- Fixed a race condition that could prevent plugin's
willSend(_:target:)
from being fired. #2192 by anton-plebanovich.
- We brought back Combine support! #2024 by @MaxDesiatov.
- Moya's Swift minimum version is now Swift 5.1. #1931 by @BasThomas and @LucianoPAlmeida.
- Breaking Change Minimum version of
Alamofire
is now 5.0. #1992 by @sunshinejr. - Breaking Change
MultiTarget
now implementsAccessTokenAuthorizable
so that the inner target'sauthorizationType
is correctly returned to theAccessTokenPlugin
when requested. #1979 by @amaurydavid.
- Breaking Change In
AccessTokenPlugin
, the token closure now takes aAuthorizationType
as parameter andAuthorizationType.none
has been removed in favor of usingAuthorizationType?
. #1969 by @amaurydavid.
- Fixed a data race condition issue and enable TSAN on the test action and CI. #1952 by @LucianoPAlmeida.
- Breaking Change Minimum version of
Alamofire
is now 5.0.0-rc.3. #1944 by @sunshinejr.
- Breaking Change Removed Combine extensions for now. Due to problems with weak-linking the framework, it's too difficult to support it with ease using all package managers and also without breaking backwards-compatibility. Probably gonna introduce it once we only support Xcode 11. #1933 by @sunshinejr
- Fixed an issue with displaying cURL-formatted request in
NetworkLoggerPlugin
. #1916 by @sunshinejr. - Fixed an issue that wouldn't display stubbed response body in
NetworkLoggerPlugin
. #1916 by @sunshinejr. - Fixed an issue where Carthage users using Xcode 11 couldn't install Moya 14. We added weak-linking for the xcodeproj so you might need additional steps for Xcode 10 + Carthage + Moya 14.* users. #1920 by @fredpi and @sunshinejr.
- Fixed an issue that wouldn't persist
URLRequest
changes (created by plugins) when stubbed. #1921 by @sunshinejr. - Fixed an issue with SPM integration - it no longer fetches testing libraries and also doesn't create runtime/Xcode Preview crashes. #1923 by @sunshinejr.
- Breaking Change Minimum version of
Alamofire
is now 5.0.0-rc.2. #1912 by @sunshinejr.
- Combine support! #1904 by @sunshinejr.
- Very raw SPM testing support! Thanks to the work on OHHTTPStubs, we can finally start using
swift test
again. #1896 by @sunshinejr.
- Breaking Change Minimum version of
Alamofire
is now 5.0.0-rc.1. #1909 by @sunshinejr. - Breaking Change The NetworkLoggerPlugin have been reworked to allow more customization about the logged request's components. #1894 by @amaurydavid.
- Breaking Change Bumped ReactiveSwift version to 6.1.0. This should only affect Carthage users, but you'll probably want to use 6.1.0 in all of your Xcode 11 projects. #1896 by @sunshinejr.
NetworkLoggerPlugin
now logs error when available (usingLogOptions.verbose
or specyfingerrorResponseBody
in yourLogOptions
). #1880 by @amaurydavid.
RequestType
now hassessionHeaders
! These are the headers that are added when the request is added to a session. #1878 by @sunshinejr.
- Breaking Change Minimum target version are now in line with Alamofire 5. iOS: 10.0, tvOS: 10.0, macOS: 10.12, watchOS: 3.0. #1810 by @sunshinejr.
- Breaking Change Minimum version of
Alamofire
is now 5.0.0-beta.7. #1810 by @sunshinejr. - Breaking Change Removed
Result
depndency in favor ofResult
introduced in Swift 5. #1858 by @larryonoff. - Breaking Change Added
TargetType
parameter in the output ofNetworkLoggerPlugin
. #1866 by @hasankose. NetworkLoggerPlugin
uses the newly addedsessionHeaders
and now logs all the headers that the request will produce. #1878 by @sunshinejr.
- Breaking Change Minimum version of
RxSwift
is now 5.0. #1846 by @LucianoPAlmeida. - Breaking Change Minimum version of
ReactiveSwift
is now 6.0. #1849 by @sunshinejr.``
- Fixed a problem where, while using stubbed responses, Moya would generate weird cancellation errors in the console. #1841 by @sunshinejr.
- Breaking Change
.mapImage()
extension onSingle
andObservable
now returns non-optional image. #1789, #1799 by @bjarkehs and @sunshinejr. - Breaking Change Minimum version of
ReactiveSwift
is now 5.0. #1817 by @larryonoff. - Breaking Change Minimum version of
Result
is now 4.1. #1817 by @larryonoff. - Breaking Change Updated project to Swift 5.0. #1827 by @sunshinejr.
- Updated project to support Xcode 10.2. #1826 by @larsschwegmann.
MoyaError
now conforms toCustomNSError
protocol, makes underlying errors available in its user-info dictionary. #1783 by @dpoggi.
- Fixed
Progress
object on responses that did not specify correctContent-Length
header. Now, whenever there is no valid header, the progress will be 0.0 until the completion of the request. Also, thecompleted
property is nowtrue
only when the response was serialized, we do not rely on progress being 1.0 anymore. #1815 by @sunshinejr.
- Breaking change Removed
validate
onTargetType
. It was deprecated in Moya 11, usevalidationType
instead. #1828 by @sunshinejr.
- Breaking Change Minimum watchOS deployment target for Moya is now 3.0. #1758 by @SD10.
- Fix warnings generated by Xcode 10. Updated project to Swift 4.2 #1740 by @lexorus
- Breaking Change Added
.custom(String)
authorization case toAuthorizationType
insideAccessTokenPlugin
. #1611 by @SeRG1k17.
-
Breaking Change Minimum version of
ReactiveSwift
is now 4.0. #1668 by @sunshinejr. -
Breaking Change Minimum version of
Result
is now 4.0. #1668 by @sunshinejr. -
Breaking Change Changed
Response
s filter method parameter to use a genericRangeExpression
that accepts any range type. #1624 by @LucianoPAlmeida. -
Breaking Change Changed
AccessTokenPlugin
's initializer to no longer use an@autoclosure
for thetokenClosure
parameter. #1611 by @SeRG1k17.
- Fixed Carthage compatibility by disabling the SwiftLint build phase in release builds. #1619 by @Dschee.
- Fixed Alamofire validation not being performed on
.uploadMultipart
requests. #1591 by @SD10. - Fixed Alamofire validation not being performed on stubbed requests. #1593 by @SD10.
- No changes
- Breaking Change Added a
.requestCustomJSONEncodable
case toTask
. #1443 by @evgeny-sureev. - Breaking Change Added
failsOnEmptyData
boolean support for theDecodable
map functions. #1508 by @jeroenbb94.
- Breaking Change Updated minimum version of
ReactiveSwift
to 3.0. #1470 by @larryonoff. - Breaking Change Changed the
validate
property ofTargetType
to use newValidationType
enum representing valid status codes. #1505 by @SD10, @amaurydavid.
- Fixed a bug where modifying
.uploadMultipart
,.uploadCompositeMultipart
,.uploadFile
,.downloadDestination
, and.downloadParameters
tasks through anendpointClosure
has no effect on the final request. #1550 by @SD10, @sunshinejr. - Fixed a bug where
URLEncoding.httpBody
wasn't allowed asbodyEncoding
inTask.requestCompositeParameters()
. #1557 by @sunshinejr.
- Fixed a bug that
Decodable
mapping to object other than Array and Dictionary in a key path cause crash. #1405 by @ufosky. - Fixed a bug with missing Content-Type header when using
.requestJSONEncodable
#1410 by @Vict0rS. - Fixed linker settings, enabling RxMoya and ReactiveMoya to be used in app extensions #1417 by @spookyvision.
- Fixed carthage OS X not targeting 10.10 #1444 by @lucas34.
- Breaking Change Added a
.parameterEncoding
case toMoyaError
. #1248 by @SD10. - Breaking Change Added an
.objectMapping
case toMoyaError
. #1335 by @devxoul. - Breaking Change Added an
.encodableMapping
case toMoyaError
. #1349 by @LeLuckyVint, @afonsograca and @sunshinejr. - Breaking Change Added a
.requestJSONEncodable
case toTask
. #1349 by @LeLuckyVint, @afonsograca and @sunshinejr. - Added a
Decodable
object mapping methods toMoya.Response
. #1335 by @devxoul.
- Breaking Change Changed
Endpoint.init
so it doesn't have any default arguments (removing default argument.get
formethod
parameter andnil
forhttpHeaderFields
parameter). #1289 by @sunshinejr. - Breaking Change Changed
NetworkActivityPlugin
so itsnetworkActivityClosure
has nowtarget: TargetType
argument in addition tochange: NetworkActivityChangeType
. #1290 by @sunshinejr. - Breaking Change Changed
Endpoint
'surlRequest
property tourlRequest()
a throwing method. #1248 by @SD10.
- Removed default value for task from
Endpoint
initializer
- Breaking Change Replaced
parameters
¶meterEncoding
inTargetType
with extendedTask
cases. - Breaking Change Flattened
UploadType
andDownloadType
intoTask
cases. - Breaking Change Replaced
shouldAuthorize: Bool
inAccessTokenAuthorizable
withauthorizationType: AuthorizationType
. - Breaking Change Replaced
token
inAccessTokenPlugin
withtokenClosure
. - Breaking Change
TargetTypes
no longer receive theAuthorization: Bearer <token>
header by default when usingAccessTokenPlugin
.
- Added Swift 4.0 support for Moya core (without RxSwift/ReactiveSwift extensions for now).
- Added all the
filter
/map
operators that were available forObservable<Response>
toSingle<Response>
as well. - Added
AuthorizationType
toAccessTokenAuthorizable
representing request headers of.none
,.basic
, and.bearer
. - Added tests for
Single<Response>
operators. - Added
Progress
object into the response when calling progress callback on completion. - Added tests for creating
URLRequest
fromTask
.
- Fixed a bug where you weren't notified on progress callback for data request.
- Breaking Change Added support to get the response (if any) from
MoyaError
. - Breaking Change Added
headers
toTargetType
. - Breaking Change Updated
RxMoyaProvider.request
to return aSingle<Request>
. - Breaking Change Updated
Moya.Response
'sresponse
to use anHTTPURLResponse
instead of aURLResponse
. - Breaking Change Renamed all occurrences of
queue
tocallbackQueue
. - Breaking Change Deprecated
ReactiveSwiftMoyaProvider
andRxSwiftMoyaProvider
. UseMoyaProvider
with reactive properties now:provider.reactive._
,provider.rx._
. In case you were subclassing reactive providers, please take a look at this PR from Eidolon. It covers migration from subclassing given providers, to usage by composition. - Breaking Change Removed parameter name in
requestWithProgress
forReactiveSwiftMoyaProvider
. - Breaking Change Removed deprecated in Moya 8.0.0:
Moya.Error
,endpointByAddingParameters(parameters:)
,endpointByAddingHttpHeaderFields(httpHeaderFields:)
,endpointByAddingParameterEncoding(newParameterEncoding:)
,endpointByAdding(parameters:httpHeaderFields:parameterEncoding)
,StructTarget
,filterStatusCodes(range:)
,filterStatusCode(code:)
,willSendRequest(request:target:)
,didReceiveResponse(result:target:)
,ReactiveCocoaMoyaProvider
,ReactiveSwiftMoyaProvider.request(token:)
.
- Added optional callback queue parameter to reactive providers.
- Added public
URL(target:)
initializator that creates url fromTargetType
. - Added an optional
requestDataFormatter
inNetworkLoggerPlugin
to allow the client to interact with the request data before logging it.
-
Fixed a bug where you would have two response events in
requestWithProgress
method onReactiveSwift
module. -
Enabled the "Allow app extension API only" flag.
-
Updated minimum version of
RxSwift
to3.3
. -
Updated minimum version of
ReactiveSwift
to 2.0.
- Fixed a bug where you would have two response events in
requestWithProgress
method on RxMoya module.
- Bumped minimum version of ReactiveSwift to 1.1.
- Changed use of deprecated
DateSchedulerProtocol
toDateScheduler
. - Move project to using a single target for all platforms.
- Changed default endpoint creation to only append
path
tobaseURL
whenpath
is not empty.
- Fixed
reversedPrint
arguments for output. - Fixed memory leak when request with stub.
- Changed
Moya.Error
toMoyaError
inMoyaAvailablity
for Swift 3.1 compatibility.
- Changed dependency pinning to rely only on major versions.
- Fixed an issue where
RxMoyaProvider
never sendsnext
or errors if it's disposed before a subscription is made.
- Breaking Change Renamed
Moya.Error
toMoyaError
. - Breaking Change Renamed
verbose
in the NetworkLoggerPlugin toisVerbose
. - Breaking Change
TargetType
now specifies itsParameterEncoding
. - Breaking Change Removed unused
Moya.Error.data
. - Breaking Change Renamed
adding(newHttpHeaderFields:)
toadding(newHTTPHeaderFields:)
.
- Supported the Swift package manager
- Added
AccessTokenPlugin
for easier authorization. - Added
AccessTokenAuthorizable
protocol for optionally controlling the authorization behavior ofTargetType
s when usingAccessTokenPlugin
. - Added availability tags for renamed functions included in the Swift 3 migration.
Moya.Error
now conforms toLocalizedError
protocol.- Added documentation for
TargetType
and associated data structures. - Re-add
MultiTarget
to project.
- Adopted an SPM-compatible project structure.
- Moved tests to Moya.xcodeproj.
- Breaking Change Renamed
ReactiveCocoaMoyaProvider
toReactiveSwiftMoyaProvider
. - Breaking Change Renamed
PluginType
functions to comply with Swift 3 design guideline:willSendRequest
renamed towillSend
.didReceiveResponse
renamed todidReceive
.
- Breaking Change Renamed
filterStatusCodes(:)
tofilter(statusCodes:)
(andfilterStatusCode(:)
tofilter(statusCode:)
). - Breaking Change Renamed
request(token:)
to simplyrequest(:_)
(ReactiveSwift). - Breaking Change Renamed
notifyPluginsOfImpendingStub(request:)
tonotifyPluginsOfImpendingStub(for:)
. - Renamed the
ReactiveCocoa
subspec toReactiveSwift
. PluginType
can now modify requests and responses throughprepare
andprocess
- Breaking Change Renamed
cancelled
in theCancellable
protocol toisCancelled
. - Breaking Change Renamed
URL
inEndpoint
tourl
. - Breaking Change Renamed
StructTarget
toMultiTarget
. - Demo project has been updated with new DemoMultiTarget target, new project structure and more.
- Readded support for iOS 8 and macOS 10.10.
- Added validate option in
TargetType
, to allow enabling Alamofire automatic validation on requests. - Added
mapString(atKeyPath:)
toResponse
,SignalProducerProtocol
, andObservableType
- Breaking Change Made some
class func
s mimicking enum cases lowercased. - Updates for RxSwift 3.0 final release.
- Added default empty implementation for
willSendRequest
anddidReceiveResponse
inPluginType
. - Use
String(data:encoding:)
instead ofNSString(data:encoding:)
while convertingData
toString
.
- Breaking Change Throw dedicated
Error.jsonMapping
whenmapJSON
fails to parse JSON. - Breaking Change Renamed
endpointByAddingHTTPHeaders
toadding(newHttpHeaderFields:)
. - Breaking Change Renamed
endpointByAddingParameters
toadding(newParameters:)
. - Breaking Change Renamed
endpointByAddingParameterEncoding
toadding(newParameterEncoding:)
. - Breaking Change Renamed
endpointByAdding(parameters:httpHeaderFields:parameterEncoding)
toadding(parameters:httpHeaderFields:parameterEncoding)
. - Breaking Change Changed HTTP verbs enum to lowercase.
urlRequest
property ofEndpoint
is now truly optional. The request will fail if theurlRequest
turns out to be nil and arequestMapping
error will be returned together with the problematic url.- Breaking Change Made RxMoya & ReactiveMoya frameworks dependant on Moya framework, making them slimmer and not re-including Moya source in the Reactive extensions. (PR)
- Removed the unused
StreamRequest
typealias that was causing watchOS failures.
- Fixes download requests never calling the completion block.
- Added a new internal Requestable protocol.
- Added a new case to
SampleResponseClosure
which allows mocking of the wholeURLResponse
. - Added a test for new
SampleResponseClosure
case.
- Breaking Change Transition from ReactiveCocoa to ReactiveSwift. (PR)
- Breaking Change Support for
Swift 3
in favor ofSwift 2.x
. - Breaking Change
fileName
andmimeType
are now optional properties on a MultipartFormData object. - Correct Alamofire
appendBodyPart
method id called in MultipartFormData. - Breaking Change Removes
multipartBody
from TargetType protocol and adds atask
instead. - Breaking Change Successful Response instances that have no data with them are now being converted to
.Success
Result
s.
- Adds Download and Upload Task type support to Moya.
- Added
supportsMultipart
to theMethod
type, which helps determine whether to usemultipart/form-data
encoding. - Added
PATCH
andCONNECT
to theMethod
cases which support multipart encoding. - Added
request
forResponse
.
- Corrects SwiftLint warnings.
- Separates
Moya.swift
into multiple files. - Updated
mapJSON
API to include an optional named parameterfailsOnEmptyData:
that when overridden returns an emptyNSNull()
result instead of throwing an error when the response data is empty.
- Fixes bug for MultipartFormData constructor in Swift 2.3 where fields and files were given a mimetype, forcing them both to be added to the 'files' section.
- Multipart form constructor contains optional Strings
- Carthage support for Swift 2.3.
- Swift 2.3 support.
- Identical to 7.0.0, see #594 for an explanation.
- Breaking Change Drops support for
RACSignal
. - Breaking Change Changes
Moya.Error.Underlying
to haveNSError
instead ofErrorType
. - Breaking Change Implements inflights tracking by adding
trackInflights = true
to your provider. - Breaking Change Changes
MoyaProvider.RequestClosure
to haveResult<NSURLRequest, Moya.Error> -> Void
instead ofNSURLRequest -> Void
as adone
closure parameter. - Breaking Change New community guidelines.
- New multipart file upload.
- New cURL-based logging plugin.
- Moves from OSSpinLock to
dispatch_semaphor
to avoid deadlocks.
- Integrates Danger into the repo.
- Fixes a xcodeproj referencing bug introduced by the new cURL-based logging plugin.
- Calls completion even when cancellable token is canceled
- Added
queue
parameter torequest
andsendRequest
. This open up option to use other queue instead of main queue for response callback.
- Makes
convertResponseToResult
public to make use of this method when dealing with Alamofire directly - Updates to ReactiveCocoa 4.1
- Updates to Result 2.0
- Updates for Swift 2.2 / Xcode 7.3 compatibility.
- Fixed endpoint setup when adding
parameters
orheaders
whenparameters
orheaders
or nil.
- Adds StructTarget for using Moya with structs.
- Adds
response
computed property toError
type, which yields a Response object if available. - Added URLEncodedInURL to ParameterEncoding.
- Adds convenience
endpointByAdding
method.
- Remove our own implementation of
ParameterEncoding
and make it apublic typealias
ofAlamofire.ParameterEncoding
.
- Updated to ReactiveCocoa 4.0 final.
- Added formatter parameter to plugin for pretty-printing response data. See #392.
- Compatibility with RxSwift 2.x.
- Compatibility with RxSwift 2.1.x.
- The built-in
DefaultAlamofireManager
as parameter's default value instead of the singletonAlamofire.Manager.sharedinstance
is now used when instantiatingReactiveCocoaMoyaProvider
andRxMoyaProvider
as well.
- Updates to ReactiveCocoa 4 RC 2.
- Breaking Change pass a built-in
DefaultAlamofireManager
as parameter's default value instead of passing the singletonAlamofire.Manager.sharedinstance
when initialize aprovider
- Fixes issue that stubbed responses still call the network.
- Updates to RXSwift 2.0.0
- Moves to use Antitypical/Result
- Update to ReactiveCocoa v4.0.0-RC.1
- Moves to antitypical Result type
- Fixes cases where underlying network errors were not properly propagated.
- Updated to RxSwift 2.0.0-beta.4
- Update to ReactiveCocoa v4.0.0-alpha.4
- Breaking Change rename
MoyaTarget
protocol toTargetType
- Breaking Change rename
MoyaRequest
protocol toRequestType
- Breaking Change rename
Plugin
protocol toPluginType
- Removes conversion from
Moya.Method
toAlamofire.Method
since it was unused - Changes
NetworkLoggingPlugin
's initializer to also take a function that has the same signature asprint
to simplify testing - Breaking Change renames
ParameterEncoding
'sparameterEncoding
method totoAlamofire
and makes it internal only - Breaking Change
Plugin<Target>
is now a protocol and as such no longer sends a typedMoyaProvider
. - @swizzlr - Breaking Change The types that were subtypes of
Moya
are now defined at the top level; you should find no compatibility issues since they are still invoked byMoya.X
– @swizzlr - Breaking Change
Completion
closure now returns aResult
instead of multiple optional parameters. - Breaking Change
MoyaResponse
is nowResponse
, and alsofinal
. It will be changed to astruct
in a future release. - @swizzlr - Breaking Change
ReactiveCocoaMoyaProvider
can now be supplied with an optionalstubScheduler
– @swizzlr (sponsored by Network Locum) - Breaking Change Introduce
Error
type for use with reactive extensions - @tomburns - Breaking Change Deprecate ReactiveCocoa 2 support
- Adds mapping methods to
MoyaResponse
- Adds tvOS and watchOS support
- Fixes carthage OS X target not having source files
- Makes base OS X target 10.9 instead of 10.10
- Updates to latest ReactiveCocoa alpha. Again.
- Updates to latest ReactiveCocoa alpha.
- Removed extraneous
SignalProducer
from ReactiveCocoa extension – @JRHeaton - Removed extraneous
deferred()
from RxSwift extension - Moved to new RxSwift syntax – @wouterw
- Updated RxSwift to latest beta – @wouterw
- OS X support.
- Fixes Carthage integration problem.
- CancellableTokens can now debug print the requests cURL.
- Plugins now subclasses NSObject for custom subclasses.
- Plugins' methods are now public, allowing custom subclasses to override.
- Updates Alamofire dependency to
~> 3.0
- Changes
mapImage()
RxSwift function to useUIImage!
instead ofUIImage
.
- Makes
parameters
onMoyaTarget
an optional[String: AnyObject]
dictionary. - Makes
parameters
andhttpHeaderFields
onEndpoint
to be optionals. - Renamed stubbing identifiers: Breaking Change
Moya.StubbedBehavior
renamed toMoya.StubBehavior
Moya.MoyaStubbedBehavior
renamed toMoya.StubClosure
Moya.NoStubbingBehavior
->Moya.NeverStub
Moya.ImmediateStubbingBehaviour
->Moya.ImmediatelyStub
Moya.DelayedStubbingBehaviour
->Moya.DelayedStub
- Default class functions have been moved to extensions to prevent inadvertent subclassing.
- Renamed other identifiers: Breaking Change
MoyaProvider.MoyaEndpointsClosure
toMoyaProvider.EndpointClosure
MoyaProvider.MoyaEndpointResolution
toMoyaProvider.RequestClosure
MoyaProvider.endpointResolver
toMoyaProvider.requestClosure
MoyaProvider.stubBehavior
toMoyaProvider.stubClosure
MoyaCredentialClosure
toCredentialClosure
MoyaProvider
initializer parameter namesMoyaCompletion
toMoya.Completion
DefaultEndpointResolution
toDefaultRequestMapping
- Renamed
T
generic types ofMoyaProvider
andEndpoint
classes toTarget
. - Removed errantly named
DefaultEndpointResolution
- Changes the closure to map
Endpoint
s toNSURLRequest
s asynchonous. - Removes inflight request tracking for ReactiveCocoa and RxSwift providers. Breaking Change
- Renamed
EndpointSampleResponse
cases: Breaking ChangeSuccess
toNetworkResponse
, now containsNSData
instead of() -> NSData
.Error
toNetworkError
- Additionally,
NetworkError
no longer has a status code or data associated with it. This represents an error from the underlying iOS network stack, like an inability to connect. See #200 for more details. - Also additionally, removed
Closure
case (see below).
- Changed
Endpoint
to use asampleResponseClosure
instead of asampleResponse
, making all sample responses lazily executed. Breaking Change - New plugin architecture Breaking Change
- This replaces
networkActivityClosure
with a plugin.
- This replaces
- ReactiveCocoa provider no longer replaces errors that contain status codes (an unlikely situation) with its own errors. It passes all errors directly through.
- Renames
token
totarget
(it was usuallytarget
anyway, just made it consistent).
- Adds support for ReactiveCocoa 4 by moving
ReactiveCocoaMoyaProvider
to useSignalProducer
instead ofRACSignal
- Corrects problem with ignoring the specified Alamofire manager
- Adds HTTP basic auth support.
- Adds data processing functions for use with
RxMoyaProvider
- Adds convenience
endpointByAddingParameterEncoding
method.
- Adds Moya files as members of RxMoya and ReactiveMoya frameworks.
- Add backward-compatible call from
DefaultEnpointResolution
toDefaultEndpointResolution
onMoyaProvider
class.DefaultEndpointResolution
is now used internally as the default resolver.DefaultEnpointResolution
can be removed in a future major release. - Carthage support.
- Add option to pass an
Alamofire.Manager
toMoyaProvider
initializer
- Updates Demo directory's RxSwift version.
- Updates Demo directory's Moya version for
pod try
compatbility.
- Breaking change Combines
MoyaPath
andMoyaTarget
protocols. - Breaking change Renames
Moya/Reactive
subspec toMoya/ReactiveCocoa
. - Breaking change Removes
stubResponses
from initializer; replaced with new stubbing behavior.NoStubbing
. Added class methods toMoyaProvider
to provide defaults, while allowing users to still change stubbing behavior on a per-request basis. - Breaking change Redefines types of
DefaultEndpointMapping
andDefaultEnpointResolution
class functions onMoyaProvider
. You no longer invoke these functions to return a closure, rather, you reference the functions themselves as closures. - Breaking change Renames
endpointsClosure
parameter and property ofMoyaProvider
toendpointClosure
. - Breaking change Renames
ReactiveMoyaProvider
toReactiveCocoaMoyaProvider
for consistency. - Relaxes version dependency on RxSwift - @alcarvalho
- Adds official Carthage support – @neonichu
- Fixes problem that the
ReactiveMoyaProvider
initializer would not respect the stubbing behavior it was passed. - Fixes possible concurrency bugs with reactive providers - @alcarvalho
- Fixes problem where
RxMoyaProvider
would not respect customized stubbing behavior (delays).
- Adds support for RxSwift – @alcarvalho
- Breaking change Changes
EndpointSampleResponse
to require closures that returnNSData
, notNSData
instances themselves. This prevents sample data from being loaded during the normal, non-unit test app lifecycle. - Breaking change Adds
method
toMoyaTarget
protocol and removesmethod
parameter fromrequest()
functions. Targets now specify GET, POST, etc on a per-target level, instead of per-request. - Breaking change Adds
parameters
toMoyaTarget
protocol and removes ability to pass parameters intorequest()
functions. Targets now specify the parameters directly on a per-target level, instead of per-request. - Adds a sane default implementation of the
MoyaProvider
initializer'sendpointsClosure
parameter.
- Updates to Swift 1.2.
- Adds cancellable requests -@MichaelMcGuire
- Adds network activity closure to provider.
- Updates podspec to refer to
3.0.0-aplha.1
of ReactiveCocoa. -@ashfurrow
- First release on CocoaPods trunk.
- Add data support for stubbed error responses. – @steam
- Fixes #66, a problem with outdated Alamofire dependency and it's serializer type signature. -@garnett
- Delete note about ReactiveCocoa installation -@garnett
- Fixes #52 to change submodules to use http instead of ssh. -@ashfurrow)
- Fixes #63, a problem where stale inflight requests were kept around if they error'd down the pipline (discussed here) -@ashfurrow
- Adds the original NSURLResponse to a MoyaResponse -@orta)
- Migrate to support Xcode beta 6.1 -@orta)
- Implements #46, the code property of the NSError sent through by ReactiveMoyaProvider will now match the failing http status code. -@powerje
- Fixes #48 that modifies Moya to execute completion blocks of stubbed responses immediately, instead of using
dispatch_async
to defer it to the next invocation of the run loop. This is a breaking change. Because of this change, the ReactiveCocoa extensions had to be modified slightly to deduplicate inflight stubbed requests. Reactive providers now vendRACSignal
instances that start the network request when subscribed to. -@ashfurrow
- Fixes #44 where status codes weren't being passed through to completion blocks. This also modified the behavior of the ReactiveCocoa extensions significantly but sending MoyaResponse objects instead of just NSData ones. —@ashfurrow
- Initial release.