Skip to content

Commit

Permalink
[v11] Upgrade to Realm Core v13.14.0 (#5870)
Browse files Browse the repository at this point in the history
* Upgrade to Realm Core v13.14.0
* Simply how to build for Linux
  • Loading branch information
kneth authored Jun 14, 2023
1 parent bab9d05 commit 692d1c4
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 13 deletions.
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 }
- { 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

0 comments on commit 692d1c4

Please sign in to comment.