You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Offer Signal variants for advanced users.
* Switch `flatMapEvent` to use `nonSerializing`.
* Test coverage.
* Changelog
* Expand the changelog.
* Fix indentation.
* Extend `nonSerializing()` to properties and producers too.
* Make `on()` and `withLatest` non-serializing
* Signals made by Producer can be non-serializing too
* NonSerializing -> Unserialized
* Remove use of @_specialize
* reentrant -> reentrantUnserialized
* Update changelog
* Revive @_specialize
Copy file name to clipboardExpand all lines: CHANGELOG.md
+15Lines changed: 15 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,20 @@
1
1
# master
2
2
*Please add new entries at the top.*
3
3
4
+
1.`Signal` offers two special variants for advanced users: unserialized and reentrant-unserialized. (#797)
5
+
6
+
The input observer of these variants assume that mutual exclusion has been enforced by its callers.
7
+
8
+
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.
9
+
10
+
Note that the default behavior of `Signal` has not been changed — event serialization remains the default behavior.
11
+
12
+
1.`SignalProducer` offers an unserialized variant via `SignalProducer.unserialized(_:)`. (#797)
13
+
14
+
1.`Signal` and Properties now use fewer locks, which should translate into minor performance improvements. (#797)
15
+
16
+
1. Added the `interval` operator (#810, kudos to @mluisbrown)
17
+
4
18
1.`TestScheduler` can `advance` by `TimeInterval`. (#828)
5
19
6
20
1. Fixed spelling error in `Token` class documentation.
@@ -19,6 +33,7 @@
19
33
1. Bumped deployment target to iOS 9.0, per Xcode 12 warnings. (#818, kudos to @harleyjcooper)
20
34
21
35
1. Fixed a few deprecation warning when the project is being built. (#819, kudos to @apps4everyone)
0 commit comments