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

[Automated] Merge releases into main #1725

Merged
merged 6 commits into from
Apr 17, 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
71 changes: 37 additions & 34 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,37 @@
## 1.15.0-SNAPSHOT (YYYY-MM-DD)
## 1.15.1-SNAPSHOT (YYYY-MM-DD)

[!NOTE]
This release will bump the Realm file format from version 23 to 24. Opening a file with an older format will automatically upgrade it from file format v10. If you want to upgrade from an earlier file format version you will have to use Realm Kotlin v1.13.1 or earlier. Downgrading to a previous file format is not possible.

### Breaking changes
* None.

### Enhancements
* None.

### Fixed
* None.

### Compatibility
* File format: Generates Realms with file format v24 (reads and upgrades file format v10 or later).
* Realm Studio 15.0.0 or above is required to open Realms created by this version.
* This release is compatible with the following Kotlin releases:
* Kotlin 1.9.0 and above. Support for experimental K2-compilation with `kotlin.experimental.tryK2=true`.
* Ktor 2.1.2 and above.
* Coroutines 1.7.0 and above.
* AtomicFu 0.18.3 and above.
* The new memory model only. See https://github.com/realm/realm-kotlin#kotlin-memory-model-and-coroutine-compatibility
* Minimum Kbson 0.3.0.
* Minimum Gradle version: 6.8.3.
* Minimum Android Gradle Plugin version: 4.1.3.
* Minimum Android SDK: 16.
* Minimum R8: 8.0.34.

### Internal
* None.


## 1.15.0 (2024-04-17)

[!NOTE]
This release will bump the Realm file format from version 23 to 24. Opening a file with an older format will automatically upgrade it from file format v10. If you want to upgrade from an earlier file format version you will have to use Realm Kotlin v1.13.1 or earlier. Downgrading to a previous file format is not possible.
Expand All @@ -9,7 +42,7 @@ This release will bump the Realm file format from version 23 to 24. Opening a fi

### Enhancements
* Add support for using aggregate operations on RealmAny properties in queries (Core issue [realm/realm-core#7398](https://github.com/realm/realm-core/pull/7398))
* Property keypath in RQL can be substituted with value given as argument. Use '$P<i>' in query string. (Core issue [realm/realm-core#7033](https://github.com/realm/realm-core/issues/7033))
* Property keypath in RQL can be substituted with value given as argument. Use `$P<i>` in query string. (Core issue [realm/realm-core#7033](https://github.com/realm/realm-core/issues/7033))
* You can now use query substitution for the @type argument (Core issue [realm/realm-core#7289](https://github.com/realm/realm-core/issues/7289))
* Storage of Decimal128 properties has been optimised so that the individual values will take up 0 bits (if all nulls), 32 bits, 64 bits or 128 bits depending on what is needed. (Core issue [realm/realm-core#6111](https://github.com/realm/realm-core/pull/6111))
* Querying a specific entry in a collection (in particular 'first and 'last') is supported. (Core issue [realm/realm-core#4269](https://github.com/realm/realm-core/issues/4269))
Expand All @@ -21,7 +54,7 @@ This release will bump the Realm file format from version 23 to 24. Opening a fi
### Fixed
* Sorting order of strings has changed to use standard unicode codepoint order instead of grouping similar english letters together. A noticeable change will be from "aAbBzZ" to "ABZabz". (Core issue [realm/realm-core#2573](https://github.com/realm/realm-core/issues/2573))
* `@count`/`@size` is now supported for `RealmAny` properties (Core issue [realm/realm-core#7280](https://github.com/realm/realm-core/issues/7280), since v10.0.0)
* Fixed equality queries on a `RealmAny` property with an index possibly returning the wrong result if values of different types happened to have the same StringIndex hash. (Core issue [realm/realm-core6407](https://github.com/realm/realm-core/issues/6407) since v11.0.0-beta.5).
* Fixed equality queries on a `RealmAny` property with an index possibly returning the wrong result if values of different types happened to have the same StringIndex hash. (Core issue [realm/realm-core6407](https://github.com/realm/realm-core/issues/6407), since v11.0.0-beta.5).
* If you have more than 8388606 links pointing to one specific object, the program will crash. (Core issue [realm/realm-core#6577](https://github.com/realm/realm-core/issues/6577), since v6.0.0)
* Query for NULL value in `RealmAny<RealmAny>` would give wrong results (Core issue [realm/realm-core6748])(https://github.com/realm/realm-core/issues/6748), since v10.0.0)
* Fixed queries like `indexed_property == NONE {x}` which mistakenly matched on only x instead of not x. This only applies when an indexed property with equality (==, or IN) matches with `NONE` on a list of one item. If the constant list contained more than one value then it was working correctly. (Core issue [realm/realm-core#7777](https://github.com/realm/realm-java/issues/7862), since v12.5.0)
Expand Down Expand Up @@ -49,41 +82,11 @@ This release will bump the Realm file format from version 23 to 24. Opening a fi
* Minimum R8: 8.0.34.

### Internal
* Updated to Realm Core 14.4.1 commit 374dd672af357732dccc135fecc905406fec3223.
* Updated to Realm Core 14.5.1 commit 316889b967f845fbc10b4422f96c7eadd47136f2.
* Deprecated Jenkins and switching to Github Action ([JIRA]https://jira.mongodb.org/browse/RKOTLIN-825).
- Remove CMake required version.
* Updated URL to documentation.

## 1.14.2-SNAPSHOT (YYYY-MM-DD)

### Breaking Changes
- None.

### Enhancements

- None.

### Fixed
- None.

### Compatibility
- File format: Generates Realms with file format v23.
- Realm Studio 13.0.0 or above is required to open Realms created by this version.
- This release is compatible with the following Kotlin releases:
- Kotlin 1.9.0 and above. Support for experimental K2-compilation with `kotlin.experimental.tryK2=true`.
- Ktor 2.1.2 and above.
- Coroutines 1.7.0 and above.
- AtomicFu 0.18.3 and above.
- The new memory model only. See https://github.com/realm/realm-kotlin#kotlin-memory-model-and-coroutine-compatibility
- Minimum Kbson 0.3.0.
- Minimum Gradle version: 6.8.3.
- Minimum Android Gradle Plugin version: 4.1.3.
- Minimum Android SDK: 16.
- Minimum R8: 8.0.34.

### Internal
- None.


## 1.14.1 (2024-03-19)

Expand Down
2 changes: 1 addition & 1 deletion buildSrc/src/main/kotlin/Config.kt
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ val HOST_OS: OperatingSystem = findHostOs()

object Realm {
val ciBuild = (System.getenv("CI") != null)
const val version = "1.15.0-SNAPSHOT"
const val version = "1.15.1-SNAPSHOT"
const val group = "io.realm.kotlin"
const val projectUrl = "https://realm.io"
const val pluginPortalId = "io.realm.kotlin"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2703,8 +2703,9 @@ actual object RealmInterop {
return CPointerWrapper(
realm_wrapper.realm_sync_session_register_progress_notifier(
syncSession.cptr(),
staticCFunction<COpaquePointer?, ULong, ULong, Unit> { userData, transferred_bytes, total_bytes ->
staticCFunction<COpaquePointer?, ULong, ULong, Double, Unit> { userData, transferred_bytes, total_bytes, _ ->
safeUserData<ProgressCallback>(userData).run {
// TODO Progress ignored until https://github.com/realm/realm-kotlin/pull/1575
onChange(transferred_bytes.toLong(), total_bytes.toLong())
}
},
Expand Down
2 changes: 1 addition & 1 deletion packages/external/core
Submodule core updated 85 files
+40 −0 CHANGELOG.md
+4 −1 Package.swift
+3 −3 bindgen/spec.yml
+1 −1 bindgen/src/formatter.ts
+1 −1 dependencies.yml
+0 −1 package.json
+1 −1 src/realm.h
+31 −0 src/realm/PrivacyInfo.xcprivacy
+78 −61 src/realm/alloc_slab.cpp
+15 −5 src/realm/alloc_slab.hpp
+12 −3 src/realm/array_mixed.cpp
+5 −5 src/realm/collection_parent.cpp
+3 −3 src/realm/collection_parent.hpp
+7 −7 src/realm/db.cpp
+4 −9 src/realm/db.hpp
+7 −0 src/realm/db_options.hpp
+44 −30 src/realm/dictionary.cpp
+3 −1 src/realm/dictionary.hpp
+6 −6 src/realm/exec/realm2json.cpp
+6 −6 src/realm/group.cpp
+5 −3 src/realm/group.hpp
+66 −34 src/realm/list.cpp
+3 −1 src/realm/list.hpp
+135 −180 src/realm/obj.cpp
+1 −1 src/realm/object-store/c_api/app.cpp
+6 −6 src/realm/object-store/c_api/sync.cpp
+3 −1 src/realm/object-store/impl/realm_coordinator.cpp
+6 −0 src/realm/object-store/index_set.hpp
+2 −8 src/realm/object-store/object_store.cpp
+1 −2 src/realm/object-store/object_store.hpp
+0 −4 src/realm/object-store/schema.hpp
+3 −10 src/realm/object-store/shared_realm.cpp
+7 −0 src/realm/object-store/shared_realm.hpp
+14 −9 src/realm/object-store/sync/app.cpp
+8 −7 src/realm/object-store/sync/app.hpp
+8 −47 src/realm/object-store/sync/async_open_task.cpp
+4 −2 src/realm/object-store/sync/async_open_task.hpp
+3 −8 src/realm/object-store/sync/impl/sync_metadata.cpp
+86 −30 src/realm/object-store/sync/sync_session.cpp
+16 −5 src/realm/object-store/sync/sync_session.hpp
+177 −36 src/realm/sync/client.cpp
+2 −1 src/realm/sync/client.hpp
+4 −4 src/realm/sync/noinst/client_history_impl.cpp
+4 −4 src/realm/sync/noinst/client_history_impl.hpp
+58 −32 src/realm/sync/noinst/client_impl_base.cpp
+12 −7 src/realm/sync/noinst/client_impl_base.hpp
+2 −2 src/realm/sync/noinst/client_reset.cpp
+0 −2 src/realm/sync/noinst/client_reset.hpp
+7 −2 src/realm/sync/noinst/pending_bootstrap_store.cpp
+1 −0 src/realm/sync/noinst/pending_bootstrap_store.hpp
+60 −13 src/realm/sync/noinst/protocol_codec.hpp
+30 −2 src/realm/sync/noinst/sync_schema_migration.cpp
+3 −0 src/realm/sync/noinst/sync_schema_migration.hpp
+5 −1 src/realm/sync/protocol.hpp
+17 −14 src/realm/sync/subscriptions.cpp
+5 −4 src/realm/sync/subscriptions.hpp
+22 −24 src/realm/to_json.cpp
+0 −8 src/realm/util/interprocess_mutex.cpp
+24 −147 src/realm/util/interprocess_mutex.hpp
+2 −2 test/benchmark-common-tasks/main.cpp
+20 −8 test/expected_xjson_plus_embeddeddict1.json
+6 −1 test/expected_xjson_plus_link.json
+18 −3 test/expected_xjson_plus_linkdict1.json
+24 −4 test/expected_xjson_plus_linklist1.json
+18 −3 test/expected_xjson_plus_linkset1.json
+1 −4 test/object-store/CMakeLists.txt
+53 −3 test/object-store/c_api/c_api.cpp
+1 −1 test/object-store/migrations.cpp
+64 −2 test/object-store/realm.cpp
+22 −20 test/object-store/sync/app.cpp
+8 −8 test/object-store/sync/client_reset.cpp
+243 −11 test/object-store/sync/flx_schema_migration.cpp
+1 −1 test/object-store/sync/flx_sync.cpp
+490 −175 test/object-store/sync/session/progress_notifications.cpp
+2 −0 test/object-store/util/test_file.hpp
+2 −1 test/test_client_reset.cpp
+3 −3 test/test_lang_bind_helper.cpp
+1 −0 test/test_list.cpp
+203 −101 test/test_shared.cpp
+166 −151 test/test_sync.cpp
+3 −1 test/test_sync_subscriptions.cpp
+63 −0 test/test_transform.cpp
+6 −4 test/test_upgrade_database.cpp
+5 −0 test/tsan.suppress
+23 −2 tools/release-init.sh
3 changes: 2 additions & 1 deletion packages/jni-swig-stub/src/main/jni/realm_api_helpers.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1244,9 +1244,10 @@ sync_after_client_reset_handler(realm_sync_config_t* config, jobject after_handl
}

void
realm_sync_session_progress_notifier_callback(void *userdata, uint64_t transferred_bytes, uint64_t total_bytes) {
realm_sync_session_progress_notifier_callback(void *userdata, uint64_t transferred_bytes, uint64_t total_bytes, double progress) {
auto env = get_env(true);

// TODO Progress ignored until https://github.com/realm/realm-kotlin/pull/1575
static JavaMethod java_callback_method(env, JavaClassGlobalDef::progress_callback(), "onChange", "(JJ)V");

jni_check_exception(env);
Expand Down
2 changes: 1 addition & 1 deletion packages/jni-swig-stub/src/main/jni/realm_api_helpers.h
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ void
sync_after_client_reset_handler(realm_sync_config_t* config, jobject after_handler);

void
realm_sync_session_progress_notifier_callback(void *userdata, uint64_t transferred_bytes, uint64_t total_bytes);
realm_sync_session_progress_notifier_callback(void *userdata, uint64_t transferred_bytes, uint64_t total_bytes, double progress);

void
realm_sync_session_connection_state_change_callback(void *userdata, realm_sync_connection_state_e old_state, realm_sync_connection_state_e new_state);
Expand Down
Loading