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
Adopt Swift 6 + concurrency + remove background diffing (#158)
Closes#157.
- Adopt Swift 6
- Support Concurrency
- Remove background diffing
Maintaining `CollectionViewDriverOptions.diffOnBackgroundQueue` is too
large of an effort for very little benefit. It was always questionable,
and against guidance from the UIKit team.
**See this blog post for more:**
https://www.jessesquires.com/blog/2024/12/19/diffable-data-source-main-actor-inconsistency
**From the UIKit team:**
> We have seen a number of issues stemming from usage of diffable data
source on background queues/threads, and the performance benefits of
doing this are generally minimal due to the fact that only the diffing
of identifiers in the old & new snapshots happens on the background
queue/thread; the work to set up and execute the Ul updates and
animations for cells always happens on the main thread. Therefore, we
made the decision to restrict diffable data source to the main actor
when using Swift Concurrency, as this ensures correctness in all cases
and is nearly always the best approach anyways. If you were previously
applying snapshots from a background queue, we recommend you update your
implementation to do so on the main queue instead.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+8Lines changed: 8 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,14 @@ NEXT
7
7
8
8
- TBA
9
9
10
+
0.2.0
11
+
-----
12
+
13
+
This release closes the [0.2.0 milestone](https://github.com/jessesquires/ReactiveCollectionsKit/milestone/3?closed=1).
14
+
15
+
**Breaking Changes:**
16
+
- Adopt Swift 6 and Swift Concurrency, remove `CollectionViewDriverOptions.diffOnBackgroundQueue`. ([@jessesquires](https://github.com/jessesquires), [#157](https://github.com/jessesquires/ReactiveCollectionsKit/issues/157), [#158](https://github.com/jessesquires/ReactiveCollectionsKit/pull/158)) **See linked issue and pull request for decision to remove `diffOnBackgroundQueue`.**
0 commit comments