realm_generator 0.3.0-beta copy "realm_generator: ^0.3.0-beta" to clipboard
realm_generator: ^0.3.0-beta copied to clipboard

outdated

Generates RealmObject classes from Realm data model classes. This package is part of the official Realm Flutter and Realm Dart SDKs.

0.3.0-beta (2022-06-02) #

This project is in the Alpha stage. All API's might change without warning and no guarantees are given about stability. Do not use it in production.

Breaking Changes #

  • Made all Configuration fields final so they can only be initialized in the constructor. This better conveys the immutability of the configuration class. (#455)
  • Removed inMemory field from Configuration. Use Configuration.inMemory factory instead.
  • Due to the introduction of different types of configurations the Configuration constructor has been removed. Use the Configuration.local factory instead. (#496)

Enhancements #

  • Added a property Configuration.disableFormatUpgrade. When set to true, opening a Realm with an older file format will throw an exception to avoid automatically upgrading it. (#310)
  • Support result value from write transaction callbacks. (#294)
  • Added a property Realm.isInTransaction that indicates whether the Realm instance has an open write transaction associated with it.
  • Support anonymous application credentials. (#443)
  • Added a property Configuration.initialDataCallback. This is a callback executed when a Realm file is first created and allows you to populate some initial data necessary for your application. (#298)
  • Support app configuration. (#306)
  • Support app class. (#446)
  • Support should realm compact on open callback Configuration.shouldCompactCallback as option when configuring a Realm to determine if it should be compacted before being returned. (#466)
  • Support ObjectId type. (#468)
  • Support Uuid type. (#470)
  • Support application login. (#469)
  • Support app configuration log level and request timeout.(#566)
  • Support EmailPassword register user. (#452)
  • Support EmailPassword confirm user. (#478)
  • Support EmailPassword resend user confirmation email. (#479)
  • Support EmailPassword complete reset password. (#480)
  • Support EmailPassword reset password. (#481)
  • Support EmailPassword calling custom reset password functions. (#482)
  • Support EmailPassword retry custom user confirmation functions. (#484)
  • Expose currentUser property on App. (473)
  • Support remove user. (#492)
  • Support switch current user. (#493)
  • Support user custom data and refresh. (#525)
  • Support linking user credentials. (#525)
  • Support user state. (#525)
  • Support getting user id and identities. (#525)
  • Support user logout. (#525)
  • Support user deviceId. (#570)
  • Support user authentication provider type. (#570)
  • Support user profile data. (#570)
  • Support flexible synchronization. (#496)
  • Added support for DateTime properties. (#569)
  • Support setting logger on AppConfiguration. (#583)
  • Support setting logger on Realm class. Default is to print info message or worse to the console. (#583)
  • Support getting the SyncSession for a synchronized Realm via the realm.syncSession property.
  • Support the following SyncSession API:
    • realmPath returning the path of the Realm for the session.
    • state returning the current state of the session.
    • connectionState returning the current state of the connection.
    • connectionStateChanges returns a Stream that emits connection state updates.
    • user returning the user that owns the session.
    • pause() pauses synchronization.
    • resume() resumes synchronization.
    • waitForUpload/waitForDownload returns a Future that completes when the session uploaded/downloaded all changes.
    • getProgressStream returns a Stream that emits progress updates.
  • Support SyncErrorHandler in FlexibleSyncConfiguration. (#577)
  • Support SyncClientResetHandler in FlexibleSyncConfiguration. (#608)
  • [Dart] Added Realm.Shutdown method to allow normal process exit in Dart applications. (#617)

Fixed #

  • Fixed an issue that would result in the wrong transaction being rolled back if you start a write transaction inside a write transaction. (#442)
  • Fixed boolean value persistence (#474)

Internal #

  • Added a command to deploy an Atlas App Services application to realm_dart. Usage: dart run realm_dart deploy-apps. By default it will deploy apps to http://localhost:9090 which is the endpoint of the local docker image. If --atlas-cluster is provided, it will authenticate, create an application and link the provided cluster to it. (PR #309)
  • Unit tests will now attempt to lookup and create if necessary Atlas App Services applications (similarly to the above mentioned command). See test.dart/setupBaas() for the environment variables that control the Url and Atlas Cluster that will be used. If the BAAS_URL environment variable is not set, no apps will be imported and sync tests will not run. (PR #309)

Compatibility #

  • Dart ^2.17 on Windows, MacOS and Linux
  • Flutter ^3.0 on Android, iOS, Linux, MacOS and Windows

0.2.1+alpha Release notes (2022-03-20) #

This project is in the Alpha stage. All API's might change without warning and no guarantees are given about stability. Do not use it in production.

Enhancements #

  • Support change notifications on query results. (#208)

    Every RealmResults<T> object now has a changes method returning a Stream<RealmResultsChanges<T>> which can be listened to.

    final subscription = realm.all<Dog>().changes.listen((changes) {
    changes.inserted // indexes of inserted ojbects
    changes.modified // indexes of modified objects
    changes.deleted  // indexes of deleted objects
    changes.newModified // indexes of modified objects after deletions and insertions are accounted for.
    changes.moved // indexes of moved objects
    }});
    subscription.cancel(); // cancel the subscription
    
  • Support change notifications on list collections. (#261)

    Every RealmList<T extends RealmObject> object now has a changes method returning a Stream<RealmListChanges<T>> which can be listened to.

    final team = Team('team', players: [Person("player")]);
    realm.write(() => realm.add(team));
    
    var firstCall = true;
    final subscription = team.players.changes.listen((changes) {
    changes.inserted // indexes of inserted ojbects
    changes.modified // indexes of modified objects
    changes.deleted  // indexes of deleted objects
    changes.newModified // indexes of modified objects after deletions and insertions are accounted for.
    changes.moved // indexes of moved objects
    });
    
    subscription.cancel(); // cancel the subscription
    
  • Support change notifications on realm objects. (#262)

    Every managed RealmObject now has a changes method which allows to listen for object property changes.

    var dog = realm.all<Dog>().first;
    
    final subscription = dog.changes.listen((changes) {
    changes.isDeleted // if the object has been deleted
    changes.object // the RealmObject being listened to.
    changes.properties // the changed properties
    });
    
    subscription.cancel(); // cancel the subscription
    
  • Added support for checking if realm lists and realm objects are valid. (#183)

  • Support query on lists of realm objects. (#239)

    Every RealmList

    final team = Team('Dream Team', players: [Person("Michael Jordan")]);
    realm.write(() => realm.add(team)); // Object needs to be managed.
    final result = team.players.query(r'name BEGINSWITH $0', ['M']);
    
  • Added support for opening realm in read-only mode. (#260)

  • Added support for opening in-memory realms. (#280)

  • Primary key fields no longer required to be final in data model classes (#240)

    Previously primary key fields needed to be final.

    @RealmModel()
    class _Car {
    @PrimaryKey()
    late final String make; // previously
    }
    
    

    Now primary key fields no longer need to be final

    @RealmModel()
    class _Car {
    @PrimaryKey()
    late String make; // now
    }
    
  • List fields no longer required to be final in data model classes. (#253)

    Previously list fields needed to be final.

    @RealmModel()
    class _Car {
    late final List<Person> owner; // previously
    }
    
    

    Now list fields no longer need to be final

    @RealmModel()
    class _Car {
    late List<Person> owner; // now
    }
    
  • Support custom FIFO special files. (#284)

  • Support flutter for Linux desktop. (#279)

Fixed #

  • Snapshot the results collection when iterating collections of realm objects. (#258)

Compatibility #

  • Dart ^2.15 on Windows, MacOS and Linux
  • Flutter ^2.10 on Android, iOS, Linux, MacOS and Windows

0.2.0+alpha Release notes (2022-01-31) #

This project is in the Alpha stage. All API's might change without warning and no guarantees are given about stability. Do not use it in production.

Enhancements #

  • Completely rewritten from the ground up with sound null safety and using Dart FFI

Compatibility #

  • Dart ^2.15 on Windows, MacOS and Linux

0.2.0-alpha.2 Release notes (2022-01-29) #

Notes: This release is a prerelease version. All API's might change without warning and no guarantees are given about stability.

Enhancements #

  • Completеly rewritten from the ground up with sound null safety and using Dart FFI

Fixed #

  • Fix running package commands.

Compatibility #

  • Dart ^2.15 on Windows, MacOS and Linux

0.2.0-alpha.1 Release notes (2022-01-29) #

Notes: This release is a prerelease version. All API's might change without warning and no guarantees are given about stability.

Enhancements #

  • Completеly rewritten from the ground up with sound null safety and using Dart FFI

Fixed #

  • Realm close stops internal scheduler.

Internal #

  • Fix linter issues

Compatibility #

  • Dart ^2.15 on Windows, MacOS and Linux

0.2.0-alpha Release notes (2022-01-27) #

Notes: This release is a prerelease version. All API's might change without warning and no guarantees are given about stability.

Enhancements #

  • Completеly rewritten from the ground up with sound null safety and using Dart FFI

Compatibility #

  • Dart ^2.15 on Windows, MacOS and Linux

Internal #

  • Uses Realm Core v11.9.0

0.1.1+preview Release notes (2021-04-01) #

Fixed #

  • realm_dart install command is correctly installing the realm native binary

Compatibility #

0.1.0+preview Release notes (2021-04-01) #

Enhancements #

  • The initial preview version of the Realm SDK for Dart.

Compatibility #

4
likes
0
points
49.8k
downloads

Publisher

verified publisherrealm.io

Weekly Downloads

Generates RealmObject classes from Realm data model classes. This package is part of the official Realm Flutter and Realm Dart SDKs.

Homepage
Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

analyzer, build, build_resolvers, dart_style, realm_common, source_gen, source_span

More

Packages that depend on realm_generator