diff --git a/CoreStore.png b/CoreStore.png index b2feee1..640cb6a 100644 Binary files a/CoreStore.png and b/CoreStore.png differ diff --git a/CoreStore.sketch b/CoreStore.sketch index f422368..9299a7e 100644 Binary files a/CoreStore.sketch and b/CoreStore.sketch differ diff --git a/CoreStore.xcodeproj/project.pbxproj b/CoreStore.xcodeproj/project.pbxproj index 59de5a0..8331ce2 100644 --- a/CoreStore.xcodeproj/project.pbxproj +++ b/CoreStore.xcodeproj/project.pbxproj @@ -3465,7 +3465,7 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MARKETING_VERSION = 7.3.1; + MARKETING_VERSION = 8.0.0; OTHER_LDFLAGS = ( "-weak_framework", Combine, @@ -3488,7 +3488,7 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MARKETING_VERSION = 7.3.1; + MARKETING_VERSION = 8.0.0; OTHER_LDFLAGS = ( "-weak_framework", Combine, @@ -3548,7 +3548,7 @@ GCC_NO_COMMON_BLOCKS = YES; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MARKETING_VERSION = 7.3.1; + MARKETING_VERSION = 8.0.0; OTHER_LDFLAGS = ( "-weak_framework", Combine, @@ -3575,7 +3575,7 @@ GCC_NO_COMMON_BLOCKS = YES; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MARKETING_VERSION = 7.3.1; + MARKETING_VERSION = 8.0.0; OTHER_LDFLAGS = ( "-weak_framework", Combine, @@ -3641,7 +3641,7 @@ GCC_NO_COMMON_BLOCKS = YES; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MARKETING_VERSION = 7.3.1; + MARKETING_VERSION = 8.0.0; OTHER_LDFLAGS = ( "-weak_framework", Combine, @@ -3670,7 +3670,7 @@ GCC_NO_COMMON_BLOCKS = YES; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MARKETING_VERSION = 7.3.1; + MARKETING_VERSION = 8.0.0; OTHER_LDFLAGS = ( "-weak_framework", Combine, @@ -3736,7 +3736,7 @@ GCC_NO_COMMON_BLOCKS = YES; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MARKETING_VERSION = 7.3.1; + MARKETING_VERSION = 8.0.0; OTHER_LDFLAGS = ( "-weak_framework", Combine, @@ -3765,7 +3765,7 @@ GCC_NO_COMMON_BLOCKS = YES; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MARKETING_VERSION = 7.3.1; + MARKETING_VERSION = 8.0.0; OTHER_LDFLAGS = ( "-weak_framework", Combine, diff --git a/Demo/Resources/Images.xcassets/CoreStoreIcon.imageset/CoreStoreIcon.pdf b/Demo/Resources/Images.xcassets/CoreStoreIcon.imageset/CoreStoreIcon.pdf index c7ceed9..3867bef 100644 Binary files a/Demo/Resources/Images.xcassets/CoreStoreIcon.imageset/CoreStoreIcon.pdf and b/Demo/Resources/Images.xcassets/CoreStoreIcon.imageset/CoreStoreIcon.pdf differ diff --git a/README.md b/README.md index 607ff62..f964125 100644 --- a/README.md +++ b/README.md @@ -183,8 +183,8 @@ CoreStore was (and is) heavily shaped by real-world needs of developing data-dep ### Features -- **🆕SwiftUI and Combine API utilities.** `ListPublisher`s and `ObjectPublisher`s now have their `@ListState` and `@ObjectState` SwiftUI property wrappers. Combine `Publisher` s are also available through the `ListPublisher.reactive`, `ObjectPublisher.reactive`, and `DataStack.reactive` namespaces. -- **Backwards-portable DiffableDataSources implementation!** `UITableViews` and `UICollectionViews` now have a new ally: `ListPublisher`s provide diffable snapshots that make reloading animations very easy and very safe. Say goodbye to `UITableViews` and `UICollectionViews` reload errors! +- **🆕[SwiftUI](#swiftui-utilities) and [Combine](#combine) API utilities.** `ListPublisher`s and `ObjectPublisher`s now have their `@ListState` and `@ObjectState` SwiftUI property wrappers. Combine `Publisher` s are also available through the `ListPublisher.reactive`, `ObjectPublisher.reactive`, and `DataStack.reactive` namespaces. +- **Backwards-portable [DiffableDataSources implementation](#observe-a-diffable-list)!** `UITableViews` and `UICollectionViews` now have a new ally: `ListPublisher`s provide diffable snapshots that make reloading animations very easy and very safe. Say goodbye to `UITableViews` and `UICollectionViews` reload errors! - **💎Tight design around Swift’s code elegance and type safety.** CoreStore fully utilizes Swift's community-driven language features. - **🚦Safer concurrency architecture.** CoreStore makes it hard to fall into common concurrency mistakes. The main `NSManagedObjectContext` is strictly read-only, while all updates are done through serial *transactions*. *(See [Saving and processing transactions](#saving-and-processing-transactions))* - **🔍Clean fetching and querying API.** Fetching objects is easy, but querying for raw aggregates (`min`, `max`, etc.) and raw property values is now just as convenient. *(See [Fetching and querying](#fetching-and-querying))*