From 88acc25bbdb2ecd3eede1fc5ee9b779af96c0122 Mon Sep 17 00:00:00 2001 From: Uwe Date: Mon, 18 Aug 2025 12:52:52 +0200 Subject: [PATCH 1/4] Update C library [4.3.0 -> 4.3.1] Includes database 4.3.1-2025-07-28 --- dev-doc/updating-c-library.md | 8 ++++---- flutter_libs/linux/CMakeLists.txt | 2 +- flutter_libs/windows/CMakeLists.txt | 2 +- install.sh | 2 +- objectbox/CHANGELOG.md | 2 ++ sync_flutter_libs/linux/CMakeLists.txt | 2 +- sync_flutter_libs/windows/CMakeLists.txt | 2 +- tool/update-c-binding.sh | 2 +- 8 files changed, 12 insertions(+), 10 deletions(-) diff --git a/dev-doc/updating-c-library.md b/dev-doc/updating-c-library.md index a5e26af08..45c1d87c7 100644 --- a/dev-doc/updating-c-library.md +++ b/dev-doc/updating-c-library.md @@ -19,17 +19,17 @@ 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 diff --git a/flutter_libs/linux/CMakeLists.txt b/flutter_libs/linux/CMakeLists.txt index 9ddab841a..5ea12aa2f 100644 --- a/flutter_libs/linux/CMakeLists.txt +++ b/flutter_libs/linux/CMakeLists.txt @@ -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") diff --git a/flutter_libs/windows/CMakeLists.txt b/flutter_libs/windows/CMakeLists.txt index bb84e2398..c3caebf2f 100644 --- a/flutter_libs/windows/CMakeLists.txt +++ b/flutter_libs/windows/CMakeLists.txt @@ -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") diff --git a/install.sh b/install.sh index 261900e4c..ac0d13c0f 100755 --- a/install.sh +++ b/install.sh @@ -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="$*" diff --git a/objectbox/CHANGELOG.md b/objectbox/CHANGELOG.md index bbb940bda..cba12ff9d 100644 --- a/objectbox/CHANGELOG.md +++ b/objectbox/CHANGELOG.md @@ -1,5 +1,7 @@ ## 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). + ## 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). diff --git a/sync_flutter_libs/linux/CMakeLists.txt b/sync_flutter_libs/linux/CMakeLists.txt index 57757ae59..358911679 100644 --- a/sync_flutter_libs/linux/CMakeLists.txt +++ b/sync_flutter_libs/linux/CMakeLists.txt @@ -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") diff --git a/sync_flutter_libs/windows/CMakeLists.txt b/sync_flutter_libs/windows/CMakeLists.txt index f8df47492..4e39274e4 100644 --- a/sync_flutter_libs/windows/CMakeLists.txt +++ b/sync_flutter_libs/windows/CMakeLists.txt @@ -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") diff --git a/tool/update-c-binding.sh b/tool/update-c-binding.sh index 5e49b37e3..050c2f625 100755 --- a/tool/update-c-binding.sh +++ b/tool/update-c-binding.sh @@ -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. From 9de464f84946072c743fdcca60f83a1f44c70fd3 Mon Sep 17 00:00:00 2001 From: Uwe Date: Mon, 18 Aug 2025 12:55:09 +0200 Subject: [PATCH 2/4] Update Android library [4.3.0 -> 4.3.1] Includes C API 4.3.1 and database 4.3.1-2025-08-02 --- dev-doc/updating-c-library.md | 10 +++++----- flutter_libs/android/build.gradle | 2 +- objectbox/CHANGELOG.md | 4 ++++ .../objectbox_demo_relations/android/app/build.gradle | 2 +- sync_flutter_libs/android/build.gradle | 2 +- 5 files changed, 12 insertions(+), 8 deletions(-) diff --git a/dev-doc/updating-c-library.md b/dev-doc/updating-c-library.md index 45c1d87c7..f415df0cc 100644 --- a/dev-doc/updating-c-library.md +++ b/dev-doc/updating-c-library.md @@ -37,19 +37,19 @@ Includes database 4.3.1-2025-07-28 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 diff --git a/flutter_libs/android/build.gradle b/flutter_libs/android/build.gradle index 2d885034f..6c70190f3 100644 --- a/flutter_libs/android/build.gradle +++ b/flutter_libs/android/build.gradle @@ -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" } } diff --git a/objectbox/CHANGELOG.md b/objectbox/CHANGELOG.md index cba12ff9d..3c91951d8 100644 --- a/objectbox/CHANGELOG.md +++ b/objectbox/CHANGELOG.md @@ -1,6 +1,10 @@ ## 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`. ## 4.3.0 (2025-05-28) diff --git a/objectbox/example/flutter/objectbox_demo_relations/android/app/build.gradle b/objectbox/example/flutter/objectbox_demo_relations/android/app/build.gradle index 1f108d141..49233ab0c 100644 --- a/objectbox/example/flutter/objectbox_demo_relations/android/app/build.gradle +++ b/objectbox/example/flutter/objectbox_demo_relations/android/app/build.gradle @@ -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") } diff --git a/sync_flutter_libs/android/build.gradle b/sync_flutter_libs/android/build.gradle index 4f3ff7d7f..ca6220658 100644 --- a/sync_flutter_libs/android/build.gradle +++ b/sync_flutter_libs/android/build.gradle @@ -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" } } From 2eb1d46ec998448201981eb7a5266fa7b9f5132e Mon Sep 17 00:00:00 2001 From: Uwe Date: Tue, 2 Sep 2025 08:03:51 +0200 Subject: [PATCH 3/4] Update macOS/iOS library [4.3.0 -> 4.4.1] Includes C API 4.3.1 and database 4.3.1-2025-08-02 --- dev-doc/updating-c-library.md | 8 ++++---- flutter_libs/ios/objectbox_flutter_libs.podspec | 2 +- flutter_libs/macos/objectbox_flutter_libs.podspec | 2 +- objectbox/CHANGELOG.md | 2 ++ sync_flutter_libs/ios/objectbox_sync_flutter_libs.podspec | 2 +- .../macos/objectbox_sync_flutter_libs.podspec | 2 +- 6 files changed, 10 insertions(+), 8 deletions(-) diff --git a/dev-doc/updating-c-library.md b/dev-doc/updating-c-library.md index f415df0cc..024625f62 100644 --- a/dev-doc/updating-c-library.md +++ b/dev-doc/updating-c-library.md @@ -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 diff --git a/flutter_libs/ios/objectbox_flutter_libs.podspec b/flutter_libs/ios/objectbox_flutter_libs.podspec index da4ac3cd5..de5d2985a 100644 --- a/flutter_libs/ios/objectbox_flutter_libs.podspec +++ b/flutter_libs/ios/objectbox_flutter_libs.podspec @@ -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' } diff --git a/flutter_libs/macos/objectbox_flutter_libs.podspec b/flutter_libs/macos/objectbox_flutter_libs.podspec index 3c95ce32f..a32e43114 100644 --- a/flutter_libs/macos/objectbox_flutter_libs.podspec +++ b/flutter_libs/macos/objectbox_flutter_libs.podspec @@ -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' diff --git a/objectbox/CHANGELOG.md b/objectbox/CHANGELOG.md index 3c91951d8..3c18f0624 100644 --- a/objectbox/CHANGELOG.md +++ b/objectbox/CHANGELOG.md @@ -5,6 +5,8 @@ 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) diff --git a/sync_flutter_libs/ios/objectbox_sync_flutter_libs.podspec b/sync_flutter_libs/ios/objectbox_sync_flutter_libs.podspec index 571176e00..546f49ddf 100644 --- a/sync_flutter_libs/ios/objectbox_sync_flutter_libs.podspec +++ b/sync_flutter_libs/ios/objectbox_sync_flutter_libs.podspec @@ -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' } diff --git a/sync_flutter_libs/macos/objectbox_sync_flutter_libs.podspec b/sync_flutter_libs/macos/objectbox_sync_flutter_libs.podspec index a0870a53a..6cb773560 100644 --- a/sync_flutter_libs/macos/objectbox_sync_flutter_libs.podspec +++ b/sync_flutter_libs/macos/objectbox_sync_flutter_libs.podspec @@ -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' From 713dda41e2abe43afd6bf92850b0111e3e67c1de Mon Sep 17 00:00:00 2001 From: Uwe Date: Tue, 2 Sep 2025 08:13:27 +0200 Subject: [PATCH 4/4] Update C-API [4.3.0 -> 4.3.1] --- dev-doc/updating-c-library.md | 2 +- objectbox/lib/src/native/bindings/bindings.dart | 10 +++++----- objectbox/lib/src/native/bindings/objectbox-sync.h | 2 +- objectbox/lib/src/native/bindings/objectbox.h | 6 +++++- objectbox/lib/src/native/bindings/objectbox_c.dart | 5 ++++- 5 files changed, 16 insertions(+), 9 deletions(-) diff --git a/dev-doc/updating-c-library.md b/dev-doc/updating-c-library.md index 024625f62..f880ca9c5 100644 --- a/dev-doc/updating-c-library.md +++ b/dev-doc/updating-c-library.md @@ -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] ``` diff --git a/objectbox/lib/src/native/bindings/bindings.dart b/objectbox/lib/src/native/bindings/bindings.dart index 40a8f600b..706fe06a1 100644 --- a/objectbox/lib/src/native/bindings/bindings.dart +++ b/objectbox/lib/src/native/bindings/bindings.dart @@ -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 diff --git a/objectbox/lib/src/native/bindings/objectbox-sync.h b/objectbox/lib/src/native/bindings/objectbox-sync.h index 77da691a2..0935e5f5c 100644 --- a/objectbox/lib/src/native/bindings/objectbox-sync.h +++ b/objectbox/lib/src/native/bindings/objectbox-sync.h @@ -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 diff --git a/objectbox/lib/src/native/bindings/objectbox.h b/objectbox/lib/src/native/bindings/objectbox.h index 84376440e..872318cb3 100644 --- a/objectbox/lib/src/native/bindings/objectbox.h +++ b/objectbox/lib/src/native/bindings/objectbox.h @@ -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 @@ -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. diff --git a/objectbox/lib/src/native/bindings/objectbox_c.dart b/objectbox/lib/src/native/bindings/objectbox_c.dart index db1a845ec..a3e029acc 100644 --- a/objectbox/lib/src/native/bindings/objectbox_c.dart +++ b/objectbox/lib/src/native/bindings/objectbox_c.dart @@ -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. @@ -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;