The changelog for ReactiveLists
. Also see the releases on GitHub.
- Added
lightweightDiffing
option toTableViewDriver
- Use default row heights for cell estimation
- Added UITableViewDelegate calls for estimated row, header, footer heights
- Changed default header/footer heights from
leastNormalMagnitude
to 0.0
- Added support for CollectionView cells lazy-loading.
- Added support for deselect and willDispaly cells.
- Added support for should select cell
- Added SPM Support
- Introduce
height(forPosition position: TableSectionPosition)
forTableSectionHeaderFooterViewModel
to facilitate determining height based on relative table position - Upgrades SwiftLint
- Upgrade CI to Xcode 11.5
- Dropped support for the
UITableViewRowAction
API in theTableViewCellModelEditActions
protocol, asUITableViewRowAction
is deprecated in iOS 13.TableViewCellModelEditActions
now uses theUISwipeActionsConfiguration
API instead. (#167, @ronaldsmartin)
- Introduce the
FlowLayoutCollectionCellViewModel
protocol to add support for specifying unique item sizes for collection views used withUICollectionViewFlowLayout
. (#178, @ronaldsmartin) - Upgrades SwiftLint to 0.31.0 and add several new rules. (#164, @anayini)
- Upgrade Travis to Xcode 10.2, SDK 12.2
Re-add support for Swift 4.2 to make transitioning easier.
This release closes the 0.5.0 milestone.
- Migrated to Swift 5.0
- Dropped support for iOS 10. iOS 11 and above now required.
- Upgraded to DifferenceKit to 1.1.0
This release closes the 0.4.0 milestone.
-
Improve semantics of row height API (#154, @asmallteapot)
- Make
TableCellViewModel.rowHeight
optional, defaulting tonil
- Add
TableViewModel.defaultRowHeight
, defaulting to44.0
- Make
-
Updates the initializers for
TableSectionViewModel
andCollectionSectionViewModel
so that thediffingKey
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)
-
Use
allSatisfy(_:)
in places where we would usefirst(where:)
and anil
check
This release closes the 0.3.0 milestone.
- Drop iOS 9 and migrate to Swift 4.2 (#144, @benasher44)
This release closes the 0.2.0 milestone.
- Auto-diffing bugs and crashes (#136, @benasher44)
-
TableSectionViewModel
andCollectionSectionViewModel
now implementCollection
(#135, @benasher44) -
DifferenceKit is now used instead of Dwifft for faster diffing (#136, @benasher44)
This release closes the 0.1.4 milestone.
- Don't store an empty model for the first non-nil differ. (#137, @benasher44)
This release closes the 0.1.3 milestone.
- Changes
TableViewModel.subscript
andCollectionViewModel.subscript
methods that return anOptional
by adding theifExists:
parameter name (separating them from future non-Optional
Collection
subscripts) (#131, @benasher44)
- Fix edge case reloading bug when reloading a table view with diffing disabled (#128, @benasher44)
This release closes the 0.1.2 milestone.
-
Removed
TableSectionViewModel.collapsed
(#121, @jessesquires) -
Removed undocumented initializers for
CollectionSectionViewModel
(the ones that receivedheaderHeight:
and/orfooterHeight:
) (#123, @jessesquires) -
CollectionViewDriver.automaticDiffingEnabled
is no longer public (#125, @jessesquires)
-
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 returntrue
forisEmpty
. (#123, @jessesquires)
-
Added
CollectionSectionViewModel.isEmpty
property (#123, @jessesquires) -
Added
CollectionViewModel.isEmpty
property (#123, @jessesquires)
-
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 fromDiffableViewModel
protocolCollectionCellViewModel
protocol now inherits fromDiffableViewModel
protocolTableSectionViewModel
protocol now inherits fromDiffableViewModel
protocolTableCellViewModel
protocol now inherits fromDiffableViewModel
protocol
-
CollectionViewDriver.automaticDiffingEnabled
was reverted to befalse
by default (#125, @jessesquires)
- 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
forCollectionViewDriver
.) This will be fixed in the next release. Tracking at #126.
- Fix edge case reloading bug when reloading a table view with diffing disabled
This release closes the 0.1.1 milestone.
- Upgrade to Swift 4.1, Xcode 9.4 now required
- 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
- You can now customize the cell insertion and deletion animations on
TableViewDriver
. (#115, @wickwirew) ViewRegistrationInfo
propertiesreuseIdentifier
andregistrationMethod
are now publicViewRegistrationInfo
now conforms toEquatable
SupplementaryViewInfo
now conforms toEquatable
SupplementaryViewKind
now conforms toEquatable
CellAccessibilityFormat
now conforms toEquatable
SupplementaryAccessibilityFormat
now conforms toEquatable
Initial release 🎉