Releases: objectbox/objectbox-swift
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 found
warning when an entity class usesToMany
. - Some minor vector search performance improvements.
- Update to ObjectBox C 4.0.2.
Sync
- Fix a serious regression, please update as soon as possible.
v4.0.0
ObjectBox now supports Vector Search to enable efficient similarity searches.
This is particularly useful for AI/ML/RAG applications, e.g. image, audio, or text similarity. Other use cases include semantic search or recommendation engines.
Create a Vector (HNSW) index for a floating point vector property. For example, a City
with a location vector:
// objectbox: entity
class City {
// objectbox:hnswIndex: dimensions=2
var location: [Float]?
}
Perform a nearest neighbor search using the new nearestNeighbors(queryVector, maxCount)
query condition and the new "find with scores" query methods (the score is the distance to the query vector). For example, find the 2 closest cities:
let madrid = [40.416775, -3.703790]
let query = try box
.query { City.coordinates.nearestNeighbors(queryVector: madrid, maxCount: 2) }
.build()
let closest = query.findWithScores()[0].object
For an introduction to Vector Search, more details and other supported languages see the Vector Search documentation.
- Built with Xcode 15.0.1 and Swift 5.9.
- The generator now displays an error when using an index on a property type that can not be indexed.
- Update to ObjectBox C API 4.0.1.
v2.0.0
- Built with Xcode 15.0.1 and Swift 5.9.
- Support creating file-less in-memory databases, e.g. for caching and testing. To create one instead of a directory path pass
memory:
together with an identifier string when creating aStore
:See theinMemoryStore = try Store(directoryPath: "memory:test-db");
Store
documentation for details. - Change
Store.closeAndDeleteAllFiles()
to support deleting an in-memory database. - Removed some deprecated APIs:
- Removed
findIntegers()
for property query, replaced byfind()
. - Removed
find()
ofBox
, replaced byall()
.
- Removed
- Update to ObjectBox C API 4.0.0.
v1.9.2
- Built with Xcode 15.0.1 and Swift 5.9.
- Update to ObjectBox C API 0.21.0.
- Include debug symbols for the ObjectBox Swift library.
Check https://swift.objectbox.io/ for details.
ObjectBox Swift database 1.9.1
- Built with Xcode 15.0.1 and Swift 5.9.
- Fix incorrect flags getting generated in the model JSON for to-one properties.
- setup.rb: Changed configured build phase for ObjectBox generator to always run to remove warning due to no build phase inputs being configured (as the script can not know which source code files contain entities).
- Require at least iOS 12.0 and macOS 10.15.
Check https://swift.objectbox.io/ for details.
ObjectBox Swift database 1.9.0
- Built with Xcode 14.3.1 and Swift 5.8.1 (Xcode 14.3.1 or higher recommended)
- Update to ObjectBox C API 0.19.0
- Queries: all expected results are now returned when using a less-than or less-or-equal condition for a String property with index type
VALUE
. Reported via objectbox-dart#318 - Queries: when combining multiple conditions with OR and adding a condition on a related entity ("link condition") the combined conditions are now properly applied. Reported via objectbox-dart#546
- Queries: all expected results are now returned when using a less-than or less-or-equal condition for a String property with index type
Check https://swift.objectbox.io/ for details.
ObjectBox Swift Database 1.8.1
Recommended bugfix release; please update.
- Fixes "Could not put (-30786)", which may occur in some corner cases on some platforms.
Please visit https://swift.objectbox.io/ shortly for more information.
ObjectBox Swift Database 1.8.0
Please visit https://swift.objectbox.io/ for more information.
v1.7.0
Unique properties can now be annotated to replace objects "on conflict" (e.g. useful for a secondary key).
See all changes in the Swift Database docs.
1.6.0
- Build with Xcode 12.5 and Swift 5.4
- Updated Sync protocol to V3
- Internal improvements
Check https://swift.objectbox.io/ for details.