github objectbox/objectbox-dart v2.1.0

latest releases: v4.0.2, v4.0.1, v4.0.0...
15 months ago
  • Support for integer and floating point lists: store 8-bit, 16-bit, 32-bit and 64-bit integer
    lists as well as 32-bit and 64-bit floating point lists (called "vectors" by ObjectBox).

    Use a typed_data class like Int16List, Uint16List or Float32List for large lists, it uses
    less memory and CPU. Otherwise just use a Dart number list.

    A simple example is a shape entity that stores a palette of RGB colors:

    @Entity()
    class Shape {
        @Id()
        int id = 0;
    
        // An array of RGB color values that are used by this shape.
        Int32List? palette;
    }

    This can also be useful to store vector embeddings produced by machine learning:

    @Entity()
    class ImageEmbedding {
        @Id()
        int id = 0;
    
        // Link to the actual image, e.g. on Cloud storage
        String? url;
    
        // The coordinates computed for this image (vector embedding)
        @Property(type: PropertyType.floatVector)
        List<double>? coordinates;
    }

    Note: for queries currently only the isNull and notNull conditions are supported.

  • Changed PropertyType.char from a 8-bit signed integer to a 16-bit unsigned integer to match the
    ObjectBox database type.

  • Fix put returning an incorrect error message in a rare case.

  • Require at least Dart SDK 2.16 (shipped with Flutter 2.10.0).

  • Let Store.awaitQueueCompletion actually wait on the async queue to become idle. It previously
    behaved like Store.awaitQueueSubmitted.

  • Fix analysis event send failure breaking the code generator. #542

Don't miss a new objectbox-dart release

NewReleases is sending notifications on new releases.