Moya

Network abstraction layer written in Swift.

MIT License

Stars
15.1K
Committers
246

Bot releases are hidden (Show)

Moya - 15.0.3 Latest Release

Published by AndrewSB about 2 years ago

Fixed

Moya - 15.0.1

Published by AndrewSB about 2 years ago

Fixed

  • Pin dependencies to their major versions only, so no specific minor or patch versions are required. #2207 by @BasThomas.
Moya - 15.0.0

Published by BasThomas about 3 years ago

[15.0.0] - 2021-09-04

Added

  • Added NetworkLoggerPlugin.default and NetworkLoggerPlugin.verbose to conveniently access the default plugins. #2095 by @sunshinejr.

Changed

  • Breaking Change Changed Hashable && Equatable implementation of Endpoint since it was returning false positives. #2101 by @sunshinejr.
  • Breaking Change MultiPartFormData is now Hashable. #2101 by @sunshinejr.
  • Breaking Change AccessTokenPlugin now uses TargetType, instead of AuthorizationType, in the closure to determine the token. Full MultiTarget integration added as well. #2046 by @Coder-ZJQ.
  • Target.sampleData is now automatically implemented as Data() 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

  • 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.
Moya - 14.0.1

Published by AndrewSB over 3 years ago

A minor patch release with numerous doc changes, and support for getting built through carthage as a xcframework

Moya - 15.0.0-alpha.1

Published by sunshinejr over 4 years ago

This is an early-release version of Moya 15. This includes minimum Swift version bump to 5.1 as well as bringing back Combine support!
It's an alpha release since there might be slight breaking changes to the Combine extensions if we find some problems and also there might be improvements that are waiting in PRs.

Thanks to @MaxDesiatov @BasThomas @LucianoPAlmeida @amaurydavid and everyone else that helped in the newest release! 🚀

Changelog

Added

Changed

Moya - 14.0.0

Published by sunshinejr over 4 years ago

Moya 14.0.0 is finally released! 🚀 This is a huge amount of work and so I wanted to thank all contributors, especially @amaurydavid, @LucianoPAlmeida, @larryonoff, @hasankose and @fredpi!

TL;DR Changelog

  • Bumped dependency versions: Alamofire to 5.0, RxSwift to 5.0, ReactiveSwift to 6.0
  • Minimum target version are now in line with Alamofire 5. iOS: 10.0, tvOS: 10.0, macOS: 10.12, watchOS: 3.0
  • Removed Result dependency in favor of Result type introduced in Swift 5
  • NetworkLoggerPlugin have been reworked to allow more customization about the logged request's components
  • RequestType now has sessionHeaders property! These are the headers that are added when the request is added to a session
  • In AccessTokenPlugin the token closure now takes an AuthorizationType as parameter and AuthorizationType.none has been removed in favor of using AuthorizationType?
  • MultiTarget now implements AccessTokenAuthorizable so that the inner target's authorizationType is correctly returned to the AccessTokenPlugin when requested
  • Added SwiftPM testing using swift test and releasing using swift run rocket which allows us to remove testing dependencies for SwiftPM releases
  • and a lot more!

See migration guides or create an issue and let us help you out :)

Moya - 14.0.0-beta.6

Published by sunshinejr almost 5 years ago

Another update while we wait for Alamofire to be stable. This time one fix, one small update - hope you will like it! 🚀

Note: Unfortunately we introduced the breaking change with the update, but this was a pretty big gain in terms of the plugin usage so we decided to move forward with it. Make sure you see the migration guide to see how you can migrate easily.

Changelog

Changed

  • Breaking Change In AccessTokenPlugin, the token closure now takes a AuthorizationType as parameter and AuthorizationType.none has been removed in favor of using AuthorizationType?. #1969 by @amaurydavid.

Fixed

  • Fixed a data race condition issue and enable TSAN on the test action and CI. #1952 by @LucianoPAlmeida.
Moya - 14.0.0-beta.5

Published by sunshinejr almost 5 years ago

Only bumping Alamofire version, no changes to code this time 👍

Changelog

  • Breaking Change Minimum version of Alamofire is now 5.0.0-rc.3. #1944 by @sunshinejr.
Moya - 14.0.0-beta.4

Published by sunshinejr about 5 years ago

Unfortunately we had to remove Combine for now to keep Xcode 10 compatibility 😭 You might want to update to that version ASAP as it's fixing crashes on release builds...

Changelog

  • 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
Moya - 14.0.0-beta.3

Published by sunshinejr about 5 years ago

A lot of fixes in this one! 👷

Changelog

  • 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.
Moya - 14.0.0-beta.2

Published by sunshinejr about 5 years ago

This beta just updates Alamofire to version 5.0.0-rc.2.

Moya - 14.0.0-beta.1

Published by sunshinejr about 5 years ago

🚀🚀🚀

✅ Combine extensions
✅ NetworkLoggerPlugin rewrite
✅ Alamofire 5.0.0-rc.1

For NetworkLoggerPlugin, see our migration guide!

Changelog

Added

  • 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.

Changed

  • 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 (using LogOptions.verbose or specyfing errorResponseBody in your LogOptions). #1880 by @amaurydavid.
Moya - 14.0.0-alpha.2

Published by sunshinejr about 5 years ago

This is a pre-release version of Moya 14. This includes removal of Result dependency (now using Swift's Result), upgrade to Alamofire 5 (currently 5.0.0-beta.7) and few more adjustments.

Changelog

Added

  • RequestType now has sessionHeaders! These are the headers that are added when the request is added to a session. #1878 by @sunshinejr.

Changed

  • 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 dependency in favor of Result introduced in Swift 5. #1858 by @larryonoff.
  • Breaking Change Added TargetType parameter in the output of NetworkLoggerPlugin. #1866 by @hasankose.
  • NetworkoLoggerPlugin uses the newly added sessionHeaders and now logs all the headers that the request will produce. #1878 by @sunshinejr.
Moya - 14.0.0-alpha.1

Published by sunshinejr over 5 years ago

This is an early pre-release version of Moya 14. This includes newest RxSwift & ReactiveSwift versions. Next pre-releases would have new version of Alamofire and potentially removed Result dependency.

Changelog

Changed

Moya - 13.0.1

Published by sunshinejr over 5 years ago

Changelog

Fixed

  • Fixed a problem where, while using stubbed responses, Moya would generate weird cancellation errors in the console. #1841 by @sunshinejr.
Moya - 13.0.0

Published by sunshinejr over 5 years ago

Xcode 10.2, Swift 5.0 and more! 🚀

Full Changelog for Moya 13.0:

Note: there are no changes between 13.0.0-beta.1 and 13.0.0.

Changed

  • Breaking Change .mapImage() extension on Single and Observable 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 to CustomNSError protocol, makes underlying errors available in its user-info dictionary. #1783 by @dpoggi.

Fixed

  • Fixed Progress object on responses that did not specify correct Content-Length header. Now, whenever there is no valid header, the progress will be 0.0 until the completion of the request. Also, the completed property is now true only when the response was serialized, we do not rely on progress being 1.0 anymore. #1815 by @sunshinejr.

Removed

  • Breaking change Removed validate on TargetType. It was deprecated in Moya 11, use validationType instead. #1828 by @sunshinejr.
Moya - 13.0.0-beta.1

Published by sunshinejr over 5 years ago

Xcode 10.2, Swift 5.0 and more! 🚀

Changed

  • Breaking Change .mapImage() extension on Single and Observable 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 to CustomNSError protocol, makes underlying errors available in its user-info dictionary. #1783 by @dpoggi.

Fixed

  • Fixed Progress object on responses that did not specify correct Content-Length header. Now, whenever there is no valid header, the progress will be 0.0 until the completion of the request. Also, the completed property is now true only when the response was serialized, we do not rely on progress being 1.0 anymore. #1815 by @sunshinejr.

Removed

  • Breaking change Removed validate on TargetType. It was deprecated in Moya 11, use validationType instead. #1828 by @sunshinejr.
Moya - 12.0.1

Published by SD10 almost 6 years ago

This release fixes the installation issues for the Moya/RxSwift and Moya/ReactiveSwift subspecs via CocoaPods (#1768). Please use this as the minimum version for 12.x releases.

Moya - 12.0.0

Published by SD10 almost 6 years ago

This release is long overdue but Moya 12.0 is finally here! 🎉 The latest version of Moya now supports Swift 4.2 as well as version 4.X of RxSwift and 4.X of ReactiveSwift. Additionally, we've made a highly requested addition to the AccessTokenPlugin - the ability to set a header token in a custom format 👏

Thanks to all the contributors to this release, @SeRG1k17, @sunshinejr, @simonrice, @LucianoPAlmeida, @lexorus, as well as everyone else who makes this project possible ❤️

Full Changelog for Moya 12.0:

Added

  • Breaking Change Added .custom(String) authorization case to AuthorizationType inside AccessTokenPlugin. #1611 by @SeRG1k17.

Changed

  • Breaking Change watchOS deployment target for RxMoya is now 3.0. #1758 by @simonrice.

  • 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 Responses filter method parameter to use a generic RangeExpression that accepts any range type. #1624 by @LucianoPAlmeida.

  • Breaking Change Changed AccessTokenPlugin's initializer to no longer use an @autoclosure for the tokenClosure parameter. #1611 by @SeRG1k17.

Fixed

  • Fix warnings generated by Xcode 10. Updated project to Swift 4.2
    #1740 by @lexorus
Moya - 12.0.0-beta.1

Published by SD10 about 6 years ago

Added

  • Breaking Change Added .custom(String) authorization case to AuthorizationType inside AccessTokenPlugin. #1611 by @SeRG1k17.

Changed

  • 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 Responses filter method parameter to use a generic RangeExpression that accepts any range type. #1624 by @LucianoPAlmeida.

  • Breaking Change Changed AccessTokenPlugin's initializer to no longer use an @autoclosure for the tokenClosure parameter. #1611 by @SeRG1k17.