Skip to content

Releases: ReactiveCocoa/ReactiveSwift

7.2.0

11 Nov 17:07
Compare
Choose a tag to compare
  1. Change QueueScheduler to use unspecified QoS when QoS parameter is defaulted (#880, kudos to @jamieQ)
  2. Add support for visionOS (#875, kudos to @NachoSoto)
  3. Fix CI release git tag push trigger (#869, kudos to @p4checo)
  4. Find and remove items from Bag using a binary search to improve performance when the collection gets large (#878, kudos to @nickoto)
  5. Add extension to ScopedDisposable for inner SerialDisposable (#873, kudos to @sirnacnud)
  6. Updated project settings for Xcode 16, bumped min deployment targets to iOS 12, macOS 10.13, tvOS 12, watchOS 4, visionOS 1.0 (#883, kudos to @mluisbrown)

7.1.1

06 Jan 15:23
40c465a
Compare
Choose a tag to compare

This the second minor release of ReactiveSwift 7.

The minimum deployment targets for Apple OSes have been increased to iOS 11, macOS 10.13, tvOS 11 and watchOS 4. If you need to support older OS versions, please continue to use 7.0.0 or 7.1.0.

  1. Bumped deployment target to iOS 11, tvOS 11, watchOS 4, macOS 10.13, per Xcode 14 warnings (#865, kudos to @lickel)
  2. Explicitly declare APPLICATION_EXTENSION_API_ONLY for CocoaPods (#866, kudos to @lickel)

7.1.0

12 Dec 11:25
509916c
Compare
Choose a tag to compare

This the first minor release of ReactiveSwift 7.

The minimum deployment targets for Apple OSes have been increased to iOS 10, macOS 10.12, tvOS 10 and watchOS 3. If you need to support older OS versions, please continue to use 7.0.0.

Changes

  1. Add CI Release jobs on tag push (#862, kudos to @p4checo)
  2. Fix some issues related to locking, bumped min OS versions to iOS 10, macOS 10.12, tvOS 10, watchOS 3 (#859, kudos to @mluisbrown)
  3. Add async helpers to Schedulers (#857, kudos to @p4checo)
  4. Add primary associated types to SignalProducerConvertible & SignalProducerProtocol (#855, kudos to @braker1nine)
  5. Refactor Github Actions to cover more swift versions (#858, kudos to @braker1nine)
  6. Use OSAllocatedUnfairLock instead of os_unfair_lock on supported Apple platforms (#856, kudos to @mluisbrown)

7.0

19 Nov 15:03
Compare
Choose a tag to compare
7.0

This is the first release of ReactiveSwift 7.0. It has a couple of minor breaking changes in both ABI and source over ReactiveSwift 6.0.

Changes

  1. The UnidirectionalBinding operator <~ returns non optional values. (#834, kudos to @NicholasTD07)

  2. Fixed issue where SingalProducer.try(upTo:interval:count:) shares state between invocation of start on the same producer. (#829, kudos to @sebastiangrail)

  3. Signal.Event is now marked as frozen enum. (#841, kudos to @NachoSoto)

6.7.0

03 Sep 12:07
Compare
Choose a tag to compare

This is the seventh minor release of ReactiveSwift 6.

Additions

  1. Signal offers two special variants for advanced users: unserialized and reentrant-unserialized. (#797)

    The input observer of these variants assume that mutual exclusion has been enforced by its callers.

    You can create these variants through four Signal static methods: unserialized(_:), unserializedPipe(_:), reentrantUnserialized(_:) and reentrantUnserializedPipe(_:). These would be adopted by ReactiveCocoa UIKit bindings to improve interoperability with Loop, to tackle some legitimate recursive delivery scenarios (e.g. around first responder management), and also to reduce fine-grained locking in ReactiveCocoa.

    Note that the default behavior of Signal has not been changed — event serialization remains the default behavior.

  2. SignalProducer offers an unserialized variant via SignalProducer.unserialized(_:). (#797)

  3. TestScheduler can now advanced its clock by TimeInterval. (#828, kudos to @carsten-wenderdel)

Changes

  1. Signal and Properties now use fewer locks, which should translate into minor performance improvements. (#797)

  2. Fixed spelling error in Lifetime.Token class documentation. (#835, kudos to @ansonj)

  3. As a continued refactoring effort since ReactiveSwift 6.6.0, all unary Signal and SignalProducer operators have been migrated to a new internal representation.

    When debugging your application, the call stacks involving ReactiveSwift may now look cleaner, without the clutter of compiler-generated reabstraction thunks. See #799 for an example.

6.7.0 Release Candidate 1

23 Jul 17:28
Compare
Choose a tag to compare
Pre-release

Release Candidate 1 of ReactiveSwift 6.7.0 has been promoted to be the stable release.
Check the 6.7.0 release note for more details.

6.6.1

23 Jun 20:14
Compare
Choose a tag to compare

Changes

  1. Updated Carthage xcconfig dependency to 1.1 for proper building arm64 macOS variants. (#826, kudos to @MikeChugunov)

  2. Fixed issue with SignalProducer.Type.interval() making Swift 5.3 a requirement. (#823 kudos to @mluisbrown)

6.6.0

08 Mar 17:54
Compare
Choose a tag to compare

This is the sixth minor release of ReactiveSwift 6.0.

Addition

  1. Added the SignalProducer.Type.interval() operator for emitting values on a regular schedule. (#810, kudos to @mluisbrown)

Changes

  1. When debugging your application, the call stacks involving ReactiveSwift may start to look cleaner and less cryptic. This is an on-going refactoring effort to improve the developer experience. See #799 for an example.

  2. Bumped deployment target to iOS 9.0, per Xcode 12 warnings. (#818, kudos to @harleyjcooper)

  3. Fixed a few deprecation warning when the project is being built. (#819, kudos to @apps4everyone)

6.5.0

27 Oct 16:46
Compare
Choose a tag to compare

This is the fifth minor release of ReactiveSwift 6.0.

⚠️ ReactiveSwift 6.5.0 is a strongly recommended update, especially for users routinely lifting custom Signal operators to work with SignalProducer.

Changes

  1. Fixed a SignalProducer.lift issue which may leak intermediate signals. (#808)

  2. Add ExpressibleByNilLiteral constraint to OptionalProtocol (#805, kudos to @nkristek)

  3. Add variadic sugar for boolean static methods such as Property.any(boolProperty1, boolProperty2, boolProperty3) (#801, kudos to @fortmarek)

6.4.0

29 Sep 18:02
Compare
Choose a tag to compare

This is the forth minor release of ReactiveSwift 6.

Changes

  1. Minimum deployment target is now iOS 9.0+ when using Swift Package Manager, so as to silence Xcode 12 warnings. (#802)

  2. Fix a debug assertion in Lock.try() that could be raised in earlier OS versions (< iOS 10.0, < macOS 10.12). (#747, #788)

    Specifically, ReactiveSwift now recognizes EDEADLK as expected error code from pthread_mutex_trylock alongside 0, EBUSY and EAGAIN.