Merge branch 'release/17.0'

# Conflicts:
#	src/Umbraco.Infrastructure/Migrations/Upgrade/UmbracoPlan.cs
#	version.json
This commit is contained in:
Andy Butland
2025-12-01 19:06:16 +01:00
5 changed files with 11 additions and 15 deletions

View File

@@ -47,9 +47,7 @@ public class ConfigureUmbracoMemberAuthenticationDeliveryApiSwaggerGenOptions :
return;
}
swaggerDoc.Components ??= new OpenApiComponents();
swaggerDoc.Components.SecuritySchemes ??= new Dictionary<string, IOpenApiSecurityScheme>();
swaggerDoc.Components.SecuritySchemes.Add(
swaggerDoc.AddComponent(
AuthSchemeName,
new OpenApiSecurityScheme
{

View File

@@ -1,4 +1,4 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Umbraco.Cms.Api.Common.Accessors;
using Umbraco.Cms.Api.Common.Rendering;
using Umbraco.Cms.Api.Management.Factories;
@@ -16,9 +16,10 @@ internal static class WebhooksBuilderExtensions
builder.Services.AddUnique<IWebhookPresentationFactory, WebhookPresentationFactory>();
builder.AddMapDefinition<WebhookEventMapDefinition>();
// deliveryApi will overwrite these more basic ones.
builder.Services.AddScoped<IOutputExpansionStrategy, ElementOnlyOutputExpansionStrategy>();
builder.Services.AddSingleton<IOutputExpansionStrategyAccessor, RequestContextOutputExpansionStrategyAccessor>();
// We have to use TryAdd here, as if they are registered by the delivery API, we don't want to register them
// Delivery API will also overwrite these IF it is enabled.
builder.Services.TryAddScoped<IOutputExpansionStrategy, ElementOnlyOutputExpansionStrategy>();
builder.Services.TryAddSingleton<IOutputExpansionStrategyAccessor, RequestContextOutputExpansionStrategyAccessor>();
return builder;
}

View File

@@ -141,8 +141,8 @@ public class UmbracoPlan : MigrationPlan
To<V_17_0_0.EnsureDefaultMediaFolderHasDefaultCollection>("{8B2C830A-4FFB-4433-8337-8649B0BF52C8}");
To<V_17_0_0.InvalidateBackofficeUserAccess>("{1C38D589-26BB-4A46-9ABE-E4A0DF548A87}");
// To 17.1.0
To<V_17_1_0.EnsureUmbracoPropertyDataColumnCasing>("{BE5CA411-E12D-4455-A59E-F12A669E5363}");
// To 17.0.1
To<V_17_0_1.EnsureUmbracoPropertyDataColumnCasing>("{BE5CA411-E12D-4455-A59E-F12A669E5363}");
// To 18.0.0
// TODO (V18): Enable on 18 branch

View File

@@ -1,18 +1,15 @@
using Microsoft.Extensions.Logging;
using NPoco;
using Umbraco.Cms.Core;
using Umbraco.Cms.Core.Models.Membership;
using Umbraco.Cms.Infrastructure.Persistence;
using static Umbraco.Cms.Core.Constants;
using ColumnInfo = Umbraco.Cms.Infrastructure.Persistence.SqlSyntax.ColumnInfo;
namespace Umbraco.Cms.Infrastructure.Migrations.Upgrade.V_17_1_0;
namespace Umbraco.Cms.Infrastructure.Migrations.Upgrade.V_17_0_1;
/// <summary>
/// Ensures the propertyTypeId column in umbracoPropertyData has correct camel case naming.
/// </summary>
/// <remarks>
/// SQL Server is case sensitive for columns used in a SQL Bulk insert statement(which is used in publishing
/// SQL Server is case sensitive for columns used in a SQL Bulk insert statement (which is used in publishing
/// operations on umbracoPropertyData).
/// Earlier versions of Umbraco used all lower case for the propertyTypeId column name (propertytypeid), whereas newer versions
/// use camel case (propertyTypeId).

View File

@@ -187,10 +187,10 @@ internal sealed class PublishedProperty : PublishedPropertyBase
switch (cacheLevel)
{
case PropertyCacheLevel.None:
case PropertyCacheLevel.Snapshot: // Snapshot is obsolete, so for now treat as None
// never cache anything
cacheValues = new CacheValues();
break;
case PropertyCacheLevel.Snapshot: // Snapshot is obsolete, so for now treat as element
case PropertyCacheLevel.Element:
// cache within the property object itself, ie within the content object
cacheValues = _cacheValues ??= new CacheValues();