Releases: objectbox/objectbox-dart
Releases · objectbox/objectbox-dart
v0.14.0
- Fix non-nullable
DateTime
fields deserialization regression (introduced in v0.13.0) - fields were read as nanosecond instead of millisecond timestamp. - Respect case-sensitivity setting in string
PropertyQuery.count()
withdistinct = true
(the result was always like withcaseSensitive = true
). - Query
findFirst()
doesn't changeQuery
object'soffset
andlimit
anymore. - Change Query string conditions
caseSensitive
default totrue
, previously conditions were case-insensitive by default. - Introduce Store constructor argument
queriesCaseSensitiveDefault
- allows changing the default value ofcaseSensitive
in queries.
This includes stringPropertyQuery
when usingdistinct = true
. - Get around Flutter's Android release build issue by changing the code the compiler had trouble with.
- Remove deprecated APIs from internal plugin interfaces (deprecation notice printed during Flutter build).
- Generator - update dependencies to their null-safe versions.
- Generated code - avoid more linter issues.
v0.13.0
- Null-safety support: both in the library and the generated code.
- Remove deprecated arguments
offset
,limit
,withEqual
fromQuery
methods. - More performance optimizations, mostly in our FlatBuffers fork.
- Fix FlatBuffers builder growing.
- Update to objectbox-c v0.13.0
- Update to objectbox-android v2.9.1
- Increase minimum SDK versions: Flutter v2.0 & Dart v2.12.
v0.13.0-nullsafety.3
Null safety pre-release, including new features and performance improvements (details will be specified in the final release).
Any feedback is welcome - raise a GitHub issue or comment on an existing one.
v0.12.1
v0.12.0
- Recognize
DateTime
entity fields, settingPropertyType.date
(millisecond storage precision). - Support specifying
PropertyType.dateNano
forDateTime
fields (nanosecond storage precision). - Add
Store.reference
getter andStore.fromReference()
factory - enabling access to store from multiple isolates. - Add
Store.subscribe<EntityType>()
andStore.subscribeAll()
data change event streams. - Add multiple
SyncClient
event streams. - Add
Query
conditions forlessOrEqual
/greaterOrEqual
on integer and double property types. - Add self-assignable IDs: annotation
@Id(assignable: true)
. - Update to objectbox-c v0.12.0
- Update to objectbox-android v2.9.0
- Update to objectbox-swift v1.5.0
- Increase minimum SDK versions: Flutter v1.20 & Dart v2.9. Code generator already required Flutter v1.22 & Dart v2.10.
v0.11.1
v0.11.0
- 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.
v0.10.0
- Change
type
field on@Property()
annotation toPropertyType
. - 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). - 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).
v0.9.0
- 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
.
v0.8.0
- 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).