- Add
ToOne<>
class to wrap related entities. See examples for details. (thanks @Buggaboo for jump-starting this). - Add
ToMany<>
class to wrap related entities. See examples for details. - Significantly improve
Box
read and write performance. - Change
Box.put()
andputMany()
- now also update given object's ID property. Note: If you previouslyput()
the same new object instance multiple times without setting id, the object will now be inserted only the first time, and overwritten on subsequent puts of the same instance, its ID is not zero anymore. - Change
Box.putMany()
andQuery.FindIds()
to return fixed-size lists. - Change
Box.GetMany()
to return a fixed-size list by default, with an option to return a growable list. - Change
@Id()
annotation to optional - recognized automatically if there's anint id
field (case insensitive). - Make
observable.dart
part ofobjectbox.dart
exports, no need to import it separately. - Expose
PutMode
- allowing semantics choice between put, update and insert. - Hide internal classes not intended for general use (e.g. all Model* classes).
- Rename
versionLib()
tonativeLibraryVersion()
. - Change
TxMode
enum values to lowercase. - Remove
flags
from theProperty()
annotation.
- Add support for string array properties:
List<String>
. - Add support for byte array properties:
List<Int>
,Uint8List
,Int8List
. - Add
@Index()
and@Unique()
property annotations (thanks @Buggaboo for #123). - Add
Query.remove()
to remove all objects matching the query. - Fix
Query.findStream()
to only rerun on changes to the queried type (thanks @RTrackerDev and @Buggaboo for #152). - Change
type
field on@Property()
annotation to PropertyType. - Mark
offset
andlimit
query parameters deprecated, useoffset()
andlimit()
instead. - Update to objectbox-swift 1.4.1
- Internal changes in preparation for null-safety (still waiting for our dependencies to migrate).
- Update to objectbox-c 0.11.0
- Update to objectbox-android 2.8.0
- Change
box.get(id)
to return null instead of throwing when trying to read a non-existent object. - Change the generator to skip read-only fields (getters)
- Add SyncClient to enable the new ObjectBox Sync
- Add "empty" query support using
box.query()
. (thanks @Buggaboo for #132) - Expose
lib/observable.dart
to avoid linter isues in apps using objectbox. (thanks @cmengler for bringing this up in #141) - Documentation and examples updates & improvements.
- Switch C-API binding code generation to package
ffigen
.
- Update to objectbox-c 0.10.0.
- Update to objectbox-android 2.7.1.
- Update to objectbox-swift 1.4.0.
- String startsWith and endsWith condition: removed unused
descending
parameter, addcaseSensitive
parameter. - String greaterThan/lessThan condition:
withEqual
is deprecated, use the greaterOrEqual/lessOrEqual condition instead. - Query find/findIds
offset
andlimit
parameters are deprecated, set them using the equally named methods instead. - New support to create a Dart Stream from a Query (thanks @Buggaboo for #88)
- Flutter v1.20 support
(move libs to separate package
objectbox_flutter_libs
, add it as a new dependency if you use Flutter) - New property query support (thanks Jasm Sison for #75)
- New
@Transient
annotation to skip storing select properties (thanks Jasm Sison for #98) - Handle
Byte
property as a signedint8
(was previously unsigned) to align with other bindings
- Update to objectbox-swift 1.3.0
- Update to objectbox-android 2.5.1
- Update FlatBuffers to 1.12.0
- Provide error hinting when DB can't be created (e.g. when an app docs directory isn't passed properly on Flutter).
- Support large object arrays on 32-bit platforms/emulators.
- Fix Flutter Android/iOS release build failures
- Updated to objectbox-c 0.8.2
- Flutter iOS support
- Generator fixes and rework to support multiple entity files in addition to many entities in a single file.
Please move
objectbox-model.json
tolib/
before running the generator. - Simplified Android support (automatic dependency).
- Docs improvements
- Updated to objectbox-c 0.8.1
- Dart 2.6 support - breaking change due to Dart 2.6 FFI changes. Please keep using 0.4 if you're on Dart 2.5/Flutter 1.9. (thanks Jasm Sison for #57)
- Docs fixes & improvements
- Flutter Android support
- Queries for all currently supported types (thanks Jasm Sison for #27 and #46)
- More Box functions (count, isEmpty, contains, remove and their bulk variants) (thanks liquidiert for #42 and #45)
- Explicit write transactions (thanks liquidiert for #50)
- Resolved linter issues (thanks Gregory Sech for #31)
- Updated to objectbox-c 0.7.2
- First release on pub.dev
- ID/UID generation and model persistence (objectbox-model.json)
- CI tests using GitHub Actions
- Code cleanup, refactoring and formatting (thanks Jasm Sison for #20 & #21)
- UTF-8 support for Store and Box (thanks Jasm Sison for #14!)
- Bulk put and get functions (getMany, getAll, putMany)
- Updated to objectbox-c 0.7
- Basic Store options
- Minimal unit tests
- Removed reflection code, switched to model code generation instead
- Minimal Flutter Desktop example for Dart 2.5.0
- Minimal Store setup
- Minimal Box with put and get