Skip to content

Commit 2da3626

Browse files
committed
0.15.1
1 parent 75a8166 commit 2da3626

File tree

10 files changed

+41
-14
lines changed

10 files changed

+41
-14
lines changed

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,16 @@
11
ObjectBox C and C++ API Changelog
22
=================================
33

4+
0.15.1 (2022-01-25)
5+
-------------------
6+
* Fix non-unique indexes triggering unique constraint violations in corner cases (introduced in 0.15.0)
7+
* Minor performance improvements with hashed indexes
8+
* Admin UI now supports multiple sessions to the same host using different ports (session ID via HTTP request)
9+
10+
### Sync
11+
12+
* Performance improvements for compression and decompression
13+
414
0.15.0 (2021-12-09)
515
-------------------
616
* New "Flex" data type that can contain data of various types like integers, floating points, strings, lists and maps

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ else ()
3131

3232
function(defineObjectBoxLib VARIANT)
3333
# Configuration updated for each release
34-
set(DL_VERSION 0.15.0)
34+
set(DL_VERSION 0.15.1)
3535

3636
# Platform detection and other setup
3737
set(DL_URL https://github.com/objectbox/objectbox-c/releases/download)

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ box.put({.text = "Buy milk"});
1414
1515
See [ObjectBox C and C++ docs](https://cpp.objectbox.io/) for API details.
1616
17-
**Latest version: 0.15.0** (2021-12-09).
17+
**Latest version: 0.15.1** (2022-01-26).
1818
See [changelog](CHANGELOG.md) for more details.
1919
2020
Feature Highlights

download.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ tty -s || quiet=true
4444

4545
# Note: optional arguments like "--quiet" shifts argument positions in the case block above
4646

47-
version=${1:-0.15.0}
47+
version=${1:-0.15.1}
4848
os=${2:-$(uname)}
4949
arch=${3:-$(uname -m)}
5050
echo "Base config: OS ${os} and architecture ${arch}"

doxygen/Changelog.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,16 @@
33
ObjectBox C and C++ API Changelog
44
=================================
55

6+
0.15.1 (2022-01-25)
7+
-------------------
8+
* Fix non-unique indexes triggering unique constraint violations in corner cases (introduced in 0.15.0)
9+
* Minor performance improvements with hashed indexes
10+
* Admin UI now supports multiple sessions to the same host using different ports (session ID via HTTP request)
11+
12+
### Sync
13+
14+
* Performance improvements for compression and decompression
15+
616
0.15.0 (2021-12-09)
717
-------------------
818
* New "Flex" data type that can contain data of various types like integers, floating points, strings, lists and maps

doxygen/Doxyfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ PROJECT_NAME = "ObjectBox C and C++ API"
3838
# could be handy for archiving the generated documentation or if some version
3939
# control system is used.
4040

41-
PROJECT_NUMBER = "0.15.0"
41+
PROJECT_NUMBER = "0.15.1"
4242

4343
# Using the PROJECT_BRIEF tag one can provide an optional one line description
4444
# for a project that appears at the top of each page and should give viewer a

include/objectbox-sync.h

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
#include "objectbox.h"
3535

3636
#if defined(static_assert) || defined(__cplusplus)
37-
static_assert(OBX_VERSION_MAJOR == 0 && OBX_VERSION_MINOR == 15 && OBX_VERSION_PATCH == 0,
37+
static_assert(OBX_VERSION_MAJOR == 0 && OBX_VERSION_MINOR == 15 && OBX_VERSION_PATCH == 1,
3838
"Versions of objectbox.h and objectbox-sync.h files do not match, please update");
3939
#endif
4040

@@ -318,7 +318,7 @@ typedef struct OBX_sync_server OBX_sync_server;
318318
/// E.g. a client with an incompatible model will be rejected during login.
319319
/// @param store_options Options for the server's store.
320320
/// It is freed automatically (same as with obx_store_open()) - don't use or free it afterwards.
321-
/// @param uri The URI (following the pattern protocol:://IP:port) the server should listen on.
321+
/// @param uri The URI (following the pattern "protocol://IP:port") the server should listen on.
322322
/// Supported \b protocols are "ws" (WebSockets) and "wss" (secure WebSockets).
323323
/// To use the latter ("wss"), you must also call obx_sync_server_certificate_path().
324324
/// To bind to all available \b interfaces, including those that are available from the "outside", use 0.0.0.0 as
@@ -383,7 +383,12 @@ OBX_C_API uint64_t obx_sync_server_connections(OBX_sync_server* server);
383383
/// The returned char* is valid until another call to obx_sync_server_stats_string() or the server is closed.
384384
OBX_C_API const char* obx_sync_server_stats_string(OBX_sync_server* server, bool include_zero_values);
385385

386-
// TODO admin UI ("browser")
386+
/// Configure admin with a sync server, attaching the store and enabling custom sync-server functionality in the UI.
387+
/// This is a replacement for obx_admin_opt_store() and obx_admin_opt_store_path() - don't set them for the server.
388+
/// After configuring, this acts as obx_admin() - see for more details.
389+
/// You must use obx_admin_close() to stop & free resources after you're done; obx_sync_server_stop() doesn't do that.
390+
/// @param options configuration set up with obx_admin_opt_*. You can pass NULL to use the default options.
391+
OBX_C_API OBX_admin* obx_sync_server_admin(OBX_sync_server* server, OBX_admin_options* options);
387392

388393
#ifdef __cplusplus
389394
}

include/objectbox-sync.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
#include "objectbox-sync.h"
2020
#include "objectbox.hpp"
2121

22-
static_assert(OBX_VERSION_MAJOR == 0 && OBX_VERSION_MINOR == 15 && OBX_VERSION_PATCH == 0,
22+
static_assert(OBX_VERSION_MAJOR == 0 && OBX_VERSION_MINOR == 15 && OBX_VERSION_PATCH == 1,
2323
"Versions of objectbox.h and objectbox-sync.hpp files do not match, please update");
2424

2525
static_assert(sizeof(obx_id) == sizeof(OBX_id_array::ids[0]),
@@ -153,7 +153,7 @@ class SyncClientListener : public SyncClientLoginListener,
153153

154154
class SyncObjectsMessageListener {
155155
public:
156-
/// TODO do we want to transform to a more c++ friendly representation, like in other listeners?
156+
// TODO do we want to transform to a more c++ friendly representation, like in other listeners?
157157
virtual void received(const OBX_sync_msg_objects* cObjects) noexcept = 0;
158158
};
159159

include/objectbox.h

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2018-2021 ObjectBox Ltd. All rights reserved.
2+
* Copyright 2018-2022 ObjectBox Ltd. All rights reserved.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -51,7 +51,7 @@ extern "C" {
5151
/// obx_version() or obx_version_is_at_least().
5252
#define OBX_VERSION_MAJOR 0
5353
#define OBX_VERSION_MINOR 15
54-
#define OBX_VERSION_PATCH 0 // values >= 100 are reserved for dev releases leading to the next minor/major increase
54+
#define OBX_VERSION_PATCH 1 // values >= 100 are reserved for dev releases leading to the next minor/major increase
5555

5656
//----------------------------------------------
5757
// Common types
@@ -692,7 +692,9 @@ OBX_C_API OBX_store* obx_store_open(OBX_store_options* opt);
692692
/// Check if an open store was found for the given path (i.e. opened before and not yet closed).
693693
OBX_C_API bool obx_store_is_open(const char* path);
694694

695-
/// Get a store previously opened with createShared() matching the given path of the DB directory.
695+
/// Attach to a previously opened store matching the path of the DB directory, which was used for opening the store.
696+
/// The returned store is a new instance (e.g. different pointer value) with its own lifetime and must also be closed.
697+
/// The actual underlying store is only closed when the last store OBX_store instance is closed.
696698
/// @returns nullptr if no open store was found (i.e. not opened before or already closed)
697699
OBX_C_API OBX_store* obx_store_attach(const char* path);
698700

@@ -1829,7 +1831,7 @@ typedef struct OBX_admin OBX_admin;
18291831

18301832
/// Initialize the http-server with the given options.
18311833
/// Note: the given options are always freed by this function, including when an error occurs.
1832-
/// @param opt required parameter holding the options (see obx_admin_opt_*())
1834+
/// @param options required parameter holding the options (see obx_admin_opt_*())
18331835
/// @returns NULL if the operation failed, see functions like obx_last_error_code() to get error details
18341836
OBX_C_API OBX_admin* obx_admin(OBX_admin_options* options);
18351837

include/objectbox.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
#include <optional>
2626
#endif
2727

28-
static_assert(OBX_VERSION_MAJOR == 0 && OBX_VERSION_MINOR == 15 && OBX_VERSION_PATCH == 0,
28+
static_assert(OBX_VERSION_MAJOR == 0 && OBX_VERSION_MINOR == 15 && OBX_VERSION_PATCH == 1,
2929
"Versions of objectbox.h and objectbox.hpp files do not match, please update");
3030

3131
static_assert(sizeof(obx_id) == sizeof(OBX_id_array::ids[0]),

0 commit comments

Comments
 (0)