Releases: objectbox/objectbox-dart
v5.2.0
- 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 toio.objectbox:objectbox-android-objectbrowser:5.1.0inandroid/app/build.gradle.ktsorandroid/app/build.gradle. - Update ObjectBox database for Flutter iOS/macOS apps to 5.1.1-dev-2026-01-21.
For existing projects, runpod repo updateandpod update ObjectBoxin theiosormacosdirectories.
Sync
- New Sync protocol V8: using new clients also requires a server update
- SyncClient: add a constructor, deprecate
Sync.clientand 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
- 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
dateUtcanddateUtcNanoproperty types for DateTime read back UTC.
#308 - Added "GeneratorVersion" enum to enforce generated code is compatible with the runtime library.
You must rundart run build_runner buildafter 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
- Update ObjectBox database for Flutter iOS/macOS apps to 5.1.1.
For existing projects, runpod repo updateandpod update ObjectBoxin theiosormacosdirectories.- Sync client: fix for encrypted (
wss://) connections on iOS devices.
- Sync client: fix for encrypted (
v5.0.3
- 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, runpod repo updateandpod update ObjectBoxin theiosormacosdirectories.
v5.0.2
v5.0.1
-
Generator: migrate to
analyzer8 APIs. Require at leastanalyzer8.1.1 andsource_gen4.0.1.
ResolvesError: The method 'getInvocation' isn't definedwhen running the generator usinganalyzer8.4.0 (it removes APIs that oldersource_genversions were using). -
Generator: require at least
build4.0.0. This will also allow usingbuild_runnerversions2.7.2or newer. #759 -
For
ToOnesupport 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 aToOnerelation. #713 -
Generator: find
@Backlink()source relation also in case target entity class is processed first. #687
Sync
- SyncClient: support
triggerReconnect().
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.1inandroid/app/build.gradle. - Update ObjectBox database for Flutter iOS/macOS apps to 5.0.0.
For existing projects, runpod repo updateandpod update ObjectBoxin theiosormacosdirectories. - Remove deprecated
containscondition forList<String>properties, usecontainsElementinstead.
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.1inandroid/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 updateandpod update ObjectBoxin theiosormacosdirectories.
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.0inandroid/app/build.gradle. - Update ObjectBox database for Flutter iOS/macOS apps to 4.3.0.
For existing projects, runpod repo updateandpod update ObjectBoxin theiosormacosdirectories. - External property types (via MongoDB connector):
addjsonToNativeto 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.0inandroid/app/build.gradle. - Update ObjectBox database for Flutter iOS/macOS apps to 4.2.0.
For existing projects, runpod repo updateandpod update ObjectBoxin theiosormacosdirectories.