Releases: oreillymedia/flapjack
Crempog — better database recreation, end of iOS 11 support
This release fixes a bug that would occur when the database was deleted and data sources were still listening to it; those data sources now drop their objects and reconstruct their fetched results controllers when the database gets recreated. This release also drops support for iOS 11, thus the bump in the minor version number.
Cheesecake v0.6.2: proper SingleCoreDataSource notifications for delete/re-insert
This release fixes an issue where SingleCoreDataSource
s would only get a deletion notification if its watched object got deleted and re-inserted in the same Core Data background save.
Cheesecake v0.6.1: modifiable predicate/sorters on CoreDataSource
This release adds modifiability of the predicate
and sort descriptors for CoreDataSource
, adds a missing API update for UITableView
for the enhancements made in 0.6.0, and fixes a bug with Swift Package Manager support.
Cheesecake: DataSource section/item change fixes
This release ensures that DataSourceChange
and DataSourceSectionChange
instances are collected in a specific order and provided to listeners in that specific order so they can be processed in that order, instead of being in an unordered Set
. This is necessary to avoid collisions where some change sets could affect an object twice, and in those instances, actions need to happen in a specific order or else you'll end up with runtime errors.
Strawberry: improvements to Core Data support
This release changes the mergePolicy
assigned to the DataContext
vended by vendBackgroundContext
to NSMergeByPropertyStoreTrumpMergePolicy
to favor in-memory objects over those in the store, and fixes the way we deleteDatabase
in CoreDataAccess
to ensure potentially botched migration files get deleted no matter what.
Boysenberry: Swift 5 support, minor bugfixes
This release switches Flapjack to require Swift 5, and includes a bugfix from 0.3.1 that caused the SingleCoreDataSource.onChange
handler to fire way too frequently.
Chocolate Chip v0.3.1: A bugfix
This release includes a fix for a bug that caused the SingleCoreDataSource.onChange
handler to fire way too frequently.
Chocolate Chip: Rename class, 2 methods
This release merely renames CoreSingleDataSource
to SingleCoreDataSource
, and renames that class's (and CoreDataSource
's) execute
method to startListening
for better clarity of purpose.
Blueberry: Compatibility updates and bugfixes
Fixes a handful of issues that came about when trying to integrate Flapjack with one of our internal apps. Many of these changes are things we had already done to similar code inside of the app, but those changes had never made their way back around to Flapjack.
DataContext.findOrCreate(_:attributes:)
now returns a non-optional tupleNSManagedObjectContext
will onlypersist()
if there are actual persistent changed values (thanks toisDirty
)Set<>
s now get parsed properly when fed into anNSCompoundPredicate
using an attributes dictionaryCoreSingleDataSource
now hinges primarily on anNSPredicate
instead of anattributes
dictionaryCoreSingleDataSource
also now listens for contexts being created and torn down, in case the data source's lifecycle outlives that of the context it was listening toCoreSingleDataSource
now has a few more convenience initializersCoreDataSource
no longer tracks its ownNSPersistentStore
array- Objects now properly get found from mixed-type object sets in an
NSManagedObjectContext
change notification - A new method exists for getting a single entity from a
Layer
inside ofNSMigrationManager
- A few properties have been marked as
public
that were previouslyinternal
orprivate
MigrationPolicy
is nowopen
for subclassing
Buttermilk: Initial release
Welcome to Flapjack! See our readme for more information.