Releases: objectbox/objectbox-swift
ObjectBox Swift v5.2.0
- Queries: add inequality comparisons for floating point properties
- Queries: add single-element conditions for float vector data
- Various fixes in Store, Query, AsyncBox, ...
Sync
- New Sync protocol V8: using new clients also require a server update
- Add Sync.Configuration to configure Sync client creation
- Add various SyncFlags (via Sync.Configuration)
- Add debugLogging flag (via Sync.Configuration)
- Previous Sync.makeClient() are now deprecated, switch to the one with Sync.Configuration instead
- Various fixes in SyncClient
v5.1.1
- Sync client: fix for encrypted (
wss://) connections on iOS devices
v5.1.0
Note: To support Xcode 26 and new Swift versions, the requirements have been raised to macOS 11.0 or iOS 15.0 and Swift 6.1 tools.
-
Fixes the circular reference error #109 for projects with "Default Actor Isolation" set to "MainActor" (the default for new iOS projects in Xcode 26).
-
Support string vectors defined as
[String]properties. For example:var tags: [String]?
-
Add
containsElementcondition for string vector properties. For example:box.query { ObxItem.tags.containsElement(element: "important", caseSensitive: true) }
-
Support integer vectors defined as
[Int32]or[Int64]properties. For example:var ints: [Int32]? var longs: [Int64]?
-
Support equal, less and greater query conditions on elements of
[Int32]or[Int64]properties. Meaning they match
if any element of an array is equal, less or greater. -
Observerno longer crashes due to it being closed after theStoreis closed. This might have occurred when
the associatedStorewas deinitialized by the system before theObserver(when used via the Combine APIs).
Sync
- Sync client: add method
outgoingMessages()to get the number of messages in the outgoing queue. - Sync client: add parameter
certificatePathstomakeClientbuilder methods to pass certificate paths on the local
file system. This can be useful to use self-signed certificates in a local development environment or custom CAs. - Sync client: fix applying Sync filter variables to
makeClient. - Improved SSL handling for secure wss Sync connections.
v5.0.0
Note: if you use the Swift Package, to receive this major version open your Xcode project settings and under "Package Dependencies" increase the version of objectbox-swift-spm to 5.0.0.
Sync
- Support Sync server version 5.0.
- User-Specific Data Sync: support configuring Sync filter variables on
SyncClient.
- User-Specific Data Sync: support configuring Sync filter variables on
Other changes
- Update ObjectBox database to version
5.0.0-2025-09-27.- ToOne relations: when deleting an object with an ID larger than the maximum 32-bit unsigned integer (
4294967295) that is used as the target object of a ToOne, correctly re-set the target ID of the ToOne to0. objectbox-dart#740
- ToOne relations: when deleting an object with an ID larger than the maximum 32-bit unsigned integer (
v4.4.1
v4.4.0
- Breaking API change: when using the Swift Package, make sure to run the generator again.
For Xcode projects, right-click your project in the Project navigator and click ObjectBoxGeneratorCommand.
For Swift Package projects, runswift package plugin --allow-writing-to-package-directory objectbox-generator.
When using ObjectBox through CocoaPods the generated code is updated when next building your project. - Change generated code to support Swift 6 language mode #91
- When using ObjectBox through CocoaPods, support Xcode 16 projects that use groups as well as buildable folders
v4.3.0
- The generator supports Xcode 16 projects. Note that when using ObjectBox via CocoaPods, projects that mix the new "buildable folders" with groups are not supported. Convert folders to "groups" to work around this. #94
- External property types and names (via MongoDB connector Data Mapping)
Sync
- Add "Log Events" for important server events, which can be viewed on a new Admin page.
- Detect and ignore changes for objects that were put but were unchanged.
- The limit for message size was raised to 32 MB.
- Transactions above the message size limit now already fail on the client (to better enforce the limit).
v4.2.0
- Vector Search: add new
geodistance type to perform vector searches on geographical coordinates.
This is particularly useful for location-based applications. - Make
Store.close()public. This function may be useful for when the deinitializer ofStoreis called too late
(which closes the Store as well), or for unit tests. - Update ObjectBox database to 4.2.0.
v4.1.0
- Build with Xcode 16 and Swift 6.0
Sync
- Add JWT authentication
- Add ObjectBox Admin auth (username and password)
- Sync clients can now send multiple credentials for login
v4.0.1
- Built with Xcode 15.0.1 and Swift 5.9.
- Make closing the Store more robust. In addition to transactions, it also waits for ongoing queries. This is just an
additional safety net. Your apps should still make sure to finish all Store operations, like queries, before closing it. - Generator: no longer print a
Mapping not foundwarning when an entity class usesToMany. - Some minor vector search performance improvements.
- Update to ObjectBox C 4.0.2.
Sync
- Fix for a serious regression, please update as soon as possible.