Instagram/IGListKit breaking changes
swift22 curated breaking changes across major versions of Instagram/IGListKit. Use this as a migration checklist before bumping dependencies.
- 5.0.0 \u2192 5.1.0breaking
Added methods to the `IGListAdapterDelegate` to include callback methods for any time a cell will appear or did disappear from the screen. This can be used in conjunction with the `IGListAdapterDelegateAnnouncer` to listen globally for cell lifecycle events. Any implementer of `IGListAdapterDelegate` must update to include these methods. [Jesse Seidman](https://github.com/jseidman95) [(fa50aa1)](https://github.com/Instagram/IGListKit/commit/fa50aa1cf1be85940787e211d23eb5e7873dbf24), [(d1d6f9d)](
- 5.0.0 \u2192 5.1.0breaking
Added `willCrash` delegate methods in order to capture incoming crashes in IGListKit for analysis. Any implementer of `IGListAdapterUpdaterDelegate` and/or `IGListUpdatingDelegate` must update to include these methods. [Hoà V. DINH](https://github.com/dinhvh) [(da1050e)](https://github.com/Instagram/IGListKit/commit/da1050ef397c9cf38e88ac047196fe53fe6febb0)
- 4.0.0 \u2192 5.0.0breaking
Changed iOS deployment target to 11.0 and macOS deployment target to 10.13 [Kent Sutherland](https://github.com/ksuther) [(#1573)](https://github.com/Instagram/IGListKit/pull/1573)
- 4.0.0 \u2192 5.0.0breaking
Removed unneeded diffing functions `IGListDiffExperiment(...)` and `IGListDiffPathsExperiment(...)`. [Maxime Ollivier](https://github.com/maxolls) [(254c041)](https://github.com/Instagram/IGListKit/commit/254c04196a6b906a155d8a1dd670c720500bed6c)
- 4.0.0 \u2192 5.0.0breaking
`ListSectionController.collectionContext` and `ListGenericSectionController.object` are now implicitly-unwrapped optionals in Swift. [Nate Stedman](https://github.com/natestedman) [(a6526ce)](https://github.com/Instagram/IGListKit/commit/a6526ce097fe38de85459cd6a34d948ec8440db7)
- 4.0.0 \u2192 5.0.0breaking
The argument of `IGListGenericSectionController`'s `-didUpdateToObject:` is now generic, not `id`. [Nate Stedman](https://github.com/natestedman) [(a6526ce)](https://github.com/Instagram/IGListKit/commit/a6526ce097fe38de85459cd6a34d948ec8440db7)
- 4.0.0 \u2192 5.0.0breaking
Updated `IGListUpdatingDelegate`, including a new method to safely perform `[IGListAdapter setDataSource:]` and changes to `-performUpdateWithCollectionViewBlock` that allows section-controllers to be created before the diffing (and therefore use a more accurate `toObjects` array) [Maxime Ollivier](https://github.com/maxolls) [(43af883)](https://github.com/Instagram/IGListKit/commit/43af8838dfdcfc50b8145c56cfecb5f5ed9195a5) ```objc // OLD
- 3.4.0 \u2192 4.0.0breaking
Added Swift annotation name to `IGListAdapterDelegate` which removes `IG` prefix. The new name for Swift clients is `ListAdapterDelegate`. [Andrea Antonioni](https://github.com/andreaantonioni) [(#1116)](https://github.com/Instagram/IGListKit/pull/1116)
- 3.4.0 \u2192 4.0.0breaking
Remove support for iOS 8 [Ian Perry](https://github.com/iperry90) [(#1381)](https://github.com/Instagram/IGListKit/pull/1381)
- 3.4.0 \u2192 4.0.0breaking
`IGListKit` has been split into `IGListKit` and `IGListDiffKit` for Xcode and Carthage builds. Cocoapods continues to use an all-inclusive `IGListKit` podspec. [Nate Stedman](https://github.com/natestedman) [(#1377)](https://github.com/Instagram/IGListKit/pull/1377)
- 3.4.0 \u2192 4.0.0breaking
Remove `coalescanceTime` from IGListAdapterUpdate, since it increase crash rate. [Zhisheng Huang](https://github.com/lorixx) [(2f76e8c)](https://github.com/Instagram/IGListKit/commit/2f76e8ce684bf7cea75ee52f25d4ea0af3e0081b)
- 3.4.0 \u2192 4.0.0breaking
All `IGListBindingSectionControllerSelectionDelegate` methods are now required. [Bofei Zhu](https://github.com/zhubofei) [(#1186)](https://github.com/Instagram/IGListKit/pull/1186)
- 2.1.0 \u2192 3.0.0breaking
Added Swift annotation names which remove `IG` prefixes from class names, C functions, and other APIs. Note, this only affects Swift clients. [Robert Payne](https://github.com/robertjpayne) [(#593)](https://github.com/Instagram/IGListKit/pull/593) Example: ```swift // OLD class MySectionController : IGListSectionController { ... } // NEW class MySectionController : ListSectionController { ... } // OLD IGListDiff([], [], .equality) // NEW ListDiff(oldArray: [], newArray: [], .equality) ```
- 2.1.0 \u2192 3.0.0breaking
Updated `didSelect` delegate call in `IGListSingleSectionControllerDelegate` to include object. [Sherlouk](https://github.com/Sherlouk) [(#397)](https://github.com/Instagram/IGListKit/pull/397) ```objc // OLD
- 2.1.0 \u2192 3.0.0breaking
(void)didSelectSingleSectionController:(IGListSingleSectionController *)sectionController; // NEW
- 2.1.0 \u2192 3.0.0breaking
(void)didSelectSectionController:(IGListSingleSectionController *)sectionController withObject:(id)object; ```
- 2.1.0 \u2192 3.0.0breaking
`IGListUpdatingDelegate` now conforms to `NSObject`, bringing it in line with other framework protocols. [Adlai Holler](https://github.com/Adlai-Holler) [(#435)](https://github.com/Instagram/IGListKit/pull/435)
- 1.0.0 \u2192 2.0.0breaking
Diff result method on `IGListIndexPathResult` changed. `-resultWithUpdatedMovesAsDeleteInserts` was removed and replaced with `-resultForBatchUpdates` [(b5aa5e3)](https://github.com/Instagram/IGListKit/commit/b5aa5e39002854c947e777c11ae241f67f24d19c)
- 1.0.0 \u2192 2.0.0breaking
(IGListIndexPathResult *)resultWithUpdatedMovesAsDeleteInserts;
- 1.0.0 \u2192 2.0.0breaking
(IGListIndexPathResult *)resultForBatchUpdates; ```
- 1.0.0 \u2192 2.0.0breaking
`IGListDiffable` equality method changed from `isEqual:` to `isEqualToDiffableObject:` [(ab890fc)](https://github.com/Instagram/IGListKit/commit/ab890fc6070f170a2db5a383a6296e62dcf75678)
- 1.0.0 \u2192 2.0.0breaking
The default `NSObject<IGListDiffable>` category was removed and replaced with `NSString<IGListDiffable>` and `NSNumber<IGListDiffable>` categories. All other models will need to conform to `IGListDiffable`. [(3947600)](https://github.com/Instagram/IGListKit/commit/394760081c7c2daa5ae6c18e00cdeaf2b67e22c1)
Get this data programmatically \u2014 free, no authentication.
curl https://depscope.dev/api/breaking/swift/Instagram/IGListKit