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 SingleCoreDataSources 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 tupleNSManagedObjectContextwill onlypersist()if there are actual persistent changed values (thanks toisDirty)Set<>s now get parsed properly when fed into anNSCompoundPredicateusing an attributes dictionaryCoreSingleDataSourcenow hinges primarily on anNSPredicateinstead of anattributesdictionaryCoreSingleDataSourcealso now listens for contexts being created and torn down, in case the data source's lifecycle outlives that of the context it was listening toCoreSingleDataSourcenow has a few more convenience initializersCoreDataSourceno longer tracks its ownNSPersistentStorearray- Objects now properly get found from mixed-type object sets in an
NSManagedObjectContextchange notification - A new method exists for getting a single entity from a
Layerinside ofNSMigrationManager - A few properties have been marked as
publicthat were previouslyinternalorprivate MigrationPolicyis nowopenfor subclassing
Buttermilk: Initial release
Welcome to Flapjack! See our readme for more information.