Note
All notable changes to this project will be documented in this file.
Queuer
adheres to Semantic Versioning.
1.3.x
Releases - 1.3.0 | 1.3.1 | 1.3.21.2.x
Releases - 1.2.0 | 1.2.11.1.x
Releases - 1.1.01.0.x
Releases - 1.0.0
3.0.1 - No Loop No Party
- Fixed a bug that would run the
executionBlock
indefinitely when using async/await APIs - #32
- Improved documentation
3.0.0 - The Phoenix
Warning
The goal of this release is to make the repo more maintainable. To do so, only Swift Package Manager will be supported. If you rely on any of the removed dependencies managers, like CocoaPods or Carthage, please stick to the previous version.
Queuer 2.1.1 is compatible with Swift 5.10, you can still use it in your projects.
- Changed CI service to GitHub Actions
- Changed minumum iOS version to 12.0 - #24
- Changed minimum macOS version to 10.13
- Changed minimum tvOS version to 12.0
- Changed minimum watchOS version to 4.0
- Changed minimum macCatalyst version to 13.0
- Added visionOS 1.0 support
- Added full Linux support
- Added manual finish feature to
ConcurrentOperation
class, more info on how to use it here - #28 - Added new
GroupOperation
operation type, more info on how to use it here - #14 #17 - Added support to Xcode 15.3 and Swift 5.10
- Added
macCatalyst
support - Added Swift Package Index documentation support - #26 #30
- Added Dependabot support
- Fixed a
Scheduler
bug that may prevent to correctly call the event handler
- Improved tests - #20
- Improved CONTRIBUTING.md guidelines
- Removed
SynchronousOperation
. Use a queue withmaxConcurrentOperationCount
set to1
to execute a synchronous queue - Removed
isAsynchronous
variable fromConcurrentOperation
as always ignored byOperationQueue
s. You can override it anyway if you need to, since it's inferred from theOperation
class - Removed
hasFailed
variable fromConcurrentOperation
class as it was deprecated in version 2.0.1 - Removed
finish(_ hasFailed: Bool)
function fromConcurrentOperation
class as it was deprecated in version 2.0.1 - Removed State Restoration feature as it was not fully working and never went out of beta
- Removed SwiftLint support
- Removed CocoaPods support
- Removed Carthage support
- Removed Coveralls support
- Removed Slather support
- Removed Jazzy support
Thanks to Kalzem, changmingw96, cristianilea-lateral, kradalby, mradzinski and marinofaggiana for this release.
2.1.1 - Swift 5.1 Support
- Added support to Xcode 11.2 and Swift 5.1
- Updated SwiftLint to 0.35.0
2.1.0 - Swift 5.0 Support
- Added support to Xcode 10.2 and Swift 5.0
2.0.1 - Better APIs
- Renamed
open func finish(_ hasFailed: Bool)
toopen func finish(success: Bool = true)
, the old one has been deprecated but still valid #12 - Renamed
hasFailed
variable tosuccess
, the old one has been deprecated but still valid #12
- Updated SwiftLint to 0.29.2
Thanks to @zykloman for this release
2.0.0 - Let Me Retry
- Added support to Xcode 10 and Swift 4.2
- Added retry feature to
ConcurrentOperation
class #10, more info on how to use it here and here - Added
addCompletionHandler(_:)
function toQueuer
class - Added a
Scheduler
class to better schedule your tasks, more info on how to use it here - Added queue state restoration (beta) feature, more info on how to use it here
-
Changed
executionBlock
ofConcurrentOperation
to pass theconcurrentOperation
variable inside the closure to be able to use the retry feature. If you don't need it simply put_ in
after the block creation:let concurrentOperation = ConcurrentOperation { _ in /// Your task here }
This also affects
SynchronousOperation
-
Changed from Codecov to Coveralls service for code coverage
- Improved
Semaphore
with timeout handling - Updated SwiftLint to 0.27.0
- Removed watchOS 2.0 support in favor of watchOS 3.0, thanks to an App Store submission bug #11
- Removed Hound CI
Thanks to SureshSc, zykloman and debjitk for this release
1.3.2 - Linux Quality
- Added
QualityOfService
on Linux - Deprecated
RequestOperation
, it will be removed in Queuer 2
- Updated SwiftLint to 0.26.0
- Improved code with new SwiftLint rules
1.3.1 - Swift 4.1 Support
- Added support to Xcode 9.3 and Swift 4.1
OperationQueue
in Queuer class is nowopen
Thanks to BabyAzerty for this release
1.3.0 - Open Everything
- Added
swift_version
property in podspec file for CocoaPods 1.4.0 - Added Hound CI
body
,headers
andquery
parameters in RequestOperation class may now benil
- RequestOperation class and all of its functions are now
open
session
object in RequestOperation class in now open and haswaitsForConnectivity
sets totrue
for iOS 11 or later by default- Updated SwiftLint to 0.25.0
- Now Swift Package Manager correctly builds Queuer with Swift 4
- Removed
self
captures
1.2.1 - Unwanted Alert
- Removed alert on Xcode 9 that shows the ability to convert the code to Swift 4 even it's already written in Swift 4
1.2.0 - Swift 4 Support
- Added support to Swift 4 and Xcode 9
- Using new Xcode 9 build system
- Updated SwiftLint to 0.22.0
1.1.0 - Quality Of Service
- Added
qualityOfService
property on Queuer class - Added
ddChainedOperations(_ operations: Operation..., completionHandler:
convenience function on Queuer class
- Improved the
init
function on Queuer class withmaxConcurrentOperationCount
andqualityOfService
properties, both with a default value, so no changes are required - Updated SwiftLint to 0.21.0
- Now
ConcurrentOperation
is subclassable withopen
instead ofpublic
Access Control #2 - Fixed tests that sometimes fails
1.0.0 - First Queue
- Added
ConcurrentOperation
to create asynchronous operations - Added
Queuer
to handle ashared
queue or create a custom one - Added
RequestOperation
to create network request operations - Added
Semaphore
to create a Dispath semaphore - Added
SynchronousOperation
to create synchronous operations