NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #962 most downloaded on pub.dev
Flutter database for super-fast NoSQL ACID compliant object persistence.
Last release 2 days ago
06 Oct 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 59 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
159 releases · first in 2019
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
One column per quarter.
Nothing published for this version
Nothing published for this version
Update ObjectBox database for Flutter Linux/Windows, Dart Native apps to 5.3.2-2026-05-05
5.3.2-2026-05-05.io.objectbox:objectbox-android-objectbrowser:5.4.2 in android/app/build.gradle.kts or android/app/build.gradle.5.3.2-next-2026-05-16.pod repo update and pod update ObjectBox in the ios or macos directories.Nothing published for this version
Update ObjectBox database for Flutter Linux/Windows, Dart Native apps to 5.3.1-2026-03-26
5.3.1-2026-03-26.io.objectbox:objectbox-android-objectbrowser:5.4.1 inandroid/app/build.gradle.kts or android/app/build.gradle.5.3.1-2026-03-26.pod repo update and pod update ObjectBox in the ios or macos directories.Sync.syncClockTimestamp() to get a timestamp from a Sync clock (and a variation for a corrected timestamp)Nothing published for this version
For Sync clocks, please update to 5.3.1
For Sync clocks, please update to 5.3.1
5.3.0-2026-03-23.io.objectbox:objectbox-android-objectbrowser:5.4.0 inandroid/app/build.gradle.kts or android/app/build.gradle.5.3.0-2026-03-23.pod repo update and pod update ObjectBox in the ios or macos directories.@SyncClock() and @SyncPrecedence() (see docs for details)applyFilterVariables().Warning: Do not use this version for sync clocks, it contains a severe bug! Use 5.3.1 instead.
5.3.0-2026-03-23.
If your project is using Admin, make
sure to update to io.objectbox:objectbox-android-objectbrowser:5.4.0 in
android/app/build.gradle.kts or android/app/build.gradle.5.3.0-2026-03-23.
For existing projects, run pod repo update and pod update ObjectBox in the ios or macos directories.@SyncClock() and @SyncPrecedence() (allows last win with custom conflict resolution)applyFilterVariables().Prepare release 5.3.0-preview2
Prepare release 5.3.0-preview2
Update Android version to 5.2.1-preview1
Update Android version to 5.2.1-preview1
SyncClient: add a constructor, deprecate Sync.client and related helper methods.
io.objectbox:objectbox-android-objectbrowser:5.1.0 in android/app/build.gradle.kts or android/app/build.gradle.pod repo update and pod update ObjectBox in the ios or macos directories.Sync.client and related helper methods.Nothing published for this version
Added flex properties that can hold any kind of data ("schema-less") supporting the following types on the Dart side:
List<Map<String, dynamic>>.dateUtc and dateUtcNano property types for DateTime read back UTC.dart run build_runner build after updating the objectbox package.Nothing published for this version
Nothing published for this version
Nothing published for this version
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
pod repo update and pod update ObjectBox in the ios or macos directories.
wss://) connections on iOS devices.Nothing published for this version
Update ObjectBox database for Flutter Linux/Windows, Dart Native apps to 5.0.0 .
pod repo update and pod update ObjectBox in the ios or macos directories.macOS: throw an error if the macosApplicationGroup parameter when opening a Store is too long (or empty). #515
macosApplicationGroup parameter when opening a Store is too long (or empty). #515Sync.client and related helper methods.Nothing published for this version
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
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
triggerReconnect().Nothing published for this version
Remove deprecated contains condition for List properties, use containsElement instead.
To upgrade to this major release run flutter pub upgrade objectbox --major-versions
(or for Dart Native apps dart pub upgrade objectbox --major-versions).
SyncClient.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. #740io.objectbox:objectbox-android-objectbrowser:5.0.1 in android/app/build.gradle.pod repo update and pod update ObjectBox in the ios or macos directories.contains condition for List<String> properties, use containsElement instead.Nothing published for this version
Requires at least Dart SDK 3.7 or Flutter SDK 3.29.
io.objectbox:objectbox-android-objectbrowser:4.3.1 in android/app/build.gradle.
pod repo update and pod update ObjectBox in the ios or macos directories.Nothing published for this version
Update ObjectBox database for Flutter Linux/Windows, Dart Native apps to 4.3.0. This includes significant improvements to ObjectBox Sync like raising
io.objectbox:objectbox-android-objectbrowser:4.3.0 in android/app/build.gradle.pod repo update and pod update ObjectBox in the ios or macos directories.jsonToNative to support sub (embedded/nested) documents/arrays in MongoDB.Requires at least Dart SDK 3.4 or Flutter SDK 3.22.
io.objectbox:objectbox-android-objectbrowser:4.2.0 in android/app/build.gradle.pod repo update and pod update ObjectBox in the ios or macos directories.Nothing published for this version
Flutter for Android: requires Android 5.0 (API level 21).
VectorDistanceType.GEO distance-type to perform vector searches on
geographical coordinates. This is particularly useful for location-based applications.io.objectbox:objectbox-android-objectbrowser:4.1.0 in android/app/build.gradle.pod repo update and pod update ObjectBox in the ios or macos directories.Nothing published for this version
Generator: replace cryptography library, allows to use newer versions of the transitive js dependency. #638
js dependency. #638Query.findWithScores() with big objects (> 4 KB), previously would throw a
StorageException: Do not use vector-based find on 32 bit systems with big objects. #676pod repo update and pod update ObjectBox.io.objectbox:objectbox-android-objectbrowser:4.0.3 in android/app/build.gradle.Nothing published for this version
Nothing published for this version
Sync: support option to enable shared global IDs.
Nothing published for this version
Export ObjectWithScore and IdWithScore used by the new find with score Query methods. #637
ObjectWithScore and IdWithScore used by the new find with score Query methods. #637vectorsearch_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.
Nothing published for this version
To upgrade to this major release run flutter pub upgrade objectbox --major-versions (or for Dart Native apps dart pub upgrade objectbox --major-versio
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 on-device 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.
io.objectbox:objectbox-android-objectbrowser:4.0.0 in android/app/build.gradle.pod repo update and pod update ObjectBox.Nothing published for this version
Add SyncCredentials.userAndPassword().
SyncCredentials.userAndPassword().SyncCredentials from constructors to static methods. This should not require any changes
in your code.Nothing published for this version
Support creating file-less in-memory databases, for example for caching or testing. To create one pass an in-memory identifier together with Store.inM
Support creating file-less in-memory databases, for example for caching or testing. To create one
pass an in-memory identifier together with Store.inMemoryPrefix as the directory:
final inMemoryStore =
Store(getObjectBoxModel(), directory: "${Store.inMemoryPrefix}test-db");
See the Store documentation for details.
Add Store.removeDbFiles() to conveniently delete database files or an in-memory database.
Add Store.dbFileSize() to get the size in bytes of the main database file or memory occupied by
an in-memory database.
Add relationCount() query condition to match objects that have a certain number of related
objects pointing to them. E.g. Customer_.orders.relationCount(2) will match all customers with
two orders. Customer_.orders.relationCount(0) will match all customers with no associated order.
This can be useful to find objects where the relation was dissolved, e.g. after the related object
was removed.
Support for setting a maximum data size via the maxDataSizeInKB property when building a Store.
This is different from the existing maxDBSizeInKB property in that it is possible to remove data
after reaching the limit and continue to use the database. See the Store documentation for more
details.
For DateTime properties new convenience query conditions are generated that accept DateTime
and auto-convert to milliseconds (or nanoseconds for @Property(type: PropertyType.dateNano)) #287
// For example instead of:
Order_.date.between(DateTime(2024, 1).millisecondsSinceEpoch, DateTime(2024, 2).millisecondsSinceEpoch)
// You can now just write:
Order_.date.betweenMilliseconds(DateTime(2024, 1), DateTime(2024, 2))
When defining a property with a getter and setter instead of a field, support annotating the getter to configure or ignore the property #392
For example, it is now possible to do this:
@Property(type: PropertyType.date)
@Index()
DateTime get date => TODO;
set date(DateTime value) => TODO;
@Transient()
int get computedValue => TODO;
set computedValue(int value) => TODO;
For Flutter apps: loadObjectBoxLibraryAndroidCompat() is now called by default when using
openStore() (effective after re-running flutter pub run build_runner build). For devices
running Android 6 or older this will pre-load the ObjectBox library in Java to prevent errors when
loading it in Dart.
If your code was calling the compat method manually, remove the call and re-run above command.
Let us know if there are issues with this change in #369!
Avoid conflicts with entity class names in generated code #519
Flutter for Linux/Windows, Dart Native: update to objectbox-c 0.21.0.
Flutter for Android: update to objectbox-android 3.8.0.
If you are using Admin, make sure to
update to io.objectbox:objectbox-android-objectbrowser:3.8.0 in android/app/build.gradle.
Flutter for iOS/macOS: update to objectbox-swift 1.9.2.
Existing projects may have to run pod repo update and pod update ObjectBox.
Nothing published for this version
Flutter for Linux/Windows: fix CMake build deprecation warning. #522
io.objectbox:objectbox-android-objectbrowser:3.7.1 in android/app/build.gradle.
Notably requires Android 4.4 (API 19) or higher.pod repo update and pod update ObjectBox.
Notably requires at least iOS 12.0 and macOS 10.15.Sync.clientMultiUrls to work with multiple servers.Nothing published for this version
Nothing published for this version
Fix "Loaded ObjectBox core dynamic library has unsupported version 0.18.1" on Android
Nothing published for this version
Nothing published for this version
Nothing published for this version
Query support for integer and floating point lists: For integer lists (excluding byte lists) greater, less and equal are supported on elements of the
Query support for integer and floating point lists: For integer lists (excluding byte lists) greater, less and equal are supported on elements of the vector (e.g. "has element greater").
For floating point lists greater and less queries are supported on elements of the vector (e.g. "has element greater").
A simple example is a shape entity that stores a palette of RGB colors:
@Entity()
class Shape {
@Id()
int id = 0;
// An array of RGB color values that are used by this shape.
Int32List? palette;
}
// Find all shapes that use red in their palette
final query = store.box<Shape>()
.query(Shape_.palette.equals(0xFF0000))
.build();
query.findIds();
query.close();
Queries: all expected results are now returned when using a less-than or less-or-equal condition
for a String property with IndexType.value. #318
Queries: when combining multiple conditions with OR and adding a condition on a related entity ("link condition") the combined conditions are now properly applied. #546
Update: objectbox-c 0.19.0. Notably now requires glibc 2.28 or higher (and GLIBCXX_3.4.25); e.g. at least Debian Buster 10 (2019) or Ubuntu 20.04.
Update: objectbox-swift 1.9.0.
Existing projects may have to run pod repo update and pod update ObjectBox.
Update: objectbox-android 3.7.0.
If you are using Admin, make sure to update to
io.objectbox:objectbox-android-objectbrowser:3.7.0.
Resolve an issue where not all query results are returned, when an entity constructor or property setter itself executes a query. #550
Nothing published for this version
For Flutter apps running on Android 6 (or older): added loadObjectBoxLibraryAndroidCompat() to objectbox_flutter_libs (and objectbox_sync_flutter_libs
For Flutter apps running on Android 6 (or older): added loadObjectBoxLibraryAndroidCompat() to
objectbox_flutter_libs (and objectbox_sync_flutter_libs). Use this to fix loading the
ObjectBox library on these devices.
Let us know if this works for you in #369! We might consider calling this automatically in a future release.
Improve code generator performance if there are many entities with many constructor parameters.
Throw StateError instead of crashing on closed Box, Query and PropertyQuery.
Export query property classes to make them usable in user code.
Resolve an issue where unexpected data was returned when doing a read operation in an entity constructor or property setter. #550
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →