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

Andrew/upgrade core #6848

Closed
wants to merge 70 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
6a7ce4c
Update core 13.13 in bindgen branch (#6683)
papafe Jun 7, 2023
b0a1e94
Support Bindgen opt-in list (#6639)
elle-j Jun 16, 2023
db4cb1f
Release 13.15.1 (#6724)
Jun 17, 2023
59131c6
Updated release notes
Jun 17, 2023
5dbbfd5
[bindgen] Upgrade to core v13.15.1 (#6726)
kraenhansen Jun 19, 2023
f96a8c1
Ran clang-format
kraenhansen Jun 19, 2023
9843768
Improve GeoBox queries (#6703)
ironage Jun 19, 2023
2683e62
fixed matching geowithin on invalid points (#6719)
ironage Jun 19, 2023
2ebe7ce
Avoid to create a full text index for primary key columns (#6721)
nicola-cab Jun 19, 2023
8926723
Change interface to Query::do_find_all (#6713)
jedelbo Jun 20, 2023
41671b7
Add pre-v8 protocol support for Sync Server (#6725)
Jun 20, 2023
823dee8
Silense a Valgrind error
jedelbo Jun 21, 2023
c60aba4
[bindgen] Expose sync proxy configuration (#6736)
kneth Jun 22, 2023
0bae0c8
Consolidate the implementation of Results::index_of
jedelbo Jun 21, 2023
8531755
Fix typo
Jun 15, 2023
b15bd42
Prepare release
jedelbo Jun 23, 2023
4005ea5
Updated release notes
Jun 23, 2023
b8f3244
Merge pull request #6744 from realm/release/13.15.2
jedelbo Jun 23, 2023
5661b05
Stop building a bunch of things which are no longer used by anyone
tgoyne Jun 21, 2023
3a01bac
Add support for building for visionOS
tgoyne Jun 21, 2023
f0c52ce
Add visionOS to the release package
tgoyne Jun 23, 2023
564350e
Merge pull request #6746 from realm/tg/xros
tgoyne Jun 26, 2023
85915d8
Added types for Geospatial (#6747)
papafe Jun 27, 2023
1ea911d
Fix typo (#6753)
Jun 28, 2023
efc638a
Added parameters to sync config for running subscription init callbac…
nicola-cab Jun 29, 2023
655e49d
More detailed error message for SystemError exceptions (#6756)
ironage Jun 30, 2023
e9816b4
core v13.16.0
nicola-cab Jun 30, 2023
a4d55a6
Merge pull request #6761 from realm/release/13.16.0
nicola-cab Jun 30, 2023
b21f48b
Updated release notes
Jun 30, 2023
c3ea18c
Update BAAS version (#6765)
ironage Jul 4, 2023
d49290a
Improve client reset with additive schema changes (#6723)
ironage Jul 5, 2023
35a0b0f
Fix a use after free error in tests (#6768)
ironage Jul 7, 2023
c9e92a3
core v13.16.1
nicola-cab Jul 7, 2023
43e8f35
Merge pull request #6771 from realm/release/13.16.1
nicola-cab Jul 7, 2023
8e8385e
Updated release notes
Jul 7, 2023
fe8d052
Update query error assertion (#6740)
kmorkos Jul 7, 2023
9e7503b
Unify error backoff handling in sync client (#6526)
jbreams Jul 8, 2023
e71aa03
Don't duplicate error messages for SyncError (#6774)
tgoyne Jul 10, 2023
d43218f
[bindgen] Expose DeviceInfo::bundle_id (#6769)
kneth Jul 10, 2023
7ff238f
fix timestamp string representation on different platforms
nicola-cab Jul 10, 2023
1177e6e
Merge branch 'master' into nc/fix_timestamp_multiplatform
nicola-cab Jul 11, 2023
56a4166
Merge branch 'master' into nc/fix_timestamp_multiplatform
nicola-cab Jul 11, 2023
dc15199
Merge branch 'nc/fix_timestamp_multiplatform' of github.com:realm/rea…
nicola-cab Jul 11, 2023
28a7eaf
Delete CHANGELOG.md.orig
nicola-cab Jul 11, 2023
406d9c7
Run baas on remote ubuntu host for evergreen object-store-tests (#6757)
Jul 11, 2023
42a84ed
Add an option to pass a live Realm to the before-reset callback (#6780)
tgoyne Jul 11, 2023
34b6228
Update CHANGELOG.md
nicola-cab Jul 12, 2023
b4c8492
Merge pull request #6777 from realm/nc/fix_timestamp_multiplatform
nicola-cab Jul 12, 2023
f4ba300
A bit more testing in Many_ConcurrentReaders (#6782)
finnschiermer Jul 12, 2023
ac91ecb
print logs upon Many_ConcurrentReaders test failure (#6781)
ironage Jul 12, 2023
bec9a4c
Deprecate `Object::obj()` for `Object::get_obj()` (#6773)
nicola-cab Jul 12, 2023
f1e962c
core v13.17.0
nicola-cab Jul 14, 2023
2f5014e
Merge pull request #6794 from realm/release/13.17.0
nicola-cab Jul 14, 2023
87a77f6
Updated release notes
Jul 14, 2023
6225a93
Update catch2 tags assigned to object store tests (#6788)
Jul 14, 2023
91f253c
Port upload/download completion API to Status (#6796)
jbreams Jul 15, 2023
3747815
Delete some unused old code in SyncMetadataManager (#6808)
tgoyne Jul 20, 2023
974aa9a
Tweak embedded object checking loop to skip over objects already seen…
suhailpatel Jul 21, 2023
72d2446
Remove comment since test is already enabled (#6822)
danieltabacaru Jul 24, 2023
fdf34f4
Update error message when breaking changes are detected (#6784)
danieltabacaru Jul 24, 2023
5e87cf3
Actually add full text indexes when processing schema changes that re…
jbreams Jul 25, 2023
4878ac0
Separate local and baas object store tests into separate evergreen ta…
Jul 25, 2023
a919767
Add missing [baas] tag that is causing failing tests (#6825)
Jul 25, 2023
4941dd0
Handle uploading logs in evg tasks on feature branches (#6826)
jbreams Jul 25, 2023
5fd8396
Sync progress for download messages from server state is updated wron…
danieltabacaru Jul 26, 2023
c6f8832
Change log level of logs around pending bootstrap object from trace t…
danieltabacaru Jul 27, 2023
c2a9ab9
Consolidate object store sync util files into util/ directory (#6789)
Jul 27, 2023
86a2289
convert from streaming form *before* any changes to file size (#6807)
finnschiermer Jul 28, 2023
c04f5e4
Prepare release
jedelbo Jul 28, 2023
53d9c6c
Upgrade bindgen to core 13.17.1
takameyer Aug 1, 2023
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
20 changes: 20 additions & 0 deletions .project
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,24 @@
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures>
<filteredResources>
<filter>
<id>1684928805201</id>
<name>external</name>
<type>30</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-catch</arguments>
</matcher>
</filter>
<filter>
<id>1684928848403</id>
<name>src/external</name>
<type>14</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-*</arguments>
</matcher>
</filter>
</filteredResources>
</projectDescription>
235 changes: 233 additions & 2 deletions CHANGELOG.md

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -297,8 +297,8 @@ endif()
# Just use -lz and let Xcode figure it out
# Emscripten does provide Zlib, but it doesn't work with find_package and is handled specially
if(NOT APPLE AND NOT EMSCRIPTEN AND NOT TARGET ZLIB::ZLIB)
if(WIN32)
realm_acquire_dependency(zlib ${DEP_WIN32_ZLIB_VERSION} ZLIB_CMAKE_INCLUDE_FILE)
if(WIN32 OR (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND REALM_LINUX_TOOLCHAIN))
realm_acquire_dependency(zlib ${DEP_ZLIB_VERSION} ZLIB_CMAKE_INCLUDE_FILE)
include(${ZLIB_CMAKE_INCLUDE_FILE})
elseif(ANDROID)
# On Android FindZLIB chooses the static libz over the dynamic one, but this leads to issues
Expand Down
228 changes: 103 additions & 125 deletions Jenkinsfile

Large diffs are not rendered by default.

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

let versionStr = "13.11.0"
let versionStr = "13.17.1"
let versionPieces = versionStr.split(separator: "-")
let versionCompontents = versionPieces[0].split(separator: ".")
let versionExtra = versionPieces.count > 1 ? versionPieces[1] : ""
Expand Down Expand Up @@ -348,21 +348,12 @@ let bidExcludes: [String] = [
"wcstod64.c",
]

#if swift(>=5.7)
let platforms: [SupportedPlatform] = [
.macOS(.v10_13),
.iOS(.v11),
.tvOS(.v11),
.watchOS(.v4)
]
#else
let platforms: [SupportedPlatform] = [
.macOS(.v10_10),
.iOS(.v11),
.tvOS(.v9),
.watchOS(.v2)
]
#endif

let package = Package(
name: "RealmDatabase",
Expand Down
4 changes: 3 additions & 1 deletion bindgen/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ set_property(TARGET BindgenSpecJsonSchema PROPERTY NPX "${NPX}")

function(bindgen)
set(options)
set(oneValueArgs TEMPLATE OUTDIR)
set(oneValueArgs TEMPLATE OUTDIR OPTIN)
set(multiValueArgs OUTPUTS SPECS SOURCES)
cmake_parse_arguments(PARSE_ARGV 0 BINDGEN "${options}" "${oneValueArgs}" "${multiValueArgs}")

Expand Down Expand Up @@ -64,6 +64,7 @@ function(bindgen)
WORKING_DIRECTORY ${CMAKE_CURRENT_FUNCTION_LIST_DIR}
COMMAND ${NPX} tsx -- "${CMAKE_CURRENT_FUNCTION_LIST_DIR}/realm-bindgen.ts"
--spec "$<JOIN:${CORE_SPEC_FILE};${BINDGEN_SPECS},;--spec;>"
"$<$<BOOL:${BINDGEN_OPTIN}>:--opt-in;${BINDGEN_OPTIN}>"
--template "${BINDGEN_TEMPLATE}"
--output "${BINDGEN_OUTDIR}"
COMMAND_EXPAND_LISTS
Expand All @@ -78,6 +79,7 @@ function(bindgen)
# from sdk
${BINDGEN_SPECS}
${BINDGEN_SOURCES}
${BINDGEN_OPTIN}
)

foreach(FILE ${BINDGEN_OUTPUTS})
Expand Down
52 changes: 46 additions & 6 deletions bindgen/spec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ typeAliases:
AppCredentialsToken: std::string
Email: std::string
SchemaVersion: int64_t # is uint64_t in C++ but -1 is used as a sentinel.
PortType: int32_t # is uint_fast16_t in C++ but we don't want to add more primitive types and expect SDKs to reject port number > 65535

templates: # value tells you how many arguments it takes ('*' means any number)
util::Optional: 1
Expand Down Expand Up @@ -125,6 +126,7 @@ mixedInfo:
- LinkList
extraCtors:
- Obj
- Geospatial

enums:
SchemaMode:
Expand Down Expand Up @@ -209,8 +211,7 @@ enums:
- CUSTOM
- USERNAME_PASSWORD
- FUNCTION
- USER_API_KEY
- SERVER_API_KEY
- API_KEY
MetadataMode:
cppName: SyncClientConfig::MetadataMode
values:
Expand Down Expand Up @@ -293,6 +294,11 @@ enums:
- NEED_DATA
- HAVE_EVENT
- HAVE_ERROR
ProxyType:
cppName: SyncConfig::ProxyConfig::Type
values:
- HTTP
- HTTPS

# These types are handled specially. They must be structs with a single fields named "value".
keyTypes:
Expand Down Expand Up @@ -357,6 +363,28 @@ records:
type: std::string
default: ''

GeoPoint:
fields:
longitude: double
latitude: double
altitude:
type: double
default: std::numeric_limits<double>::quiet_NaN()

GeoCircle:
fields:
radius_radians: double
center: GeoPoint

GeoBox:
fields:
lo: GeoPoint
hi: GeoPoint

GeoPolygon:
fields:
points: std::vector<std::vector<GeoPoint>>

RealmConfig:
fields:
path: std::string
Expand Down Expand Up @@ -414,6 +442,13 @@ records:
disabled:
type: bool

SyncProxyConfig:
cppName: SyncConfig::ProxyConfig
fields:
address: std::string
port: PortType
type: ProxyType

SyncConfig:
fields:
user: SharedSyncUser
Expand Down Expand Up @@ -443,6 +478,7 @@ records:
cancel_waits_on_nonfatal_error:
type: bool
default: false
proxy_config: util::Optional<SyncProxyConfig>

SyncSubscription:
cppName: sync::Subscription
Expand Down Expand Up @@ -577,15 +613,14 @@ records:
DeviceInfo:
cppName: app::App::Config::DeviceInfo
fields:
platform: std::string
platform_version: std::string
sdk_version: std::string
sdk: std::string
cpu_arch: std::string
device_name: std::string
device_version: std::string
framework_name: std::string
framework_version: std::string
bundle_id: std::string

AppConfig:
cppName: app::App::Config
Expand Down Expand Up @@ -741,6 +776,12 @@ classes:
get_seconds: int64_t
get_nanoseconds: int32_t

Geospatial:
constructors:
make_from_circle: '(circle: GeoCircle)'
make_from_box: '(box: GeoBox)'
make_from_polygon: '(polygon: GeoPolygon)'

ObjLink:
properties:
is_null: bool
Expand Down Expand Up @@ -1068,8 +1109,7 @@ classes:
- '(serialized_payload: const EJsonObj&) -> AppCredentials'
- sig: '(payload: const bson::BsonDocument&) -> AppCredentials'
suffix: 'bson'
user_api_key: '(api_key: std::string) -> AppCredentials'
server_api_key: '(api_key: std::string) -> AppCredentials'
api_key: '(api_key: std::string) -> AppCredentials'
properties:
provider: AuthProvider
provider_as_string: std::string
Expand Down
Loading