Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

support Realm 1.0.2 #1270

Merged
merged 2 commits into from
Jul 26, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Charts.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ Pod::Spec.new do |s|
s.subspec "Realm" do |ss|
ss.source_files = "ChartsRealm/Classes/**/*.swift"
ss.dependency "Charts/Core"
ss.dependency "RealmSwift", "~> 0.97"
ss.dependency "RealmSwift", "~> 1.02"
end
end
4 changes: 2 additions & 2 deletions ChartsDemo/Classes/RealmBase/RealmDemoBaseViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@ - (void)initialize
{
self.edgesForExtendedLayout = UIRectEdgeNone;

NSString *defaultRealmPath = [RLMRealmConfiguration defaultConfiguration].path;
[[NSFileManager defaultManager] removeItemAtPath:defaultRealmPath error:nil];
NSURL *defaultRealmPath = [RLMRealmConfiguration defaultConfiguration].fileURL;
[[NSFileManager defaultManager] removeItemAtURL:defaultRealmPath error:nil];
}

static float randomFloatBetween(float from, float to)
Expand Down

Large diffs are not rendered by default.

344 changes: 344 additions & 0 deletions ChartsRealm/ThirdParty/Realm/ios/Realm.framework/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,347 @@
1.0.2 Release notes (2016-07-13)
=============================================================

### API breaking changes

* Attempting to add an object with no properties to a Realm now throws rather than silently
doing nothing.

### Enhancements

* Swift: A `write` block may now `throw`, reverting any changes already made in
the transaction.
* Reduce address space used when committing write transactions.
* Significantly reduce the download size of prebuilt binaries and slightly
reduce the final size contribution of Realm to applications.
* Improve performance of accessing RLMArray properties and creating objects
with List properties.

### Bugfixes

* Fix a crash when reading the shared schema from an observed Swift object.
* Fix crashes or incorrect results when passing an array of values to
`createOrUpdate` after reordering the class's properties.
* Ensure that the initial call of a Results notification block is always passed
.Initial even if there is a write transaction between when the notification
is added and when the first notification is delivered.
* Fix a crash when deleting all objects in a Realm while fast-enumerating query
results from that Realm.
* Handle EINTR from flock() rather than crashing.
* Fix incorrect behavior following a call to `[RLMRealm compact]`.
* Fix live updating and notifications for Results created from a predicate involving
an inverse relationship to be triggered when an object at the other end of the relationship
is modified.

1.0.1 Release notes (2016-06-12)
=============================================================

### API breaking changes

* None.

### Enhancements

* Significantly improve performance of opening Realm files, and slightly
improve performance of committing write transactions.

### Bugfixes

* Swift: Fix an error thrown when trying to create or update `Object` instances via
`add(:_update:)` with a primary key property of type `RealmOptional`.
* Xcode playground in Swift release zip now runs successfully.
* The `key` parameter of `Realm.objectForPrimaryKey(_:key:)`/ `Realm.dynamicObjectForPrimaryKey(_:key:)`
is now marked as optional.
* Fix a potential memory leak when closing Realms after a Realm file has been
opened on multiple threads which are running in active run loops.
* Fix notifications breaking on tvOS after a very large number of write
transactions have been committed.
* Fix a "Destruction of mutex in use" assertion failure after an error while
opening a file.
* Realm now throws an exception if an `Object` subclass is defined with a managed Swift `lazy` property.
Objects with ignored `lazy` properties should now work correctly.
* Update the LLDB script to work with recent changes to the implementation of `RLMResults`.
* Fix an assertion failure when a Realm file is deleted while it is still open,
and then a new Realm is opened at the same path. Note that this is still not
a supported scenario, and may break in other ways.

1.0.0 Release notes (2016-05-25)
=============================================================

No changes since 0.103.2.

0.103.2 Release notes (2016-05-24)
=============================================================

### API breaking changes

* None.

### Enhancements

* Improve the error messages when an I/O error occurs in `writeCopyToURL`.

### Bugfixes

* Fix an assertion failure which could occur when opening a Realm after opening
that Realm failed previously in some specific ways in the same run of the
application.
* Reading optional integers, floats, and doubles from within a migration block
now correctly returns `nil` rather than 0 when the stored value is `nil`.

0.103.1 Release notes (2016-05-19)
=============================================================

### API breaking changes

* None.

### Enhancements

* None.

### Bugfixes

* Fix a bug that sometimes resulted in a single object's NSData properties
changing from `nil` to a zero-length non-`nil` NSData when a different object
of the same type was deleted.

0.103.0 Release notes (2016-05-18)
=============================================================

### API breaking changes

* All functionality deprecated in previous releases has been removed entirely.
* Support for Xcode 6.x & Swift prior to 2.2 has been completely removed.
* `RLMResults`/`Results` now become empty when a `RLMArray`/`List` or object
they depend on is deleted, rather than throwing an exception when accessed.
* Migrations are no longer run when `deleteRealmIfMigrationNeeded` is set,
recreating the file instead.

### Enhancements

* Added `invalidated` properties to `RLMResults`/`Results`, `RLMLinkingObjects`/`LinkingObjects`,
`RealmCollectionType` and `AnyRealmCollection`. These properties report whether the Realm
the object is associated with has been invalidated.
* Some `NSError`s created by Realm now have more descriptive user info payloads.

### Bugfixes

* None.

0.102.1 Release notes (2016-05-13)
=============================================================

### API breaking changes

* None.

### Enhancements

* Return `RLMErrorSchemaMismatch` error rather than the more generic `RLMErrorFail`
when a migration is required.
* Improve the performance of allocating instances of `Object` subclasses
that have `LinkingObjects` properties.

### Bugfixes

* `RLMLinkingObjects` properties declared in Swift subclasses of `RLMObject`
now work correctly.
* Fix an assertion failure when deleting all objects of a type, inserting more
objects, and then deleting some of the newly inserted objects within a single
write transaction when there is an active notification block for a different
object type which links to the objects being deleted.
* Fix crashes and/or incorrect results when querying over multiple levels of
`LinkingObjects` properties.
* Fix opening read-only Realms on multiple threads at once.
* Fix a `BadTransactLog` exception when storing dates before the unix epoch (1970-01-01).

0.102.0 Release notes (2016-05-09)
=============================================================

### API breaking changes

* None.

### Enhancements

* Add a method to rename properties during migrations:
* Swift: `Migration.renamePropertyForClass(_:oldName:newName:)`
* Objective-C: `-[RLMMigration renamePropertyForClass:oldName:newName:]`
* Add `deleteRealmIfMigrationNeeded` to
`RLMRealmConfiguration`/`Realm.Configuration`. When this is set to `true`,
the Realm file will be automatically deleted and recreated when there is a
schema mismatch rather than migrated to the new schema.

### Bugfixes

* Fix `BETWEEN` queries that traverse `RLMArray`/`List` properties to ensure that
a single related object satisfies the `BETWEEN` criteria, rather than allowing
different objects in the array to satisfy the lower and upper bounds.
* Fix a race condition when a Realm is opened on one thread while it is in the
middle of being closed on another thread which could result in crashes.
* Fix a bug which could result in changes made on one thread being applied
incorrectly on other threads when those threads are refreshed.
* Fix crash when migrating to the new date format introduced in 0.101.0.
* Fix crash when querying inverse relationships when objects are deleted.

0.101.0 Release notes (2016-05-04)
=============================================================

### API breaking changes

* Files written by this version of Realm cannot be read by older versions of
Realm. Existing files will automatically be upgraded when they are opened.

### Enhancements

* Greatly improve performance of collection change calculation for complex
object graphs, especially for ones with cycles.
* NSDate properties now support nanoseconds precision.
* Opening a single Realm file on multiple threads now shares a single memory
mapping of the file for all threads, significantly reducing the memory
required to work with large files.
* Crashing while in the middle of a write transaction no longer blocks other
processes from performing write transactions on the same file.
* Improve the performance of refreshing a Realm (including via autorefresh)
when there are live Results/RLMResults objects for that Realm.

### Bugfixes

* Fix an assertion failure of "!more_before || index >= std::prev(it)->second)"
in `IndexSet::do_add()`.
* Fix a crash when an `RLMArray` or `List` object is destroyed from the wrong
thread.

0.100.0 Release notes (2016-04-29)
=============================================================

### API breaking changes

* `-[RLMObject linkingObjectsOfClass:forProperty]` and `Object.linkingObjects(_:forProperty:)`
are deprecated in favor of properties of type `RLMLinkingObjects` / `LinkingObjects`.

### Enhancements

* The automatically-maintained inverse direction of relationships can now be exposed as
properties of type `RLMLinkingObjects` / `LinkingObjects`. These properties automatically
update to reflect the objects that link to the target object, can be used in queries, and
can be filtered like other Realm collection types.
* Queries that compare objects for equality now support multi-level key paths.

### Bugfixes

* Fix an assertion failure when a second write transaction is committed after a
write transaction deleted the object containing an RLMArray/List which had an
active notification block.
* Queries that compare `RLMArray` / `List` properties using != now give the correct results.

0.99.1 Release notes (2016-04-26)
=============================================================

### API breaking changes

* None.

### Enhancements

* None.

### Bugfixes

* Fix a scenario that could lead to the assertion failure
"m_advancer_sg->get_version_of_current_transaction() ==
new_notifiers.front()->version()".

0.99.0 Release notes (2016-04-22)
=============================================================

### API breaking changes

* Deprecate properties of type `id`/`AnyObject`. This type was rarely used,
rarely useful and unsupported in every other Realm binding.
* The block for `-[RLMArray addNotificationBlock:]` and
`-[RLMResults addNotificationBlock:]` now takes another parameter.
* The following Objective-C APIs have been deprecated in favor of newer or preferred versions:

| Deprecated API | New API |
|:-------------------------------------------------------|:------------------------------------------------------|
| `-[RLMRealm removeNotification:]` | `-[RLMNotificationToken stop]` |
| `RLMRealmConfiguration.path` | `RLMRealmConfiguration.fileURL` |
| `RLMRealm.path` | `RLMRealmConfiguration.fileURL` |
| `RLMRealm.readOnly` | `RLMRealmConfiguration.readOnly` |
| `+[RLMRealm realmWithPath:]` | `+[RLMRealm realmWithURL:]` |
| `+[RLMRealm writeCopyToPath:error:]` | `+[RLMRealm writeCopyToURL:encryptionKey:error:]` |
| `+[RLMRealm writeCopyToPath:encryptionKey:error:]` | `+[RLMRealm writeCopyToURL:encryptionKey:error:]` |
| `+[RLMRealm schemaVersionAtPath:error:]` | `+[RLMRealm schemaVersionAtURL:encryptionKey:error:]` |
| `+[RLMRealm schemaVersionAtPath:encryptionKey:error:]` | `+[RLMRealm schemaVersionAtURL:encryptionKey:error:]` |

* The following Swift APIs have been deprecated in favor of newer or preferred versions:

| Deprecated API | New API |
|:----------------------------------------------|:-----------------------------------------|
| `Realm.removeNotification(_:)` | `NotificationToken.stop()` |
| `Realm.Configuration.path` | `Realm.Configuration.fileURL` |
| `Realm.path` | `Realm.Configuration.fileURL` |
| `Realm.readOnly` | `Realm.Configuration.readOnly` |
| `Realm.writeCopyToPath(_:encryptionKey:)` | `Realm.writeCopyToURL(_:encryptionKey:)` |
| `schemaVersionAtPath(_:encryptionKey:error:)` | `schemaVersionAtURL(_:encryptionKey:)` |

### Enhancements

* Add information about what rows were added, removed, or modified to the
notifications sent to the Realm collections.
* Improve error when illegally appending to an `RLMArray` / `List` property from a default value
or the standalone initializer (`init()`) before the schema is ready.

### Bugfixes

* Fix a use-after-free when an associated object's dealloc method is used to
remove observers from an RLMObject.
* Fix a small memory leak each time a Realm file is opened.
* Return a recoverable `RLMErrorAddressSpaceExhausted` error rather than
crash when there is insufficient available address space on Realm
initialization or write commit.

0.98.8 Release notes (2016-04-15)
=============================================================

### API breaking changes

* None.

### Enhancements

* None.

### Bugfixes

* Fixed a bug that caused some encrypted files created using
`-[RLMRealm writeCopyToPath:encryptionKey:error:]` to fail to open.

0.98.7 Release notes (2016-04-13)
=============================================================

### API breaking changes

* None.

### Enhancements

* None.

### Bugfixes

* Mark further initializers in Objective-C as NS_DESIGNATED_INITIALIZER to prevent that these aren't
correctly defined in Swift Object subclasses, which don't qualify for auto-inheriting the required initializers.
* `-[RLMResults indexOfObjectWithPredicate:]` now returns correct results
for `RLMResults` instances that were created by filtering an `RLMArray`.
* Adjust how RLMObjects are destroyed in order to support using an associated
object on an RLMObject to remove KVO observers from that RLMObject.
* `-[RLMResults indexOfObjectWithPredicate:]` now returns the index of the first matching object for a
sorted `RLMResults`, matching its documented behavior.
* Fix a crash when canceling a transaction that set a relationship.
* Fix a crash when a query referenced a deleted object.

0.98.6 Release notes (2016-03-25)
=============================================================

Expand Down
Loading