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

[v11] Upgrade to Realm Core v13.14.0 #5870

Merged
merged 4 commits into from
Jun 14, 2023
Merged
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
10 changes: 4 additions & 6 deletions .github/workflows/pr-realm-js.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,16 @@ jobs:
build:
name: Build for ${{ matrix.variant.os }} ${{ matrix.variant.arch }}
runs-on: ${{ matrix.variant.runner }}
# if container is not set for a variant, this is a noop
container: ${{ matrix.variant.container }}
env:
REALM_DISABLE_ANALYTICS: 1
NDK_VERSION: 23.2.8568313
strategy:
fail-fast: false
matrix:
variant:
- { os: linux, runner: ubuntu-latest, arch: x64, artifact-path: prebuilds, test-node: true, test-electron: true, container: "ghcr.io/${{ github.repository }}/linux-x64:master" }
- { os: linux, runner: ubuntu-latest, arch: arm, artifact-path: prebuilds, container: "ghcr.io/${{ github.repository }}/linux-arm:master" }
- { os: linux, runner: ubuntu-latest, arch: arm64, artifact-path: prebuilds, container: "ghcr.io/${{ github.repository }}/linux-arm:master" }
- { os: linux, runner: ubuntu-latest, arch: x64, artifact-path: prebuilds, test-node: true, test-electron: true }
kneth marked this conversation as resolved.
Show resolved Hide resolved
- { os: linux, runner: ubuntu-latest, arch: arm, artifact-path: prebuilds }
- { os: linux, runner: ubuntu-latest, arch: arm64, artifact-path: prebuilds }
- { os: windows, runner: windows-latest, arch: x64, artifact-path: prebuilds, test-node: true, test-electron: true }
- { os: windows, runner: windows-2019, arch: ia32, artifact-path: prebuilds }
- { os: android, runner: ubuntu-latest, arch: x86_64, artifact-path: react-native/android/src/main/jniLibs }
Expand Down Expand Up @@ -71,7 +69,7 @@ jobs:
# On linux, electron requires a connected display. We fake this by giving it a headless environment using xvfb
# Relevant issue: https://github.com/juliangruber/browser-run/issues/147
- name: Linux Environment setup
if: ${{ (matrix.variant.runner == 'ubuntu-latest') && (matrix.variant.container == '') }}
if: ${{ (matrix.variant.runner == 'ubuntu-latest') }}
run: sudo apt-get install ccache ninja-build

- name: Setup Java
Expand Down
8 changes: 5 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,21 @@
* None

### Enhancements
* None
* Support sort/distinct based on values from a dictionary e.g. `TRUEPREDICATE SORT(meta['age'])`. ([realm/realm-core#5311](https://github.com/realm/realm-core/pull/5311))

### Fixed
* Partition-Based to Flexible Sync Migration for migrating a client app that uses partition based sync to use flexible sync under the hood if the server has been migrated to flexible sync is officially supported with this release. Any clients using an older version of Realm will receive a "switch to flexible sync" error message when trying to sync with the app. ([realm/realm-core#6554](https://github.com/realm/realm-core/issues/6554), since v11.9.0)
* Calling `snapshot()` on a Realm list of primitive types is not supported and now throws.

* Fixed a potential crash when opening the realm after failing to download a fresh FLX realm during an automatic client reset. ([realm/realm-core#6494](https://github.com/realm/realm-core/issues/6494), since v10.19.5)
* Changing parameters for a query after initialization could lead to a crash. ([realm/realm-core#6674](https://github.com/realm/realm-core/pull/6674), since v10.20.0)
*
### Compatibility
* React Native >= v0.71.3
* Realm Studio v14.0.0.
* File format: generates Realms with format v23 (reads and upgrades file format v5 or later for non-synced Realm, upgrades file format v10 or later for synced Realms).

### Internal
* Upgraded Realm Core from v13.10.1 to v13.12.0. ([#5811](https://github.com/realm/realm-js/issues/5811) and [#5833](https://github.com/realm/realm-js/issues/5833))
* Upgraded Realm Core from v13.10.1 to v13.14.0. ([#5811](https://github.com/realm/realm-js/issues/5811), [#5833](https://github.com/realm/realm-js/issues/5833), and [#5868](https://github.com/realm/realm-js/issues/5868))
* Bump sync protocol to v9 to indicate client has fix for client reset error during async open. ([realm/realm-core#6609](https://github.com/realm/realm-core/issues/6609))
* The sync client's user agent has been changed and has now the form `RealmJS/<sdk version> (<osname> <sysname> <release> <version> <machine>)` where
* `sdk version` is the version of Realm JavaScript
Expand Down
6 changes: 4 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,14 @@ if(DEFINED CMAKE_JS_VERSION)
endif()
elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux")
if(NODE_ARCH STREQUAL "arm")
set(CMAKE_TOOLCHAIN_FILE "${CMAKE_SOURCE_DIR}/vendor/realm-core/tools/cmake/armhf.toolchain.cmake")
set(CMAKE_TOOLCHAIN_FILE "${CMAKE_SOURCE_DIR}/vendor/realm-core/tools/cmake/armv7-linux-gnueabihf.toolchain.cmake")
# due to how multiarch works in debian this is needed to link to the correct system libraries
set(CMAKE_IGNORE_PATH "/usr/lib/x86_64-linux-gnu")
elseif(NODE_ARCH STREQUAL "arm64")
set(CMAKE_TOOLCHAIN_FILE "${CMAKE_SOURCE_DIR}/vendor/realm-core/tools/cmake/aarch64.toolchain.cmake")
set(CMAKE_TOOLCHAIN_FILE "${CMAKE_SOURCE_DIR}/vendor/realm-core/tools/cmake/aarch64-linux-gnu.toolchain.cmake")
set(CMAKE_IGNORE_PATH "/usr/lib/x86_64-linux-gnu")
elseif(NODE_ARCH STREQUAL "x86_64")
set(CMAKE_TOOLCHAIN_FILE "${CMAKE_SOURCE_DIR}/vendor/realm-core/tools/cmake/x86_64-linux-gnu.toolchain.cmake")
endif()
add_link_options(-fuse-ld=gold)
add_link_options(-Wl,-z,noexecstack)
Expand Down
2 changes: 1 addition & 1 deletion dependencies.list
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
PACKAGE_NAME=realm-js
VERSION=11.9.0
REALM_CORE_VERSION=13.12.0
REALM_CORE_VERSION=13.14.0
NAPI_VERSION=5
MDBREALM_TEST_SERVER_TAG=2023-02-23
2 changes: 1 addition & 1 deletion vendor/realm-core
Submodule realm-core updated 72 files
+20 −0 .project
+50 −0 CHANGELOG.md
+2 −2 CMakeLists.txt
+14 −8 Jenkinsfile
+1 −1 Package.swift
+2 −2 dependencies.list
+3 −0 evergreen/install_baas.sh
+0 −0 linux.Dockerfile
+0 −2 packaging.Dockerfile
+53 −40 src/realm/array.cpp
+1 −1 src/realm/array_blob.cpp
+0 −1 src/realm/metrics/query_info.cpp
+0 −1 src/realm/metrics/query_info.hpp
+14 −15 src/realm/object-store/impl/realm_coordinator.cpp
+26 −7 src/realm/object-store/results.cpp
+8 −6 src/realm/object-store/sectioned_results.cpp
+6 −0 src/realm/object-store/shared_realm.cpp
+105 −74 src/realm/object-store/sync/app.cpp
+9 −5 src/realm/object-store/sync/app.hpp
+1 −1 src/realm/object-store/sync/sync_manager.cpp
+1 −1 src/realm/object-store/sync/sync_manager.hpp
+10 −17 src/realm/object-store/sync/sync_session.cpp
+122 −104 src/realm/parser/driver.cpp
+7 −5 src/realm/parser/driver.hpp
+229 −225 src/realm/parser/generated/query_bison.cpp
+1 −1 src/realm/parser/generated/query_bison.hpp
+1 −0 src/realm/parser/query_bison.yy
+15 −2 src/realm/query.cpp
+9 −10 src/realm/query.hpp
+12 −13 src/realm/query_engine.cpp
+105 −273 src/realm/query_engine.hpp
+34 −43 src/realm/query_expression.cpp
+57 −105 src/realm/query_expression.hpp
+77 −24 src/realm/sort_descriptor.cpp
+52 −7 src/realm/sort_descriptor.hpp
+1 −1 src/realm/sync/instruction_applier.cpp
+27 −23 src/realm/sync/network/network.hpp
+1 −1 src/realm/sync/noinst/client_impl_base.hpp
+1 −1 src/realm/sync/noinst/client_reset.cpp
+1 −1 src/realm/sync/noinst/migration_store.cpp
+2 −2 src/realm/sync/noinst/migration_store.hpp
+0 −29 src/realm/sync/subscriptions.cpp
+0 −4 src/realm/sync/subscriptions.hpp
+0 −1 src/realm/table.cpp
+0 −25 src/realm/utilities.hpp
+3 −0 test/object-store/CMakeLists.txt
+0 −1 test/object-store/benchmarks/object.cpp
+0 −1 test/object-store/benchmarks/results.cpp
+51 −6 test/object-store/c_api/c_api.cpp
+168 −3 test/object-store/dictionary.cpp
+30 −4 test/object-store/realm.cpp
+0 −1 test/object-store/results.cpp
+65 −21 test/object-store/sync/app.cpp
+90 −2 test/object-store/sync/flx_sync.cpp
+26 −0 test/object-store/sync/sync_test_utils.cpp
+3 −0 test/object-store/sync/sync_test_utils.hpp
+23 −0 test/object-store/util/event_loop.cpp
+3 −0 test/object-store/util/event_loop.hpp
+1 −1 test/test_link_query_view.cpp
+62 −0 test/test_parser.cpp
+2 −2 test/test_table.cpp
+7 −7 test/test_table_view.cpp
+2 −2 tools/cmake/RealmConfig.cmake.in
+3 −3 tools/cmake/SpecialtyBuilds.cmake
+3 −0 tools/cmake/aarch64-linux-gnu.toolchain.cmake
+0 −16 tools/cmake/aarch64.toolchain.cmake
+0 −88 tools/cmake/android-build-openssl.sh.in
+0 −17 tools/cmake/armhf.toolchain.cmake
+3 −0 tools/cmake/armv7-linux-gnueabihf.toolchain.cmake
+19 −0 tools/cmake/linux.toolchain.base.cmake
+0 −3 tools/cmake/run_ldconfig.sh
+3 −0 tools/cmake/x86_64-linux-gnu.toolchain.cmake