Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into jbr/baasaas
Browse files Browse the repository at this point in the history
  • Loading branch information
jbreams committed Mar 6, 2024
2 parents 7378d98 + f7d22f2 commit a54815e
Show file tree
Hide file tree
Showing 24 changed files with 520 additions and 395 deletions.
28 changes: 26 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,40 @@

### Enhancements
* <New feature description> (PR [#????](https://github.com/realm/realm-core/pull/????))
* None.
* Added ability to get current log level via C API (PR [#7419](https://github.com/realm/realm-core/pull/7419))

### Fixed
* <How do the end-user experience this issue? what was the impact?> ([#????](https://github.com/realm/realm-core/issues/????), since v?.?.?)
* None.

### Breaking changes
* None.

### Compatibility
* 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.

-----------

### Internals
* Fix several crashes when running the object store benchmarks ([#7403](https://github.com/realm/realm-core/pull/7403)).
* Remove SetElementEquals and SetElementLessThan, as Mixed now uses the same comparisons as Set did.

----------------------------------------------

# 14.1.0 Release notes

### Enhancements
* Add support for using aggregate operations on Mixed properties in queries ([PR #7398](https://github.com/realm/realm-core/pull/7398))

### Fixed
* Fix a performance regression when reading values from Bson containers and revert some breaking changes to the Bson API ([PR #7377](https://github.com/realm/realm-core/pull/7377), since v14.0.0)
* List KVO information was being populated for non-list collections ([PR #7378](https://github.com/realm/realm-core/pull/7378), since v14.0.0)
* Setting a Mixed property to an ObjLink equal to its existing value would remove the existing backlinks and then exit before re-adding them, resulting in later assertion failures due to the backlink state being invalid ([PR #7384](https://github.com/realm/realm-core/pull/7384), since v14.0.0).
* Passing a double as argument for a Query on Decimal128 did not work ([#7386](https://github.com/realm/realm-core/issues/7386), since v14.0.0)
* Opening file with file format 23 in read-only mode will crash ([#7388](https://github.com/realm/realm-core/issues/7388), since v14.0.0)
* Querying a dictionary over a link would sometimes result in out-of-bounds memory reads ([PR #7382](https://github.com/realm/realm-core/pull/7382), since v14.0.0).
* Restore the pre-14.0.0 behavior of missing keys in dictionaries in queries ([PR #7391](https://github.com/realm/realm-core/pull/7391))
* Fix a ~10% performance regression for bulk insertion when using a log level which does not include debug/trace ([PR #7400](https://github.com/realm/realm-core/pull/7400), since v14.0.0)

### Breaking changes
* None.
Expand All @@ -23,7 +47,7 @@
-----------

### Internals
* None.
* The Linux-armv7 cross-compiling toolchain file prefers the bfd linker over gold because of issues linking against OpenSSL 3.2.0.

----------------------------------------------

Expand Down
2 changes: 1 addition & 1 deletion Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import PackageDescription
import Foundation

let versionStr = "14.0.1"
let versionStr = "14.1.0"
let versionPieces = versionStr.split(separator: "-")
let versionCompontents = versionPieces[0].split(separator: ".")
let versionExtra = versionPieces.count > 1 ? versionPieces[1] : ""
Expand Down
64 changes: 48 additions & 16 deletions bindgen/spec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -168,21 +168,19 @@ enums:
Collection: 896 # Array | Set | Dictionary
Flags: 960 # Nullable | Collection

CollectionType:
values:
List: 19
Set: 20
Dictionary: 21

TableType:
cppName: ObjectSchema::ObjectType
values:
TopLevel: 0
Embedded: 1
TopLevelAsymmetric: 0x2

ClientResetMode:
cppName: ClientResyncMode
values:
- Manual
- DiscardLocal
- Recover
- RecoverOrDiscard

DataType:
cppName: DataType::Type
values:
Expand All @@ -200,12 +198,6 @@ enums:
TypedLink: 16
UUID: 17

AppCacheMode:
cppName: app::App::CacheMode
values:
- Enabled
- Disabled

AuthProvider:
cppName: app::AuthProvider
values:
Expand All @@ -218,12 +210,28 @@ enums:
- USERNAME_PASSWORD
- FUNCTION
- API_KEY

AppCacheMode:
cppName: app::App::CacheMode
values:
- Enabled
- Disabled

ClientResetMode:
cppName: ClientResyncMode
values:
- Manual
- DiscardLocal
- Recover
- RecoverOrDiscard

MetadataMode:
cppName: SyncClientConfig::MetadataMode
values:
- NoEncryption
- Encryption
- NoMetadata

LoggerLevel:
cppName: util::Logger::Level
values:
Expand All @@ -236,6 +244,7 @@ enums:
- error
- fatal
- off

HttpMethod:
cppName: app::HttpMethod
values:
Expand All @@ -244,24 +253,28 @@ enums:
- patch
- put
- del

SyncSessionStopPolicy:
values:
- Immediately
- LiveIndefinitely
- AfterChangesUploaded

SyncSessionState:
cppName: SyncSession::State
values:
- Active
- Dying
- Inactive
- WaitingForAccessToken

SyncSessionConnectionState:
cppName: SyncSession::ConnectionState
values:
- Disconnected
- Connecting
- Connected

SyncErrorAction:
cppName: sync::ProtocolErrorInfo::Action
values:
Expand All @@ -273,17 +286,20 @@ enums:
- DeleteRealm
- ClientReset
- ClientResetNoRecovery

ProgressDirection:
cppName: SyncSession::ProgressDirection
values:
- upload
- download

SyncUserState:
cppName: SyncUser::State
values:
- LoggedOut
- LoggedIn
- Removed

SyncSubscriptionSetState:
cppName: sync::SubscriptionSet::State
values:
Expand All @@ -294,12 +310,14 @@ enums:
- Error
- Superseded
- AwaitingMark

WatchStreamState:
cppName: app::WatchStream::State
values:
- NEED_DATA
- HAVE_EVENT
- HAVE_ERROR

ProxyType:
cppName: SyncConfig::ProxyConfig::Type
values:
Expand Down Expand Up @@ -756,6 +774,7 @@ classes:
- '(column: ColKey, value: Mixed)'
- sig: '(column: ColKey, value: Mixed, is_default: bool)'
suffix: with_default
set_collection: '(column: ColKey, type: CollectionType) -> Obj'
get_linked_object: '(column: ColKey) const -> Nullable<Obj>'
to_string: () const -> std::string
get_backlink_count: '() const -> count_t'
Expand Down Expand Up @@ -854,6 +873,8 @@ classes:
suffix: 'obj'
get_any: '(index: count_t) -> Mixed'
get_dictionary_element: '(index: count_t) -> std::pair<StringData, Mixed>'
get_list: '(index: count_t) -> List'
get_dictionary: '(index: count_t) -> Dictionary'
filter: '(query: Query&&) const -> Results'
sort:
- '(order: SortDescriptor&&) const -> Results'
Expand Down Expand Up @@ -1009,7 +1030,11 @@ classes:
constructors:
make: '(r: SharedRealm, parent: const Obj&, col: ColKey)'
methods:
get: '(ndx: count_t) const -> Obj'
get:
- sig: '(ndx: count_t) -> Obj'
suffix: 'obj'
get_list: '(path_elem: int) -> List'
get_dictionary: '(path_elem: int) -> Dictionary'
move: '(source_ndx: count_t, dest_ndx: count_t)'
remove: '(ndx: count_t)'
remove_all: '()'
Expand All @@ -1018,8 +1043,10 @@ classes:
delete_all: '()'
insert_any: '(list_ndx: count_t, value: Mixed)'
insert_embedded: '(ndx: count_t) -> Obj'
insert_collection: '(path_elem: int, dict_or_list: CollectionType)'
set_any: '(list_ndx: count_t, value: Mixed)'
set_embedded: '(list_ndx: count_t) -> Obj'
set_collection: '(path_element: int, dict_or_list: CollectionType)'
filter: '(q: Query) const -> Results'
freeze: '(frozen_realm: SharedRealm const&) const -> List'

Expand All @@ -1046,7 +1073,9 @@ classes:
constructors:
make: '(r: SharedRealm, parent: const Obj&, col: ColKey)'
methods:
get: '(ndx: count_t) const -> Obj'
get:
- sig: '(ndx: count_t) -> Obj'
suffix: 'obj'
insert_any: '(val: Mixed) -> std::pair<count_t, bool>'
remove_any: '(val: Mixed) -> std::pair<count_t, bool>'
remove_all: '()'
Expand Down Expand Up @@ -1096,11 +1125,14 @@ classes:
- sig: '(key: StringData) const -> Obj'
cppName: get<Obj> # TODO can't distinguish null from missing
get_pair: '(ndx: count_t) const -> std::pair<StringData, Mixed>'
get_list: '(path_elem: std::string) -> List'
get_dictionary: '(path_elem: std::string) -> Dictionary'
contains: '(key: StringData) -> bool'
freeze: '(frozen_realm: SharedRealm const&) const -> Dictionary'
add_key_based_notification_callback: '(cb: (changes: DictionaryChangeSet), keyPaths: std::optional<KeyPathArray>) -> NotificationToken'
insert_any: '(key: StringData, value: Mixed) -> std::pair<count_t, bool>'
insert_embedded: '(key: StringData) -> Obj'
insert_collection: '(path_elem: std::string, dict_or_list: CollectionType)'
try_get_any: '(key: StringData) const -> std::optional<Mixed>'
remove_all: '()'
try_erase: '(key: StringData) -> bool'
Expand Down
8 changes: 4 additions & 4 deletions dependencies.list
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
PACKAGE_NAME: realm-core
VERSION: 14.0.1
OPENSSL_VERSION: 3.2.0
ZLIB_VERSION: 1.2.13
PACKAGE_NAME=realm-core
VERSION=14.1.0
OPENSSL_VERSION=3.2.0
ZLIB_VERSION=1.2.13
# https://github.com/10gen/baas/commits
# dd016 is 2024 Feb 22
BAAS_VERSION: dd01629d83b86292af9c59ebe2a28673c2e559cf
Loading

0 comments on commit a54815e

Please sign in to comment.