From 431d26d2bfd993268f68e6ae240edbc239fc37a9 Mon Sep 17 00:00:00 2001 From: Markus Date: Mon, 4 Nov 2024 21:57:57 +0100 Subject: [PATCH] Version 4.0.3 --- CHANGELOG.md | 4 ++++ CMakeLists.txt | 4 ++-- README.md | 29 +++++++++++++++-------------- download.sh | 2 +- doxygen/Changelog.md | 4 ++++ doxygen/Doxyfile | 2 +- include/objectbox-sync.h | 2 +- include/objectbox-sync.hpp | 2 +- include/objectbox.h | 2 +- include/objectbox.hpp | 2 +- 10 files changed, 31 insertions(+), 22 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bfe6c97..781cbb0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,10 @@ ObjectBox C and C++ API Changelog ================================= +4.0.3 (2024-11-05) +------------------ +* CMake Integration with ObjectBox Generator 4.0.0 + 4.0.2 (2024-10-15) ------------------ * Made closing the store more robust; e.g. it waits for ongoing queries and transactions to finish diff --git a/CMakeLists.txt b/CMakeLists.txt index 1cf84be..dd5ea5d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -49,7 +49,7 @@ else () function(defineObjectBoxLib VARIANT) # Configuration updated for each release - set(DL_VERSION 4.0.2) + set(DL_VERSION 4.0.3) # Platform detection and other setup set(DL_URL https://github.com/objectbox/objectbox-c/releases/download) @@ -104,7 +104,7 @@ else () if(NOT DEFINED ObjectBoxGenerator_CMAKE_VERSION OR ObjectBoxGenerator_CMAKE_VERSION STREQUAL "") # The default version is a specific version that "matches" the ObjectBox library version of this repo. # Nevertheless, it's often possible to use a newer Generator version as breaking changes are infrequent. - set(ObjectBoxGenerator_CMAKE_VERSION "v4.0.0-beta") + set(ObjectBoxGenerator_CMAKE_VERSION "v4.0.0") endif () set(OBX_GEN_DL_URL https://raw.githubusercontent.com/objectbox/objectbox-generator/${ObjectBoxGenerator_CMAKE_VERSION}/cmake/FindObjectBoxGenerator.cmake) diff --git a/README.md b/README.md index 33e6f39..f5e2437 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ box.put({.text = "Buy milk"}); See [ObjectBox C and C++ docs](https://cpp.objectbox.io/) for API details. -**Latest version: 4.0.2** (2024-10-15). +**Latest version: 4.0.3** (2024-11-04). See [changelog](CHANGELOG.md) for more details. ## Table of Contents: @@ -27,8 +27,8 @@ See [changelog](CHANGELOG.md) for more details. - [C++ API](#c-api) - [Examples](#examples) - [Documentation](#documentation) -- [Current state / Changelog](#current-state--changelog) - - [Supported platforms](#supported-platforms) +- [Current state / Changelog](#changelogupdating) +- [Supported platforms](#supported-platforms) - [C API as the Foundation for Higher Languages](#c-api-as-the-foundation-for-higher-languages) - [Other languages/bindings](#other-languagesbindings) - [How can I help ObjectBox?](#how-can-i-help-objectbox) @@ -99,25 +99,26 @@ Documentation * [include/objectbox.hpp](include/objectbox.hpp) - C++ API header file contains docs as code comments * [C and C++ API reference docs](https://objectbox.io/docfiles/c/current/) - online HTML docs (Doxygen) -Current state / Changelog -------------------------- -The C API is a thin wrapper around a robust DB core, which is version 3.x and already used on millions of devices. - -**Beta notice:** the C API will become stable starting from version 1.0. -Until then, API improvements may result in breaking changes. For example, functions may still be renamed. +Changelog/Updating +------------------ +Please refer to the **[Changelog](CHANGELOG.md)** for the latest updates and changes. +We are (mostly) following [Semantic Versioning](https://semver.org/). -**[Changelog](CHANGELOG.md):** If you update from a previous version, please check the [changelog](CHANGELOG.md). -Besides new features, there may be breaking changes requiring modifications to your code. +If you update from a previous version, please also check the changelog. -### Supported platforms: +Supported platforms +------------------- * Linux 64-bit * Linux ARMv6hf (e.g. Raspberry PI Zero) * Linux ARMv7hf (e.g. Raspberry PI 3/4) -* Linux ARMv8/AArch64 (e.g. Raspberry PI 3/4 with a 64 bit OS like Ubuntu) -* MacOS 64-bit +* Linux ARMv8/AArch64 (e.g. Raspberry PI 3/4 with a 64-bit OS like Ubuntu) +* macOS 64-bit * Windows 32-bit * Windows 64-bit +Note that e.g. our Android SDK (part of [another repo](https://github.com/objectbox/objectbox-java)) +also exposes the C API, so you can use ObjectBox in your Android NDK projects. + C API as the Foundation for Higher Languages -------------------------------------------- The plain C API (without the Generator) also serves as a basis for ObjectBox bindings in higher languages. diff --git a/download.sh b/download.sh index 3063c68..3684112 100755 --- a/download.sh +++ b/download.sh @@ -44,7 +44,7 @@ tty -s || quiet=true # Note: optional arguments like "--quiet" shifts argument positions in the case block above -version=${1:-4.0.2} +version=${1:-4.0.3} os=${2:-$(uname)} arch=${3:-$(uname -m)} echo "Base config: OS ${os} and architecture ${arch}" diff --git a/doxygen/Changelog.md b/doxygen/Changelog.md index 0db3df4..8297af5 100644 --- a/doxygen/Changelog.md +++ b/doxygen/Changelog.md @@ -3,6 +3,10 @@ ObjectBox C and C++ API Changelog ================================= +4.0.3 (2024-11-05) +------------------ +* CMake Integration with ObjectBox Generator 4.0.0 + 4.0.2 (2024-10-15) ------------------ * Made closing the store more robust; e.g. it waits for ongoing queries and transactions to finish diff --git a/doxygen/Doxyfile b/doxygen/Doxyfile index e120160..f889844 100644 --- a/doxygen/Doxyfile +++ b/doxygen/Doxyfile @@ -38,7 +38,7 @@ PROJECT_NAME = "ObjectBox C and C++ API" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = "4.0.2" +PROJECT_NUMBER = "4.0.3" # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/include/objectbox-sync.h b/include/objectbox-sync.h index 08f4aba..2fa5c6b 100644 --- a/include/objectbox-sync.h +++ b/include/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 == 0 && OBX_VERSION_PATCH == 2, // NOLINT +static_assert(OBX_VERSION_MAJOR == 4 && OBX_VERSION_MINOR == 0 && OBX_VERSION_PATCH == 3, // NOLINT "Versions of objectbox.h and objectbox-sync.h files do not match, please update"); #endif diff --git a/include/objectbox-sync.hpp b/include/objectbox-sync.hpp index 6e2341c..613b204 100644 --- a/include/objectbox-sync.hpp +++ b/include/objectbox-sync.hpp @@ -19,7 +19,7 @@ #include "objectbox-sync.h" #include "objectbox.hpp" -static_assert(OBX_VERSION_MAJOR == 4 && OBX_VERSION_MINOR == 0 && OBX_VERSION_PATCH == 2, // NOLINT +static_assert(OBX_VERSION_MAJOR == 4 && OBX_VERSION_MINOR == 0 && OBX_VERSION_PATCH == 3, // NOLINT "Versions of objectbox.h and objectbox-sync.hpp files do not match, please update"); namespace obx { diff --git a/include/objectbox.h b/include/objectbox.h index 5a2cacb..1db38e6 100644 --- a/include/objectbox.h +++ b/include/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 0 -#define OBX_VERSION_PATCH 2 // values >= 100 are reserved for dev releases leading to the next minor/major increase +#define OBX_VERSION_PATCH 3 // values >= 100 are reserved for dev releases leading to the next minor/major increase //---------------------------------------------- // Common types diff --git a/include/objectbox.hpp b/include/objectbox.hpp index de48103..ea47acf 100644 --- a/include/objectbox.hpp +++ b/include/objectbox.hpp @@ -36,7 +36,7 @@ #include #endif -static_assert(OBX_VERSION_MAJOR == 4 && OBX_VERSION_MINOR == 0 && OBX_VERSION_PATCH == 2, // NOLINT +static_assert(OBX_VERSION_MAJOR == 4 && OBX_VERSION_MINOR == 0 && OBX_VERSION_PATCH == 3, // NOLINT "Versions of objectbox.h and objectbox.hpp files do not match, please update"); #ifdef __clang__