|
3 | 3 | Notable changes to the ObjectBox Java library. |
4 | 4 |
|
5 | 5 | For more insights into what changed in the ObjectBox C++ core, [check the ObjectBox C changelog](https://github.com/objectbox/objectbox-c/blob/main/CHANGELOG.md). |
6 | | - |
7 | | -## 4.3.2 - in development |
8 | 6 |
|
| 7 | +## 5.0.0 - 2025-09-17 |
| 8 | + |
| 9 | +- Includes runtime libraries for Android and JVM with database version `5.0.0-2025-09-16`. |
| 10 | + - Android: Prior to Android 8.0, don't crash when inserting objects with string lists whose size exceeds the local |
| 11 | + reference table size. [#1215](https://github.com/objectbox/objectbox-java/issues/1215) |
| 12 | + - ToOne relations: when deleting an object with an ID larger than the maximum 32-bit unsigned integer |
| 13 | + (`4_294_967_295 + 1`) that is used as the target object of a ToOne, correctly re-set the target ID of the ToOne to |
| 14 | + `0`. [objectbox-dart#740](https://github.com/objectbox/objectbox-dart/issues/740) |
9 | 15 | - When re-creating a `BoxStore` for the same directory and `close()` wasn't called on the previous instance, don't throw |
10 | 16 | an "Another BoxStore is still open for this directory" exception. Note that calling `close()` *is recommended* before |
11 | 17 | creating a new instance. [#1201](https://github.com/objectbox/objectbox-java/issues/1201) |
12 | | -- When using `BoxStoreBuilder.buildDefault()`, don't leak Store when setting as default fails. |
| 18 | +- When using `BoxStoreBuilder.buildDefault()`, don't leak the Store when setting it as default fails. |
13 | 19 | - To help diagnose, print stacks of all threads in the internal thread pool if shutting it down takes too long when |
14 | 20 | closing `BoxStore`. |
15 | | -- Remove deprecated `Query.setParameters` methods that set a single parameter, use the `setParameter` methods instead. |
16 | | -- Remove deprecated `Box.removeByKeys`, use `Box.removeByIds` instead. |
17 | | -- Remove deprecated `BoxStore.sizeOnDisk`, use `getDbSize` or `getDbSizeOnDisk` instead which properly handle in-memory databases. |
18 | | -- Remove deprecated `BoxStoreBuilder.debugTransactions`, use `debugFlags(DebugFlags.LOG_TRANSACTIONS_READ | DebugFlags.LOG_TRANSACTIONS_WRITE)` instead. |
19 | | -- Remove deprecated `SyncServerBuilder` `peer` configuration options, use the `clusterPeer` options instead. |
20 | | -- Remove deprecated `io.objectbox.DebugFlags`, use `io.objectbox.config.DebugFlags` instead. |
21 | | -- Remove deprecated `ValidateOnOpenMode` constants, use `ValidateOnOpenModePages` instead. |
22 | | -- Remove deprecated DAOcompat compatibility query methods. Use the regular query API instead. |
| 21 | +- Remove deprecated APIs: |
| 22 | + - `Query.setParameters` methods that set a single parameter, use the `setParameter` methods instead. |
| 23 | + - `Box.removeByKeys`, use `Box.removeByIds` instead. |
| 24 | + - `BoxStore.sizeOnDisk`, use `getDbSize` or `getDbSizeOnDisk` instead which properly handle in-memory databases. |
| 25 | + - `BoxStoreBuilder.debugTransactions`, use `debugFlags(DebugFlags.LOG_TRANSACTIONS_READ | DebugFlags.LOG_TRANSACTIONS_WRITE)` instead. |
| 26 | + - `SyncServerBuilder` `peer` configuration options, use the `clusterPeer` options instead. |
| 27 | + - `io.objectbox.DebugFlags`, use `io.objectbox.config.DebugFlags` instead. |
| 28 | + - `ValidateOnOpenMode` constants, use `ValidateOnOpenModePages` instead. |
| 29 | + - DAOcompat compatibility query methods. Use the regular query API instead. |
23 | 30 |
|
24 | 31 | ### Sync |
25 | 32 |
|
26 | | -- Support configuring [Sync filter](https://sync.objectbox.io/sync-server/sync-filters) variables on a `SyncClient`. |
| 33 | +- Support Sync server version 5.0. |
| 34 | + - **User-Specific Data Sync**: support configuring [Sync filter](https://sync.objectbox.io/sync-server/sync-filters) |
| 35 | + variables on `SyncClient`. |
27 | 36 |
|
28 | 37 | ## 4.3.1 - 2025-08-12 |
29 | 38 |
|
|
0 commit comments