ReactiveLists Versions Save

React-like API for UITableView & UICollectionView

0.6.0

4 years ago

Breaking

  • Dropped support for the UITableViewRowAction API in the TableViewCellModelEditActionsprotocol, as UITableViewRowAction is deprecated in iOS 13. TableViewCellModelEditActions now uses the UISwipeActionsConfiguration API instead. (#167, @ronaldsmartin)

Changed

  • Introduce the FlowLayoutCollectionCellViewModel protocol to add support for specifying unique item sizes for collection views used with UICollectionViewFlowLayout. (#178, @ronaldsmartin)
  • Upgrades SwiftLint to 0.31.0 and add several new rules. (#164, @anayini)
  • Upgrade Travis to Xcode 10.2, SDK 12.2

0.5.1

5 years ago

Re-add support for Swift 4.2.

0.5.0

5 years ago

This release closes the 0.5.0 milestone.

Breaking

  • Migrated to Swift 5.0
  • Dropped support for iOS 10. iOS 11 and above now required.

Changed

  • Upgraded to DifferenceKit to 1.1.0

0.4.0

5 years ago

This release closes the 0.4.0 milestone.

Breaking

  • Improve semantics of row height API (#154, @asmallteapot)

    • Make TableCellViewModel.rowHeight optional, defaulting to nil
    • Add TableViewModel.defaultRowHeight, defaulting to 44.0
  • Updates the initializers for TableSectionViewModel and CollectionSectionViewModel so that the diffingKey argument is required. This prevents accidental misuse of the automatic diffing API, which was possible if you relied on the previous default parameter value. (#147, @ronaldsmartin)

  • Upgrades DifferenceKit to 0.8.0 (#153, @anayini)

Changed

  • Use allSatisfy(_:) in places where we would use first(where:) and a nil check

  • Upgrades SwiftLint to 0.30.1 (#149, @anayini)

0.3.0

5 years ago

This release closes the 0.3.0 milestone.

New

0.2.0

5 years ago

This release closes the 0.2.0 milestone.

Fixed

New

0.1.4

5 years ago

This release closes the 0.1.4 milestone.

Fixed

Don't store an empty model for the first non-nil differ. (#137, @benasher44)

0.1.3

5 years ago

This release closes the 0.1.3 milestone.

Breaking

  • Changes TableViewModel.subscript and CollectionViewModel.subscript methods that return an Optional by adding the ifExists: parameter name (separating them from future non-Optional Collection subscripts) (#131, @benasher44)

Fixed

  • Fix edge case reloading bug when reloading a table view with diffing disabled (#128, @benasher44)

0.1.2

5 years ago

This release closes the 0.1.2 milestone.

Breaking

  • Removed TableSectionViewModel.collapsed (#121, @jessesquires)

  • Removed undocumented initializers for CollectionSectionViewModel (the ones that received headerHeight: and/or footerHeight:) (#123, @jessesquires)

  • CollectionViewDriver.automaticDiffingEnabled is no longer public (#125, @jessesquires)

Fixed

  • Fixed a crash in diffing when transitioning to or from empty/nil states (#125, @jessesquires)

  • Fixed incorrect calculation for TableViewModel.isEmpty. It now correctly returns true only if all sections return true for isEmpty. (#123, @jessesquires)

New

Changed

  • Section and cell view models are now diffable by default. (#119, @jessesquires) Each provide default values for diffingKey, but you can customize them for your own needs or opt-out of automatic diffing.

    • CollectionSectionViewModel protocol now inherits from DiffableViewModel protocol
    • CollectionCellViewModel protocol now inherits from DiffableViewModel protocol
    • TableSectionViewModel protocol now inherits from DiffableViewModel protocol
    • TableCellViewModel protocol now inherits from DiffableViewModel protocol
  • CollectionViewDriver.automaticDiffingEnabled was reverted to be false by default (#125, @jessesquires)

⚠️ Known issues ⚠️

  • Automatic diffing for collection views with multiple sections currently fails (crashes) and possibly won't work in other scenarios. (Thus, the reason why auto-diffing is now false for CollectionViewDriver.) This will be fixed in the next release. Tracking at #126.

0.1.1

5 years ago

This release closes the 0.1.1 milestone.

Breaking

  • Upgrade to Swift 4.1, Xcode 9.4 now required

Fixed

  • Fix reloading bugs when going from non-nil to nil models
  • Improved TableViewDriver animations when diffing
  • Fixed rare crash caused by UIKit passing a bad IndexPath to dequeue cells
  • Podspec issues

New

  • You can now customize the cell insertion and deletion animations on TableViewDriver. (#115, @wickwirew)
  • ViewRegistrationInfo properties reuseIdentifier and registrationMethod are now public
  • ViewRegistrationInfo now conforms to Equatable
  • SupplementaryViewInfo now conforms to Equatable
  • SupplementaryViewKind now conforms to Equatable
  • CellAccessibilityFormat now conforms to Equatable
  • SupplementaryAccessibilityFormat now conforms to Equatable