# objectbox-java

> Database for Android and JVM - first and fast, lightweight on-device vector database

- **URL**: https://www.freshcrate.ai/projects/objectbox-java
- **Author**: objectbox
- **Category**: Databases
- **Latest version**: `V5.4.2` (2026-05-06)
- **License**: Apache-2.0
- **Source**: https://github.com/objectbox/objectbox-java
- **Homepage**: https://objectbox.io
- **Language**: Java
- **GitHub**: 4,609 stars, 305 forks
- **Registry**: github
- **Tags**: `android`, `database`, `edge`, `embedded`, `java`, `kotlin`, `mobile`, `nosql`

## Description

Database for Android and JVM - first and fast, lightweight on-device vector database

## Recent releases

| Version | Date | Urgency | Changes |
| --- | --- | --- | --- |
| `V5.4.2` | 2026-05-06 | High | - Update Android and JVM libraries to database version `5.3.2-2026-05-05`   - Fixed a corner case with "unique replace on conflict" and absent (e.g. null) sync clock value   - Internal fixes and improvements |
| `V5.4.1` | 2026-03-30 | Medium | - Update Android and JVM libraries to database version `5.3.1-2026-03-26`  ### Sync  - Critical fix for sync clock property handling |
| `V5.4.0` | 2026-03-24 | Medium | - Update Android and JVM libraries to database version `5.3.0-2026-03-23` - Admin: Status tab "Count and Sizes" and "System and Info" improved  ### Sync  - **Customizable conflict resolution** via the new annotations `@SyncClock` and `@SyncPrecedence` (see [docs](https://sync.objectbox.io/syncing-concurrent-changes) for details) - Fix bad Sync client state after multiple full sync messages were interrupted - Fix adding indexes to Sync types |
| `V5.3.0` | 2026-03-11 | Low | - Gradle plugin: to apply the plugin, it is no longer necessary to add a manual mapping of the plugin ID in your projects Gradle settings file. This was resolved by publishing Gradle plugin marker artifacts. [#960](https://github.com/objectbox/objectbox-java/issues/960) - Gradle plugin: it is no longer necessary to apply the plugin after the dependencies block when manually including ObjectBox dependencies. - Update database libraries for Android and JVM to database version `5.2.0-next-2026-03 |
| `V5.2.0` | 2026-02-17 | Low | - The [ObjectBox Gradle plugin](https://github.com/objectbox/objectbox-java-generator) requires JDK 11 and Android Gradle Plugin 8.1 or newer. - Update database libraries for Android and JVM to database version `5.1.1-pre-2026-02-16`. - Admin: new "Counts and Sizes" view (via Status page) to give an overview over all types their object counts and sizes - Admin: fix reload via browser to stay on the page - Admin: schema view to display flags as text - Admin: refresh button for the data view |
| `V5.1.0` | 2026-01-26 | Low | - Add [ObjectBoxThreadPoolExecutor](objectbox-java/src/main/java/io/objectbox/ObjectBoxThreadPoolExecutor.java), a default implementation of a `ThreadPoolExecutor` that properly cleans up thread-local Box resources. - Add methods `newCachedThreadPoolExecutor()` and `newFixedThreadPoolExecutor()` to `BoxStore` to help create instances of `ObjectBoxThreadPoolExecutor` for common uses. - Add methods `newCachedThreadPoolDispatcher()` and `newFixedThreadPoolDispatcher()` to the Kotlin extension fun |
| `V5.0.1` | 2025-09-30 | Low | ### Sync  - Enables **User-Specific Data Sync** in combination with [Sync Server version 5.0+](https://sync.objectbox.io/sync-server/changelog). - Support configuring [Sync filter](https://sync.objectbox.io/sync-server/sync-filters) variables on `SyncClient`.   ### Regular updates  - Update runtime libraries for Android and JVM to database version `5.0.0-2025-09-27`.   - Android: Prior to Android 8.0, don't crash when inserting objects with string lists whose size exceeds the local |
| `V4.3.1` | 2025-08-12 | Low | - Requires at least Kotlin compiler and standard library 1.7. - Data Observers: closing a Query now waits on a running publisher to finish its query, preventing a VM crash. [#1147](https://github.com/objectbox/objectbox-java/issues/1147) - Update database libraries for Android and JVM to version `4.3.1` (include database version `4.3.1-2025-08-02`). |
| `V4.3.0` | 2025-05-13 | Low | - Basic support for boolean array properties (`boolean[]` in Java or `BooleanArray` in Kotlin). - The Windows database library now statically links the MSVC runtime to avoid crashes in incompatible `msvcp140.dll`    shipped with some JDKs. - External property types (via [MongoDB connector](https://sync.objectbox.io/mongodb-sync-connector)):   - add `JSON_TO_NATIVE` to support sub (embedded/nested) documents/arrays in MongoDB   - support ID mapping to UUIDs (v4 and v7) - Admin: add class an |
| `V4.2.0` | 2025-03-05 | Low | - Add new query conditions `equalKeyValue`, `greaterKeyValue`, `lessKeyValue`, `lessOrEqualKeyValue`, and    `greaterOrEqualKeyValue` that are helpful to write complex queries for [string maps](https://docs.objectbox.io/advanced/custom-types#flex-properties).   These methods support `String`, `long` and `double` data types for the values in the string map. - Deprecate the `containsKeyValue` condition, use the new `equalKeyValue` condition instead. - Android: to build, at least Android Plugin |

## Citation

- HTML: https://www.freshcrate.ai/projects/objectbox-java
- Markdown: https://www.freshcrate.ai/projects/objectbox-java.md
- Dependencies JSON: https://www.freshcrate.ai/api/projects/objectbox-java/deps

_Generated by freshcrate.ai. Indexes github releases for AI-agent ecosystem packages._
