diff --git a/README.md b/README.md index 29cbad6d9..8aac037c4 100644 --- a/README.md +++ b/README.md @@ -24,14 +24,58 @@ MagicalRecord was inspired by the ease of Ruby on Rails' Active Record fetching. MagicalRecord Platform Requirements: -* iOS5.0 and newer, or Mac OS 10.7 and newer +* iOS5.x or newer, or Mac OS 10.7 and newer * ARC An iOS4 compatible version is available for use. Reference [tag 1.8.3](https://github.com/magicalpanda/MagicalRecord/tree/1.8.3). -## Updating to 2.0 +## Updating to 2.1 + +MagicalRecord 2.1 is considered a major update since there are class and API changes that may affect existing uses of MagicalRecord in your code. + +### Changes to saving + +The APIs for saving have been revised to behave more consistently overall, and also to follow naming patterns present in Core Data. Extensive work has gone into adding automated tests that ensure the save methods (both new and deprecated) continue to work as expected through future updates. + +`MR_save` has been temporarily restored to it's original state of running synchronously on the current thread, and saving to the persistent store. However, the __`MR_save` method is marked as deprecated and will be removed in the next major release of MagicalRecord (version 3.0)__. You should use `MR_saveToPersistentStoreAndWait` if you want the same behaviour in future versions of the library. + +### New Methods +The following methods have been added: + +#### NSManagedObjectContext+MagicalSaves +- `- (void) MR_saveOnlySelfWithCompletion:(MRSaveCompletionHandler)completion;` +- `- (void) MR_saveToPersistentStoreWithCompletion:(MRSaveCompletionHandler)completion;` +- `- (void) MR_saveOnlySelfAndWait;` +- `- (void) MR_saveToPersistentStoreAndWait;` +- `- (void) MR_saveWithOptions:(MRSaveContextOptions)mask completion:(MRSaveCompletionHandler)completion;` + +#### __MagicalRecord+Actions__ +- `+ (void) saveWithBlock:(void(^)(NSManagedObjectContext *localContext))block;` +- `+ (void) saveWithBlock:(void(^)(NSManagedObjectContext *localContext))block completion:(MRSaveCompletionHandler)completion;` +- `+ (void) saveWithBlockAndWait:(void(^)(NSManagedObjectContext *localContext))block;` +- `+ (void) saveUsingCurrentThreadContextWithBlock:(void (^)(NSManagedObjectContext *localContext))block completion:(MRSaveCompletionHandler)completion;` +- `+ (void) saveUsingCurrentThreadContextWithBlockAndWait:(void (^)(NSManagedObjectContext *localContext))block;` + +### Deprecations + +The following methods have been deprecated in favour of newer alternatives, and will be removed in MagicalRecord 3.0: + +#### NSManagedObjectContext+MagicalSaves +- `- (void) MR_save;` +- `- (void) MR_saveWithErrorCallback:(void(^)(NSError *error))errorCallback;` +- `- (void) MR_saveInBackgroundCompletion:(void (^)(void))completion;` +- `- (void) MR_saveInBackgroundErrorHandler:(void (^)(NSError *error))errorCallback;` +- `- (void) MR_saveInBackgroundErrorHandler:(void (^)(NSError *error))errorCallback completion:(void (^)(void))completion;` +- `- (void) MR_saveNestedContexts;` +- `- (void) MR_saveNestedContextsErrorHandler:(void (^)(NSError *error))errorCallback;` +- `- (void) MR_saveNestedContextsErrorHandler:(void (^)(NSError *error))errorCallback completion:(void (^)(void))completion;` + +### MagicalRecord+Actions +- `+ (void) saveWithBlock:(void(^)(NSManagedObjectContext *localContext))block;` +- `+ (void) saveInBackgroundWithBlock:(void(^)(NSManagedObjectContext *localContext))block;` +- `+ (void) saveInBackgroundWithBlock:(void(^)(NSManagedObjectContext *localContext))block completion:(void(^)(void))completion;` +- `+ (void) saveInBackgroundUsingCurrentContextWithBlock:(void (^)(NSManagedObjectContext *localContext))block completion:(void (^)(void))completion errorHandler:(void (^)(NSError *error))errorHandler;` -MagicalRecord 2.0 is considered a major update since there were some class and API refactorings that will effect previous installations of MagicalRecord in your code. The most straight forward change is that *MagicalRecordHelpers* and *MRCoreDataAction* have both been replaced with a single class, *MagicalRecord*. ## ARC Support