You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
*[ObjectServer] APIs of `UserStore` have been changed to support same user identity but different authentication server scenario.
35
-
*[ObjectServer] Added `SyncUser.allSessions` to retrive the all valid sessions belonging to the user (#4783).
45
+
*[ObjectServer] Added `SyncUser.allSessions` to retrieve the all valid sessions belonging to the user (#4783).
36
46
* Added `Nullable` annotation to methods that may return `null` in order to improve Kotlin usability. This also introduced a dependency to `com.google.code.findbugs:jsr305`.
37
47
* Added support for new data type `MutableRealmIntegers`. The new type behaves almost exactly as a reference to a Long (mutable nullable, etc) but supports `increment` and `decrement` methods, which implement a Conflict Free Replicated Data Type, whose value will converge even when changed across distributed devices with poor connections (#4266).
38
48
39
49
### Bug Fixes
40
50
41
51
### Internal
52
+
*[ObjectServer] removed `ObjectServerUser` and its inner classes, in a step to reduce `SyncUser` complexity (#3741).
53
+
*[ObjectServer] changed the `SyncSessionStopPolicy` to `AfterChangesUploaded` to align with other binding and to prevent use cases where the Realm might be deleted before the last changes get synchronized (#5028).
42
54
43
55
44
56
## 3.5.1 (YYYY-MM-DD)
@@ -48,7 +60,8 @@
48
60
* Potential crash after using `Realm.getSchema()` to change the schema of a typed Realm. `Realm.getSchema()` now returns an immutable `RealmSchema` instance.
49
61
*`Realm.copyToRealmOrUpdate()` might cause a `RealmList` field to contain duplicated elements (#4957).
50
62
*`RealmSchema.create(String)` and `RealmObjectSchema.setClassName(String)` did not accept class name whose length was 51 to 57.
51
-
* Workaround for a Android JVM crash when using 'compactOnLaunch()' (#4964).
63
+
* Workaround for an Android JVM crash when using `compactOnLaunch()` (#4964).
64
+
* Class name in exception message from link query is wrong (#5096).
52
65
53
66
### Internal
54
67
@@ -765,7 +778,7 @@ No changes since 0.91.1.
765
778
766
779
### Breaking changes
767
780
768
-
*@PrimaryKey field value can now be null for String, Byte, Short, Integer, and Long types. Older Realms should be migrated, using RealmObjectSchema.setNullable(), or by adding the @Required annotation. (#2515).
781
+
*@PrimaryKey field value can now be null for String, Byte, Short, Integer, and Long types. Older Realms should be migrated, using RealmObjectSchema.setNullable(), or by adding the @Required annotation (#2515).
769
782
*`RealmResults.clear()` now throws UnsupportedOperationException. Use `RealmResults.deleteAllFromRealm()` instead.
770
783
*`RealmResults.remove(int)` now throws UnsupportedOperationException. Use `RealmResults.deleteFromRealm(int)` instead.
771
784
*`RealmResults.sort()` and `RealmList.sort()` now return the sorted result instead of sorting in-place.
@@ -807,7 +820,7 @@ No changes since 0.91.1.
807
820
### Bug fixes
808
821
809
822
* Field annotated with @Ignored should not have accessors generated by the bytecode transformer (#2478).
810
-
* RealmResults and RealmObjects can no longer accidentially be GC'ed if using `asObservable()`. Previously this caused the observable to stop emitting. (#2485).
823
+
* RealmResults and RealmObjects can no longer accidentially be GC'ed if using `asObservable()`. Previously this caused the observable to stop emitting (#2485).
811
824
* Fixed an build issue when using Realm in library projects on Windows (#2484).
812
825
* Custom equals(), toString() and hashCode() are no longer incorrectly overwritten by the proxy class (#2545).
813
826
@@ -916,7 +929,7 @@ No changes since 0.91.1.
916
929
* Updated Realm Core to 0.95.6
917
930
- Fixed a bug where an async query can be copied incomplete in rare cases (#1717).
918
931
* Fixed potential memory leak when using async query.
919
-
* Added a check to prevent removing a RealmChangeListener from a non-Looper thread (#1962). (Thank you @hohnamkung)
932
+
* Added a check to prevent removing a RealmChangeListener from a non-Looper thread (#1962). (Thank you @hohnamkung.)
920
933
921
934
## 0.87.0 (2015-12-17)
922
935
* Added Realm.asObservable(), RealmResults.asObservable(), RealmObject.asObservable(), DynamicRealm.asObservable() and DynamicRealmObject.asObservable().
@@ -966,7 +979,7 @@ No changes since 0.91.1.
966
979
* Added Realm.isEmpty().
967
980
* Setters in managed object for RealmObject and RealmList now throw IllegalArgumentException if the value contains an invalid (unmanaged, removed, closed, from different Realm) object (#1749).
968
981
* Attempting to refresh a Realm while a transaction is in process will now throw an IllegalStateException (#1712).
969
-
* The Realm AAR now also contains the ProGuard configuration (#1767). (Thank you @skyisle)
982
+
* The Realm AAR now also contains the ProGuard configuration (#1767). (Thank you @skyisle.)
970
983
* Updated Realm Core to 0.95.
971
984
- Removed reliance on POSIX signals when using encryption.
972
985
@@ -988,7 +1001,7 @@ No changes since 0.91.1.
988
1001
989
1002
## 0.84.0 (2015-10-22)
990
1003
* Added support for async queries and transactions.
991
-
* Added support for parsing JSON Dates with timezone information. (Thank you @LateralKevin)
1004
+
* Added support for parsing JSON Dates with timezone information. (Thank you @LateralKevin.)
992
1005
* Added RealmQuery.isEmpty().
993
1006
* Added Realm.isClosed() method.
994
1007
* Added Realm.distinct() method.
@@ -1060,7 +1073,7 @@ No changes since 0.91.1.
1060
1073
* Deprecated Realm.deleteFile(). It has been replaced by Realm.deleteRealm(RealmConfiguration).
1061
1074
* Deprecated Realm.compactFile(). It has been replaced by Realm.compactRealm(RealmConfiguration).
1062
1075
* RealmList.add(), RealmList.addAt() and RealmList.set() now copy unmanaged objects transparently into Realm.
1063
-
* Realm now works with Kotlin (M12+). (Thank you @cypressious)
1076
+
* Realm now works with Kotlin (M12+). (Thank you @cypressious.)
1064
1077
* Fixed a performance regression introduced in 0.80.3 occurring during the validation of the Realm schema.
1065
1078
* Added a check to give a better error message when null is used as value for a primary key.
1066
1079
* Fixed unchecked cast warnings when building with Realm.
@@ -1074,7 +1087,7 @@ No changes since 0.91.1.
1074
1087
* RealmChangedListener now also gets called on the same thread that did the commit.
1075
1088
* Fixed bug where Realm.createOrUpdateWithJson() reset Date and Binary data to default values if not found in the JSON output.
1076
1089
* Fixed a memory leak when using RealmBaseAdapter.
1077
-
* RealmBaseAdapter now allow RealmResults to be null. (Thanks @zaki50)
1090
+
* RealmBaseAdapter now allow RealmResults to be null. (Thanks @zaki50.)
1078
1091
* Fixed a bug where a change to a model class (`RealmList<A>` to `RealmList<B>`) would not throw a RealmMigrationNeededException.
1079
1092
* Fixed a bug where setting multiple RealmLists didn't remove the previously added objects.
1080
1093
* Solved ConcurrentModificationException thrown when addChangeListener/removeChangeListener got called in the onChange. (Thanks @beeender)
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+10Lines changed: 10 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,6 +33,16 @@ While we havn't described our code style yet, please just follow the existing st
33
33
34
34
For source code written in C++, we format it using `clang-format`. You can use the [plugin](https://plugins.jetbrains.com/plugin/8396-clangformatij): mark the entire file and right-click to execute `clang-format` before committing any changes. Of course, if you don't use Android Studio to edit C++ code, run `clang-format` on the command-line.
35
35
36
+
### Nullability by Annotataion
37
+
38
+
To improve code quality and usability in Kotlin, nullability of parameters and return types must be annotated with JSR305 annotations.
39
+
40
+
If a parameter is nullable, you must add `@Nullable` annotation to the parameter. On the other hand, if a parameter is non-null, you don't need to add `@Nonnull` annotation since all parameters are treated as `@Nonnull` by default.
41
+
42
+
For return types, there is no default nullability. If a method can return `null` as a return value, you must add `@Nullable` annotation to the return type. Currently, `Nonnull` annotation is not mandatory if the method never return `null`.
43
+
44
+
When you add a new package, you must add `package-info.java` and add `@javax.annotation.ParametersAreNonnullByDefault` to the package. Please note that you can't add multiple `package-info.java` in the same package but different location (for example, main and androidTest). When you add a package to both main and androidTest, you only need to add `package-info.java` to main.
45
+
36
46
### Unit Tests
37
47
38
48
All PR's must be accompanied by related unit tests. All bug fixes must have a unit test proving that the bug is fixed.
Copy file name to clipboardExpand all lines: README.md
+6-4Lines changed: 6 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,7 +24,7 @@ The API reference is located at [realm.io/docs/java/api](https://realm.io/docs/j
24
24
-**Need help with your code?**: Look for previous questions on the [#realm tag](https://stackoverflow.com/questions/tagged/realm?sort=newest) — or [ask a new question](http://stackoverflow.com/questions/ask?tags=realm). We activtely monitor & answer questions on SO!
25
25
-**Have a bug to report?**[Open an issue](https://github.com/realm/realm-java/issues/new). If possible, include the version of Realm, a full log, the Realm file, and a project that shows the issue.
26
26
-**Have a feature request?**[Open an issue](https://github.com/realm/realm-java/issues/new). Tell us what the feature should do, and why you want the feature.
27
-
- Sign up for our [**Community Newsletter**](http://eepurl.com/VEKCn) to get regular tips, learn about other use-cases and get alerted of blogposts and tutorials about Realm.
27
+
- Sign up for our [**Community Newsletter**](https://go.pardot.com/l/210132/2017-04-26/3j74l) to get regular tips, learn about other use-cases and get alerted of blogposts and tutorials about Realm.
28
28
29
29
## Using Snapshots
30
30
@@ -60,7 +60,7 @@ In case you don't want to use the precompiled version, you can build Realm yours
60
60
### Prerequisites
61
61
62
62
* Download the [**JDK 7**](http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html) or [**JDK 8**](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) from Oracle and install it.
63
-
* Download & install the Android SDK **Build-Tools 26.0.1**, **Android N (API 25)** (for example through Android Studio’s **Android SDK Manager**).
63
+
* Download & install the Android SDK **Build-Tools 26.0.1**, **Android O (API 26)** (for example through Android Studio’s **Android SDK Manager**).
64
64
* Install CMake from SDK manager in Android Studio ("SDK Tools" -> "CMake").
65
65
* If you use Android Studio, Android Studio 3.0 or later is required.
66
66
@@ -256,15 +256,17 @@ style/lint in the drop-down to the left of the Manage... button.
256
256
## License
257
257
258
258
Realm Java is published under the Apache 2.0 license.
259
-
The underlying core is available under the [Realm Core Binary License](LICENSE#L210-L243) while we [work to open-source it under the Apache 2.0 license](https://realm.io/docs/java/#faq).
259
+
260
+
Realm Core is also published under the Apache 2.0 license and is available
**This product is not being made available to any person located in Cuba, Iran,
262
264
North Korea, Sudan, Syria or the Crimea region, or to any other person that is
263
265
not eligible to receive the product under U.S. law.**
264
266
265
267
## Feedback
266
268
267
-
**_If you use Realm and are happy with it, all we ask is that you please consider sending out a tweet mentioning [@realm](http://twitter.com/realm), or email [help@realm.io](mailto:help@realm.io) to let us know about it!_**
269
+
**_If you use Realm and are happy with it, all we ask is that you please consider sending out a tweet mentioning [@realm](http://twitter.com/realm)to share your thoughts!_**
268
270
269
271
**_And if you don't like it, please let us know what you would like improved, so we can fix it!_**
0 commit comments