Skip to content

Commit

Permalink
Merge branch 'main' into fp/update-quickjournal
Browse files Browse the repository at this point in the history
* main:
  🔄 Synced file(s) with realm/ci-actions (#3160)
  Prepare for vNext (#3159)
  Prepare for 10.19.0 (#3158)
  Deprecate legacy error codes (#3156)
  Bump json5 from 1.0.1 to 1.0.2 in /.github/actions/benchmark-uploader (#3153)
  Fix string.Contains with .NET 2.1 or higher (#3154)
  Bring back IList conformance to RealmCollectionBase (#3150)
  Use the tagged version
  Add no-response workflow to close stale issues (#3152)
  Fix Realm not getting reinitialized when domain reload is disabled (#3145)
  Revert to using Core 12 (#3146)
  Fix generated usings (#3148)
  Update bug.yml (#3142)
  • Loading branch information
papafe committed Jan 9, 2023
2 parents e7a7e4f + 27b94a2 commit 0fdeef1
Show file tree
Hide file tree
Showing 135 changed files with 1,006 additions and 58 deletions.
7 changes: 3 additions & 4 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
name: Bug Report
description: File a bug report
title: "[Bug]: "
labels: [Bug]
labels: [T-Bug]
body:
- type: markdown
attributes:
Expand Down Expand Up @@ -34,12 +33,12 @@ body:
- type: dropdown
id: services
attributes:
label: What Services are you using?
label: What Atlas Services are you using?
options:
- -- select --
- Local Database only
- Atlas Device Sync
- 'Atlas App Services: Auth or Functions etc'
- 'Atlas App Services: Functions or GraphQL or DataAPI etc'
- Both Atlas Device Sync and Atlas App Services
validations:
required: true
Expand Down
46 changes: 38 additions & 8 deletions .github/ISSUE_TEMPLATE/feature.yml
Original file line number Diff line number Diff line change
@@ -1,25 +1,55 @@
# NOTE: This is a common file that is overwritten by realm/ci-actions sync service
# and should only be modified in that repository.

name: Feature Request
description: Request a new feature or enhancement
labels: [Enhancement]
labels: [T-Enhancement]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to suggest improvements to the .NET SDK!
Thanks for taking the time to suggest improvements to Realm!
- type: textarea
id: description
id: problem
attributes:
label: Description
description: Tell us, what you would like to improve?
placeholder: Describe your improvement...
label: Problem
description: A clear and concise description of the problem you are trying to solve.
validations:
required: true
- type: textarea
id: solution
attributes:
label: Solution
description: Describe the solution you envision, including API and usage example if possible.
validations:
required: false
- type: textarea
id: alternative-solution
attributes:
label: Alternatives
description: Describe the alternative solutions or features you have considered
validations:
required: false
- type: dropdown
id: importance
attributes:
label: How important is this improvement for you?
options:
- -- select --
- Dealbreaker
- Would be a major improvement
- I'd like to see it, but have a workaround
- Fairly niche, but nice to have anyway
- I would like to have it but have a workaround
- Fairly niche but nice to have anyway
validations:
required: true
- type: dropdown
id: sync
attributes:
label: Feature would mainly be used with
options:
- -- select --
- Local Database only
- Atlas Device Sync
- 'Atlas App Services: Auth or Functions etc'
validations:
required: true
12 changes: 6 additions & 6 deletions .github/actions/benchmark-uploader/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

76 changes: 76 additions & 0 deletions .github/advanced-issue-labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# NOTE: This is a common file that is overwritten by realm/ci-actions sync service
# and should only be modified in that repository.

# syntax - https://github.com/redhat-plumbers-in-action/advanced-issue-labeler#policy
# Below keys map from the option used in issue form dropdowns to issue labels
# Limitation:
# Currently it's not possible to use strings containing ,␣ in the dropdown menus in the issue forms.

---

policy:
- template: [bug.yml, feature.yml]
section:
- id: [frequency]
label:
- name: 'Frequency:Once'
keys: ['Once']
- name: 'Frequency:Sometimes'
keys: ['Sometimes']
- name: 'Frequency:Always'
keys: ['Always']

- id: [repro]
label:
- name: 'Repro:Always'
keys: ['Always']
- name: 'Repro:Sometimes'
keys: ['Sometimes']
- name: 'Repro:No'
keys: ['No']

- id: [sync, flavour, services]
block-list: []
label:
- name: 'SDK-Use:Local'
keys: ['Local Database only']
- name: 'SDK-Use:Sync'
keys: ['Atlas Device Sync']
- name: 'SDK-Use:Services'
keys: ['Atlas App Services: Function or GraphQL or DataAPI etc']
- name: ['SDK-Use:All']
keys: ['Both Atlas Device Sync and Atlas App Services']

- id: [encryption]
block-list: []
label:
- name: 'Encryption:On'
keys: ['Yes']
- name: 'Encryption:Off'
keys: ['No']

- id: [app-type]
block-list: []
label:
- name: 'App-type:Unity'
keys: ['Unity']
- name: 'App-type:Xamarin'
keys: ['Xamarin']
- name: 'App-type:WPF'
keys: ['WPF']
- name: 'App-type:Console'
keys: ['Console or Server']
- name: 'App-type:Other'
keys: ['Other']

- id: [importance]
block-list: []
label:
- name: 'Importance:Dealbraker'
keys: ['Dealbreaker']
- name: 'Importance:Major'
keys: ['Would be a major improvement']
- name: 'Importance:Workaround'
keys: ['I would like to have it but have a workaround']
- name: 'Importance:Nice'
keys: ['Fairly niche but nice to have anyway']
2 changes: 1 addition & 1 deletion .github/auto_assign.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
addAssignees: author
addReviewers: false
runOnDraft: true
runOnDraft: true
5 changes: 5 additions & 0 deletions .github/templates/test-ios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,11 @@ jobs:
- #@ template.replace(checkoutCode())
- #@ template.replace(fetchPackageArtifacts())
- #@ setupDotnet()
- name: Set XCode Version
shell: bash
run: |
sudo xcode-select -s "/Applications/Xcode_14.1.app"
echo "MD_APPLE_SDK_ROOT=/Applications/Xcode_14.1.app" >> $GITHUB_ENV
- name: Setup workloads
run: |
dotnet workload install maui
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/Issue-Needs-Attention.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# NOTE: This is a common file that is overwritten by realm/ci-actions sync service
# and should only be modified in that repository.

name: Issue Needs Attention
# This workflow is triggered on issue comments.
on:
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/auto-assign.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# NOTE: This is a common file that is overwritten by realm/ci-actions sync service
# and should only be modified in that repository.

name: 'Auto Assign'
on:
pull_request:
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/check-changelog.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# NOTE: This is a common file that is overwritten by realm/ci-actions sync service
# and should only be modified in that repository.

name: "Check Changelog"
on:
pull_request:
Expand All @@ -15,4 +18,4 @@ jobs:
uses: dangoslen/changelog-enforcer@c0b9fd225180a405c5f21f7a74b99e2eccc3e951
with:
skipLabels: no-changelog
missingUpdateErrorMessage: Please add an entry in CHANGELOG.md or apply the 'no-changelog' label to skip this check.
missingUpdateErrorMessage: Please add an entry in CHANGELOG.md or apply the 'no-changelog' label to skip this check.
35 changes: 35 additions & 0 deletions .github/workflows/issue-labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# NOTE: This is a common file that is overwritten by realm/ci-actions sync service
# and should only be modified in that repository.

# See configuration in .github/advanced-issue-labeler.yml

name: Issue labeler (policy)
on:
issues:
types: [ opened ]

jobs:
label-issues-policy:
runs-on: ubuntu-latest
permissions:
issues: write

strategy:
matrix:
template: [ bug.yml, feature.yml ]

steps:
- uses: actions/checkout@v3

- name: Parse issue form
uses: stefanbuck/github-issue-parser@c1a559d78bfb8dd05216dab9ffd2b91082ff5324 # v3.0.1
id: issue-parser
with:
template-path: .github/ISSUE_TEMPLATE/${{ matrix.template }}

- name: Set labels based on policy
uses: redhat-plumbers-in-action/advanced-issue-labeler@6ee6fddfd744ee26b977e6a0436916f256896971 # v2.0.3
with:
issue-form: ${{ steps.issue-parser.outputs.jsonString }}
template: ${{ matrix.template }}
token: ${{ secrets.GITHUB_TOKEN }}
22 changes: 22 additions & 0 deletions .github/workflows/no-response.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# NOTE: This is a common file that is overwritten by realm/ci-actions sync service
# and should only be modified in that repository.

name: No Response

# Both `issue_comment` and `scheduled` event types are required for this Action
# to work properly.
on:
issue_comment:
types: [created]
schedule:
# Schedule at 00:00 every day
- cron: '0 0 * * *'

jobs:
noResponse:
runs-on: ubuntu-latest
steps:
- uses: lee-dohm/no-response@v0.5.0
with:
token: ${{ github.token }}
responseRequiredLabel: More-information-needed
5 changes: 5 additions & 0 deletions .github/workflows/test-ios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,11 @@ jobs:
uses: actions/setup-dotnet@607fce577a46308457984d59e4954e075820f10a
with:
dotnet-version: 6.0.x
- name: Set XCode Version
shell: bash
run: |
sudo xcode-select -s "/Applications/Xcode_14.1.app"
echo "MD_APPLE_SDK_ROOT=/Applications/Xcode_14.1.app" >> $GITHUB_ENV
- name: Setup workloads
run: |
dotnet workload install maui
Expand Down
28 changes: 21 additions & 7 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
## vNext (TBD)

### Enhancements
* None

### Fixed
* None

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

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

## 10.19.0 (2023-01-06)

### Enhancements
* Removed redundant serialization/deserialization of arguments in CallAsync. (Issue [#3079](https://github.com/realm/realm-dotnet/issues/3079))
* Added a field `Transaction.State` which describes the current state of the transaction. (Issue [#2551](https://github.com/realm/realm-dotnet/issues/2551))
Expand All @@ -13,10 +27,9 @@
* Improve performance of client reset with automatic recovery and converting top-level tables into embedded tables. (Core upgrade)
* Flexible sync will now wait for the server to have sent all pending history after a bootstrap before marking a subscription as Complete. (Core upgrade)
* Slightly improve performance of `Realm.RemoveAll()` which removes all objects from an open Realm database. (Issue [#2233](https://github.com/realm/realm-dotnet/issues/2194))
* The realm file will be shrunk if the larger file size is no longer needed. (Core upgrade)
* Most of the file growth caused by version pinning is eliminated. (Core upgrade)
* Improve error messages when not setting a BaseFilePath for realm or app configuration. (Issue [2863](https://github.com/realm/realm-dotnet/issues/2863))
* Added diagnostic error for nested classes used with the source generator syntax, as they are not yet supported. (Issue [#3130](https://github.com/realm/realm-dotnet/issues/3130))
* Added `IList` implementation to all Realm collections to allow for UWP ListView databinding. (Issue [#1759](https://github.com/realm/realm-dotnet/issues/1759))

### Fixed
* Fixed issue where Realm parameters' initialization would get run twice, resulting in unexpected behavior.
Expand All @@ -32,17 +45,18 @@
* Fixed an issue that would cause an exception when using unmanaged objects in bindings (Issue [#3094](https://github.com/realm/realm-dotnet/issues/3094))
* Fixed an issue where fetching a user's profile while the user logs out would result in an assertion failure. (Core upgrade)
* Removed the ".tmp_compaction_space" file being left over after compacting a Realm on Windows. (Core upgrade)
* Fixed an issue where sets would consider string and binary data equivalent. This could cause the client to be inconsistent with the server if a string and some binary data with equivalent content was inserted from Atlas. (Core upgrade)
* Fixed wrong assertion on query error that could result in a crash. (Core upgrade)
* Fixed a crash that would occur if you close a synchronized Realm while waiting for `SubscriptionSet.WaitForSynchronizationAsync`. (Issue [#2952](https://github.com/realm/realm-dotnet/issues/2952))
* Avoid calling the setter on UI-bound properties in case the new value of the property is the same as the current one. This avoids some issue with MAUI, that seems to be calling the setter of bound properties unnecessarily when CollectionView/ListView are shown on screen. This is problematic if the object does not belong to the current user's permissions, as it will cause a compensanting write. In some limited cases this could cause an error loop (verified on iOS) when recycling of cells is involved. (Issue [#3128](https://github.com/realm/realm-dotnet/issues/3128))
* Fixes an issue with where the source generator will not add the namespace for types used in properties' initializers. (Issue [#3135](https://github.com/realm/realm-dotnet/issues/3135))
* Fixes an issue with where the source generator will not add the namespace for types used in properties' initializers. (Issue [#3135](https://github.com/realm/realm-dotnet/issues/3135))
* Fixed an issue that would prevent Realm from working correctly in Unity applications that have [Domain Reloading](https://docs.unity3d.com/Manual/DomainReloading.html) turned off. (Issue [#2898](https://github.com/realm/realm-dotnet/issues/2898))
* Fixed a bug when using `string.Contains` in .NET 2.1 or later where the search string is not a literal. (Issue [#3134](https://github.com/realm/realm-dotnet/issues/3134))
* Added `[Obsolete]` notice for a few `ErrorCode` enum members that are no longer in use. (Issue [#3155](https://github.com/realm/realm-dotnet/issues/3155)

### Compatibility
* Realm Studio: 13.1.0 or later.
* Realm Studio: 12.0.0 or later.

### Internal
* Using Core 13.1.0.
* Using Core 12.13.0.
* Replaced `Realm.RefreshAsync` with a native implementation. (PR [#2995](https://github.com/realm/realm-dotnet/pull/2995))

## 10.18.0 (2022-11-02)
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -174,4 +174,4 @@
of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

2 changes: 1 addition & 1 deletion Realm/AssemblyInfo.props
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Product>Realm .NET</Product>
<VersionPrefix>10.18.0</VersionPrefix>
<VersionPrefix>10.19.0</VersionPrefix>
<Description Condition="'$(Description)' == ''">Realm is a mobile database: a replacement for SQLite</Description>
<Company>Realm Inc.</Company>
<Copyright>Copyright © $([System.DateTime]::Now.ToString(yyyy)) Realm Inc.</Copyright>
Expand Down
Loading

0 comments on commit 0fdeef1

Please sign in to comment.