{{ message }}
Releases: Alamofire/Alamofire
Releases · Alamofire/Alamofire
5.12.0
Released on 2026-05-04. All issues associated with this milestone can be found using this filter.
Added
Updated
Fixed
- Rare race in
Request.suspend()andRequest.cancel()where the state update would be lost if it occurred before the task was created. Request.cancel()incorrect calledRequest.finish()when the underlying task was already.completed.- Rare race in
Request.resume()that could lead to multipleURLSessionTasks created. - Repeated calls to
Request.suspend()andRequest.resume()could lead to multiple pipeline executions. - Thread-safety issue in
Session.deinitwhen accessing internal state. - Rare
Request.finish()race inSession.deinit. Session.deinitcalledRequest.finish()onRequests that were already finished.Request.onHTTPRequestdidn't call the fullRequest.cancel()when the.canceldisposition was returned.- Multiple unlikely force unwrap or
unowned selfcrashes. - Write to
DataStreamRequest'soutputStreamafter it was closed. - MIME type parsing, where a single element (
text) or empty strings would be accepted. - Cancelled
DownloadRequests could still trigger retry. DataRequest.DataTaskandDownloadRequest.DownloadTaskcould miss early cancellation events if they happened before the underlyingTaskwas created.- 🔥 Multiple issues in
AuthenticationInterceptor. These fixes slightly change the interceptor's behavior.adapt()enqueued adaptations, leading to requests restarted with a new credential to not execute the whole adapt pipeline again.AuthenticationInterceptorwill now let those requests fail with the old credential and retry their whole pipeline with the new credential.- Concurrent adaptations for the same stale credential could trigger multiple refreshes.
retry()now lazily checks for new credentials rather than capturing eagerly.
5.11.2
Updated
- Use of
#fileto#fileIDto prevent build system info leakage. - CI and dependencies.
Fixed
- A rare race between the creation of
StreamOfvalues and the start of their iteration, which could miss values. - Handling of duplicate
URLSessionTaskMetricscallbacks, likely caused by using the new loading system (usesClassicLoadingMode = false).
5.11.1
5.11.0
Released on 2025-12-20. All issues associated with this milestone can be found using this filter.
Added
- Lazy
Requestsetup by default.Requests are now inert untilresume()'d, whether automatically or manually. Previous behavior can be restored by usingSession(requestSetup: .eager). - Inline, per-
RequestRequestAdapter,RequestRetrier,RequestInterceptor, andEventMonitorAPIs, to add instances afterRequestinitialization. - Per-
Requestautomaticresume()control, with theshouldAutomaticallyResumeparameter. OfflineRetrier, to retry requests based onNWPathMonitorstatus, as a replacement forNetworkReachabilityManager.- Added by Jon Shier and gourav kumar in Pull Request #3948.
Updated
- Alamofire to require Xcode 16.0 and the Swift 6 compiler (Swift 5 or 6 mode).
- Deployment targets for the test targets to match XCTest and Swift Testing availability.
Emptyto beHashable.Requestinternals to use more atomic locking.- Deprecated
NetworkReachabilityManageron iOS 17.4 and later. - Linux and Android CI builds.
- Updated by Marc Prud'hommeaux in Pull Request #3929.
Fixed
- Missing
@SendableinRetryPolicy.- Fixed by Colin Willson in Pull Request #3994.
- Example in Usage.md.
- Deleted
.swiftpmfolder from repo to prevent Xcode from creating Alamofire schemes when used as a package.
New Contributors
- @marcprux made their first contribution in #3929
- @kybeen made their first contribution in #3955
- @gouravkmar made their first contribution in #3948
- @CWftw made their first contribution in #3994
Full Changelog: 5.10.2...5.11.0
5.10.2
Released on 2024-11-24. All issues associated with this milestone can be found using this filter.
Fixed
5.10.1
Released on 2024-10-19. All issues associated with this milestone can be found using this filter.
Fixed
5.10.0
Added
- 🔥 Full Swift concurrency support with
Sendablerequirements. Most APIs are also marked@preconcurrency, so there should be no breaking changes. Swift 5.9 now required to build. - Existential
anynow required internally by Alamofire.- Added by Keita Watanabe in Pull Request #3881.
Updated
- 🔥
Session.init(... eventMonitors:)to allow noEventMonitors at all, andCompositeEventMonitorto fix thread-safety. Potentially breaking if previously passing[]but still expectingNotifications to be posted. Pass[AlamofireNotifications()]if you need that behavior. DownloadRequest.validateto read thefileSizerather than the whole file from disk.- Links to
swiftlangrepositories.- Updated by LamTrinh.Dev in Pull Request #3882.
Fixed
- Various documentation typos.
- Fixed by Alexander Cyon in Pull Request #3891.
- Passing
queueparameter toDataStreamserializers. testThatDatesCanBeEncodedAsFormattedwhen running with a non-Gregorian calendar.- Fixed by Kittisak Phetrungnapha in Pull Request #3858.
5.9.1
Released on 2024-03-30. All issues associated with this milestone can be found using this filter.
Updated
HTTPHeadersandHTTPHeaderto beSendable.HTTPMethodto beSendable.
Fixed
- CocoaPods visionOS support by explicitly declaring it in podspec.
- Fixed by Tamás Jäger in Pull Request #3845.
5.9.0
Released on 2024-03-03. All issues associated with this milestone can be found using this filter.
Added
- [🔥 Experimental 🔥]
WebSocketRequest, as a wrapper forURLSessionWebSocketTask. This preview release is undocumented behind@_spi(WebSocket). Its API will change in the future, especially to adopt typed throws, but it is largely feature complete, tested, and usable now. API feedback, missing use cases, and bug reports are much appreciated before it goes fully public. PrivacyInfo.xcprivacyfile and integration with SPM, CocoaPods, and Carthage.- Added by Dmitry Kuleshov and Jon Shier in Pull Requests #3792, #3831, and #3839.
AlamofireDynamictarget, to force dynamic linking in Xcode when using SPM. Only use when you know you need it.AFInfoenum and a publicversionvalue to get Alamofire's current version,AFInfo.version.
Updated
- Alamofire to require Swift 5.7.1.
- Project structure to break apart large
Request.swiftfile and consolidate variousRequestsubclasses into their own files. Emptytype to beSendable.- Updated by Antoine van der Lee in Pull Request #3816.
.swiftformatto remove duplicate rules.
Fixed
- Platform deprecation warnings in
Package.swiftin newer Xcode versions. Alamofire.podspecafter project restructuring.- Various documentation typos.
- Fixed by JaewoongLee-swift, TaeHyun, and hugo-syn in various Pull Requests.
5.8.1
Released on 2023-10-26. All issues associated with this milestone can be found using this filter.
