Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Core 14.10.1 #1724

Closed
wants to merge 3 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 10 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
## vNext (TBD)

### Enhancements
* None
* Reduce the size of the local transaction log produced by creating objects, improving the performance of insertion-heavy transactions. (Core 14.10.0)
* Performance has been improved for range queries on integers and timestamps. Requires that you use the "BETWEEN" operation in `realm.query<T>(...)`/`realm.all<T>().query(...)`. (Core 14.10.1)

### Fixed
* None
* Fix some client resets (such as migrating to flexible sync) potentially failing with AutoClientResetFailed if a new client reset condition (such as rolling back a flexible sync migration) occurred before the first one completed. (Core 14.10.0)
* Encrypted files on Windows had a maximum size of 2GB even on x64 due to internal usage of `off_t`, which is a 32-bit type on 64-bit Windows. (Core 14.10.0)
* The encryption code no longer behaves differently depending on the system page size, which should entirely eliminate a recurring source of bugs related to copying encrypted Realm files between platforms with different page sizes. One known outstanding bug was ([RNET-1141](https://github.com/realm/realm-dotnet/issues/3592)), where opening files on a system with a larger page size than the writing system would attempt to read sections of the file which had never been written to. (Core 14.10.0)
* There were several complicated scenarios which could result in stale reads from encrypted files in multiprocess scenarios. These were very difficult to hit and would typically lead to a crash, either due to an assertion failure or DecryptionFailure being thrown. (Core 14.10.0)
* Tokenizing strings for full-text search could pass values outside the range [-1, 255] to `isspace()`, which is undefined behavior. (Core 14.10.0)
* Opening an FLX realm asynchronously may not wait to download all data. (Core 14.10.1)

### Compatibility
* Realm Studio: 15.0.0 or later.
Expand Down Expand Up @@ -69,7 +75,7 @@
```

### Fixed
* `Realm.writeAsync` did not handle async callbacks (`Future<T> Function()`) correctly. (Issue [#1667](https://github.com/realm/realm-dart/issues/1667))
* `Realm.writeAsync` did not handle async callbacks (`Future<T> Function()`) correctly. (Issue [#1667](https://github.com/realm/realm-dart/issues/1667))
* Fixed an issue that would cause macOS apps to be rejected with `Invalid Code Signing Entitlements` error. (Issue [#1679](https://github.com/realm/realm-dart/issues/1679))
* Fixed a regression that makes it inconvenient to run unit tests using realm. (Issue [#1619](https://github.com/realm/realm-dart/issues/1619))
* After compacting, a file upgrade would be triggered. This could cause loss of data if schema mode is SoftResetFile (Core 14.9.0)
Expand All @@ -81,7 +87,7 @@
* Fileformat: Generates files with format v24. Reads and automatically upgrade from fileformat v10.

### Internal
* Using Core 14.9.0.
* Using Core 14.10.1.
* Disabled codesigning of Apple binaries. (Issue [#1679](https://github.com/realm/realm-dart/issues/1679))
* Drop building xcframework for catalyst. (Issue [#1695](https://github.com/realm/realm-dart/issues/1695))
* Using xcode 15.4 for native build. (Issue [#1547](https://github.com/realm/realm-dart/issues/1547))
Expand Down
2 changes: 1 addition & 1 deletion packages/ejson/lib/src/decoding.dart
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@ UndefinedOr<T> _decodeUndefinedOr<T>(EJsonValue ejson) {

Uuid _decodeUuid(EJsonValue ejson) {
return switch (ejson) {
{'\$binary': {'base64': String s, 'subType': '04'}} => Uuid.fromBytes(base64.decode(s).buffer),
{'\$binary': {'base64': String s, 'subType': '04'}} => Uuid.fromBytes(base64.decode(s)),
_ => raiseInvalidEJson(ejson),
};
}
Expand Down
2 changes: 1 addition & 1 deletion packages/ejson/lib/src/encoding.dart
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ EJsonValue _encodeSymbol(Symbol value) => {'\$symbol': value.name};

EJsonValue _encodeUndefined(Undefined<dynamic> undefined) => {'\$undefined': 1};

EJsonValue _encodeUuid(Uuid uuid) => _encodeBinary(uuid.bytes.asUint8List(), subtype: '04');
EJsonValue _encodeUuid(Uuid uuid) => _encodeBinary(uuid.bytes, subtype: '04');

EJsonValue _encodeBinary(Uint8List buffer, {required String subtype}) => {
'\$binary': {
Expand Down
4 changes: 2 additions & 2 deletions packages/ejson/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: ejson
description: >-
EJSON serialization.

BSON is a binary format used to store JSON-like documents efficiently.
BSON is a binary format used to store JSON-like documents efficiently.
EJSON extends JSON defining how all BSON types should be represented in JSON.

topics:
Expand All @@ -22,7 +22,7 @@ dependencies:
collection: ^1.17.0
ejson_annotation: ^0.3.0
objectid: ^3.0.0
sane_uuid: ^1.0.0-alpha.5
sane_uuid: ^1.0.1
type_plus: ^2.0.0

dev_dependencies:
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 @@ -15,7 +15,7 @@ environment:
dependencies:
collection: ^1.18.0
objectid: ^3.0.0
sane_uuid: ^1.0.0-alpha.5
sane_uuid: ^1.0.1

dev_dependencies:
lints: ^3.0.0
2 changes: 1 addition & 1 deletion packages/realm_dart/src/realm-core
Submodule realm-core updated 118 files
4 changes: 2 additions & 2 deletions packages/realm_dart/test/client_reset_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ void main() {
await expectLater(
clientResetFuture,
throwsA(isA<ClientResetError>().having((e) => e.innerError?.toString(), 'innerError', 'Exception: This fails!').having((e) => e.toString(), 'message',
"ClientResetError message: A fatal error occurred during client reset: 'User-provided callback failed', inner error: 'Exception: This fails!'")));
"ClientResetError message: A fatal error occurred during 'ClientReset' client reset for SyncClientResetRequired: Bad client file identifier (IDENT): 'User-provided callback failed', inner error: 'Exception: This fails!'")));
});

baasTest('$clientResetHandlerType.onManualResetFallback invoked when throw in onAfterReset', (appConfig) async {
Expand Down Expand Up @@ -177,7 +177,7 @@ void main() {
throwsA(isA<ClientResetError>().having((e) => e.innerError?.toString(), 'innerError', 'Exception: This fails too!').having(
(e) => e.toString(),
'message',
"ClientResetError message: A fatal error occurred during client reset: 'User-provided callback failed', inner error: 'Exception: This fails too!'")));
"ClientResetError message: A fatal error occurred during 'ClientReset' client reset for SyncClientResetRequired: Bad client file identifier (IDENT): 'User-provided callback failed', inner error: 'Exception: This fails too!'")));
});

baasTest('$clientResetHandlerType.onBeforeReset and onAfterReset are invoked', (appConfig) async {
Expand Down
Loading