Skip to content

Commit

Permalink
Merge branch 'main' into ni/progress-notifications
Browse files Browse the repository at this point in the history
* main:
  Add vNext Changelog header (#1594)
  [Release 2.0.0] (#1593)
  Cleanup the changelog for 2.0.0 (#1592)
  • Loading branch information
nirinchev committed Mar 21, 2024
2 parents a550664 + 047e77a commit cf46f95
Show file tree
Hide file tree
Showing 10 changed files with 33 additions and 22 deletions.
29 changes: 20 additions & 9 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
## vNext (TBD)

### Enhancements
* None

### Fixed
* None

### Compatibility
* Realm Studio: 13.0.0 or later.

### Internal
* Using Core x.y.z.

## 2.0.0 (2024-03-20)

### Breaking Changes
* `RealmValue.type` is now an enum of type `RealmValueType` rather than `Type`. If you need the runtime type of the value wrapped in `RealmValue`, use `RealmValue.value.runtimeType`. (Issue [#1505](https://github.com/realm/realm-dart/issues/1505))
* Renamed `RealmValue.uint8List` constructor to `RealmValue.binary`. (PR [#1469](https://github.com/realm/realm-dart/pull/1469))
Expand Down Expand Up @@ -77,11 +91,11 @@
```dart
Realm.logger.onRecord.forEach((r) => Logger(r.category.toString()).log(r.level.level, r.message));
```
If no isolate subscribes to `Realm.logger.onRecord` then the logs will by default be sent to stdout.
If no isolate subscribes to `Realm.logger.onRecord` then the logs will by default be sent to stdout. (Issue [#1578](https://github.com/realm/realm-dart/issues/1578))


### Enhancements
* Realm objects can now be serialized as [EJSON](https://www.mongodb.com/docs/manual/reference/mongodb-extended-json/)
* Realm objects can now be serialized as [EJSON](https://www.mongodb.com/docs/manual/reference/mongodb-extended-json/). (Issue [#1254](https://github.com/realm/realm-dart/issues/1254))
```dart
import 'package:ejson/ejson.dart';
// ...
Expand Down Expand Up @@ -141,26 +155,23 @@
* Added support for accessing `Set` and `Map` types using the dynamic object API - `obj.dynamic.getSet/getMap`. (PR [#1533](https://github.com/realm/realm-dart/pull/1533))
* Added `RealmObjectBase.objectSchema` that returns the schema for this object. In most cases, this would be the schema defined in the model, but in case the Realm is opened as dynamic (by providing an empty collection for schemaObjects in the config) or using `FlexibleSyncConfiguration`, it may change as the schema on disk changes. (Issue [#1449](https://github.com/realm/realm-dart/issues/1449))
* Added `Realm.schemaChanges` that returns a stream of schema changes that can be listened to. Only dynamic and synchronized Realms will emit schema changes. (Issue [#1449](https://github.com/realm/realm-dart/issues/1449))

* Improve performance of object notifiers with complex schemas and very simple changes to process by as much as 20% ([Core 14.2.0).
* Improve performance of object notifiers with complex schemas and very simple changes to process by as much as 20% (Core 14.2.0).
* Improve performance with very large number of notifiers as much as 75% (Core 14.2.0).
* Add support to synchronize collections embedded in Mixed properties and other collections (except sets) (Core v14.2.0-12-g95c6efce8).
* Improve performance of change notifications on nested collections somewhat (Core v14.2.0-12-g95c6efce8).
* Improve performance of aggregate operations on Dictionaries of objects, particularly when the dictionaries are empty (Core v14.2.0-12-g95c6efce8)

### Fixed
* If you have more than 8388606 links pointing to one specific object, the program will crash. (Core 14.0.0)
* A Realm generated on a non-apple ARM 64 device and copied to another platform (and vice-versa) were non-portable due to a sorting order difference. This impacts strings or binaries that have their first difference at a non-ascii character. These items may not be found in a set, or in an indexed column if the strings had a long common prefix (> 200 characters). (Core 14.0.0)
* Ctor arguments appear in random order on generated classes, if the realm model contains many properties. (PR [#1531](https://github.com/realm/realm-dart/pull/1531))
* Fixed an issue where removing realm objects from a List with more than 1000 items could crash. (Core 14.2.0)
* Fix a spurious crash related to opening a Realm on background thread while the process was in the middle of exiting (Core v14.2.0-12-g95c6efce8)
* Fix a spurious crash related to opening a Realm on background thread while the process was in the middle of exiting. (Core v14.3.0)
* Fixed conflict resolution bug which may result in an crash when the AddInteger instruction on Mixed properties is merged against updates to a non-integer type. (Core v14.3.0)

### Compatibility
* Realm Studio: 14.0.0 or later.
* Fileformat: Generates files with format v24. Reads and automatically upgrade from fileformat v10. If you want to upgrade from an earlier file format version you will have to use RealmCore v13.x.y or earlier.

### Internal
* Using Core v14.2.0-12-g95c6efce8
* Using Core v14.3.0

## 1.9.0 (2024-02-02)

Expand Down
2 changes: 1 addition & 1 deletion packages/realm/example/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ environment:
dependencies:
flutter:
sdk: flutter
realm: ^2.0.0-beta.2
realm: ^2.0.0
characters: ^1.1.0

dev_dependencies:
Expand Down
2 changes: 1 addition & 1 deletion packages/realm/ios/realm.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ puts "bundleId is #{bundleId}"

Pod::Spec.new do |s|
s.name = 'realm'
s.version = '2.0.0-beta.2'
s.version = '2.0.0'
s.summary = 'The official Realm SDK for Flutter'
s.description = <<-DESC
Realm is a mobile database - an alternative to SQLite and key-value stores.
Expand Down
2 changes: 1 addition & 1 deletion packages/realm/macos/realm.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ puts "bundleId is #{bundleId}"

Pod::Spec.new do |s|
s.name = 'realm'
s.version = '2.0.0-beta.2'
s.version = '2.0.0'
s.summary = 'The official Realm SDK for Flutter'
s.description = <<-DESC
Realm is a mobile database - an alternative to SQLite and key-value stores.
Expand Down
4 changes: 2 additions & 2 deletions packages/realm/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: realm
description: The official Realm SDK for Flutter. Realm is a mobile database - an alternative to SQLite and key-value stores.
version: 2.0.0-beta.2
version: 2.0.0

homepage: https://www.realm.io
repository: https://github.com/realm/realm-dart
Expand All @@ -13,7 +13,7 @@ environment:
dependencies:
flutter:
sdk: flutter
realm_dart: ^2.0.0-beta.2
realm_dart: ^2.0.0

flutter:
plugin:
Expand Down
2 changes: 1 addition & 1 deletion packages/realm_common/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ description: >-
Hosts the common code shared between realm, realm_dart and realm_generator packages.
This package is part of the official Realm Flutter and Realm Dart SDKs.
version: 2.0.0-beta.2
version: 2.0.0

homepage: https://www.realm.io
repository: https://github.com/realm/realm-dart
Expand Down
2 changes: 1 addition & 1 deletion packages/realm_dart/lib/src/native/realm_core.dart
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ final _pluginLib = () {
}();

// stamped into the library by the build system (see prepare-release.yml)
const libraryVersion = '2.0.0-beta.2';
const libraryVersion = '2.0.0';

_RealmCore realmCore = _RealmCore();

Expand Down
6 changes: 3 additions & 3 deletions packages/realm_dart/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: realm_dart
description: The official Realm SDK for Dart. Realm is a mobile database - an alternative to SQLite and key-value stores.
version: 2.0.0-beta.2
version: 2.0.0

homepage: https://www.realm.io
repository: https://github.com/realm/realm-dart
Expand All @@ -23,8 +23,8 @@ dependencies:
path: ^1.0.0
pubspec_parse: ^1.0.0
pub_semver: ^2.1.0
realm_common: ^2.0.0-beta.2
realm_generator: ^2.0.0-beta.2
realm_common: ^2.0.0
realm_generator: ^2.0.0
tar: ^1.0.1
build_runner: ^2.1.0
http: ^1.0.0
Expand Down
2 changes: 1 addition & 1 deletion packages/realm_dart/src/realm_dart.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ RLM_API void realm_dart_invoke_unlock_callback(realm_userdata_t error, void* unl
// Stamped into the library by the build system (see prepare-release.yml)
// Keep this method as it is written and do not format it.
// We have a github workflow that looks for and replaces this string as it is written here.
RLM_API const char* realm_dart_library_version() { return "2.0.0-beta.2"; }
RLM_API const char* realm_dart_library_version() { return "2.0.0"; }

//for debugging only
// RLM_API void realm_dart_gc() {
Expand Down
4 changes: 2 additions & 2 deletions packages/realm_generator/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ description: >-
Generates RealmObject classes from Realm data model classes.
This package is part of the official Realm Flutter and Realm Dart SDKs.
version: 2.0.0-beta.2
version: 2.0.0

homepage: https://www.realm.io
repository: https://github.com/realm/realm-dart
Expand All @@ -17,7 +17,7 @@ dependencies:
build_resolvers: ^2.0.9
build: ^2.0.0
dart_style: ^2.2.0
realm_common: ^2.0.0-beta.2
realm_common: ^2.0.0
source_gen: ^1.1.0
source_span: ^1.8.0

Expand Down

0 comments on commit cf46f95

Please sign in to comment.