Changelog History
Page 2
-
v6.3.1
April 04, 2019 -
v6.3.0 Changes
April 01, 2019- π CoreStore now builds on Swift 5 and Xcode 10.2
- βͺ
SetupResult<T>
,MigrationResult
, andAsynchronousDataTransaction.Result<T>
have all been converted intotypealias
es forSwift.Result<T, CoreStoreError>
. The benefit is we can now use the utility methods onSwift.Result
such asmap()
,mapError()
, etc. Their Objective-C counterparts (CSSetupResult
, etc.) remain available and can still be used as before. - π Bunch of deprecated/obsoleted stuff deleted
- π CoreData iCloud support had been deprecated for a while now and CoreStore finally removes its support in this version. If you wish to continue using it please continue to use the 6.2.x versions but it will be unlikely to get bugfixes from here on out so please try to migrate your app's data as soon as possible (iOS and macOS already had this deprecated for years)
-
v6.2.1
February 28, 2019 -
v6.2.0
February 28, 2019 -
v6.1.0
February 12, 2019 -
v6.0.0 Changes
January 23, 2019β‘οΈ β οΈThis update will break current code. Make sure to read the changes below:
π₯ Breaking changes
- π Minimum Deployment Version is raised to
iOS 10
,macOS 10.12
,tvOS 10
,watchOS 3
- π
ICloudStore
andICloudStoreObserver
s are now officially deprecated (iCloud Core Data had been deprecated quite a long time ago). βͺ Fetching and Querying methods now
throws
an error of typeCoreStoreError.persistentStoreNotFound(DynamicObject.Type)
when the specified entity does not exist in any storage. This is to distinguish difference between non-existing objects versus non-existing stores.// Beforeif let object = CoreStore.fetchOne(...) { // ...}else { // May be nil because
addStorage()
hasn't completed yet or because nothing really matches the query}// Afterdo { if let object = try CoreStore.fetchOne(...) { // ... } else { //
addStorage()
has completed but nothing matches the query } }catch { // method was called beforeaddStorage()
completed}
If you are sure you won't encounter cases where fetches happen before a storage is added to the
DataStack
, simply addtry!
to yourfetch*()
andquery*()
method calls.Conveniences
- βͺ
CoreStoreObject
s (as well as theirPartialObject
counterparts) now conform toCustomDebugStringConvertable
by default. - βͺ
CoreStoreObject
s now assert on property names that possibly collide with reserved names such asdescription
βͺ
CoreStoreObject
properties can now be observed individually without the need forObjectMonitor
s. The API is a bit similar to the standard KVO API:// NSManagedObjectlet observer = person.observe(.friends, options: [.new, .old]) { (person, change) in// ...} // CoreStoreObjectlet observer = person.friends.observe(options: [.new, .old]) { (person, change) in// ...}
You may still use
ObjectMonitor
s especially for observing multiple changes at once.- π CoreStore now has its own Playgrounds file! You can find this at the top of the workspace (run
pod try CoreStore
if you don't have it locally). You will need to build theCoreStore iOS
schema at least once to create the framework used by the Playgrounds.
π Improvements
- π Fixed queue assertion for
UnsafeDataTransaction
s (#275) - π
ListMonitor
access performance boost (#287, #288) - β Added a new
CoreStoreError.asynchronousMigrationRequired(URL)
for cases whenaddStorageAndWait()
is used together with.allowSynchronousLightweightMigration
but migrations are only allowed asynchronously (#277) - βͺ CoreStore docs are now powered by jazzy
- π Fixed issue with
InferredSchemaMappingProvider
not respecting renaming identifiers (#301)
- π Minimum Deployment Version is raised to
-
v5.3.1
September 19, 2018 -
v5.3.0
September 15, 2018 -
v5.2.0
August 09, 2018 -
v5.1.1
June 10, 2018