Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 14 additions & 14 deletions dev-doc/updating-c-library.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,37 +19,37 @@ for the binding update script (see below) and
for Flutter (`flutter_libs` and `sync_flutter_libs` plugins) on Linux and Windows:

```bash
./tool/set-c-version.sh 4.3.0
./tool/set-c-version.sh 4.3.1
```

```text
* Update ObjectBox database for Flutter Linux/Windows, Dart Native apps to [4.3.0](https://github.com/objectbox/objectbox-c/releases/tag/v4.3.0).
* Update ObjectBox database for Flutter Linux/Windows, Dart Native apps to [4.3.1](https://github.com/objectbox/objectbox-c/releases/tag/v4.3.1).
```

```text
Update C library [4.2.0 -> 4.3.0]
Update C library [4.3.0 -> 4.3.1]

Includes database 4.3.0-2025-05-12
Includes database 4.3.1-2025-07-28
```

### Android

For the Flutter plugins on Android ([view releases](https://github.com/objectbox/objectbox-java/releases)):

```bash
./tool/set-android-version.sh 4.3.0
./tool/set-android-version.sh 4.3.1
```

```text
* Update ObjectBox database for Flutter Android apps to 4.3.0.
* Update ObjectBox database for Flutter Android apps to 4.3.1.
If your project is [using Admin](https://docs.objectbox.io/data-browser#admin-for-android), make
sure to update to `io.objectbox:objectbox-android-objectbrowser:4.3.0` in `android/app/build.gradle`.
sure to update to `io.objectbox:objectbox-android-objectbrowser:4.3.1` in `android/app/build.gradle`.
```

```text
Update Android library [4.2.0 -> 4.3.0]
Update Android library [4.3.0 -> 4.3.1]

Includes C API 4.3.0 and database 4.3.0-2025-05-12
Includes C API 4.3.1 and database 4.3.1-2025-08-02
```

Note: the embedded C API and ObjectBox version can be looked up
Expand All @@ -60,18 +60,18 @@ from the relevant objectbox repository release tag (like `java-4.1.0`).
For the Flutter plugins on iOS/macOS ([view releases](https://github.com/objectbox/objectbox-swift/releases))

```bash
./tool/set-swift-version.sh 4.3.0
./tool/set-swift-version.sh 4.4.1
```

```text
* Update ObjectBox database for Flutter iOS/macOS apps to 4.3.0.
* 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.
```

```text
Update macOS/iOS library [4.2.0 -> 4.3.0]
Update macOS/iOS library [4.3.0 -> 4.4.1]

Includes C API 4.3.0 and database 4.3.0-2025-05-12
Includes C API 4.3.1 and database 4.3.1-2025-08-02
```

Note: the embedded C API and ObjectBox version can be looked up
Expand All @@ -98,5 +98,5 @@ Then manually:
- Commit as

```text
Update C-API [4.2.0 -> 4.3.0]
Update C-API [4.3.0 -> 4.3.1]
```
2 changes: 1 addition & 1 deletion flutter_libs/android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,6 @@ android {
// ObjectBox Android library that includes an ObjectBox C library version compatible with
// the C API binding of the ObjectBox Dart package.
// https://central.sonatype.com/search?q=g:io.objectbox%20objectbox-android
implementation "io.objectbox:objectbox-android:4.3.0"
implementation "io.objectbox:objectbox-android:4.3.1"
}
}
2 changes: 1 addition & 1 deletion flutter_libs/ios/objectbox_flutter_libs.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Pod::Spec.new do |s|
s.source_files = 'Classes/**/*'

s.dependency 'Flutter'
s.dependency 'ObjectBox', '4.3.0'
s.dependency 'ObjectBox', '4.4.1'

# Flutter.framework does not contain a i386 slice.
s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' }
Expand Down
2 changes: 1 addition & 1 deletion flutter_libs/linux/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ target_link_libraries(${PLUGIN_NAME} PRIVATE PkgConfig::GTK)
# ----------------------------------------------------------------------
# Download and add objectbox-c prebuilt library.

set(OBJECTBOX_VERSION 4.3.0)
set(OBJECTBOX_VERSION 4.3.1)

set(OBJECTBOX_ARCH ${CMAKE_SYSTEM_PROCESSOR})
if (${OBJECTBOX_ARCH} MATCHES "x86_64")
Expand Down
2 changes: 1 addition & 1 deletion flutter_libs/macos/objectbox_flutter_libs.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Pod::Spec.new do |s|
s.source_files = 'Classes/**/*'

s.dependency 'FlutterMacOS'
s.dependency 'ObjectBox', '4.3.0'
s.dependency 'ObjectBox', '4.4.1'

s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' }
s.swift_version = '5.3'
Expand Down
2 changes: 1 addition & 1 deletion flutter_libs/windows/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ set(objectbox_flutter_libs_bundled_libraries
# ----------------------------------------------------------------------
# Download and add objectbox-c prebuilt library.

set(OBJECTBOX_VERSION 4.3.0)
set(OBJECTBOX_VERSION 4.3.1)

set(OBJECTBOX_ARCH ${CMAKE_SYSTEM_PROCESSOR})
if (${OBJECTBOX_ARCH} MATCHES "AMD64")
Expand Down
2 changes: 1 addition & 1 deletion install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ set -eu
# It's important that the generated dart bindings and the c-api library version match. Dart won't error on C function
# signature mismatch, leading to obscure memory bugs.
# For how to upgrade the version see dev-doc/updating-c-library.md
cLibVersion=4.3.0
cLibVersion=4.3.1
os=$(uname)
cLibArgs="$*"

Expand Down
8 changes: 8 additions & 0 deletions objectbox/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
## latest

* Update ObjectBox database for Flutter Linux/Windows, Dart Native apps to [4.3.1](https://github.com/objectbox/objectbox-c/releases/tag/v4.3.1).
* Update ObjectBox database for Flutter Android apps to 4.3.1.
For Admin: do not display values twice. [#738](https://github.com/objectbox/objectbox-dart/issues/738)
If your project is [using Admin](https://docs.objectbox.io/data-browser#admin-for-android), make
sure to update to `io.objectbox:objectbox-android-objectbrowser:4.3.1` in `android/app/build.gradle`.
* 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.

## 4.3.0 (2025-05-28)

* Update ObjectBox database for Flutter Linux/Windows, Dart Native apps to [4.3.0](https://github.com/objectbox/objectbox-c/releases/tag/v4.3.0).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,5 +83,5 @@ dependencies {
// Add the Android library with ObjectBox Admin only for debug builds.
// Note: when the objectbox package updates, check if the Android
// library below needs to be updated as well.
debugImplementation("io.objectbox:objectbox-android-objectbrowser:4.3.0")
debugImplementation("io.objectbox:objectbox-android-objectbrowser:4.3.1")
}
10 changes: 5 additions & 5 deletions objectbox/lib/src/native/bindings/bindings.dart
Original file line number Diff line number Diff line change
Expand Up @@ -96,14 +96,14 @@ ObjectBoxC? _tryObjectBoxLibFile() {
// libraries.
// Library | C API | Database
// ------------------------|-------|-----------------
// C library 4.3.0 | 4.3.0 | 4.3.0-2025-05-12
// Android library 4.3.0 | 4.3.0 | 4.3.0-2025-05-12
// macOS/iOS library 4.3.0 | 4.3.0 | 4.3.0-2025-05-12
// C library 4.3.1 | 4.3.1 | 4.3.1-2025-07-28
// Android library 4.3.1 | 4.3.1 | 4.3.1-2025-08-02
// macOS/iOS library 4.4.1 | 4.3.1 | 4.3.1-2025-08-02
var _obxCminMajor = 4;
var _obxCminMinor = 3;
var _obxCminPatch = 0;
var _obxCminPatch = 1;
// Require minimum database version guaranteeing actual C API availability.
var _obxDatabaseMinVersion = "4.3.0-2025-05-12";
var _obxDatabaseMinVersion = "4.3.1-2025-07-28";

bool _isSupportedVersion(ObjectBoxC obxc) {
// Require a minimum C API version
Expand Down
2 changes: 1 addition & 1 deletion objectbox/lib/src/native/bindings/objectbox-sync.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
#include "objectbox.h"

#if defined(static_assert) || defined(__cplusplus)
static_assert(OBX_VERSION_MAJOR == 4 && OBX_VERSION_MINOR == 3 && OBX_VERSION_PATCH == 0, // NOLINT
static_assert(OBX_VERSION_MAJOR == 4 && OBX_VERSION_MINOR == 3 && OBX_VERSION_PATCH == 1, // NOLINT
"Versions of objectbox.h and objectbox-sync.h files do not match, please update");
#endif

Expand Down
6 changes: 5 additions & 1 deletion objectbox/lib/src/native/bindings/objectbox.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ extern "C" {
/// obx_version() or obx_version_is_at_least().
#define OBX_VERSION_MAJOR 4
#define OBX_VERSION_MINOR 3
#define OBX_VERSION_PATCH 0 // values >= 100 are reserved for dev releases leading to the next minor/major increase
#define OBX_VERSION_PATCH 1 // values >= 100 are reserved for dev releases leading to the next minor/major increase

//----------------------------------------------
// Common types
Expand Down Expand Up @@ -176,6 +176,10 @@ typedef enum {
/// Enables additional authentication/authorization methods for sync login, e.g. JWT based methods.
OBXFeature_Auth = 17,

/// This is a free trial version; only applies to server builds (no trial builds for database and Sync clients).
OBXFeature_Trial = 18,


} OBXFeature;

/// Checks whether the given feature is available in the currently loaded library.
Expand Down
5 changes: 4 additions & 1 deletion objectbox/lib/src/native/bindings/objectbox_c.dart
Original file line number Diff line number Diff line change
Expand Up @@ -10397,6 +10397,9 @@ abstract class OBXFeature {

/// Enables additional authentication/authorization methods for sync login, e.g. JWT based methods.
static const int Auth = 17;

/// This is a free trial version; only applies to server builds (no trial builds for database and Sync clients).
static const int Trial = 18;
}

/// Log level as passed to obx_log_callback.
Expand Down Expand Up @@ -11678,7 +11681,7 @@ const int OBX_VERSION_MAJOR = 4;

const int OBX_VERSION_MINOR = 3;

const int OBX_VERSION_PATCH = 0;
const int OBX_VERSION_PATCH = 1;

const int OBX_ID_NEW = -1;

Expand Down
2 changes: 1 addition & 1 deletion sync_flutter_libs/android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,6 @@ android {
// ObjectBox Android library that includes an ObjectBox C library version compatible with
// the C API binding of the ObjectBox Dart package.
// https://central.sonatype.com/search?q=g:io.objectbox%20objectbox-sync-android
implementation "io.objectbox:objectbox-sync-android:4.3.0"
implementation "io.objectbox:objectbox-sync-android:4.3.1"
}
}
2 changes: 1 addition & 1 deletion sync_flutter_libs/ios/objectbox_sync_flutter_libs.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Pod::Spec.new do |s|
s.source_files = 'Classes/**/*'

s.dependency 'Flutter'
s.dependency 'ObjectBox', '4.3.0-sync'
s.dependency 'ObjectBox', '4.4.1-sync'

# Flutter.framework does not contain a i386 slice.
s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' }
Expand Down
2 changes: 1 addition & 1 deletion sync_flutter_libs/linux/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ target_link_libraries(${PLUGIN_NAME} PRIVATE PkgConfig::GTK)
# ----------------------------------------------------------------------
# Download and add objectbox-c prebuilt library.

set(OBJECTBOX_VERSION 4.3.0)
set(OBJECTBOX_VERSION 4.3.1)

set(OBJECTBOX_ARCH ${CMAKE_SYSTEM_PROCESSOR})
if (${OBJECTBOX_ARCH} MATCHES "x86_64")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Pod::Spec.new do |s|
s.source_files = 'Classes/**/*'

s.dependency 'FlutterMacOS'
s.dependency 'ObjectBox', '4.3.0-sync'
s.dependency 'ObjectBox', '4.4.1-sync'

s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' }
s.swift_version = '5.3'
Expand Down
2 changes: 1 addition & 1 deletion sync_flutter_libs/windows/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ set(objectbox_sync_flutter_libs_bundled_libraries
# ----------------------------------------------------------------------
# Download and add objectbox-c prebuilt library.

set(OBJECTBOX_VERSION 4.3.0)
set(OBJECTBOX_VERSION 4.3.1)

set(OBJECTBOX_ARCH ${CMAKE_SYSTEM_PROCESSOR})
if (${OBJECTBOX_ARCH} MATCHES "AMD64")
Expand Down
2 changes: 1 addition & 1 deletion tool/update-c-binding.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# copies the header files, makes some required modifications
# and runs the ffigen binding generator on them.

cLibVersion=4.3.0
cLibVersion=4.3.1
echo "Downloading C library source files from GitHub..."

# Note: the release archives do not contain objectbox-dart.h, so get the full sources.
Expand Down
Loading