ObjectBox embedded database v3.0.0-alpha2 Release Notes
Release Date: 2020-03-24 // almost 6 years ago-
Note: this is a preview release. Future releases may add, change or remove APIs.
- โ Add Kotlin infix extension functions for creating conditions using the new Query API. See the documentation for examples.
- ๐ The old Query API now also supports setting an alias after combining conditions using
and()oror(). #834 - โ Add documentation that string property conditions ignore case by default. Point to using case-sensitive conditions for high-performance look-ups, e.g. when using string UIDs.
- ๐ Java's
String[]and Kotlin'sArray<String>are now a supported database type. A converter is no longer necessary to store these types. Using thearrayProperty.equal("item")condition, it is possible to query for entities where "item" is equal to one of the array items. - ๐ Support
@Unsignedto indicate that values of an integer property (e.g.IntegerandLongin Java) should be treated as unsigned when doing queries or creating indexes. See the Javadoc of the annotation for more details. - ๐ Support marking 64-bit integer properties (e.g.
Longin Java) with@Type(DateNano)to indicate the database should treat these values as time with nanosecond precision. Note: to store time in millisecond precision continue to usejava.util.Date(without annotation). This is not ready, yet. - โ Add new library to support RxJava 3,
objectbox-rxjava3. In addition,objectbox-kotlinadds extension functions to more easily obtain Rx types, e.g. usequery.observable()to get anObservable. #839
๐ To use this release change the version of
objectbox-gradle-pluginto3.0.0-alpha2. The plugin now properly adds the preview version ofobjectbox-javato your dependencies.buildscript { dependencies { classpath "io.objectbox:objectbox-gradle-plugin:3.0.0-alpha2" } } dependencies { // Artifacts with native code remain at 2.5.1. implementation "io.objectbox:objectbox-android:2.5.1"}๐ The
objectbox-android,objectbox-linux,objectbox-macosandobjectbox-windowsartifacts shipping native code remain at version2.5.1as there have been no changes. If you explicitly include them, make sure to specify their version as2.5.1.
Previous changes from v3.0.0-alpha1
-
Note: this is a preview release. Future releases may add, change or remove APIs.
- ๐ A new Query API provides support for nested AND and OR conditions. See the documentation for examples and notable changes. #201
- โ Subscriptions now publish results in serial instead of in parallel (using a single thread vs. multiple threads per publisher). Publishing in parallel could previously lead to outdated results getting delivered after the latest results. As a side-effect transformers now run in serial instead of in parallel as well (on the same single thread per publisher). #793
- 0๏ธโฃ Turn on incremental annotation processing by default. #620
๐ To use this release change the version of
objectbox-gradle-pluginto3.0.0-alpha1and add a dependency onobjectbox-javaversion3.0.0-alpha1.buildscript { dependencies { classpath "io.objectbox:objectbox-gradle-plugin:3.0.0-alpha1" } } dependencies { implementation "io.objectbox:objectbox-java:3.0.0-alpha1"// Artifacts with native code remain at 2.5.1. implementation "io.objectbox:objectbox-android:2.5.1"}๐ The
objectbox-android,objectbox-linux,objectbox-macosandobjectbox-windowsartifacts shipping native code remain at version 2.5.1 as there have been no changes. However, if your project explicitly depends on them they will pull in version 2.5.1 ofobjectbox-java. Make sure to add an explicit dependency on ofobjectbox-javaversion3.0.0-alpha1as mentioned above.