Releases: objectbox/objectbox-dart
v5.0.0
To upgrade to this major release run flutter pub upgrade objectbox --major-versions
(or for Dart Native apps dart pub upgrade objectbox --major-versions
).
Sync
- Support Sync server version 5.0 with User-Specific Data Sync
- Support configuring Sync filter variables on
SyncClient
.
Other Changes
- Flutter packages are compiled with Android SDK 35 to support Android Gradle Plugin 8.13 #755. They are also built using a language level of Java 11.
- ToOne relations: when deleting an object with an ID larger than the maximum 32-bit unsigned integer (
4_294_967_295
) that is used as the target object of a ToOne, correctly re-set the target ID of the ToOne to0
. #740 - Update ObjectBox database for Flutter Linux/Windows, Dart Native apps to 5.0.0-rc.
- Update ObjectBox database for Flutter Android apps to 5.0.1.
If your project is using Admin, make
sure to update toio.objectbox:objectbox-android-objectbrowser:5.0.1
inandroid/app/build.gradle
. - Update ObjectBox database for Flutter iOS/macOS apps to 5.0.0.
For existing projects, runpod repo update
andpod update ObjectBox
in theios
ormacos
directories. - Remove deprecated
contains
condition forList<String>
properties, usecontainsElement
instead.
v4.3.1
- Requires at least Dart SDK 3.7 or Flutter SDK 3.29.
- Migrate generator to analyzer 7.4 and source_gen 3.1 APIs. Allow analyzer version 8. #742
- Update ObjectBox database for Flutter Linux/Windows, Dart Native apps to 4.3.1.
- Update ObjectBox database for Flutter Android apps to 4.3.1.
If your project is using Admin, make
sure to update toio.objectbox:objectbox-android-objectbrowser:4.3.1
inandroid/app/build.gradle
.- Admin for Android: do not display values twice. #738
- Update ObjectBox database for Flutter iOS/macOS apps to 4.3.1.
For existing projects, runpod repo update
andpod update ObjectBox
in theios
ormacos
directories.
v4.3.0
- Update ObjectBox database for Flutter Linux/Windows, Dart Native apps to 4.3.0.
This includes significant improvements to ObjectBox Sync like raising the maximum messages/transaction size. - Update ObjectBox database for Flutter Android apps to 4.3.0.
If your project is using Admin, make
sure to update toio.objectbox:objectbox-android-objectbrowser:4.3.0
inandroid/app/build.gradle
. - Update ObjectBox database for Flutter iOS/macOS apps to 4.3.0.
For existing projects, runpod repo update
andpod update ObjectBox
in theios
ormacos
directories. - External property types (via MongoDB connector):
addjsonToNative
to support sub (embedded/nested) documents/arrays in MongoDB.
v4.2.0
- Requires at least Dart SDK 3.4 or Flutter SDK 3.22.
- Allow analyzer 7, dart_style 3, source_gen 2 and pointycastle 4. #705
- Examples: demos are compatible with JDK 21 included with Android Studio Ladybug or later, require
Flutter SDK 3.24 (with Dart SDK 3.5) or newer. - Update ObjectBox database for Flutter Linux/Windows, Dart Native apps to 4.2.0.
- Update ObjectBox database for Flutter Android apps to 4.2.0.
If your project is using Admin, make
sure to update toio.objectbox:objectbox-android-objectbrowser:4.2.0
inandroid/app/build.gradle
. - Update ObjectBox database for Flutter iOS/macOS apps to 4.2.0.
For existing projects, runpod repo update
andpod update ObjectBox
in theios
ormacos
directories.
v4.1.0
- Flutter for Android: requires Android 5.0 (API level 21).
- Vector Search: You can now use the new
VectorDistanceType.GEO
distance-type to perform vector searches on
geographical coordinates. This is particularly useful for location-based applications. - Flutter for Linux/Windows, Dart Native: update to objectbox-c 4.1.0.
- Flutter for Android: update to objectbox-android 4.1.0.
If your project is using Admin, make sure to
update toio.objectbox:objectbox-android-objectbrowser:4.1.0
inandroid/app/build.gradle
. - Flutter for iOS/macOS: update to objectbox-swift 4.1.0.
For existing projects, runpod repo update
andpod update ObjectBox
in theios
ormacos
directories.
Sync
- Add JWT authentication.
- Sync clients can send multiple credentials for login.
v4.0.3
- Generator: replace cryptography library, allows to use newer versions of the transitive
js
dependency. #638 - iOS: support
Query.findWithScores()
with big objects (> 4 KB), previously would throw a
StorageException: Do not use vector-based find on 32 bit systems with big objects
. #676 - Make closing the Store more robust. It waits for ongoing queries and transactions to finish.
This is just an additional safety net. Your code should still make sure to finish all Store
operations, like queries, before closing it. - Flutter for Linux/Windows, Dart Native: update to objectbox-c 4.0.2.
- Flutter for iOS/macOS: update to objectbox-swift 4.0.1.
Existing projects may have to runpod repo update
andpod update ObjectBox
. - Flutter for Android: update to objectbox-android 4.0.3.
If you are using Admin, make sure to
update toio.objectbox:objectbox-android-objectbrowser:4.0.3
inandroid/app/build.gradle
.
Sync
- Fix a serious regression, please update as soon as possible.
- Add special compression for tiny transactions (internally).
v4.0.2
- Sync: support option to enable shared global IDs.
Note: this release includes the same versions of the Android library and ObjectBox pod as release 4.0.0.
See update instructions there.
v4.0.1
- Export
ObjectWithScore
andIdWithScore
used by the new find with scoreQuery
methods. #637 - Add simple
vectorsearch_cities
Dart Native example application.
Note: this release includes the same versions of the Android library and ObjectBox pod as release 4.0.0.
See update instructions there.
V4.0 Vector Search
To upgrade to this major release run flutter pub upgrade objectbox --major-versions
(or for Dart Native apps dart pub upgrade objectbox --major-versions
).
ObjectBox now supports Vector Search to enable efficient similarity searches.
This is particularly useful for AI/ML/RAG applications, e.g. image, audio, or text similarity. Other use cases include semantic search or recommendation engines.
Create a Vector (HNSW) index for a floating point vector property. For example, a City
with a location vector:
@Entity()
class City {
@HnswIndex(dimensions: 2)
@Property(type: PropertyType.floatVector)
List<double>? location;
}
Perform a nearest neighbor search using the new nearestNeighborsF32(queryVector, maxResultCount)
query condition and the new "find with scores" query methods (the score is the distance to the
query vector). For example, find the 2 closest cities:
final madrid = [40.416775, -3.703790];
final query = box
.query(City_.location.nearestNeighborsF32(madrid, 2))
.build();
final closest = query.findWithScores()[0].object;
For an introduction to Vector Search, more details and other supported languages see the
Vector Search documentation.
- The generator correctly errors when using an unsupported index on a vector type.
- Flutter for Linux/Windows, Dart Native: update to objectbox-c 4.0.0.
- Flutter for Android: update to objectbox-android 4.0.0.
If you are using Admin, make sure to
update toio.objectbox:objectbox-android-objectbrowser:4.0.0
inandroid/app/build.gradle
. - Flutter for iOS/macOS: update to objectbox-swift 2.0.0.
Existing projects may have to runpod repo update
andpod update ObjectBox
.
v2.5.1
- Add
SyncCredentials.userAndPassword()
. - Change
SyncCredentials
from constructors to static methods. This should not require any changes
Note: this release includes the same versions of the Android library and ObjectBox pod as release 2.5.0. See update instructions there.