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

Array compression with collections in Mixed #7412

Merged
Merged
Show file tree
Hide file tree
Changes from 218 commits
Commits
Show all changes
227 commits
Select commit Hold shift + click to select a range
ffccf4d
Prepare next-major
jedelbo Nov 30, 2022
46f5e8a
Remove support for upgrading from pre core-6 (v10) (#6090)
jedelbo Dec 13, 2022
e63643e
Merge tag 'v13.2.0' into next-major
jedelbo Jan 11, 2023
e65ffc2
Optimize size of ArrayDecimal128 (#6111)
jedelbo Feb 2, 2023
59764a2
update next major to core 13.4.1 (#6310)
nicola-cab Feb 16, 2023
812f258
Revert "update next major to core 13.4.1" (#6312)
nicola-cab Feb 16, 2023
4a3ccfc
merge tag 13.4.2 into next-major
nicola-cab Feb 17, 2023
e8d4de6
Merge pull request #6317 from realm/nc/update_next_major
ironage Feb 17, 2023
bb937a9
Align dictionaries to Lists and Sets when they are cleared. (#6254)
nicola-cab Feb 21, 2023
134c9c4
Fix storage of Decimal128 NaNs
jedelbo Feb 20, 2023
172a2b9
Merge tag 'v13.8.0' into next-major
jedelbo Mar 24, 2023
f0a2059
Allow Collections to be owned by Collections (#6447)
jedelbo Mar 30, 2023
88225c5
Add interface for defining columns of nested collections
jedelbo Mar 30, 2023
7a194a9
Add CollectionList class
jedelbo Mar 30, 2023
817b67a
Merge pull request #6452 from realm/je/nested-collections
jedelbo Mar 31, 2023
d7851e7
Change CollectionBase::set_owner() interface
jedelbo Mar 22, 2023
a255a0b
Implementation `CollectionList::remove()` (#6381) (#6458)
jedelbo Apr 4, 2023
ec945f6
Schema support for nesting collection (#6451)
nicola-cab Apr 13, 2023
5aeb9e9
Merge tag 'v13.9.1' into next-major
jedelbo Apr 17, 2023
07d8b09
Handle links in nested collections (#6470)
jedelbo Apr 18, 2023
9aacff1
Return collection type in Mixed (#6520)
jedelbo Apr 24, 2023
ef2db82
Merge tag 'v13.9.4' into next-major
jedelbo Apr 28, 2023
b405451
Print nested collections to Json (#6534)
nicola-cab May 2, 2023
82eab59
Simplify Obj::get_path()
jedelbo Mar 23, 2023
c196646
Merge tag 'v13.10.1' into next-major
jedelbo May 8, 2023
d7817a9
Store ref in ArrayMixed (#6565)
jedelbo May 8, 2023
29e70dd
Actually store collection type in Mixed (#6583)
jedelbo May 9, 2023
51c1152
Allow Dictionary to contain a collection (#6584)
jedelbo May 10, 2023
42dabad
Make a template specializetion for Lst<Mixed>
jedelbo May 4, 2023
7aacc06
Allow Lst<Mixed> to contain a collections
jedelbo May 4, 2023
b1d0f8d
Merge pull request #6599 from realm/je/collection-in-list
jedelbo May 11, 2023
55027b7
Streamlining interface (#6615)
jedelbo May 16, 2023
029648e
Api nested collections in OS (#6618)
nicola-cab May 16, 2023
cf88267
Set interface nested collections (#6648)
nicola-cab May 22, 2023
b1084e9
Merge tag 'v13.12.0' into next-major
jedelbo May 22, 2023
272ddf1
Get path from collection objects (#6636)
jedelbo May 22, 2023
64ee5c9
Move NoOpTransactionLogParser to transact_log.hpp
jedelbo May 22, 2023
15720eb
Add nested collection path in transaction log
jedelbo Apr 19, 2023
d2a07a9
Optimize get_path()
jedelbo May 22, 2023
f62b9c5
Merge pull request #6655 from realm/je/nested-collection-path
jedelbo May 25, 2023
58c3d76
Small fixes
jedelbo May 23, 2023
e0ca671
Make m_path private in sync::instr::Path
jedelbo May 23, 2023
66ee1d4
Remove `set_string_compare_method` (#6668)
ironage May 25, 2023
2223b6d
Replication of operations on nested collections
jedelbo May 23, 2023
cd04591
Merge pull request #6658 from realm/je/nested-collection-replication
jedelbo May 26, 2023
4b80754
Remove support for query over typed links in Dictionary
jedelbo May 30, 2023
3369c63
Use BPlusTree to hold backlinks (#6673)
jedelbo Jun 1, 2023
1a95d63
Add StablePath concept
jedelbo May 31, 2023
981cdf7
Merge tag 'v13.14.0' into next-major
jedelbo Jun 2, 2023
e13650b
Collection in mixed notification support. (#6660)
nicola-cab Jun 7, 2023
a3a08bd
Avoid passing string parameters by value in KeyPathMapping interface
jedelbo Jun 8, 2023
560ae5f
Merge branch 'master' into next-major
jedelbo Jun 14, 2023
b47c11c
Use uniform Path representation in query parser
jedelbo Jun 8, 2023
26d37e2
Support query on nested collections
jedelbo Jun 19, 2023
725d4f5
Copy replication nested collections (#6714)
nicola-cab Jun 20, 2023
915c6de
Remove support for TypedLinks in LinkTranslator
jedelbo Jun 20, 2023
e103f36
Support typed links in nested collections
jedelbo Jun 15, 2023
8fc5761
Handle exceptions thrown from Obj::get_collection_ref
jedelbo Jun 22, 2023
90b53f8
Support assigning a json string to a mixed property
jedelbo Jun 23, 2023
ee0644b
Merge tag 'v13.15.2' into next-major
jedelbo Jun 27, 2023
174d20a
Support having [*] as part of a path (#6741)
jedelbo Jun 27, 2023
e752ba0
added check for set in mixed in the C API (#6764)
nicola-cab Jul 3, 2023
06d7b05
update next major to core v13.16.1
nicola-cab Jul 11, 2023
9baf602
merge top of master
nicola-cab Jul 12, 2023
78ffbbc
Merge pull request #6779 from realm/nc/update_next_major
nicola-cab Jul 12, 2023
6482bdc
update next major to core 13.17.0
nicola-cab Jul 14, 2023
c1e4126
Fix collection mismatch for `Set` in `Mixed`. (#6802)
nicola-cab Jul 19, 2023
4903bd2
Merge pull request #6795 from realm/nc/update_next_major
nicola-cab Jul 19, 2023
bf483aa
Allow TypedLinks to be part of path to property in queries
jedelbo Jul 21, 2023
e76ae9e
Sorting stage 2 (#6669)
ironage Jul 25, 2023
6b89e74
Merge tag 'v13.17.1' into next-major
jedelbo Jul 31, 2023
05125c3
Fix list type
jedelbo Jul 31, 2023
baa43f5
Syntactical sugar
jedelbo Aug 4, 2023
e0ffb5f
Throw if syncing a collection nested in Mixed
jedelbo Aug 9, 2023
cb5a1c4
Support indexing into link collections in Query (#6854)
jedelbo Aug 9, 2023
dca1b32
Support syncing nested Set
jedelbo Aug 9, 2023
471a158
Merge pull request #6871 from realm/je/throw-if-syncing
jedelbo Aug 10, 2023
59f5001
Merge tag 'v13.17.2' into next-major
jedelbo Aug 10, 2023
7c38a32
Add missing support for getting Sets
nicola-cab Aug 11, 2023
e5796df
Return correct attachement state from nested collections (#6880)
jedelbo Aug 14, 2023
cc3c496
small changes to the c api for collections in mixed (#6881)
nicola-cab Aug 15, 2023
752ec16
Make exceptions thrown by nested collections more consistent (#6875)
jedelbo Aug 15, 2023
23dcc34
Make information on the deletion of a collection available in C API (…
jedelbo Aug 16, 2023
a97a588
update set_collection for list and have an explicit function for each…
nicola-cab Aug 16, 2023
cd3e107
Small changes
jedelbo Aug 17, 2023
ad03275
Publish Obj::set_json in C API
jedelbo Aug 17, 2023
052f118
Check for stale accessors to a collction embedded directly in a Mixed…
jedelbo Aug 17, 2023
8af0cf0
Merge branch 'je/obj-index' into next-major
jedelbo Aug 18, 2023
3d11e01
Fix freezing a nested collection
jedelbo Aug 18, 2023
4c0e9ed
Merge tag 'v13.18.0' into next-major
jedelbo Aug 21, 2023
49ebdb1
Remove support for static nested collections
jedelbo Aug 21, 2023
217d5da
Merge pull request #6905 from realm/je/remove-collection-list
jedelbo Aug 21, 2023
783e363
Use more bits in ColIndex key
jedelbo Aug 21, 2023
5810710
Improve StringIndex::dump_node_structure
jedelbo Aug 21, 2023
2537b00
Check for stale accessors to a collction embedded in a dictionary
jedelbo Aug 22, 2023
d447405
Optimize StableIndex
jedelbo Aug 23, 2023
4d24835
Refactor StringIndex interface (#6787)
ironage Aug 25, 2023
2d922ca
Merge tag 'v13.19.0' into next-major
jedelbo Aug 28, 2023
425d02f
Merge pull request #6914 from realm/je/dictionary-index
jedelbo Aug 28, 2023
6225ebe
More consistent exception handling for nested collections
jedelbo Aug 30, 2023
596fc2b
Merge tag 'v13.20.0' into next-major
jedelbo Sep 4, 2023
0da737b
Add ability to get collections from Results (#6948)
jedelbo Sep 5, 2023
d6d48e8
Merge tag 'v13.20.1' into next-major
jedelbo Sep 18, 2023
ac64be8
Fix compilation of RealmTrawler
jedelbo Sep 18, 2023
df0b385
Logging mutations on tables (#6953)
jedelbo Sep 20, 2023
b94a9ee
Simplify Logger class a bit
jedelbo Sep 19, 2023
7083d10
Limiting the output when logging large string and binary values (#6986)
jedelbo Sep 22, 2023
9c32d56
Merge tag 'v13.21.0' into next-major
jedelbo Sep 25, 2023
b652bc1
Introduce logging categories
jedelbo Sep 29, 2023
fd1b4f1
Sorting stage 3 (#6670)
ironage Oct 6, 2023
570d6d7
Merge tag 'v13.23.0' into next-major
jedelbo Oct 10, 2023
895f0bb
Upodate Package.swift
jedelbo Oct 10, 2023
3f15a13
Client Reset for collections in mixed / nested collections (#6766)
nicola-cab Oct 10, 2023
395ebae
Merge pull request #7004 from realm/je/core-logging
jedelbo Oct 11, 2023
cfc6a62
Fix error after merge
jedelbo Oct 11, 2023
f4ab2b3
Fix issue using REALM_ENABLE_MEMDEBUG=On
jedelbo Oct 17, 2023
977064c
Logging of schema migrations
jedelbo Oct 19, 2023
6fc0b26
Use logging categories (#7052)
jedelbo Oct 20, 2023
bdc2729
Logging notification activity
jedelbo Sep 7, 2023
f7c10a7
Logging details when opening DB
jedelbo Oct 23, 2023
5bc3091
Fix warning
jedelbo Oct 25, 2023
8e0d930
Update bindgen to support logging categories
jedelbo Oct 26, 2023
2dca8e7
Merge pull request #7070 from realm/je/log-migration
jedelbo Oct 26, 2023
8663067
Merge tag 'v13.23.2' into next-major
jedelbo Oct 27, 2023
5962917
Add cases handling Json::value_t::binary
jedelbo Oct 30, 2023
d1520c3
Log free space and history sizes when opening file
jedelbo Oct 30, 2023
05320ae
Remove unused stuff
jedelbo Nov 2, 2023
9529f95
Rearrange some code in Set<T>
jedelbo Nov 14, 2023
8bf635e
Merge tag 'v13.23.4' into next-major
jedelbo Nov 15, 2023
2a77593
Fix missing NullLogger
jedelbo Nov 15, 2023
d5e2e1e
Remove support for nested sets
jedelbo Nov 14, 2023
dd13524
Fix warnings
jedelbo Nov 16, 2023
6bf0777
Merge pull request #7136 from realm/je/remove-nested-set
jedelbo Nov 16, 2023
d28c24c
Remove type_LinkList and col_type_LinkList (#7114)
jedelbo Nov 17, 2023
3ec913c
Index on list of strings (#7152)
jedelbo Nov 27, 2023
b8a518a
Merge tag 'v13.24.0' into next-major
jedelbo Nov 27, 2023
e58c240
Prepare beta release
jedelbo Oct 27, 2023
b5b005c
Add path.hpp to installed headers
jedelbo Nov 27, 2023
5165f65
Update release notes
jedelbo Nov 27, 2023
4926641
Merge branch 'release/14.0.0-beta.0' into next-major
jedelbo Nov 27, 2023
9593f49
Allow keypath to be provided as argument (#7210)
jedelbo Dec 21, 2023
0e3267d
Merge tag 'v13.25.1' into next-major
jedelbo Jan 3, 2024
467b84b
Remove set from realm_value_type for collections in mixed (#7245)
nicola-cab Jan 9, 2024
b83ff92
Add support for collections in indexed mixed fields
jedelbo Jan 12, 2024
a3bf8dc
[C-API] Fix the return type of realm_set_collection (#7247)
nirinchev Jan 12, 2024
9169fa1
Simplify JSON functionality
jedelbo Dec 5, 2023
7cddded
Don't leak implementation of BsonDocument and BsonArray to the users.
jedelbo Jan 2, 2024
0613b91
Throw when inserting an embedded object into a list of Mixed
jedelbo Jan 15, 2024
da02653
Fix queries on dictionaries in Mixed with @keys
jedelbo Jan 16, 2024
be34fee
Optimize BsonDocument::find()
jedelbo Jan 22, 2024
c57a495
Only output '_key': xxx when output mode is plain JSON
jedelbo Jan 23, 2024
3e810b2
Send notifitations about mutations on nested collections
jedelbo Jan 19, 2024
ef3f95e
Restore correct expected json files
jedelbo Jan 25, 2024
15e44e8
Merge tag 'v13.26.0' into next-major
jedelbo Jan 25, 2024
24abc37
Support querying for @size on Mixed
jedelbo Jan 24, 2024
e636ef7
Support querying with @type on nested collections (#7288)
jedelbo Jan 25, 2024
1458f4d
Merge pull request #7228 from realm/je/bson-api
jedelbo Jan 26, 2024
8caf136
Refactor ConstantNode::visit() (#7295)
jedelbo Jan 26, 2024
a4c8e90
Merge branch 'master' of github.com:realm/realm-core into nc/next-maj…
nicola-cab Feb 1, 2024
5decc76
Merge pull request #7305 from realm/nc/next-major-update
ironage Feb 1, 2024
876ab67
Fix merge error in dependency list
rorbech Feb 2, 2024
5c36732
Fix merge error in dependency list
rorbech Feb 2, 2024
05f73f6
Fix using stringops query on nested collections
jedelbo Feb 5, 2024
fe2a1a3
Fix using ANY, NONE, ALL in query on Mixed property
jedelbo Feb 6, 2024
3dee66b
Remove LinkList (#7308)
kneth Feb 8, 2024
a84a3ed
fix == NONE {x} queries (#7333)
ironage Feb 13, 2024
3ac779e
Fix app URI tests for baasaas (#7342)
jbreams Feb 14, 2024
f9a914a
Mitigate races in accessing `m_initated` and `m_finalized` in various…
jbreams Feb 14, 2024
a54e994
Fix a TOCTOU race when copying Realm files
tgoyne Feb 12, 2024
82eca53
Use clonefile() when possible in File::copy()
tgoyne Feb 12, 2024
e31fc3b
Delete unused sync file action metadata fields
tgoyne Feb 12, 2024
d6e52f8
Merge pull request #7341 from realm/tg/file-copy-race
tgoyne Feb 14, 2024
d79b283
Schema migration tests to use admin API rather than querying backing …
jbreams Feb 14, 2024
29044d7
Add bson library (#7324)
jedelbo Feb 15, 2024
c273976
Fix Results nofitifation for changes to nested collections
jedelbo Feb 12, 2024
33dfd8a
Use TestDirGuard where applicable
tgoyne Feb 14, 2024
60d6c33
Simplify session tests by consitently using TestSyncManager::fake_user()
tgoyne Feb 14, 2024
280ce60
Separate TestSyncManager and OfflineAppSession
tgoyne Feb 14, 2024
291bf9a
Fix sync replication (#7343)
jedelbo Feb 19, 2024
334d534
Adjust CMake files to used by vcpkg (#7334)
leemaguire Feb 19, 2024
3cf7aa7
Merge pull request #7351 from realm/tg/test-refactoring
tgoyne Feb 20, 2024
b428e83
Fix SPM compilation errors (#7360)
tgoyne Feb 21, 2024
dcb6fac
Prepare release
jedelbo Feb 23, 2024
3020740
Update release notes
jedelbo Feb 23, 2024
4c2694b
Merge tag 'v13.27.0' into next-major
jedelbo Feb 23, 2024
06e90a0
Merge Release/13.27.0
jedelbo Feb 23, 2024
7ec21b3
Merge branch 'master' into next-major
jedelbo Feb 23, 2024
7b432a9
Merge pull request #6073 from realm/next-major
jedelbo Feb 23, 2024
faf9c15
Prepare release
jedelbo Feb 23, 2024
fad2ba4
Update release note
jedelbo Feb 23, 2024
677c9c2
Merge pull request #7376 from realm/release/14.0.0
jedelbo Feb 23, 2024
456b290
Rewrite the "app: app destroyed during token refresh" test (#7363)
tgoyne Feb 23, 2024
58b9d52
Update to CHANGELOG
rorbech Jan 15, 2024
166e7df
Don't allow Core targets to be installed if submodule (#7379)
leemaguire Feb 26, 2024
2bfd5e9
Prepeare release
jedelbo Feb 26, 2024
7c3af74
Update release notes
jedelbo Feb 26, 2024
34bf170
Merge pull request #7381 from realm/release/14.0.1
jedelbo Feb 26, 2024
5ea7da5
Do not populate list KVO information for non-list collections (#7378)
tgoyne Feb 26, 2024
4f82d8b
Prevent opening files with file format 23 in read-only mode
jedelbo Feb 27, 2024
0ea2d64
Don't update backlinks in Mixed self-assignment (#7384)
tgoyne Feb 27, 2024
fd8b61d
Eliminate copies when accessing values from Bson types (#7377)
tgoyne Feb 27, 2024
2c8440a
Use the correct allocator for queries on dictionaries over links (#7382)
tgoyne Feb 27, 2024
5339c2e
Bson object should hold binary data in decoded form
jedelbo Feb 27, 2024
b1d32d3
Fix passing a double as argument to query on Decimal128 (#7387)
jedelbo Feb 28, 2024
3d798ca
Treat missing keys in dictionaries as null in queries (#7391)
tgoyne Feb 28, 2024
e8065ba
Allow using aggregate operations on Mixed properties in queries (#7398)
tgoyne Mar 1, 2024
b14129c
[bindgen] Enable support for collections in the `Mixed` data type (#7…
elle-j Mar 1, 2024
64b9591
Avoid doing unneeded logger work in Replication
tgoyne Feb 29, 2024
8cfcb52
Prepare release
jedelbo Mar 1, 2024
ccc6bf9
RCORE-1990 Add X86 Windows Release builder to evergreen (#7383)
jbreams Mar 1, 2024
94322ef
Use the bfd linker in the armv7 toolchain (#7406)
fealebenpae Mar 1, 2024
08c61e8
Merge pull request #7407 from realm/release/14.1.0
nicola-cab Mar 1, 2024
1314857
Fix several crashes in the object store benchmarks (#7403)
tgoyne Mar 1, 2024
bf44379
add new index related benchmarks (#7401)
ironage Mar 2, 2024
bdb8967
Use updated curl on evergreen windows hosts (#7409)
jbreams Mar 2, 2024
3fd2d4a
Merge branch 'nc/merge_all_together' into nc/array_compression_with_n…
nicola-cab Mar 4, 2024
65b78aa
comment test not working + still missing handling for nested collections
nicola-cab Mar 4, 2024
2caa4bb
handle collection array for mixed types
nicola-cab Mar 5, 2024
382f56d
lint
nicola-cab Mar 5, 2024
4040fd7
please windows builder warnings + x86
nicola-cab Mar 5, 2024
824b9ce
proposed fix for 32-bit
finnschiermer Mar 6, 2024
e7add60
moved call outside assert macro
finnschiermer Mar 6, 2024
f06e45d
Fix for 32 bit archs for encoded Arrays (#7427)
finnschiermer Mar 7, 2024
7ac0073
lint
nicola-cab Mar 7, 2024
23bd4bf
Revert "lint"
nicola-cab Mar 7, 2024
73ad918
Merge branch 'nc/array_compression_with_nested_collections' of github…
nicola-cab Mar 7, 2024
4a417b7
lint
nicola-cab Mar 7, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
149 changes: 141 additions & 8 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,159 @@

### Enhancements
* <New feature description> (PR [#????](https://github.com/realm/realm-core/pull/????))
* None.

### 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)).

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

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

### 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.
You cannot open files with an file format older than v24 in read-only mode.

-----------

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

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

# 14.0.1 Release notes

### Enhancements
* None.

### Fixed
* Fixed building issues when RealmCore is used as submodule ([#7370](https://github.com/realm/realm-core/pull/7379))
* 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.

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

# 14.0.0 Release notes

### Enhancements
* Property keypath in RQL can be substituted with value given as argument. Use '$P<i>' in query string. (Issue [#7033](https://github.com/realm/realm-core/issues/7033))
* You can now use query substitution for the @type argument ([#7289](https://github.com/realm/realm-core/issues/7289))

### Fixed
* Fixed crash when adding a collection to an indexed Mixed property ([#7246](https://github.com/realm/realm-core/issues/7246), since 14.0.0-beta.0)
* \[C-API] Fixed the return type of `realm_set_list` and `realm_set_dictionary` to be the newly inserted collection, similarly to the behavior of `list/dictionary_insert_collection` (PR [#7247](https://github.com/realm/realm-core/pull/7247), since 14.0.0-beta.0)
* Throw an exception when trying to insert an embedded object into a list of Mixed ([#7254](https://github.com/realm/realm-core/issues/7254), since 14.0.0-beta.0)
* Queries on dictionaries in Mixed with @keys did not return correct result ([#7255](https://github.com/realm/realm-core/issues/7255), since 14.0.0-beta.0)
* Changes to inner collections will not be reported by notifier on owning collection ([#7270](https://github.com/realm/realm-core/issues/7270), since 14.0.0-beta.0)
* @count/@size not supported for mixed properties ([#7280](https://github.com/realm/realm-core/issues/7280), since v10.0.0)
* Query with @type does not support filtering on collections ([#7281](https://github.com/realm/realm-core/issues/7281), since 14.0.0-beta.0)
* Query involving string operations on nested collections would not work ([#7282](https://github.com/realm/realm-core/issues/7282), since 14.0.0-beta.0)
* Using ANY, ALL or NONE in a query on nested collections would throw an exception ([#7283](https://github.com/realm/realm-core/issues/7283), since 14.0.0-beta.0)
* Results notifications does not report changes to inner collections ([#7335](https://github.com/realm/realm-core/issues/7335), since 14.0.0-beta.0)

### Breaking changes
* If you want to query using @type operation, you must use 'objectlink' to match links to objects. 'object' is reserved for dictionary types.

### Compatibility
* Fileformat: Generates files with format v24. Reads and automatically upgrade from fileformat v10 and onwards. If you want to upgrade from an earlier file format version you will have to use RealmCore v13.x.y or earlier.

-----------

### Internals
* to_json API changed according to https://docs.google.com/document/d/1YtJN0sC89LMb4UVcPKFIfwC0Hsi9Vj7sIEP2vHQzVcY/edit?usp=sharing. Links to non-embedded objects will never be followed.

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

# 14.0.0-beta.0 Release notes

### Enhancements
* 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. (PR [#6111](https://github.com/realm/realm-core/pull/6111))
* You can have a collection embedded in any Mixed property (except Set<Mixed>).
* Querying a specific entry in a collection (in particular 'first and 'last') is supported. (PR [#4269](https://github.com/realm/realm-core/issues/4269))
* Index on list of strings property now supported (PR [#7142](https://github.com/realm/realm-core/pull/7142))
* You can set the threshold levels for trace output on individual categories. (PR [#7004](https://github.com/realm/realm-core/pull/7004))

### Fixed
* Align dictionaries to Lists and Sets when they get cleared. ([#6205](https://github.com/realm/realm-core/issues/6205), since v10.4.0)
* Fixed equality queries on a Mixed property with an index possibly returning the wrong result if values of different types happened to have the same StringIndex hash. ([6407](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. ([#6577](https://github.com/realm/realm-core/issues/6577), since v6.0.0)
* Query for NULL value in Dictionary<Mixed> would give wrong results ([6748])(https://github.com/realm/realm-core/issues/6748), since v10.0.0)
* A Realm generated on a non-apple ARM 64 device and copied to another platform (and vice-versa) were non-portable due to a sorting order difference. This impacts strings or binaries that have their first difference at a non-ascii character. These items may not be found in a set, or in an indexed column if the strings had a long common prefix (> 200 characters). ([PR #6670](https://github.com/realm/realm-core/pull/6670), since 2.0.0-rc7 for indexes, and since since the introduction of sets in v10.2.0)

### Breaking changes
* Support for upgrading from Realm files produced by RealmCore v5.23.9 or earlier is no longer supported.
* Remove `set_string_compare_method`, only one sort method is now supported which was previously called `STRING_COMPARE_CORE`.
* BinaryData and StringData are now strongly typed for comparisons and queries. This change is especially relevant when querying for a string constant on a Mixed property, as now only strings will be returned. If searching for BinaryData is desired, then that type must be specified by the constant. In RQL the new way to specify a binary constant is to use `mixed = bin('xyz')` or `mixed = binary('xyz')`. ([6407](https://github.com/realm/realm-core/issues/6407)).
* In the C API, `realm_collection_changes_get_num_changes` and `realm_dictionary_get_changes` have got an extra parameter to receive information on the deletion of the entire collection.
* 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". ([2573](https://github.com/realm/realm-core/issues/2573))

### 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
* Refactoring of the StringIndex interface.

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

# 13.27.0 Release notes

### Enhancements
* Add support in the C API for receiving a notification when sync user state changes. ([#7302](https://github.com/realm/realm-core/pull/7302))
* Allow the query builder to construct >, >=, <, <= queries for string constants. This is a case sensitive lexicographical comparison. Improved performance of RQL (parsed) queries on a non-linked string property using: >, >=, <, <=, operators and fixed behaviour that a null string should be evaulated as less than everything, previously nulls were not matched. ([#3939](https://github.com/realm/realm-core/issues/3939), this is a prerequisite for https://github.com/realm/realm-swift/issues/8008).
* Updated bundled OpenSSL version to 3.2.0 (PR [#7303](https://github.com/realm/realm-core/pull/7303))
* Added `SyncSession::get_file_ident()` so you can trigger a client reset via the BAAS admin API ([PR #7203](https://github.com/realm/realm-core/pull/7203)).
* Audit event scopes containing zero events to save no longer open the audit realm unneccesarily ([PR #7332](https://github.com/realm/realm-core/pull/7332)).
* Added a method to check if a file needs upgrade. ([#7140](https://github.com/realm/realm-core/issues/7140))
* Use `clonefile()` when possible in `File::copy()` on Apple platforms for faster copying. ([PR #7341](https://github.com/realm/realm-core/pull/7341)).

### Fixed
* 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. ([realm-js #7862](https://github.com/realm/realm-java/issues/7862), since v12.5.0)
* Uploading the changesets recovered during an automatic client reset recovery may lead to 'Bad server version' errors and a new client reset. ([#7279](https://github.com/realm/realm-core/issues/7279), since v13.24.1)
* Fixed invalid data in error reason string when registering a subscription change notification after the subscription has already failed. ([#6839](https://github.com/realm/realm-core/issues/6839), since v11.8.0)
* Fixed crash in fulltext index using prefix search with no matches ([#7309](https://github.com/realm/realm-core/issues/7309), since v13.18.0)
* Fix compilation and some warnings when building with Xcode 15.3 ([PR #7297](https://github.com/realm/realm-core/pull/7297)).
* util::make_dir_recursive() attempted to create a directory named "\0" if the path did not have a trailing slash ([PR #7329](https://github.com/realm/realm-core/pull/7329)).
* Fixed a crash with `Assertion failed: m_initiated` during sync session startup ([#7074](https://github.com/realm/realm-core/issues/7074), since v10.0.0).
* Fixed a TSAN violation where the user thread could race to read `m_finalized` with the sync event loop ([#6844](https://github.com/realm/realm-core/issues/6844), since v13.15.1)
* Fix a minor race condition when backing up Realm files before a client reset which could have lead to overwriting an existing file. ([PR #7341](https://github.com/realm/realm-core/pull/7341)).

### Breaking changes
* None.
* SyncManager no longer supports reconfiguring after calling reset_for_testing(). SyncManager::configure() has been folded into the constructor, and reset_for_testing() has been renamed to tear_down_for_testing(). ([PR #7351](https://github.com/realm/realm-core/pull/7351))

### Compatibility
* Fileformat: Generates files with format v23. Reads and automatically upgrade from fileformat v5.
Expand All @@ -31,6 +168,7 @@
* (bindgen) Upgrade `eslint-config-prettier` & `eslint-plugin-prettier` and add a missing peer dependency on `prettier`.
* The minimum CMake version has changed from 3.15 to 3.22.1. ([#6537](https://github.com/realm/realm-core/issues/6537))
* Update Catch2 to v3.5.2 ([PR #7297](https://github.com/realm/realm-core/pull/7297)).
* The unused `partition` and `user_local_uuid()` fields have been removed from `FileActionMetadata`. ([PR #7341](https://github.com/realm/realm-core/pull/7341)).

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

Expand Down Expand Up @@ -59,7 +197,7 @@
* Bump the sync protocol to v11. The new protocol version comes with the following changes:
- JSON_ERROR server message contains the previous schema version
- Flexible sync BIND client message contains the current schema version
* Add BAAS admin API to create new schema versions (drafts can be used to deploy all changes at once
* Add BAAS admin API to create new schema versions (drafts can be used to deploy all changes at once)

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

Expand All @@ -71,11 +209,6 @@
### Compatibility
* Fileformat: Generates files with format v23. Reads and automatically upgrade from fileformat v5.

-----------

### Internals
* (bindgen) Upgrading `@commander-js/extra-typings` and adds a missing peer dependency on `commander`.

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

# 13.25.0 Release notes
Expand Down Expand Up @@ -342,7 +475,7 @@

### Compatibility
* Fileformat: Generates files with format v23. Reads and automatically upgrade from fileformat v5.
* The metadata Realm used to store sync users has had its schema version bumped. It is automatically migrated to the new version on first open. Downgrading to older version of Realm after upgrading will discard stored user tokens and require logging back in.
* The metadata Realm used to store sync users has had its schema version bumped. It is automatically migrated to the new version on first open. Downgrading will require manually deletion of the metadata Realm and require logging back in.

-----------

Expand Down
Loading
Loading