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

Update core to 14.12.0 #3662

Merged
merged 1 commit into from
Aug 23, 2024
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
22 changes: 19 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,32 @@
## vNext (TBD)

### Enhancements
* None
* Role and permissions changes no longer require a client reset to update the local realm. (Core 14.11.0)
* On Windows devices Device Sync will additionally look up SSL certificates in the Windows Trusted Root Certification Authorities certificate store when establishing a connection. (Core 14.11.0)
* Sync log statements now include the app services connection id in their prefix (e.g `Connection[1:<connection id>] Session[1]: log message`) to make correlating sync activity to server logs easier during troubleshooting. (Core 14.11.2)
* Improve sync bootstrap performance by reducing the number of table selections in the replication logs for embedded objects. (Core 14.12.0)
* Released a read lock which was pinned for the duration of a mutable subscription even after commit. This frees resources earlier, and may improve performance of sync bootstraps where the starting state is large. (Core 14.12.0)
* Client reset cycle detection now checks if the previous recovery attempt was made by the same core version, and if not attempts recovery again. (Core 14.12.0)
* Updated bundled OpenSSL version to 3.3.1. (Core 14.12.0)

### Fixed
* None
* Sync download progress was only updated when bootstraps completed, making it always be 0 before the first completion and then forever 1. (Core 14.11.0)
* Sync client can crash if a session is resumed while the session is being suspended. (Core 14.11.0)
* If a sync session is interrupted by a disconnect or restart while downloading a bootstrap, stale data from the previous bootstrap may be included when the session reconnects and downloads the bootstrap. This can lead to objects stored in the database that do not match the actual state of the server and potentially leading to compensating writes. (Core 14.11.0)
* Fixed unnecessary server roundtrips when there is no download to acknowledge. (Core 14.11.0)
* App subscription callback was getting fired before the user profile was retrieved on login, leading to an empty user profile when using the callback. (Core 14.11.1)
* Sync client may report duplicate compensating write errors. (Core 14.11.2)
* Fixed an "invalid column key" exception when using a RQL "BETWEEN" query on an int or timestamp property across links. (Core 14.12.0)
* Fixed conflict resolution bug related to ArrayErase and Clear instructions, which could sometimes cause an "Invalid prior_size" exception to prevent synchronization. (Core 14.12.0)
* Fixed bug which would prevent eventual consistency during conflict resolution. Affected clients would experience data divergence and potentially consistency errors as a result. (Core 14.12.0)
* Fixed issues loading the native Realm libraries on Linux ARMv7 systems when they linked against our bundled OpenSSL resulting in errors like `unexpected reloc type 0x03`. (Core 14.12.0)
* `Realm.Copy()` would sometimes incorrectly throw an exception claiming that there were unuploaded local changes when the source Realm is a synchronized Realm. (Core 14.12.0)

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

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

## 12.3.0 (2024-07-17)

Expand Down
2 changes: 1 addition & 1 deletion wrappers/realm-core
Submodule realm-core updated 99 files
+73 −1 CHANGELOG.md
+1 −2 Package.swift
+174 −174 certificate-authority/certs/dns-chain.crt.pem
+76 −76 certificate-authority/certs/dns-checked-server.crt.pem
+13 −13 certificate-authority/certs/dns-checked-server.csr.pem
+26 −26 certificate-authority/certs/dns-checked-server.key.pem
+175 −175 certificate-authority/certs/ip-chain.crt.pem
+77 −77 certificate-authority/certs/ip-server.crt.pem
+13 −13 certificate-authority/certs/ip-server.csr.pem
+26 −26 certificate-authority/certs/ip-server.key.pem
+ certificate-authority/certs/localhost-chain.crt.cer
+174 −174 certificate-authority/certs/localhost-chain.crt.pem
+76 −76 certificate-authority/certs/localhost-server.crt.pem
+15 −15 certificate-authority/certs/localhost-server.csr.pem
+26 −26 certificate-authority/certs/localhost-server.key.pem
+97 −97 certificate-authority/root-ca/crt.pem
+24 −24 certificate-authority/root-ca/csr.pem
+1 −1 certificate-authority/root-ca/db/ca.crt.srl
+2 −0 certificate-authority/root-ca/db/ca.db
+50 −50 certificate-authority/root-ca/key.pem
+98 −98 certificate-authority/signing-ca/crt.pem
+25 −25 certificate-authority/signing-ca/csr.pem
+1 −1 certificate-authority/signing-ca/db/ca.crt.srl
+3 −0 certificate-authority/signing-ca/db/ca.db
+50 −50 certificate-authority/signing-ca/key.pem
+2 −2 dependencies.yml
+171 −15 evergreen/config.yml
+3 −3 src/realm/alloc_slab.hpp
+0 −3 src/realm/error_codes.h
+24 −8 src/realm/object-store/sync/app.cpp
+2 −0 src/realm/object-store/sync/app.hpp
+1 −1 src/realm/parser/driver.cpp
+12 −30 src/realm/query_conditions.hpp
+49 −45 src/realm/replication.cpp
+18 −15 src/realm/replication.hpp
+1 −2 src/realm/sync/CMakeLists.txt
+47 −153 src/realm/sync/client.cpp
+0 −8 src/realm/sync/client_base.hpp
+2 −2 src/realm/sync/instruction_applier.cpp
+1 −24 src/realm/sync/network/default_socket.cpp
+0 −9 src/realm/sync/network/websocket.cpp
+0 −3 src/realm/sync/network/websocket_error.hpp
+15 −11 src/realm/sync/noinst/client_history_impl.cpp
+4 −3 src/realm/sync/noinst/client_history_impl.hpp
+35 −90 src/realm/sync/noinst/client_impl_base.cpp
+26 −21 src/realm/sync/noinst/client_impl_base.hpp
+10 −14 src/realm/sync/noinst/client_reset.cpp
+1 −6 src/realm/sync/noinst/client_reset.hpp
+2 −3 src/realm/sync/noinst/client_reset_operation.cpp
+1 −2 src/realm/sync/noinst/client_reset_operation.hpp
+0 −431 src/realm/sync/noinst/compact_changesets.cpp
+0 −41 src/realm/sync/noinst/compact_changesets.hpp
+2 −2 src/realm/sync/noinst/migration_store.cpp
+29 −34 src/realm/sync/noinst/pending_bootstrap_store.cpp
+9 −13 src/realm/sync/noinst/pending_bootstrap_store.hpp
+51 −138 src/realm/sync/noinst/pending_reset_store.cpp
+7 −13 src/realm/sync/noinst/pending_reset_store.hpp
+4 −1 src/realm/sync/noinst/protocol_codec.cpp
+5 −29 src/realm/sync/noinst/server/server.cpp
+0 −5 src/realm/sync/noinst/server/server.hpp
+1 −38 src/realm/sync/noinst/server/server_history.cpp
+1 −5 src/realm/sync/noinst/server/server_history.hpp
+36 −28 src/realm/sync/noinst/sync_metadata_schema.cpp
+5 −2 src/realm/sync/noinst/sync_metadata_schema.hpp
+202 −123 src/realm/sync/subscriptions.cpp
+43 −13 src/realm/sync/subscriptions.hpp
+4 −3 src/realm/sync/transform.cpp
+1 −1 src/realm/util/file.cpp
+5 −0 src/realm/util/logger.hpp
+6 −6 src/realm/util/serializer.cpp
+0 −1 test/CMakeLists.txt
+37 −0 test/object-store/realm.cpp
+62 −1 test/object-store/sync/app.cpp
+3 −3 test/object-store/sync/client_reset.cpp
+6 −3 test/object-store/sync/flx_role_change.cpp
+32 −24 test/object-store/sync/flx_schema_migration.cpp
+170 −16 test/object-store/sync/flx_sync.cpp
+54 −4 test/object-store/util/sync/baas_admin_api.cpp
+9 −1 test/object-store/util/sync/baas_admin_api.hpp
+282 −0 test/object-store/util/sync/redirect_server.hpp
+2 −2 test/object-store/util/sync/sync_test_utils.cpp
+7 −1 test/object-store/util/test_file.cpp
+2 −1 test/object-store/util/test_file.hpp
+0 −11 test/peer.hpp
+0 −3 test/sync_fixtures.hpp
+1 −1 test/test_alloc.cpp
+100 −138 test/test_client_reset.cpp
+0 −438 test/test_compact_changesets.cpp
+0 −12 test/test_embedded_objects.cpp
+35 −0 test/test_parser.cpp
+426 −37 test/test_replication.cpp
+373 −19 test/test_sync.cpp
+28 −23 test/test_sync_pending_bootstraps.cpp
+261 −77 test/test_sync_subscriptions.cpp
+0 −6 test/test_transform.cpp
+2 −2 test/util/CMakeLists.txt
+14 −0 test/util/unit_test.hpp
+0 −5 tools/cmake/armv7-linux-gnueabihf.toolchain.cmake
+88 −44 tools/cross_compile.sh
Loading