Skip to content

Releases: objectbox/objectbox-dart

v5.0.0

01 Oct 07:57
Compare
Choose a tag to compare

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 to 0. #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 to io.objectbox:objectbox-android-objectbrowser:5.0.1 in android/app/build.gradle.
  • Update ObjectBox database for Flutter iOS/macOS apps to 5.0.0.
    For existing projects, run pod repo update and pod update ObjectBox in the ios or macos directories.
  • Remove deprecated contains condition for List<String> properties, use containsElement instead.

v4.3.1

02 Sep 12:33
Compare
Choose a tag to compare
  • 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 to io.objectbox:objectbox-android-objectbrowser:4.3.1 in android/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, run pod repo update and pod update ObjectBox in the ios or macos directories.

v4.3.0

28 May 13:34
Compare
Choose a tag to compare
  • 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 to io.objectbox:objectbox-android-objectbrowser:4.3.0 in android/app/build.gradle.
  • Update ObjectBox database for Flutter iOS/macOS apps to 4.3.0.
    For existing projects, run pod repo update and pod update ObjectBox in the ios or macos directories.
  • External property types (via MongoDB connector):
    add jsonToNative to support sub (embedded/nested) documents/arrays in MongoDB.

v4.2.0

15 Apr 12:37
Compare
Choose a tag to compare
  • 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 to io.objectbox:objectbox-android-objectbrowser:4.2.0 in android/app/build.gradle.
  • Update ObjectBox database for Flutter iOS/macOS apps to 4.2.0.
    For existing projects, run pod repo update and pod update ObjectBox in the ios or macos directories.

v4.1.0

04 Feb 14:30
Compare
Choose a tag to compare
  • 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 to io.objectbox:objectbox-android-objectbrowser:4.1.0 in android/app/build.gradle.
  • Flutter for iOS/macOS: update to objectbox-swift 4.1.0.
    For existing projects, run pod repo update and pod update ObjectBox in the ios or macos directories.

Sync

v4.0.3

22 Oct 11:50
Compare
Choose a tag to compare
  • 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 run pod repo update and pod update ObjectBox.
  • Flutter for Android: update to objectbox-android 4.0.3.
    If you are using Admin, make sure to
    update to io.objectbox:objectbox-android-objectbrowser:4.0.3 in android/app/build.gradle.

Sync

  • Fix a serious regression, please update as soon as possible.
  • Add special compression for tiny transactions (internally).

v4.0.2

14 Aug 11:55
Compare
Choose a tag to compare

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

27 May 11:59
Compare
Choose a tag to compare
  • Export ObjectWithScore and IdWithScore used by the new find with score Query 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

16 May 08:18
Compare
Choose a tag to compare

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 to io.objectbox:objectbox-android-objectbrowser:4.0.0 in android/app/build.gradle.
  • Flutter for iOS/macOS: update to objectbox-swift 2.0.0.
    Existing projects may have to run pod repo update and pod update ObjectBox.

v2.5.1

04 Mar 12:56
Compare
Choose a tag to compare
  • 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.