Skip to content

V5.0 - Sync Filters

Latest
Compare
Choose a tag to compare
@greenrobot-team greenrobot-team released this 30 Sep 11:31

Sync

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
      reference table size. #1215
    • ToOne relations: when deleting an object with an ID larger than the maximum 32-bit unsigned integer
      (4_294_967_295) that is used as the target object of a ToOne, correctly re-set the target ID of the ToOne to
      0. objectbox-dart#740
  • Fix a race condition with a closing store and still active transactions that kept the store from closing.
    For Android this may fix some rare ANR issues.
  • When re-creating a BoxStore for the same directory and close() wasn't called on the previous instance, don't throw
    an "Another BoxStore is still open for this directory" exception. Note that calling close() is recommended before
    creating a new instance. #1201
  • When using BoxStoreBuilder.buildDefault(), don't leak the Store when setting it as default fails.
  • To help diagnose, print stacks of all threads in the internal thread pool if shutting it down takes too long when
    closing BoxStore.
  • Remove deprecated APIs:
    • Query.setParameters methods that set a single parameter, use the setParameter methods instead.
    • Box.removeByKeys, use Box.removeByIds instead.
    • BoxStore.sizeOnDisk, use getDbSize or getDbSizeOnDisk instead which properly handle in-memory databases.
    • BoxStoreBuilder.debugTransactions, use debugFlags(DebugFlags.LOG_TRANSACTIONS_READ | DebugFlags.LOG_TRANSACTIONS_WRITE) instead.
    • SyncServerBuilder peer configuration options, use the clusterPeer options instead.
    • io.objectbox.DebugFlags, use io.objectbox.config.DebugFlags instead.
    • ValidateOnOpenMode constants, use ValidateOnOpenModePages instead.
    • DAOcompat compatibility query methods. Use the regular query API instead.