Skip to content

Releases: objectbox/objectbox-dart

v5.2.0

28 Jan 08:56

Choose a tag to compare

  • Allow analyzer versions 9 and 10. #780
  • Update ObjectBox database for Flutter Linux/Windows, Dart Native apps to 5.1.0-2026-01-19.
  • Update ObjectBox database for Flutter Android apps to 5.1.0-2026-01-19.
    If your project is using Admin, make sure to update to io.objectbox:objectbox-android-objectbrowser:5.1.0 in android/app/build.gradle.kts or android/app/build.gradle.
  • Update ObjectBox database for Flutter iOS/macOS apps to 5.1.1-dev-2026-01-21.
    For existing projects, run pod repo update and pod update ObjectBox in the ios or macos directories.

Sync

  • New Sync protocol V8: using new clients also requires a server update
  • SyncClient: add a constructor, deprecate Sync.client and related helper methods.
  • SyncClient: add constructor parameters to provide custom certificates and configuration flags.
    • Remove-operations with object content for Sync filters (optional setting; sync flag)
    • Add DebugLogTxLogs sync flag to log TX log processing on the client side
    • Add SkipInvalidTxOps sync flag to skip invalid operations in a TX log on the client side; errors
      are logged and the TX is only partially applied.
  • Remove superfluous sync listener triggers when sync filters "report updates" (SKIP_TX)
  • Sync clients compress earlier: reduces disk storage for outgoing data
  • Reworked certificates for Apple platforms
  • Removed support for older Sync protocol versions before 2024-09; protocol V5+ is now required.

v5.1.0

12 Jan 13:33

Choose a tag to compare

  • Added flex properties that can hold any kind of data ("schema-less") supporting the following types on the Dart side:
    • Maps: JSON-like data structure with string keys and arbitrary values, including nested maps and lists.
    • Lists: can hold elements of any type, even mixed (like JSON arrays).
      On the Dart side, ObjectBox also offers binding to a list of maps, e.g. List<Map<String, dynamic>>.
    • Dynamic/Object: can hold any kind of data, including primitive types like integer, floating point and string,
      plus maps and lists.
    • Sync note: when used together with the MongoDB Connector,
      flex properties allow storing nested documents from MongoDB.
  • Added dateUtc and dateUtcNano property types for DateTime read back UTC.
    #308
  • Added "GeneratorVersion" enum to enforce generated code is compatible with the runtime library.
    You must run dart run build_runner build after updating the objectbox package.
    Until you regenerate code, compiling will fail with a message like this:
    "Error: Required named parameter 'generatorVersion' must be provided".

v5.0.4

09 Dec 08:49

Choose a tag to compare

  • Update ObjectBox database for Flutter iOS/macOS apps to 5.1.1.
    For existing projects, run pod repo update and pod update ObjectBox in the ios or macos directories.
    • Sync client: fix for encrypted (wss://) connections on iOS devices.

v5.0.3

03 Dec 10:58

Choose a tag to compare

  • Update ObjectBox database for Flutter Linux/Windows, Dart Native apps to 5.0.0.
  • Update ObjectBox database for Flutter iOS/macOS apps to 5.1.0.
    Requires macOS 11 or iOS 15 and at least Swift 6.1 tools to compile.
    For existing projects, run pod repo update and pod update ObjectBox in the ios or macos directories.

v5.0.2

10 Nov 13:51

Choose a tag to compare

  • macOS: throw an error if the macosApplicationGroup parameter when opening a Store is too long (or empty). #515

Sync

  • SyncClient: actually configure Sync filters when passing them to Sync.client and related helper methods.

v5.0.1

29 Oct 08:42

Choose a tag to compare

  • Generator: migrate to analyzer 8 APIs. Require at least analyzer 8.1.1 and source_gen 4.0.1.
    Resolves Error: The method 'getInvocation' isn't defined when running the generator using analyzer 8.4.0 (it removes APIs that older source_gen versions were using).

  • Generator: require at least build 4.0.0. This will also allow using build_runner versions 2.7.2 or newer. #759

  • For ToOne support renaming the implicitly created target ID (or "relation") property:

    // Change target ID property name from default "customerId" to "customerRef"
    @TargetIdProperty('customerRef')
    final customer = ToOne<Customer>();

    This can be useful if the default name needs to be used for another property. Or when syncing with MongoDB to match the name used in the MongoDB database. #713

  • Provide a helpful error message if the name of a property conflicts with a target ID property
    created for a ToOne relation. #713

  • Generator: find @Backlink() source relation also in case target entity class is processed first. #687

Sync

  • SyncClient: support triggerReconnect().

v5.0.0

01 Oct 07:57

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

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

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

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.