Skip to content

Commit 41d7ffa

Browse files
committed
Merge branch 'master' of github.com:realm/realm-core into next-major
2 parents 222832d + 3648014 commit 41d7ffa

26 files changed

+1190
-1091
lines changed

Android.bp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ cc_object {
8383
"src/external/IntelRDFPMathLib20U2/LIBRARY/src/bid_from_int.c",
8484
"src/external/IntelRDFPMathLib20U2/LIBRARY/src/bid_round.c",
8585
],
86+
vendor: true
8687
}
8788

8889
cc_object {
@@ -110,6 +111,7 @@ cc_object {
110111
"-Wno-unused-local-typedefs",
111112
"-Wno-unused-parameter",
112113
],
114+
vendor: true
113115
}
114116

115117
genrule {
@@ -135,11 +137,11 @@ cc_defaults {
135137
},
136138
shared_libs: [
137139
"liblog",
138-
"libandroid",
139140
"libz",
140141
"libcrypto",
141142
"libssl",
142143
],
144+
vendor: true
143145
}
144146

145147
cc_defaults {
@@ -154,6 +156,7 @@ cc_defaults {
154156
"-DREALM_ENABLE_SYNC=1",
155157
"-DREALM_ENABLE_GEOSPATIAL=1",
156158
"-DREALM_HAVE_EPOLL=1",
159+
"-DREALM_AOSP_VENDOR=1",
157160
"-Wno-non-virtual-dtor",
158161
"-Wno-missing-field-initializers",
159162
],
@@ -193,4 +196,5 @@ cc_library_static {
193196
"src/realm/object-store/sync/impl/emscripten/**/*",
194197
],
195198
export_shared_lib_headers: ["libcrypto"],
199+
vendor: true
196200
}

CHANGELOG.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,31 @@
2020

2121
----------------------------------------------
2222

23+
# 14.7.0 Release notes
24+
25+
### Enhancements
26+
* Nested collections have full support for automatic client reset ([PR #7683](https://github.com/realm/realm-core/pull/7683)).
27+
28+
### Fixed
29+
* Having links in a nested collections would leave the file inconsistent if the top object is removed. ([#7657](https://github.com/realm/realm-core/issues/7657), since 14.0.0)
30+
* Accessing App::current_user() from within a notification produced by App:switch_user() (which includes notifications for a newly logged in user) would deadlock ([#7670](https://github.com/realm/realm-core/issues/7670), since v14.6.0).
31+
* Inserting the same typed link to the same key in a dictionary more than once would incorrectly create multiple backlinks to the object. This did not appear to cause any crashes later, but would have affecting explicit backlink count queries (eg: `...@links.@count`) and possibly notifications ([#7676](https://github.com/realm/realm-core/issues/7676) since v14.5.2).
32+
* Automatic client reset recovery would crash when recovering AddInteger instructions on a Mixed property if its type was changed to non-integer ([PR #7683](https://github.com/realm/realm-core/pull/7683), since v11.16.0).
33+
34+
### Breaking changes
35+
* None.
36+
37+
### Compatibility
38+
* 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.
39+
40+
-----------
41+
42+
### Internals
43+
* (bindgen) Exposing a function `app_user_as_sync_user` to cast the opposite way as `sync_user_as_app_user`. ([PR #7684](https://github.com/realm/realm-core/pull/7684) as a follow-up to [PR #7634](https://github.com/realm/realm-core/pull/7634))
44+
* Protocol version bumped to 13.
45+
46+
----------------------------------------------
47+
2348
# 14.6.2 Release notes
2449

2550
### Enhancements
@@ -28,7 +53,6 @@
2853
### Fixed
2954
* Fixed a bug when running a IN query on a String/Int/UUID/ObjectId property that was indexed. ([7642](https://github.com/realm/realm-core/issues/7642) since v14.6.0)
3055
* Fixed a bug when running a IN query on a integer property where double/float parameters were ignored. ([7642](https://github.com/realm/realm-core/issues/7642) since v14.6.0)
31-
* Having links in a nested collections would leave the file inconsistent if the top object is removed. ([#7657](https://github.com/realm/realm-core/issues/7657), since 14.0.0)
3256

3357
### Breaking changes
3458
* None.

Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import PackageDescription
44
import Foundation
55

6-
let versionStr = "14.6.2"
6+
let versionStr = "14.7.0"
77
let versionPieces = versionStr.split(separator: "-")
88
let versionCompontents = versionPieces[0].split(separator: ".")
99
let versionExtra = versionPieces.count > 1 ? versionPieces[1] : ""

dependencies.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
PACKAGE_NAME: realm-core
2-
VERSION: 14.6.2
2+
VERSION: 14.7.0
33
OPENSSL_VERSION: 3.2.0
44
ZLIB_VERSION: 1.2.13
55
# https://github.com/10gen/baas/commits

evergreen/config.yml

Lines changed: 75 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -434,7 +434,10 @@ functions:
434434
script: |-
435435
if ls crash-*> /dev/null 2>&1; then
436436
echo "Found crash file"
437+
#Rename the crash file and the realm file.
438+
#If there is a crash, this will signal that something needs to be uploaded.
437439
mv crash-* realm-fuzzer-crash.txt
440+
mv fuzz-realm.realm fuzzer_realm.realm
438441
fi
439442
440443
- command: s3.put
@@ -447,14 +450,29 @@ functions:
447450
bucket: mciuploads
448451
permissions: public-read
449452
content_type: text/plain
450-
display_name: Fuzzer crash report
453+
display_name: Crash input file
454+
optional: true
455+
456+
- command: s3.put
457+
params:
458+
working_dir: realm-core/build/test/realm-fuzzer
459+
aws_key: '${artifacts_aws_access_key}'
460+
aws_secret: '${artifacts_aws_secret_key}'
461+
local_file: 'realm-core/build/test/realm-fuzzer/fuzzer_realm.realm'
462+
remote_file: '${project}/${branch_name}/${task_id}/${execution}/fuzzer_realm.realm'
463+
bucket: mciuploads
464+
permissions: public-read
465+
content_type: application/x-binary
466+
display_name: Realm File
451467
optional: true
452468

453469
- command: shell.exec
454470
params:
455471
working_dir: realm-core/build/test/realm-fuzzer
456472
script: |-
473+
#remove the crash file and the realm produced by the fuzzer run
457474
rm realm-fuzzer-crash.txt
475+
rm fuzzer_realm.realm
458476
459477
"run hang analyzer":
460478
- command: shell.exec
@@ -745,6 +763,7 @@ tasks:
745763
- command: shell.exec
746764
params:
747765
working_dir: realm-core
766+
shell: bash
748767
script: |-
749768
set -o errexit
750769
if [[ -n "${cmake_bindir}" ]]; then
@@ -1124,6 +1143,56 @@ tasks:
11241143
script: |-
11251144
${cmake_build_type|Debug}/realm-libfuzz -rss_limit_mb=0 -max_total_time=3600
11261145
1146+
- name: generate-sync-corpus
1147+
tags: [ "for_nightly_tests" ]
1148+
exec_timeout_secs: 1800
1149+
commands:
1150+
- func: "fetch source"
1151+
- func: "fetch binaries"
1152+
- func: "compile"
1153+
vars:
1154+
target_to_build: "SyncTests"
1155+
- command: shell.exec
1156+
params:
1157+
working_dir: realm-core
1158+
shell: bash
1159+
script: |-
1160+
set -o errexit
1161+
set -o verbose
1162+
1163+
if [[ -n "${c_compiler}" && "$(basename ${c_compiler})" = "clang" && -f "$(dirname ${c_compiler})/llvm-symbolizer" ]]; then
1164+
LLVM_SYMBOLIZER="$(dirname ${c_compiler})/llvm-symbolizer"
1165+
export ASAN_SYMBOLIZER_PATH="$(./evergreen/abspath.sh $LLVM_SYMBOLIZER)"
1166+
export TSAN_OPTIONS="external_symbolizer_path=$(./evergreen/abspath.sh $LLVM_SYMBOLIZER)"
1167+
fi
1168+
1169+
export UNITTEST_EVERGREEN_TEST_RESULTS="$(./evergreen/abspath.sh ${task_name}_results.json)"
1170+
if [[ -n "$UNITTEST_EVERGREEN_TEST_RESULTS" && -f "$UNITTEST_EVERGREEN_TEST_RESULTS" ]]; then
1171+
rm "$UNITTEST_EVERGREEN_TEST_RESULTS"
1172+
fi
1173+
export UNITTEST_PROGRESS=1
1174+
export UNITTEST_FILTER="Array_Example Transform_* EmbeddedObjects_*"
1175+
export UNITTEST_DUMP_TRANSFORM="changeset_dump"
1176+
1177+
export TSAN_OPTIONS="suppressions=$(pwd)/test/tsan.suppress history_size=4 $TSAN_OPTIONS"
1178+
export UBSAN_OPTIONS="print_stacktrace=1"
1179+
1180+
./build/test/${cmake_build_type}/realm-sync-tests
1181+
1182+
CHANGESET_DUMP_DIR="$(find . -type d -name changeset_dump -print -quit)"
1183+
mv "$CHANGESET_DUMP_DIR" changeset_dump
1184+
tar -czvf changeset_dump.tgz changeset_dump
1185+
- command: s3.put
1186+
params:
1187+
aws_key: '${artifacts_aws_access_key}'
1188+
aws_secret: '${artifacts_aws_secret_key}'
1189+
local_file: 'realm-core/changeset_dump.tgz'
1190+
remote_file: 'realm-core-stable/${branch_name}/${task_id}/${execution}/changeset_dump.tgz'
1191+
bucket: mciuploads
1192+
permissions: public-read
1193+
content_type: application/gzip
1194+
display_name: changeset dump tarball
1195+
11271196
task_groups:
11281197
- name: core_tests_group
11291198
setup_group_can_fail_task: true
@@ -1347,9 +1416,10 @@ buildvariants:
13471416
- name: core_tests_group
13481417

13491418
# TODO RCORE-2085 ubuntu2004-release/ubuntu2004-arm64 build variants are here until we've established
1350-
# a new baseline for the updated ubuntu 2204/clang 18 builders.
1419+
# a new baseline for the updated ubuntu 2204/clang 18 builders and to generate artifacts for the baas
1420+
# team.
13511421
- name: ubuntu2004-release
1352-
display_name: "Ubuntu 20.04 x86_64 (Clang 11 release benchmarks)"
1422+
display_name: "Ubuntu 20.04 x86_64 (Clang 11 release benchmarks/baas artifacts)"
13531423
run_on: ubuntu2004-large
13541424
expansions:
13551425
clang_url: "https://s3.amazonaws.com/static.realm.io/evergreen-assets/clang%2Bllvm-11.0.0-x86_64-linux-gnu-ubuntu-20.04.tar.xz"
@@ -1362,7 +1432,9 @@ buildvariants:
13621432
cxx_compiler: "./clang_binaries/bin/clang++"
13631433
python3: /opt/mongodbtoolchain/v3/bin/python3
13641434
tasks:
1435+
- name: compile_test_and_package
13651436
- name: benchmarks
1437+
- name: generate-sync-corpus
13661438

13671439
- name: ubuntu2004-arm64
13681440
display_name: "Ubuntu 20.04 ARM64 (Clang 11 release benchmarks)"
@@ -1519,21 +1591,6 @@ buildvariants:
15191591
# tasks:
15201592
# - name: network_tests
15211593

1522-
- name: rhel70
1523-
display_name: "RHEL 7 x86_64"
1524-
run_on: rhel70-large
1525-
expansions:
1526-
c_compiler: /opt/mongodbtoolchain/v3/bin/gcc
1527-
cxx_compiler: /opt/mongodbtoolchain/v3/bin/g++
1528-
cmake_url: "https://s3.amazonaws.com/static.realm.io/evergreen-assets/cmake-3.26.3-linux-x86_64.tar.gz"
1529-
cmake_bindir: "./cmake_binaries/bin"
1530-
fetch_missing_dependencies: On
1531-
curl: "/opt/mongodbtoolchain/v3/bin/curl"
1532-
python3: "/opt/mongodbtoolchain/v3/bin/python3"
1533-
ninja: "/opt/mongodbtoolchain/v4/bin/ninja"
1534-
tasks:
1535-
- name: compile_test_and_package
1536-
15371594
- name: ubuntu-valgrind
15381595
display_name: "Ubuntu 22.04 x86_64 (Valgrind)"
15391596
run_on: ubuntu2204-large

src/realm/exec/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ set_target_properties(Realm2JSON PROPERTIES
8787
OUTPUT_NAME "realm2json"
8888
DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}
8989
)
90-
target_link_libraries(Realm2JSON Storage QueryParser Sync)
90+
target_link_libraries(Realm2JSON Sync QueryParser)
9191
list(APPEND ExecTargetsToInstall Realm2JSON)
9292
endif()
9393

0 commit comments

Comments
 (0)