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

Prepare for 11.7.0 #3507

Merged
merged 2 commits into from
Feb 5, 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
8 changes: 3 additions & 5 deletions .github/templates/build-packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,19 @@
uses: #@ actionCache
with:
path: 'C:\docfx'
key: docfx-2.70.4
key: docfx-2.75.2
- name: Download docfx
if: inputs.build-docs && steps.check-docfx-cache.outputs.cache-hit != 'true'
run: |
Invoke-WebRequest -Uri https://github.com/dotnet/docfx/releases/download/v2.70.4/docfx-win-x64-v2.70.4.zip -OutFile C:\docfx.zip
Invoke-WebRequest -Uri https://github.com/dotnet/docfx/releases/download/v2.75.2/docfx-win-x64-v2.75.2.zip -OutFile C:\docfx.zip
Expand-Archive -Path C:\docfx.zip -DestinationPath C:\docfx
shell: powershell
- _: #@ template.replace(setupDotnet("6.0.402", ifCondition = "inputs.build-docs"))
- _: #@ template.replace(setupDotnet("7.0.x", ifCondition = "inputs.build-docs"))
- name: Build docs
if: inputs.build-docs
env:
DOCFX_SOURCE_BRANCH_NAME: ${{ github.head_ref }}
run: |
New-Item global.json
Set-Content global.json '{ "sdk": { "version": "6.0.402" } }'
C:\docfx\docfx Docs/docfx.json

#! the link generated by docfx is incorrect - it points to
Expand Down
8 changes: 3 additions & 5 deletions .github/workflows/build-packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -219,25 +219,23 @@ jobs:
uses: nirinchev/cache@29e8e4dd9148ea81f9e188480132072cb6cc92d8
with:
path: C:\docfx
key: docfx-2.70.4
key: docfx-2.75.2
- name: Download docfx
if: inputs.build-docs && steps.check-docfx-cache.outputs.cache-hit != 'true'
run: |
Invoke-WebRequest -Uri https://github.com/dotnet/docfx/releases/download/v2.70.4/docfx-win-x64-v2.70.4.zip -OutFile C:\docfx.zip
Invoke-WebRequest -Uri https://github.com/dotnet/docfx/releases/download/v2.75.2/docfx-win-x64-v2.75.2.zip -OutFile C:\docfx.zip
Expand-Archive -Path C:\docfx.zip -DestinationPath C:\docfx
shell: powershell
- name: Configure .NET
uses: actions/setup-dotnet@607fce577a46308457984d59e4954e075820f10a
if: inputs.build-docs
with:
dotnet-version: 6.0.402
dotnet-version: 7.0.x
- name: Build docs
if: inputs.build-docs
env:
DOCFX_SOURCE_BRANCH_NAME: ${{ github.head_ref }}
run: |
New-Item global.json
Set-Content global.json '{ "sdk": { "version": "6.0.402" } }'
C:\docfx\docfx Docs/docfx.json
- name: Update Improve this doc links
run: |
Expand Down
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## vNext (TBD)
## 11.7.0 (2024-02-05)

### Enhancements
* Automatic client reset recovery now does a better job of recovering changes when changesets were downloaded from the server after the unuploaded local changes were committed. If the local Realm happened to be fully up to date with the server prior to the client reset, automatic recovery should now always produce exactly the same state as if no client reset was involved. (Core 13.24.1)
Expand Down
2 changes: 1 addition & 1 deletion Docs/docfx.json
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@
"_appTitle": "Realm",
"_appFaviconPath": "images/favicon.ico",
"_appLogoPath": "images/logo.svg",
"_appFooter": "Copyright © 2020-2023 <a href=\"https://realm.io\">Realm</a><br>Generated by <strong>DocFX</strong>",
"_appFooter": "Copyright © 2020-2024 <a href=\"https://realm.io\">Realm</a><br>Generated by <strong>DocFX</strong>",
"_gitContribute": {
"repo": "https://github.com/realm/realm-dotnet.git",
"branch": "main",
Expand Down
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 Condition="'$(Product)' == ''">Realm .NET</Product>
<VersionPrefix>11.6.1</VersionPrefix>
<VersionPrefix>11.7.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
2 changes: 1 addition & 1 deletion Realm/Realm.Unity/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "io.realm.unity",
"version": "11.6.1",
"version": "11.7.0",
"displayName": "Realm",
"description": "Realm is an embedded, object-oriented database that lets you build real-time, always-on applications. With Realm, data is directly exposed as objects and queryable by code, removing the need for ORM's riddled with performance & maintenance issues. Additionally, objects and collections in Realm are always live, meaning that they always reflect the latest data stored in the database. You can subscribe to changes, letting you keep your UI consistently up to date.\nThe .NET Realm SDK also provide access to Atlas App Services, a secure backend that can sync data between devices, authenticate and manage users, and run serverless JavaScript functions.",
"unity": "2021.1",
Expand Down
7 changes: 5 additions & 2 deletions Realm/Realm/Attributes/BacklinkAttribute.cs
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,13 @@ namespace Realms
/// }
/// </code>
/// </example>
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
[AttributeUsage(AttributeTargets.Property)]
public sealed class BacklinkAttribute : Attribute
{
internal string Property { get; }
/// <summary>
/// Gets the property that is on the other end of the relationship.
/// </summary>
public string Property { get; }

/// <summary>
/// Initializes a new instance of the <see cref="BacklinkAttribute"/> class.
Expand Down
2 changes: 1 addition & 1 deletion Realm/Realm/DatabaseTypes/QueryArgument.cs
Original file line number Diff line number Diff line change
Expand Up @@ -300,7 +300,7 @@ private QueryArgument(RealmValue? realmValue = null, GeoShapeBase? geoValue = nu
public static implicit operator QueryArgument(RealmObjectBase? value) => new(value);

/// <summary>
/// Implicitly constructs a <see cref="QueryArgument"/> from <see cref="RealmValue" />.
/// Implicitly constructs a <see cref="QueryArgument"/> from <see cref="Realms.RealmValue" />.
/// </summary>
/// <param name="value">The value to store in the <see cref="QueryArgument"/>.</param>
/// <returns>A <see cref="QueryArgument"/> containing the supplied <paramref name="value"/>.</returns>
Expand Down
7 changes: 5 additions & 2 deletions Realm/Realm/Exceptions/RealmDecryptionFailedException.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,19 @@
//
////////////////////////////////////////////////////////////////////////////

using Realms.Sync;

namespace Realms.Exceptions
{
/// <summary>
/// An exception, raised when file decryption is unsuccessful, most likely due to invalid
/// <see cref="RealmConfigurationBase.EncryptionKey"/>.
/// <see cref="RealmConfiguration.EncryptionKey"/>.
/// <see cref="SyncConfigurationBase.EncryptionKey"/>.
/// </summary>
public class RealmDecryptionFailedException : RealmFileAccessErrorException
{
internal RealmDecryptionFailedException(string message) : base(message)
{
}
}
}
}
13 changes: 5 additions & 8 deletions Realm/Realm/Extensions/CollectionExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@ public static void Move<T>(this IList<T> list, int from, int to)
/// </summary>
/// <param name="dictionary">The <see cref="IDictionary{String, T}"/> to observe for changes.</param>
/// <typeparam name="T">Type of the elements in the dictionary.</typeparam>
/// <seealso cref="IRealmCollection{TValue}.SubscribeForNotifications"/>
/// <seealso cref="IRealmCollection{T}.SubscribeForNotifications"/>
/// <returns>The collection, implementing <see cref="INotifyCollectionChanged"/>.</returns>
public static IRealmCollection<KeyValuePair<string, T>> AsRealmCollection<T>(this IDictionary<string, T> dictionary)
{
Expand Down Expand Up @@ -310,7 +310,7 @@ public static IQueryable<T> AsRealmQueryable<T>(this IDictionary<string, T?> dic
/// </summary>
/// <param name="dictionary">The <see cref="IDictionary{String, T}"/> to observe for changes.</param>
/// <typeparam name="T">Type of the elements in the dictionary.</typeparam>
/// <seealso cref="IRealmCollection{TValue}.SubscribeForNotifications"/>
/// <seealso cref="IRealmCollection{T}.SubscribeForNotifications"/>
/// <param name="callback">The callback to be invoked with the updated <see cref="IRealmCollection{T}"/>.</param>
/// <returns>
/// A subscription token. It must be kept alive for as long as you want to receive change notifications.
Expand All @@ -326,7 +326,7 @@ public static IDisposable SubscribeForNotifications<T>(this IDictionary<string,
/// </summary>
/// <param name="dictionary">The <see cref="IDictionary{String, T}"/> to observe for changes.</param>
/// <typeparam name="T">Type of the elements in the dictionary.</typeparam>
/// <seealso cref="IRealmCollection{TValue}.SubscribeForNotifications"/>
/// <seealso cref="IRealmCollection{T}.SubscribeForNotifications"/>
/// <param name="callback">The callback to be invoked with the updated <see cref="IRealmCollection{T}"/>.</param>
/// <returns>
/// A subscription token. It must be kept alive for as long as you want to receive change notifications.
Expand Down Expand Up @@ -403,10 +403,7 @@ public static IQueryable<T> Filter<T>(this IQueryable<T> query, string predicate
/// joe.dogs.Filter("Name BEGINSWITH $0", "R");
/// </code>
/// </example>
/// <seealso href="https://docs.mongodb.com/realm/reference/realm-query-language/">
/// Examples of the NSPredicate syntax
/// </seealso>
/// <seealso href="https://academy.realm.io/posts/nspredicate-cheatsheet/">NSPredicate Cheatsheet</seealso>
/// <seealso href="https://docs.mongodb.com/realm/reference/realm-query-language/"/>
public static IQueryable<T> Filter<T>(this IList<T> list, string predicate, params QueryArgument[] arguments)
where T : IRealmObjectBase
{
Expand Down Expand Up @@ -612,4 +609,4 @@ private static void PopulateCollectionCore<T>(ICollection<T>? source, ICollectio
}
}
}
}
}
2 changes: 1 addition & 1 deletion Realm/Realm/Schema/ObjectSchema.cs
Original file line number Diff line number Diff line change
Expand Up @@ -305,7 +305,7 @@ public Builder(Type type)
return this;
}

protected override string GetKey(Property item) => item.Name;
private protected override string GetKey(Property item) => item.Name;
}
}
}
2 changes: 1 addition & 1 deletion Realm/Realm/Schema/RealmSchema.cs
Original file line number Diff line number Diff line change
Expand Up @@ -355,7 +355,7 @@ public Builder Add(Type type)
return this;
}

protected override string GetKey(ObjectSchema item) => Argument.ValidateNotNull(item, nameof(item)).Name;
private protected override string GetKey(ObjectSchema item) => Argument.ValidateNotNull(item, nameof(item)).Name;
}
}
}
2 changes: 1 addition & 1 deletion Realm/Realm/Schema/SchemaBuilderBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ protected void Add(T item)
/// <returns><c>true</c> if the builder contains the specified item; <c>false</c> otherwise.</returns>
public bool Contains(string name) => _values.ContainsKey(name);

protected abstract string GetKey(T item);
private protected abstract string GetKey(T item);

/// <inheritdoc/>
public IEnumerator<T> GetEnumerator() => _values.Values.GetEnumerator();
Expand Down
2 changes: 1 addition & 1 deletion Realm/Realm/Sync/AppConfiguration.cs
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ public string BaseFilePath
/// Gets or sets the encryption key for user metadata on this device.
/// </summary>
/// <remarks>
/// This will not change the encryption key for individual Realms. This should still be set in <see cref="RealmConfigurationBase.EncryptionKey"/>
/// This will not change the encryption key for individual Realms. This should still be set in <see cref="SyncConfigurationBase.EncryptionKey"/>
/// when opening the <see cref="Realm"/>.
/// </remarks>
/// <value>The user metadata encryption key.</value>
Expand Down
Loading