Changelog History
Page 1
-
v3.0.0-alpha2 Changes
March 24, 2020Note: 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
@Unsigned
to indicate that values of an integer property (e.g.Integer
andLong
in 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.
Long
in 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-kotlin
adds 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-plugin
to3.0.0-alpha2
. The plugin now properly adds the preview version ofobjectbox-java
to 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-macos
andobjectbox-windows
artifacts shipping native code remain at version2.5.1
as there have been no changes. If you explicitly include them, make sure to specify their version as2.5.1
. -
v3.0.0-alpha1 Changes
March 09, 2020Note: 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-plugin
to3.0.0-alpha1
and add a dependency onobjectbox-java
version3.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-macos
andobjectbox-windows
artifacts 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-java
version3.0.0-alpha1
as mentioned above. -
v2.8.1 Changes
November 23, 2020- ๐ Minor improvements to Sync tooling.
๐ See the 2.8.0 release notes for the latest changes.
-
v2.8.0 Changes
November 23, 2020- โ Added Sync API.
- ๐ Fixed "illegal reflective access" warning in the plugin.
- โ The data browser notification is now silent by default, for quieter testing. #903
- ๐ Updated and improved API documentation in various places (e.g. on how
Query.findLazy()
andQuery.findLazyCached()
work withLazyList
#906). - ๐จ Print full name and link to element for
@Index
and@Id
errors. #902 - ๐ Explicitly allow to remove a
DbExceptionListener
by accepting null values forBoxStore.setDbExceptionListener(listener)
.
-
v2.7.1
August 19, 2020 -
v2.7.0 Changes
August 03, 2020- Several database store improvements for BoxStore and BoxStoreBuilder
- New configuration options to open the database, e.g. a new read-only mode and using the previous data snapshot (second last commit) to potentially recover data.
- Database validation. We got a GitHub report indicating that some specific devices ship with a broken file system. While this is not a general concern (file systems should not be broken), we decided to detect some typical problems and provide some options to deal with these.
- Get the size on disk
- โ Add an efficient check if an object exist in a Box via contains(id).
- Android improvements
- Resolve Android Studio Build Analyzer warning about a prepare tasks not specifying outputs.
- Data Browser drawables are no longer packaged in the regular Android library. #857
- ๐ Fixes for one-to-many relations, e.g. allow removing both entity classes of a one-to-many relation. #859
๐ See also https://docs.objectbox.io/
- Several database store improvements for BoxStore and BoxStoreBuilder
-
v2.6.0
June 09, 2020 -
v2.6.0-RC Changes
May 04, 2020 -
v2.5.1 Changes
February 17, 2020๐ Support Android Gradle Plugin 3.6.0. #817
๐ Support for incremental annotation processing. #620
๐ It is off by default. To turn it on setobjectbox.incremental
to true inbuild.gradle
:android { defaultConfig { javaCompileOptions { annotationProcessorOptions { arguments = ["objectbox.incremental" : "true"] } } } }
-
v2.5.0 Changes
December 12, 2019- โก๏ธ Important bug fix - please update if you are using N:M relations!
- Several improvements, e.g. for property queries
๐ See changelogs for details.