diff --git a/src/Umbraco.Cms.Api.Management/DependencyInjection/UmbracoBuilderExtensions.cs b/src/Umbraco.Cms.Api.Management/DependencyInjection/UmbracoBuilderExtensions.cs index 8ef9ad3982..c438fc8048 100644 --- a/src/Umbraco.Cms.Api.Management/DependencyInjection/UmbracoBuilderExtensions.cs +++ b/src/Umbraco.Cms.Api.Management/DependencyInjection/UmbracoBuilderExtensions.cs @@ -85,8 +85,8 @@ public static partial class UmbracoBuilderExtensions options.AddFilter(new UmbracoPipelineFilter( "BackOfficeManagementApiFilter", applicationBuilder => applicationBuilder.UseProblemDetailsExceptionHandling(), - applicationBuilder => { }, - applicationBuilder => applicationBuilder.UseEndpoints())); + postPipeline: _ => { }, + endpoints: applicationBuilder => applicationBuilder.UseEndpoints())); }); } diff --git a/src/Umbraco.Cms.Api.Management/Security/ConfigureBackOfficeIdentityOptions.cs b/src/Umbraco.Cms.Api.Management/Security/ConfigureBackOfficeIdentityOptions.cs index f5e85fe6e5..dd12db2c7c 100644 --- a/src/Umbraco.Cms.Api.Management/Security/ConfigureBackOfficeIdentityOptions.cs +++ b/src/Umbraco.Cms.Api.Management/Security/ConfigureBackOfficeIdentityOptions.cs @@ -1,10 +1,8 @@ using System.Security.Claims; -using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Umbraco.Cms.Core; using Umbraco.Cms.Core.Configuration.Models; using Umbraco.Cms.Core.Security; -using Umbraco.Cms.Web.Common.DependencyInjection; using Umbraco.Extensions; namespace Umbraco.Cms.Api.Management.Security; diff --git a/src/Umbraco.Cms.Imaging.ImageSharp/Media/ImageSharpImageUrlGenerator.cs b/src/Umbraco.Cms.Imaging.ImageSharp/Media/ImageSharpImageUrlGenerator.cs index 25c964186f..d119a911fe 100644 --- a/src/Umbraco.Cms.Imaging.ImageSharp/Media/ImageSharpImageUrlGenerator.cs +++ b/src/Umbraco.Cms.Imaging.ImageSharp/Media/ImageSharpImageUrlGenerator.cs @@ -36,15 +36,6 @@ public sealed class ImageSharpImageUrlGenerator : IImageUrlGenerator { } - /// - /// Initializes a new instance of the class. - /// - /// The ImageSharp configuration. - [Obsolete("Use ctor with all params - This will be removed in Umbraco 13.")] - public ImageSharpImageUrlGenerator(Configuration configuration) - : this(configuration, StaticServiceProvider.Instance.GetService(), StaticServiceProvider.Instance.GetRequiredService>()) - { } - /// /// Initializes a new instance of the class. /// diff --git a/src/Umbraco.Cms.Persistence.Sqlite/Constants.cs b/src/Umbraco.Cms.Persistence.Sqlite/Constants.cs index 5c10f46828..bb01106a13 100644 --- a/src/Umbraco.Cms.Persistence.Sqlite/Constants.cs +++ b/src/Umbraco.Cms.Persistence.Sqlite/Constants.cs @@ -9,7 +9,4 @@ public static class Constants /// SQLite provider name. /// public const string ProviderName = "Microsoft.Data.Sqlite"; - - [Obsolete("This will be removed in Umbraco 12. Use Constants.ProviderName instead")] - public const string ProviderNameLegacy = "Microsoft.Data.SQLite"; } diff --git a/src/Umbraco.Cms.Persistence.Sqlite/UmbracoBuilderExtensions.cs b/src/Umbraco.Cms.Persistence.Sqlite/UmbracoBuilderExtensions.cs index b3002fa8fe..b617831b86 100644 --- a/src/Umbraco.Cms.Persistence.Sqlite/UmbracoBuilderExtensions.cs +++ b/src/Umbraco.Cms.Persistence.Sqlite/UmbracoBuilderExtensions.cs @@ -46,15 +46,11 @@ public static class UmbracoBuilderExtensions DbProviderFactories.UnregisterFactory(Constants.ProviderName); DbProviderFactories.RegisterFactory(Constants.ProviderName, SqliteFactory.Instance); - // Remove this registration in Umbraco 12 - DbProviderFactories.UnregisterFactory(Constants.ProviderNameLegacy); - DbProviderFactories.RegisterFactory(Constants.ProviderNameLegacy, SqliteFactory.Instance); - // Prevent accidental creation of SQLite database files builder.Services.PostConfigureAll(options => { // Skip empty connection string and other providers - if (!options.IsConnectionStringConfigured() || (options.ProviderName != Constants.ProviderName && options.ProviderName != Constants.ProviderNameLegacy)) + if (!options.IsConnectionStringConfigured() || options.ProviderName != Constants.ProviderName) { return; } diff --git a/src/Umbraco.Core/Cache/DistributedCacheExtensions.cs b/src/Umbraco.Core/Cache/DistributedCacheExtensions.cs index e02bee857b..9a18723f59 100644 --- a/src/Umbraco.Core/Cache/DistributedCacheExtensions.cs +++ b/src/Umbraco.Core/Cache/DistributedCacheExtensions.cs @@ -92,17 +92,9 @@ public static class DistributedCacheExtensions #region DataTypeCacheRefresher - [Obsolete("Use the overload accepting IEnumerable instead. This overload will be removed in Umbraco 13.")] - public static void RefreshDataTypeCache(this DistributedCache dc, IDataType dataType) - => dc.RefreshDataTypeCache(dataType.Yield()); - public static void RefreshDataTypeCache(this DistributedCache dc, IEnumerable dataTypes) => dc.RefreshByPayload(DataTypeCacheRefresher.UniqueId, dataTypes.DistinctBy(x => (x.Id, x.Key)).Select(x => new DataTypeCacheRefresher.JsonPayload(x.Id, x.Key, false))); - [Obsolete("Use the overload accepting IEnumerable instead. This overload will be removed in Umbraco 13.")] - public static void RemoveDataTypeCache(this DistributedCache dc, IDataType dataType) - => dc.RemoveDataTypeCache(dataType.Yield()); - public static void RemoveDataTypeCache(this DistributedCache dc, IEnumerable dataTypes) => dc.RefreshByPayload(DataTypeCacheRefresher.UniqueId, dataTypes.DistinctBy(x => (x.Id, x.Key)).Select(x => new DataTypeCacheRefresher.JsonPayload(x.Id, x.Key, true))); @@ -131,10 +123,6 @@ public static class DistributedCacheExtensions dc.RefreshByPayload(ContentCacheRefresher.UniqueId, payloads); } - [Obsolete("Use the overload accepting IEnumerable instead to avoid allocating arrays. This overload will be removed in Umbraco 13.")] - public static void RefreshContentCache(this DistributedCache dc, TreeChange[] changes) - => dc.RefreshContentCache(changes.AsEnumerable()); - public static void RefreshContentCache(this DistributedCache dc, IEnumerable> changes) { IEnumerable payloads = changes.Select(x => new ContentCacheRefresher.JsonPayload() @@ -152,18 +140,9 @@ public static class DistributedCacheExtensions #region MemberCacheRefresher - [Obsolete("Use the overload accepting IEnumerable instead to avoid allocating arrays. This overload will be removed in Umbraco 13.")] - public static void RefreshMemberCache(this DistributedCache dc, params IMember[] members) - => dc.RefreshMemberCache(members.AsEnumerable()); - public static void RefreshMemberCache(this DistributedCache dc, IEnumerable members) => dc.RefreshByPayload(MemberCacheRefresher.UniqueId, members.DistinctBy(x => (x.Id, x.Username)).Select(x => new MemberCacheRefresher.JsonPayload(x.Id, x.Username, false))); - - [Obsolete("Use the overload accepting IEnumerable instead to avoid allocating arrays. This overload will be removed in Umbraco 13.")] - public static void RemoveMemberCache(this DistributedCache dc, params IMember[] members) - => dc.RemoveMemberCache(members.AsEnumerable()); - public static void RemoveMemberCache(this DistributedCache dc, IEnumerable members) => dc.RefreshByPayload(MemberCacheRefresher.UniqueId, members.DistinctBy(x => (x.Id, x.Username)).Select(x => new MemberCacheRefresher.JsonPayload(x.Id, x.Username, true))); @@ -191,9 +170,6 @@ public static class DistributedCacheExtensions // note: refresh all media cache does refresh content types too => dc.RefreshByPayload(MediaCacheRefresher.UniqueId, new MediaCacheRefresher.JsonPayload(0, null, TreeChangeTypes.RefreshAll).Yield()); - [Obsolete("Use the overload accepting IEnumerable instead to avoid allocating arrays. This overload will be removed in Umbraco 13.")] - public static void RefreshMediaCache(this DistributedCache dc, TreeChange[] changes) - => dc.RefreshMediaCache(changes.AsEnumerable()); public static void RefreshMediaCache(this DistributedCache dc, IEnumerable> changes) => dc.RefreshByPayload(MediaCacheRefresher.UniqueId, changes.DistinctBy(x => (x.Item.Id, x.Item.Key, x.ChangeTypes)).Select(x => new MediaCacheRefresher.JsonPayload(x.Item.Id, x.Item.Key, x.ChangeTypes))); @@ -214,24 +190,12 @@ public static class DistributedCacheExtensions #region ContentTypeCacheRefresher - [Obsolete("Use the overload accepting IEnumerable instead to avoid allocating arrays. This overload will be removed in Umbraco 13.")] - public static void RefreshContentTypeCache(this DistributedCache dc, ContentTypeChange[] changes) - => dc.RefreshContentTypeCache(changes.AsEnumerable()); - public static void RefreshContentTypeCache(this DistributedCache dc, IEnumerable> changes) => dc.RefreshByPayload(ContentTypeCacheRefresher.UniqueId, changes.DistinctBy(x => (x.Item.Id, x.ChangeTypes)).Select(x => new ContentTypeCacheRefresher.JsonPayload(typeof(IContentType).Name, x.Item.Id, x.ChangeTypes))); - [Obsolete("Use the overload accepting IEnumerable instead to avoid allocating arrays. This overload will be removed in Umbraco 13.")] - public static void RefreshContentTypeCache(this DistributedCache dc, ContentTypeChange[] changes) - => dc.RefreshContentTypeCache(changes.AsEnumerable()); - public static void RefreshContentTypeCache(this DistributedCache dc, IEnumerable> changes) => dc.RefreshByPayload(ContentTypeCacheRefresher.UniqueId, changes.DistinctBy(x => (x.Item.Id, x.ChangeTypes)).Select(x => new ContentTypeCacheRefresher.JsonPayload(typeof(IMediaType).Name, x.Item.Id, x.ChangeTypes))); - [Obsolete("Use the overload accepting IEnumerable instead to avoid allocating arrays. This overload will be removed in Umbraco 13.")] - public static void RefreshContentTypeCache(this DistributedCache dc, ContentTypeChange[] changes) - => dc.RefreshContentTypeCache(changes.AsEnumerable()); - public static void RefreshContentTypeCache(this DistributedCache dc, IEnumerable> changes) => dc.RefreshByPayload(ContentTypeCacheRefresher.UniqueId, changes.DistinctBy(x => (x.Item.Id, x.ChangeTypes)).Select(x => new ContentTypeCacheRefresher.JsonPayload(typeof(IMemberType).Name, x.Item.Id, x.ChangeTypes))); @@ -239,17 +203,9 @@ public static class DistributedCacheExtensions #region DomainCacheRefresher - [Obsolete("Use the overload accepting IEnumerable instead. This overload will be removed in Umbraco 13.")] - public static void RefreshDomainCache(this DistributedCache dc, IDomain domain) - => dc.RefreshDomainCache(domain.Yield()); - public static void RefreshDomainCache(this DistributedCache dc, IEnumerable domains) => dc.RefreshByPayload(DomainCacheRefresher.UniqueId, domains.DistinctBy(x => x.Id).Select(x => new DomainCacheRefresher.JsonPayload(x.Id, DomainChangeTypes.Refresh))); - [Obsolete("Use the overload accepting IEnumerable instead. This overload will be removed in Umbraco 13.")] - public static void RemoveDomainCache(this DistributedCache dc, IDomain domain) - => dc.RemoveDomainCache(domain.Yield()); - public static void RemoveDomainCache(this DistributedCache dc, IEnumerable domains) => dc.RefreshByPayload(DomainCacheRefresher.UniqueId, domains.DistinctBy(x => x.Id).Select(x => new DomainCacheRefresher.JsonPayload(x.Id, DomainChangeTypes.Remove))); @@ -260,10 +216,6 @@ public static class DistributedCacheExtensions #region LanguageCacheRefresher - [Obsolete("Use the overload accepting IEnumerable instead. This overload will be removed in Umbraco 13.")] - public static void RefreshLanguageCache(this DistributedCache dc, ILanguage language) - => dc.RefreshLanguageCache(language.Yield()); - public static void RefreshLanguageCache(this DistributedCache dc, IEnumerable languages) => dc.RefreshByPayload(LanguageCacheRefresher.UniqueId, languages.DistinctBy(x => (x.Id, x.IsoCode)).Select(x => new LanguageCacheRefresher.JsonPayload( x.Id, @@ -272,10 +224,6 @@ public static class DistributedCacheExtensions ? LanguageCacheRefresher.JsonPayload.LanguageChangeType.ChangeCulture : LanguageCacheRefresher.JsonPayload.LanguageChangeType.Update))); - [Obsolete("Use the overload accepting IEnumerable instead. This overload will be removed in Umbraco 13.")] - public static void RemoveLanguageCache(this DistributedCache dc, ILanguage language) - => dc.RemoveLanguageCache(language.Yield()); - public static void RemoveLanguageCache(this DistributedCache dc, IEnumerable languages) => dc.RefreshByPayload(LanguageCacheRefresher.UniqueId, languages.DistinctBy(x => (x.Id, x.IsoCode)).Select(x => new LanguageCacheRefresher.JsonPayload(x.Id, x.IsoCode, LanguageCacheRefresher.JsonPayload.LanguageChangeType.Remove))); diff --git a/src/Umbraco.Core/Configuration/ConfigureConnectionStrings.cs b/src/Umbraco.Core/Configuration/ConfigureConnectionStrings.cs index 69ef69239e..14899869e0 100644 --- a/src/Umbraco.Core/Configuration/ConfigureConnectionStrings.cs +++ b/src/Umbraco.Core/Configuration/ConfigureConnectionStrings.cs @@ -41,7 +41,6 @@ public class ConfigureConnectionStrings : IConfigureNamedOptions -/// Typed configuration options for active directory settings. -/// -[UmbracoOptions(Constants.Configuration.ConfigActiveDirectory)] -[Obsolete("This is not used anymore. Will be removed in Umbraco 12")] -public class ActiveDirectorySettings -{ - /// - /// Gets or sets a value for the Active Directory domain. - /// - public string? Domain { get; set; } -} diff --git a/src/Umbraco.Core/Configuration/Models/ConnectionStrings.cs b/src/Umbraco.Core/Configuration/Models/ConnectionStrings.cs index 1d7690ab52..4ba42eacc7 100644 --- a/src/Umbraco.Core/Configuration/Models/ConnectionStrings.cs +++ b/src/Umbraco.Core/Configuration/Models/ConnectionStrings.cs @@ -22,15 +22,6 @@ public class ConnectionStrings // TODO: Rename to [Umbraco]ConnectionString (sin /// public const string ProviderNamePostfix = ConfigurationExtensions.ProviderNamePostfix; - /// - /// Gets or sets the name. - /// - /// - /// The name. - /// - [Obsolete("This property will be removed in Umbraco 12, because this class is now using named options.")] - public string? Name { get; set; } - /// /// Gets or sets the connection string. /// diff --git a/src/Umbraco.Core/Configuration/Models/ContentSettings.cs b/src/Umbraco.Core/Configuration/Models/ContentSettings.cs index 5bbbea3d8b..1aeb038b4e 100644 --- a/src/Umbraco.Core/Configuration/Models/ContentSettings.cs +++ b/src/Umbraco.Core/Configuration/Models/ContentSettings.cs @@ -186,19 +186,6 @@ public class ContentSettings [DefaultValue(StaticDefaultPreviewBadge)] public string PreviewBadge { get; set; } = StaticDefaultPreviewBadge; - /// - /// Gets or sets a value for the collection of file extensions that are disallowed for upload. - /// - [DefaultValue(StaticDisallowedUploadFiles)] - [Obsolete("Please use DisAllowedUploadedFileExtensions instead, scheduled for removal in V13")] - public IEnumerable DisallowedUploadFiles { get; set; } = StaticDisallowedUploadFiles.Split(','); - - /// - /// Gets or sets a value for the collection of file extensions that are allowed for upload. - /// - [Obsolete("Please use AllowedUploadedFileExtensions instead, scheduled for removal in V13")] - public IEnumerable AllowedUploadFiles { get; set; } = Array.Empty(); - /// /// Gets or sets a value indicating whether deprecated property editors should be shown. /// diff --git a/src/Umbraco.Core/Configuration/Models/SecuritySettings.cs b/src/Umbraco.Core/Configuration/Models/SecuritySettings.cs index f52c41f60c..f7bb1fe2f4 100644 --- a/src/Umbraco.Core/Configuration/Models/SecuritySettings.cs +++ b/src/Umbraco.Core/Configuration/Models/SecuritySettings.cs @@ -67,18 +67,6 @@ public class SecuritySettings [DefaultValue(StaticAllowedUserNameCharacters)] public string AllowedUserNameCharacters { get; set; } = StaticAllowedUserNameCharacters; - /// - /// Gets or sets a value for the user password settings. - /// - [Obsolete("This no longer works. You can now inject this by using IOptions instead, scheduled for removal in v13")] - public UserPasswordConfigurationSettings? UserPassword { get; set; } = new(); - - /// - /// Gets or sets a value for the member password settings. - /// - [Obsolete("This no longer works. You can now inject this by using IOptions instead, scheduled for removal in v13")] - public MemberPasswordConfigurationSettings? MemberPassword { get; set; } = new(); - /// /// Gets or sets a value indicating whether to bypass the two factor requirement in Umbraco when using external login /// for members. Thereby rely on the External login and potential 2FA at that provider. diff --git a/src/Umbraco.Core/Constants-PackageRepository.cs b/src/Umbraco.Core/Constants-PackageRepository.cs deleted file mode 100644 index ef2e6fdd48..0000000000 --- a/src/Umbraco.Core/Constants-PackageRepository.cs +++ /dev/null @@ -1,15 +0,0 @@ -namespace Umbraco.Cms.Core; - -public static partial class Constants -{ - /// - /// Defines the constants used for the Umbraco package repository - /// - [Obsolete("This is no longer used and will be removed in Umbraco 13")] - public static class PackageRepository - { - public const string RestApiBaseUrl = "https://our.umbraco.com/webapi/packages/v1"; - public const string DefaultRepositoryName = "Umbraco package Repository"; - public const string DefaultRepositoryId = "65194810-1f85-11dd-bd0b-0800200c9a66"; - } -} diff --git a/src/Umbraco.Core/DependencyInjection/LegacyStaticServiceProvider.cs b/src/Umbraco.Core/DependencyInjection/LegacyStaticServiceProvider.cs deleted file mode 100644 index 5352996d01..0000000000 --- a/src/Umbraco.Core/DependencyInjection/LegacyStaticServiceProvider.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System; -using System.ComponentModel; - -namespace Umbraco.Cms.Web.Common.DependencyInjection; - -/// -/// Service locator for internal (umbraco cms) only purposes. Should only be used if no other ways exist. -/// -/// -/// It is created with only two goals in mind -/// 1) Continue to have the same extension methods on IPublishedContent and IPublishedElement as in V8. To make -/// migration easier. -/// 2) To have a tool to avoid breaking changes in minor and patch versions. All methods using this should in theory be -/// obsolete. -/// Keep in mind, every time this is used, the code becomes basically untestable. -/// -[Obsolete("Use Umbraco.Cms.Core.DependencyInjection.StaticServiceProvider directly instead - this is scheduled for removal in v13")] -[EditorBrowsable(EditorBrowsableState.Never)] -public static class StaticServiceProvider -{ - /// - /// The service locator. - /// - [Obsolete("Use Umbraco.Cms.Core.DependencyInjection.StaticServiceProvider directly instead- this is scheduled for removal in v13")] - [EditorBrowsable(EditorBrowsableState.Never)] - public static IServiceProvider Instance - { - get => Core.DependencyInjection.StaticServiceProvider.Instance; - set => Core.DependencyInjection.StaticServiceProvider.Instance = value; - } -} diff --git a/src/Umbraco.Core/DependencyInjection/UmbracoBuilder.Configuration.cs b/src/Umbraco.Core/DependencyInjection/UmbracoBuilder.Configuration.cs index b80c21b3fe..1850e531a8 100644 --- a/src/Umbraco.Core/DependencyInjection/UmbracoBuilder.Configuration.cs +++ b/src/Umbraco.Core/DependencyInjection/UmbracoBuilder.Configuration.cs @@ -50,7 +50,6 @@ public static partial class UmbracoBuilderExtensions // Register configuration sections. builder .AddUmbracoOptions() - .AddUmbracoOptions() .AddUmbracoOptions() .AddUmbracoOptions() .AddUmbracoOptions() @@ -122,32 +121,6 @@ public static partial class UmbracoBuilderExtensions } }); - // TODO: Remove this in V13 - // This is to avoid a breaking change in ContentSettings, if the old AllowedFileUploads has a value, and the new - // AllowedFileUploadExtensions does not, copy the value over, if the new has a value, use that instead. - builder.Services.Configure(settings => - { - // We have to use Config.GetSection().Get, as the GetSection.GetValue simply cannot retrieve a string array - var allowedUploadedFileExtensionsValue = builder.Config.GetSection($"{Constants.Configuration.ConfigContent}:{nameof(ContentSettings.AllowedUploadedFileExtensions)}").Get(); - var allowedUploadFilesValue = builder.Config.GetSection($"{Constants.Configuration.ConfigContent}:{nameof(ContentSettings.AllowedUploadFiles)}").Get(); - - if (allowedUploadedFileExtensionsValue is null && allowedUploadFilesValue is not null) - { - settings.AllowedUploadedFileExtensions = allowedUploadFilesValue; - } - }); - - // TODO: Remove this in V13 - builder.Services.Configure(settings => - { - var disallowedUploadedFileExtensionsValue = builder.Config.GetSection($"{Constants.Configuration.ConfigContent}:{nameof(ContentSettings.DisallowedUploadedFileExtensions)}").Get(); - var disallowedUploadFilesValue = builder.Config.GetSection($"{Constants.Configuration.ConfigContent}:{nameof(ContentSettings.DisallowedUploadFiles)}").Get(); - - if (disallowedUploadedFileExtensionsValue is null && disallowedUploadFilesValue is not null) - { - settings.DisallowedUploadedFileExtensions = disallowedUploadFilesValue; - } - }); return builder; } } diff --git a/src/Umbraco.Core/Extensions/HealthCheckSettingsExtensions.cs b/src/Umbraco.Core/Extensions/HealthCheckSettingsExtensions.cs deleted file mode 100644 index a029963805..0000000000 --- a/src/Umbraco.Core/Extensions/HealthCheckSettingsExtensions.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Umbraco.Cms.Core.Configuration; -using Umbraco.Cms.Core.Configuration.Models; - -namespace Umbraco.Extensions; - -// TODO (V12): Remove this class that's no longer used. - -[Obsolete("Please use RecurringHostedServiceBase.GetDelay(). This class is no longer used within Umbraco and will be removed in V12.")] -public static class HealthCheckSettingsExtensions -{ - public static TimeSpan GetNotificationDelay(this HealthChecksSettings settings, ICronTabParser cronTabParser, DateTime now, TimeSpan defaultDelay) - { - // If first run time not set, start with just small delay after application start. - var firstRunTime = settings.Notification.FirstRunTime; - if (string.IsNullOrEmpty(firstRunTime)) - { - return defaultDelay; - } - - // Otherwise start at scheduled time according to cron expression, unless within the default delay period. - DateTime firstRunOccurance = cronTabParser.GetNextOccurrence(firstRunTime, now); - TimeSpan delay = firstRunOccurance - now; - return delay < defaultDelay - ? defaultDelay - : delay; - } -} diff --git a/src/Umbraco.Core/IO/IOHelper.cs b/src/Umbraco.Core/IO/IOHelper.cs index 42e0978b3d..3d82d527b3 100644 --- a/src/Umbraco.Core/IO/IOHelper.cs +++ b/src/Umbraco.Core/IO/IOHelper.cs @@ -229,8 +229,4 @@ public abstract class IOHelper : IIOHelper ? CleanFolderResult.FailedWithErrors(errors) : CleanFolderResult.Success(); } - - [Obsolete("Use Path.IsPathFullyQualified instead. This will be removed in Umbraco 13.")] - - public virtual bool IsPathFullyQualified(string path) => Path.IsPathFullyQualified(path); } diff --git a/src/Umbraco.Core/Media/Exif/ExifExceptions.cs b/src/Umbraco.Core/Media/Exif/ExifExceptions.cs deleted file mode 100644 index 9f78bd9e15..0000000000 --- a/src/Umbraco.Core/Media/Exif/ExifExceptions.cs +++ /dev/null @@ -1,58 +0,0 @@ -using System.Runtime.Serialization; - -namespace Umbraco.Cms.Core.Media.Exif; - -/// -/// The exception that is thrown when the format of the JPEG/EXIF file could not be understood. -/// -/// -[Serializable] -[Obsolete("This is not used anymore and will be removed in Umbraco 13")] -public class NotValidExifFileException : Exception -{ - /// - /// Initializes a new instance of the class. - /// - public NotValidExifFileException() - : base("Not a valid JPEG/EXIF file.") - { - } - - /// - /// Initializes a new instance of the class. - /// - /// The message that describes the error. - public NotValidExifFileException(string message) - : base(message) - { - } - - /// - /// Initializes a new instance of the class. - /// - /// The error message that explains the reason for the exception. - /// - /// The exception that is the cause of the current exception, or a null reference ( - /// in Visual Basic) if no inner exception is specified. - /// - public NotValidExifFileException(string message, Exception innerException) - : base(message, innerException) - { - } - - /// - /// Initializes a new instance of the class. - /// - /// - /// The that holds the serialized object - /// data about the exception being thrown. - /// - /// - /// The that contains contextual - /// information about the source or destination. - /// - protected NotValidExifFileException(SerializationInfo info, StreamingContext context) - : base(info, context) - { - } -} diff --git a/src/Umbraco.Core/Media/Exif/JPEGExceptions.cs b/src/Umbraco.Core/Media/Exif/JPEGExceptions.cs deleted file mode 100644 index 4781415d7c..0000000000 --- a/src/Umbraco.Core/Media/Exif/JPEGExceptions.cs +++ /dev/null @@ -1,220 +0,0 @@ -using System.Runtime.Serialization; - -namespace Umbraco.Cms.Core.Media.Exif; - -/// -/// The exception that is thrown when the format of the JPEG file could not be understood. -/// -/// -[Serializable] -[Obsolete("This is not used anymore and will be removed in Umbraco 13")] -public class NotValidJPEGFileException : Exception -{ - /// - /// Initializes a new instance of the class. - /// - public NotValidJPEGFileException() - : base("Not a valid JPEG file.") - { - } - - /// - /// Initializes a new instance of the class. - /// - /// The message that describes the error. - public NotValidJPEGFileException(string message) - : base(message) - { - } - - /// - /// Initializes a new instance of the class. - /// - /// The error message that explains the reason for the exception. - /// - /// The exception that is the cause of the current exception, or a null reference ( - /// in Visual Basic) if no inner exception is specified. - /// - public NotValidJPEGFileException(string message, Exception innerException) - : base(message, innerException) - { - } - - /// - /// Initializes a new instance of the class. - /// - /// - /// The that holds the serialized object - /// data about the exception being thrown. - /// - /// - /// The that contains contextual - /// information about the source or destination. - /// - protected NotValidJPEGFileException(SerializationInfo info, StreamingContext context) - : base(info, context) - { - } -} - -/// -/// The exception that is thrown when the format of the TIFF file could not be understood. -/// -/// -[Serializable] -public class NotValidTIFFileException : Exception -{ - /// - /// Initializes a new instance of the class. - /// - public NotValidTIFFileException() - : base("Not a valid TIFF file.") - { - } - - /// - /// Initializes a new instance of the class. - /// - /// The message that describes the error. - public NotValidTIFFileException(string message) - : base(message) - { - } - - /// - /// Initializes a new instance of the class. - /// - /// The error message that explains the reason for the exception. - /// - /// The exception that is the cause of the current exception, or a null reference ( - /// in Visual Basic) if no inner exception is specified. - /// - public NotValidTIFFileException(string message, Exception innerException) - : base(message, innerException) - { - } - - /// - /// Initializes a new instance of the class. - /// - /// - /// The that holds the serialized object - /// data about the exception being thrown. - /// - /// - /// The that contains contextual - /// information about the source or destination. - /// - protected NotValidTIFFileException(SerializationInfo info, StreamingContext context) - : base(info, context) - { - } -} - -/// -/// The exception that is thrown when the length of a section exceeds 64 kB. -/// -/// -[Serializable] -public class SectionExceeds64KBException : Exception -{ - /// - /// Initializes a new instance of the class. - /// - public SectionExceeds64KBException() - : base("Section length exceeds 64 kB.") - { - } - - /// - /// Initializes a new instance of the class. - /// - /// The message that describes the error. - public SectionExceeds64KBException(string message) - : base(message) - { - } - - /// - /// Initializes a new instance of the class. - /// - /// The error message that explains the reason for the exception. - /// - /// The exception that is the cause of the current exception, or a null reference ( - /// in Visual Basic) if no inner exception is specified. - /// - public SectionExceeds64KBException(string message, Exception innerException) - : base(message, innerException) - { - } - - /// - /// Initializes a new instance of the class. - /// - /// - /// The that holds the serialized object - /// data about the exception being thrown. - /// - /// - /// The that contains contextual - /// information about the source or destination. - /// - protected SectionExceeds64KBException(SerializationInfo info, StreamingContext context) - : base(info, context) - { - } -} - -/// -/// The exception that is thrown when the format of the TIFF header could not be understood. -/// -/// -[Serializable] -internal class NotValidTIFFHeader : Exception -{ - /// - /// Initializes a new instance of the class. - /// - public NotValidTIFFHeader() - : base("Not a valid TIFF header.") - { - } - - /// - /// Initializes a new instance of the class. - /// - /// The message that describes the error. - public NotValidTIFFHeader(string message) - : base(message) - { - } - - /// - /// Initializes a new instance of the class. - /// - /// The error message that explains the reason for the exception. - /// - /// The exception that is the cause of the current exception, or a null reference ( - /// in Visual Basic) if no inner exception is specified. - /// - public NotValidTIFFHeader(string message, Exception innerException) - : base(message, innerException) - { - } - - /// - /// Initializes a new instance of the class. - /// - /// - /// The that holds the serialized object - /// data about the exception being thrown. - /// - /// - /// The that contains contextual - /// information about the source or destination. - /// - protected NotValidTIFFHeader(SerializationInfo info, StreamingContext context) - : base(info, context) - { - } -} diff --git a/src/Umbraco.Core/Media/UploadAutoFillProperties.cs b/src/Umbraco.Core/Media/UploadAutoFillProperties.cs index b6a20a6319..654d23135e 100644 --- a/src/Umbraco.Core/Media/UploadAutoFillProperties.cs +++ b/src/Umbraco.Core/Media/UploadAutoFillProperties.cs @@ -26,16 +26,6 @@ public class UploadAutoFillProperties _imageDimensionExtractor = imageDimensionExtractor ?? throw new ArgumentNullException(nameof(imageDimensionExtractor)); } - [Obsolete("Use non-obsolete ctor. This will be removed in Umbraco 13.")] - public UploadAutoFillProperties( - MediaFileManager mediaFileManager, - ILogger logger, - IImageUrlGenerator imageUrlGenerator, - IImageDimensionExtractor imageDimensionExtractor) : this(mediaFileManager, logger, imageDimensionExtractor) - { - - } - /// /// Resets the auto-fill properties of a content item, for a specified auto-fill configuration. /// diff --git a/src/Umbraco.Core/Models/CultureImpact.cs b/src/Umbraco.Core/Models/CultureImpact.cs index 9ce9d9fe6a..2d32d2d804 100644 --- a/src/Umbraco.Core/Models/CultureImpact.cs +++ b/src/Umbraco.Core/Models/CultureImpact.cs @@ -203,122 +203,5 @@ public sealed class CultureImpact return new CultureImpact(culture, isDefault); } - /// - /// Creates an impact instance representing the impact of a culture set, - /// in the context of a content item variation. - /// - /// The culture code. - /// A value indicating whether the culture is the default culture. - /// The content item. - /// - /// Validates that the culture is compatible with the variation. - /// - [Obsolete("Use ICultureImpactService instead, scheduled for removal in V12")] - public static CultureImpact? Create(string culture, bool isDefault, IContent content) - { - // throws if not successful - TryCreate(culture, isDefault, content.ContentType.Variations, true, false, out CultureImpact? impact); - return impact; - } - - /// - /// Tries to create an impact instance representing the impact of a culture set, - /// in the context of a content item variation. - /// - /// The culture code. - /// A value indicating whether the culture is the default culture. - /// A content variation. - /// A value indicating whether to throw if the impact cannot be created. - /// A value indicating if publishing invariant properties from non-default language. - /// The impact if it could be created, otherwise null. - /// A value indicating whether the impact could be created. - /// - /// Validates that the culture is compatible with the variation. - /// - // Remove this once Create() can be removed (V12), this already lives in CultureImpactFactory - [Obsolete("Please use the CultureImpactFactory instead, scheduled for removal in v12")] - internal static bool TryCreate(string culture, bool isDefault, ContentVariation variation, bool throwOnFail, - bool editInvariantFromNonDefault, out CultureImpact? impact) - { - impact = null; - - // if culture is invariant... - if (culture == null) - { - // ... then variation must not vary by culture ... - if (variation.VariesByCulture()) - { - if (throwOnFail) - { - throw new InvalidOperationException( - "The invariant culture is not compatible with a varying variation."); - } - - return false; - } - - // ... and it cannot be default - if (isDefault) - { - if (throwOnFail) - { - throw new InvalidOperationException("The invariant culture can not be the default culture."); - } - - return false; - } - - impact = Invariant; - return true; - } - - // if culture is 'all'... - if (culture == "*") - { - // ... it cannot be default - if (isDefault) - { - if (throwOnFail) - { - throw new InvalidOperationException("The 'all' culture can not be the default culture."); - } - - return false; - } - - // if variation does not vary by culture, then impact is invariant - impact = variation.VariesByCulture() ? All : Invariant; - return true; - } - - // neither null nor "*" - cannot be the empty string - if (culture.IsNullOrWhiteSpace()) - { - if (throwOnFail) - { - throw new ArgumentException("Cannot be the empty string.", nameof(culture)); - } - - return false; - } - - // if culture is specific, then variation must vary - if (!variation.VariesByCulture()) - { - if (throwOnFail) - { - throw new InvalidOperationException( - $"The variant culture {culture} is not compatible with an invariant variation."); - } - - return false; - } - - // return specific impact - impact = new CultureImpact(culture, isDefault, editInvariantFromNonDefault); - return true; - } - - public bool AllowEditInvariantFromNonDefault { get; } } diff --git a/src/Umbraco.Core/PropertyEditors/JsonPropertyIndexValueFactoryBase.cs b/src/Umbraco.Core/PropertyEditors/JsonPropertyIndexValueFactoryBase.cs index ee1f637909..15491d8eb6 100644 --- a/src/Umbraco.Core/PropertyEditors/JsonPropertyIndexValueFactoryBase.cs +++ b/src/Umbraco.Core/PropertyEditors/JsonPropertyIndexValueFactoryBase.cs @@ -1,10 +1,10 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Umbraco.Cms.Core.Configuration.Models; +using Umbraco.Cms.Core.DependencyInjection; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Serialization; using Umbraco.Cms.Core.Services; -using Umbraco.Cms.Web.Common.DependencyInjection; using Umbraco.Extensions; namespace Umbraco.Cms.Core.PropertyEditors; diff --git a/src/Umbraco.Core/PropertyEditors/TagPropertyIndexValueFactory.cs b/src/Umbraco.Core/PropertyEditors/TagPropertyIndexValueFactory.cs index 2b09659091..241b962647 100644 --- a/src/Umbraco.Core/PropertyEditors/TagPropertyIndexValueFactory.cs +++ b/src/Umbraco.Core/PropertyEditors/TagPropertyIndexValueFactory.cs @@ -1,11 +1,9 @@ -using System.Text.Json; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Umbraco.Cms.Core.Configuration.Models; +using Umbraco.Cms.Core.DependencyInjection; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Serialization; -using Umbraco.Cms.Web.Common.DependencyInjection; -using Umbraco.Extensions; namespace Umbraco.Cms.Core.PropertyEditors; diff --git a/src/Umbraco.Core/PropertyEditors/ValueConverters/ContentPickerValueConverter.cs b/src/Umbraco.Core/PropertyEditors/ValueConverters/ContentPickerValueConverter.cs index e13f4c3e45..f801d2569a 100644 --- a/src/Umbraco.Core/PropertyEditors/ValueConverters/ContentPickerValueConverter.cs +++ b/src/Umbraco.Core/PropertyEditors/ValueConverters/ContentPickerValueConverter.cs @@ -1,11 +1,11 @@ using System.Globalization; using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Core.DeliveryApi; +using Umbraco.Cms.Core.DependencyInjection; using Umbraco.Cms.Core.Models.DeliveryApi; using Umbraco.Cms.Core.Models.PublishedContent; using Umbraco.Cms.Core.PropertyEditors.DeliveryApi; using Umbraco.Cms.Core.PublishedCache; -using Umbraco.Cms.Web.Common.DependencyInjection; using Umbraco.Extensions; namespace Umbraco.Cms.Core.PropertyEditors.ValueConverters; diff --git a/src/Umbraco.Core/PropertyEditors/ValueConverters/MemberGroupPickerValueConverter.cs b/src/Umbraco.Core/PropertyEditors/ValueConverters/MemberGroupPickerValueConverter.cs index fd9e1651c8..11ba1506b2 100644 --- a/src/Umbraco.Core/PropertyEditors/ValueConverters/MemberGroupPickerValueConverter.cs +++ b/src/Umbraco.Core/PropertyEditors/ValueConverters/MemberGroupPickerValueConverter.cs @@ -1,9 +1,9 @@ using Microsoft.Extensions.DependencyInjection; +using Umbraco.Cms.Core.DependencyInjection; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Models.PublishedContent; using Umbraco.Cms.Core.PropertyEditors.DeliveryApi; using Umbraco.Cms.Core.Services; -using Umbraco.Cms.Web.Common.DependencyInjection; using Umbraco.Extensions; namespace Umbraco.Cms.Core.PropertyEditors.ValueConverters; diff --git a/src/Umbraco.Core/PropertyEditors/ValueConverters/MultiNodeTreePickerValueConverter.cs b/src/Umbraco.Core/PropertyEditors/ValueConverters/MultiNodeTreePickerValueConverter.cs index 3ddb98b40e..1ec7da1a98 100644 --- a/src/Umbraco.Core/PropertyEditors/ValueConverters/MultiNodeTreePickerValueConverter.cs +++ b/src/Umbraco.Core/PropertyEditors/ValueConverters/MultiNodeTreePickerValueConverter.cs @@ -1,6 +1,7 @@ using System.Globalization; using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Core.DeliveryApi; +using Umbraco.Cms.Core.DependencyInjection; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Models.DeliveryApi; using Umbraco.Cms.Core.Models.PublishedContent; @@ -8,7 +9,6 @@ using Umbraco.Cms.Core.PropertyEditors.DeliveryApi; using Umbraco.Cms.Core.PublishedCache; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Web; -using Umbraco.Cms.Web.Common.DependencyInjection; using Umbraco.Extensions; namespace Umbraco.Cms.Core.PropertyEditors.ValueConverters; diff --git a/src/Umbraco.Core/PublishedCache/PublishedCacheBase.cs b/src/Umbraco.Core/PublishedCache/PublishedCacheBase.cs index 2d4345c053..6e238dc785 100644 --- a/src/Umbraco.Core/PublishedCache/PublishedCacheBase.cs +++ b/src/Umbraco.Core/PublishedCache/PublishedCacheBase.cs @@ -1,8 +1,8 @@ using System.Xml.XPath; using Microsoft.Extensions.DependencyInjection; +using Umbraco.Cms.Core.DependencyInjection; using Umbraco.Cms.Core.Models.PublishedContent; using Umbraco.Cms.Core.Xml; -using Umbraco.Cms.Web.Common.DependencyInjection; using Umbraco.Extensions; namespace Umbraco.Cms.Core.PublishedCache; diff --git a/src/Umbraco.Core/Routing/UmbracoRequestPaths.cs b/src/Umbraco.Core/Routing/UmbracoRequestPaths.cs index 8a8185f03f..c1137e7052 100644 --- a/src/Umbraco.Core/Routing/UmbracoRequestPaths.cs +++ b/src/Umbraco.Core/Routing/UmbracoRequestPaths.cs @@ -1,8 +1,6 @@ -using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Umbraco.Cms.Core.Configuration.Models; using Umbraco.Cms.Core.Hosting; -using Umbraco.Cms.Web.Common.DependencyInjection; using Umbraco.Extensions; namespace Umbraco.Cms.Core.Routing; @@ -24,12 +22,6 @@ public class UmbracoRequestPaths private readonly string _surfaceMvcPath; private readonly IOptions _umbracoRequestPathsOptions; - [Obsolete("Use constructor that takes IOptions - Will be removed in Umbraco 13")] - public UmbracoRequestPaths(IOptions globalSettings, IHostingEnvironment hostingEnvironment) - : this(globalSettings, hostingEnvironment, StaticServiceProvider.Instance.GetRequiredService>()) - { - } - /// /// Initializes a new instance of the class. /// diff --git a/src/Umbraco.Core/Services/AuditService.cs b/src/Umbraco.Core/Services/AuditService.cs index 32a08808e3..39951d6bd7 100644 --- a/src/Umbraco.Core/Services/AuditService.cs +++ b/src/Umbraco.Core/Services/AuditService.cs @@ -40,24 +40,6 @@ public sealed class AuditService : RepositoryService, IAuditService _isAvailable = new Lazy(DetermineIsAvailable); } - [Obsolete("Use constructor that also takes IUserService & IEntityRepository instead, scheduled for removal in v13")] - public AuditService( - ICoreScopeProvider provider, - ILoggerFactory loggerFactory, - IEventMessagesFactory eventMessagesFactory, - IAuditRepository auditRepository, - IAuditEntryRepository auditEntryRepository) - : this( - provider, - loggerFactory, - eventMessagesFactory, - auditRepository, - auditEntryRepository, - StaticServiceProvider.Instance.GetRequiredService(), - StaticServiceProvider.Instance.GetRequiredService()) - { - } - public void Add(AuditType type, int userId, int objectId, string? entityType, string comment, string? parameters = null) { using (ICoreScope scope = ScopeProvider.CreateCoreScope()) diff --git a/src/Umbraco.Core/Services/BasicAuthService.cs b/src/Umbraco.Core/Services/BasicAuthService.cs index f42b8c7efc..121ff86eb8 100644 --- a/src/Umbraco.Core/Services/BasicAuthService.cs +++ b/src/Umbraco.Core/Services/BasicAuthService.cs @@ -1,9 +1,7 @@ using System.Net; -using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Microsoft.Extensions.Primitives; using Umbraco.Cms.Core.Configuration.Models; -using Umbraco.Cms.Core.DependencyInjection; namespace Umbraco.Cms.Core.Services.Implement; @@ -12,16 +10,6 @@ public class BasicAuthService : IBasicAuthService private readonly IIpAddressUtilities _ipAddressUtilities; private BasicAuthSettings _basicAuthSettings; - // Scheduled for removal in v12 - [Obsolete("Please use the contructor that takes an IIpadressUtilities instead")] - public BasicAuthService(IOptionsMonitor optionsMonitor) - : this(optionsMonitor, StaticServiceProvider.Instance.GetRequiredService()) - { - _basicAuthSettings = optionsMonitor.CurrentValue; - - optionsMonitor.OnChange(basicAuthSettings => _basicAuthSettings = basicAuthSettings); - } - public BasicAuthService(IOptionsMonitor optionsMonitor, IIpAddressUtilities ipAddressUtilities) { _ipAddressUtilities = ipAddressUtilities; diff --git a/src/Umbraco.Core/Services/CultureImpactFactory.cs b/src/Umbraco.Core/Services/CultureImpactFactory.cs index 02fb6b900e..cda33889c9 100644 --- a/src/Umbraco.Core/Services/CultureImpactFactory.cs +++ b/src/Umbraco.Core/Services/CultureImpactFactory.cs @@ -18,12 +18,6 @@ public class CultureImpactFactory : ICultureImpactFactory contentSettings.OnChange(x => _contentSettings = x); } - [Obsolete("Use constructor that takes IOptionsMonitor instead. Scheduled for removal in V12")] - public CultureImpactFactory(IOptionsMonitor securitySettings) - : this(StaticServiceProvider.Instance.GetRequiredService>()) - { - } - /// public CultureImpact? Create(string? culture, bool isDefault, IContent content) { diff --git a/src/Umbraco.Core/Services/FileService.cs b/src/Umbraco.Core/Services/FileService.cs index e481c45df6..8ef37b76bf 100644 --- a/src/Umbraco.Core/Services/FileService.cs +++ b/src/Umbraco.Core/Services/FileService.cs @@ -788,45 +788,5 @@ public class FileService : RepositoryService, IFileService #endregion - #region Snippets - - public string GetPartialViewSnippetContent(string snippetName) - { - if (snippetName.IsNullOrWhiteSpace()) - { - throw new ArgumentNullException(nameof(snippetName)); - } - - var snippetProvider = - new EmbeddedFileProvider(GetType().Assembly, "Umbraco.Cms.Core.EmbeddedResources.Snippets"); - - IFileInfo? file = snippetProvider.GetDirectoryContents(string.Empty) - .FirstOrDefault(x => x.Exists && x.Name.Equals(snippetName + ".cshtml")); - - // Try and get the snippet path - if (file is null) - { - throw new InvalidOperationException("Could not load snippet with name " + snippetName); - } - - using (var snippetFile = new StreamReader(file.CreateReadStream())) - { - var snippetContent = snippetFile.ReadToEnd().Trim(); - - // strip the @inherits if it's there - snippetContent = StripPartialViewHeader(snippetContent); - - // Update Model.Content to be Model when used as PartialView - snippetContent = snippetContent - .Replace("Model.Content.", "Model.") - .Replace("(Model.Content)", "(Model)"); - - var content = $"{PartialViewHeader}{Environment.NewLine}{snippetContent}"; - return content; - } - } - - #endregion - // TODO: Method to change name and/or alias of view template } diff --git a/src/Umbraco.Core/Services/IFileService.cs b/src/Umbraco.Core/Services/IFileService.cs index 2c0829fa52..23a05f8194 100644 --- a/src/Umbraco.Core/Services/IFileService.cs +++ b/src/Umbraco.Core/Services/IFileService.cs @@ -308,12 +308,4 @@ public interface IFileService : IService /// The size of the template. [Obsolete("Please use ITemplateService for template operations - will be removed in Umbraco 15")] long GetTemplateFileSize(string filepath); - - /// - /// Gets the content of a partial view snippet as a string. - /// - /// The name of the snippet - /// The content of the partial view. - [Obsolete("Please use SnippetCollection.GetPartialViewSnippetContent instead. Scheduled for removal in V12.")] - string GetPartialViewSnippetContent(string snippetName); } diff --git a/src/Umbraco.Core/Services/LocalizedTextServiceFileSources.cs b/src/Umbraco.Core/Services/LocalizedTextServiceFileSources.cs index ea75f369af..8206bb024a 100644 --- a/src/Umbraco.Core/Services/LocalizedTextServiceFileSources.cs +++ b/src/Umbraco.Core/Services/LocalizedTextServiceFileSources.cs @@ -27,21 +27,6 @@ public class LocalizedTextServiceFileSources private readonly Lazy>> _xmlSources; - [Obsolete("Use ctor with all params. This will be removed in Umbraco 12")] - public LocalizedTextServiceFileSources( - ILogger logger, - AppCaches appCaches, - DirectoryInfo fileSourceFolder, - IEnumerable supplementFileSources) - : this( - logger, - appCaches, - fileSourceFolder, - supplementFileSources, - new NotFoundDirectoryContents()) - { - } - /// /// This is used to configure the file sources with the main file sources shipped with Umbraco and also including /// supplemental/plugin based @@ -162,7 +147,7 @@ public class LocalizedTextServiceFileSources /// Constructor /// public LocalizedTextServiceFileSources(ILogger logger, AppCaches appCaches, DirectoryInfo fileSourceFolder) - : this(logger, appCaches, fileSourceFolder, Enumerable.Empty()) + : this(logger, appCaches, fileSourceFolder, Enumerable.Empty(), new NotFoundDirectoryContents()) { } diff --git a/src/Umbraco.Core/Services/LocalizedTextServiceSupplementaryFileSource.cs b/src/Umbraco.Core/Services/LocalizedTextServiceSupplementaryFileSource.cs index 4f89eac5ff..433bf06f77 100644 --- a/src/Umbraco.Core/Services/LocalizedTextServiceSupplementaryFileSource.cs +++ b/src/Umbraco.Core/Services/LocalizedTextServiceSupplementaryFileSource.cs @@ -1,26 +1,16 @@ using Microsoft.Extensions.FileProviders; -using Microsoft.Extensions.FileProviders.Physical; namespace Umbraco.Cms.Core.Services; public class LocalizedTextServiceSupplementaryFileSource { - [Obsolete("Use other ctor. Will be removed in Umbraco 12")] - public LocalizedTextServiceSupplementaryFileSource(FileInfo file, bool overwriteCoreKeys) - : this(new PhysicalFileInfo(file), overwriteCoreKeys) - { - } public LocalizedTextServiceSupplementaryFileSource(IFileInfo file, bool overwriteCoreKeys) { FileInfo = file ?? throw new ArgumentNullException(nameof(file)); - File = file is PhysicalFileInfo && file.PhysicalPath is not null ? new FileInfo(file.PhysicalPath) : null!; OverwriteCoreKeys = overwriteCoreKeys; } - [Obsolete("Use FileInfo instead. Will be removed in Umbraco 12")] - public FileInfo File { get; } - public IFileInfo FileInfo { get; } public bool OverwriteCoreKeys { get; } diff --git a/src/Umbraco.Core/Services/MetricsConsentService.cs b/src/Umbraco.Core/Services/MetricsConsentService.cs index be30458af6..49636d77b2 100644 --- a/src/Umbraco.Core/Services/MetricsConsentService.cs +++ b/src/Umbraco.Core/Services/MetricsConsentService.cs @@ -1,6 +1,4 @@ -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Logging; -using Umbraco.Cms.Core.DependencyInjection; +using Microsoft.Extensions.Logging; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Models.Membership; using Umbraco.Cms.Core.Security; @@ -16,31 +14,6 @@ public class MetricsConsentService : IMetricsConsentService private readonly IBackOfficeSecurityAccessor _backOfficeSecurityAccessor; private readonly IUserService _userService; - // Scheduled for removal in V12 - [Obsolete("Please use the constructor that takes an ILogger and IBackOfficeSecurity instead")] - public MetricsConsentService(IKeyValueService keyValueService) - : this( - keyValueService, - StaticServiceProvider.Instance.GetRequiredService>(), - StaticServiceProvider.Instance.GetRequiredService(), - StaticServiceProvider.Instance.GetRequiredService()) - { - } - - // Scheduled for removal in V12 - [Obsolete("Please use the constructor that takes an IUserService instead")] - public MetricsConsentService( - IKeyValueService keyValueService, - ILogger logger, - IBackOfficeSecurityAccessor backOfficeSecurityAccessor) - : this( - keyValueService, - logger, - backOfficeSecurityAccessor, - StaticServiceProvider.Instance.GetRequiredService()) - { - } - public MetricsConsentService( IKeyValueService keyValueService, ILogger logger, diff --git a/src/Umbraco.Core/Xml/UmbracoXPathPathSyntaxParser.cs b/src/Umbraco.Core/Xml/UmbracoXPathPathSyntaxParser.cs index a3b194226c..27c118486e 100644 --- a/src/Umbraco.Core/Xml/UmbracoXPathPathSyntaxParser.cs +++ b/src/Umbraco.Core/Xml/UmbracoXPathPathSyntaxParser.cs @@ -9,13 +9,6 @@ namespace Umbraco.Cms.Core.Xml; [Obsolete("The current implementation of XPath is suboptimal and will be removed entirely in a future version. Scheduled for removal in v14")] public class UmbracoXPathPathSyntaxParser { - [Obsolete("This will be removed in Umbraco 13. Use ParseXPathQuery which accepts a parentId instead")] - public static string ParseXPathQuery( - string xpathExpression, - int? nodeContextId, - Func?> getPath, - Func publishedContentExists) => ParseXPathQuery(xpathExpression, nodeContextId, null, getPath, publishedContentExists); - /// /// Parses custom umbraco xpath expression /// diff --git a/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.Services.cs b/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.Services.cs index c3af907799..28f0cd9875 100644 --- a/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.Services.cs +++ b/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.Services.cs @@ -22,10 +22,8 @@ using Umbraco.Cms.Infrastructure.Scoping; using Umbraco.Cms.Infrastructure.Services; using Umbraco.Cms.Infrastructure.Services.Implement; using Umbraco.Cms.Infrastructure.Telemetry.Providers; -using Umbraco.Cms.Infrastructure.Templates; using Umbraco.Cms.Infrastructure.Templates.PartialViews; using Umbraco.Extensions; -using CacheInstructionService = Umbraco.Cms.Core.Services.Implement.CacheInstructionService; namespace Umbraco.Cms.Infrastructure.DependencyInjection; diff --git a/src/Umbraco.Infrastructure/Examine/BaseValueSetBuilder.cs b/src/Umbraco.Infrastructure/Examine/BaseValueSetBuilder.cs index 83ecd85da4..1b3a7c9c8f 100644 --- a/src/Umbraco.Infrastructure/Examine/BaseValueSetBuilder.cs +++ b/src/Umbraco.Infrastructure/Examine/BaseValueSetBuilder.cs @@ -1,9 +1,9 @@ using Examine; using Microsoft.Extensions.DependencyInjection; +using Umbraco.Cms.Core.DependencyInjection; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.PropertyEditors; using Umbraco.Cms.Core.Services; -using Umbraco.Cms.Web.Common.DependencyInjection; using Umbraco.Extensions; namespace Umbraco.Cms.Infrastructure.Examine; diff --git a/src/Umbraco.Infrastructure/Examine/MediaValueSetBuilder.cs b/src/Umbraco.Infrastructure/Examine/MediaValueSetBuilder.cs index d2da36b347..7e6dc7d97a 100644 --- a/src/Umbraco.Infrastructure/Examine/MediaValueSetBuilder.cs +++ b/src/Umbraco.Infrastructure/Examine/MediaValueSetBuilder.cs @@ -2,11 +2,11 @@ using Examine; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Umbraco.Cms.Core.Configuration.Models; +using Umbraco.Cms.Core.DependencyInjection; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.PropertyEditors; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Strings; -using Umbraco.Cms.Web.Common.DependencyInjection; using Umbraco.Extensions; namespace Umbraco.Cms.Infrastructure.Examine; diff --git a/src/Umbraco.Infrastructure/Examine/MemberValueSetBuilder.cs b/src/Umbraco.Infrastructure/Examine/MemberValueSetBuilder.cs index 8fe2a56856..2687d6644d 100644 --- a/src/Umbraco.Infrastructure/Examine/MemberValueSetBuilder.cs +++ b/src/Umbraco.Infrastructure/Examine/MemberValueSetBuilder.cs @@ -1,9 +1,9 @@ using Examine; using Microsoft.Extensions.DependencyInjection; +using Umbraco.Cms.Core.DependencyInjection; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.PropertyEditors; using Umbraco.Cms.Core.Services; -using Umbraco.Cms.Web.Common.DependencyInjection; using Umbraco.Extensions; namespace Umbraco.Cms.Infrastructure.Examine; diff --git a/src/Umbraco.Infrastructure/Install/InstallHelper.cs b/src/Umbraco.Infrastructure/Install/InstallHelper.cs index 41daf66913..25102ffc26 100644 --- a/src/Umbraco.Infrastructure/Install/InstallHelper.cs +++ b/src/Umbraco.Infrastructure/Install/InstallHelper.cs @@ -1,18 +1,14 @@ -using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using Umbraco.Cms.Core; using Umbraco.Cms.Core.Configuration; using Umbraco.Cms.Core.Configuration.Models; -using Umbraco.Cms.Core.DependencyInjection; -using Umbraco.Cms.Core.Install.Models; using Umbraco.Cms.Core.Net; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Web; using Umbraco.Cms.Infrastructure.Migrations.Install; using Umbraco.Cms.Infrastructure.Persistence; using Umbraco.Extensions; -using Umbraco.Cms.Infrastructure.Persistence; using Constants = Umbraco.Cms.Core.Constants; namespace Umbraco.Cms.Infrastructure.Install @@ -53,58 +49,6 @@ namespace Umbraco.Cms.Infrastructure.Install _databaseProviderMetadata = databaseProviderMetadata; } - [Obsolete("Please use constructor that takes an IEnumerable instead, scheduled for removal in Umbraco 12")] - public InstallHelper( - DatabaseBuilder databaseBuilder, - ILogger logger, - IUmbracoVersion umbracoVersion, - IOptionsMonitor connectionStrings, - IInstallationService installationService, - ICookieManager cookieManager, - IUserAgentProvider userAgentProvider, - IUmbracoDatabaseFactory umbracoDatabaseFactory, - IFireAndForgetRunner fireAndForgetRunner) - : this( - databaseBuilder, - logger, - umbracoVersion, - connectionStrings, - installationService, - cookieManager, - userAgentProvider, - umbracoDatabaseFactory, - fireAndForgetRunner, - StaticServiceProvider.Instance.GetRequiredService>() - ) - { - - } - - [Obsolete("Please use constructor that takes an IFireAndForgetRunner and IEnumerable instead, scheduled for removal in Umbraco 12")] - public InstallHelper( - DatabaseBuilder databaseBuilder, - ILogger logger, - IUmbracoVersion umbracoVersion, - IOptionsMonitor connectionStrings, - IInstallationService installationService, - ICookieManager cookieManager, - IUserAgentProvider userAgentProvider, - IUmbracoDatabaseFactory umbracoDatabaseFactory) - : this( - databaseBuilder, - logger, - umbracoVersion, - connectionStrings, - installationService, - cookieManager, - userAgentProvider, - umbracoDatabaseFactory, - StaticServiceProvider.Instance.GetRequiredService(), - StaticServiceProvider.Instance.GetRequiredService>()) - { - - } - public async Task SetInstallStatusAsync(bool isCompleted, string errorMsg) { try diff --git a/src/Umbraco.Infrastructure/Install/PackageMigrationRunner.cs b/src/Umbraco.Infrastructure/Install/PackageMigrationRunner.cs index 4f8e393b6a..954ff0a9aa 100644 --- a/src/Umbraco.Infrastructure/Install/PackageMigrationRunner.cs +++ b/src/Umbraco.Infrastructure/Install/PackageMigrationRunner.cs @@ -50,27 +50,6 @@ public class PackageMigrationRunner _packageMigrationPlans = packageMigrationPlans.ToDictionary(x => x.Name); } - [Obsolete("Use constructor that takes ILogger, this will be removed in V13")] - public PackageMigrationRunner( - IProfilingLogger profilingLogger, - ICoreScopeProvider scopeProvider, - PendingPackageMigrations pendingPackageMigrations, - PackageMigrationPlanCollection packageMigrationPlans, - IMigrationPlanExecutor migrationPlanExecutor, - IKeyValueService keyValueService, - IEventAggregator eventAggregator) - : this( - profilingLogger, - scopeProvider, - pendingPackageMigrations, - packageMigrationPlans, - migrationPlanExecutor, - keyValueService, - eventAggregator, - StaticServiceProvider.Instance.GetRequiredService>()) - { - } - /// /// Runs all migration plans for a package name if any are pending. /// diff --git a/src/Umbraco.Infrastructure/Logging/Viewer/LogViewerConfig.cs b/src/Umbraco.Infrastructure/Logging/Viewer/LogViewerConfig.cs index 76ae3ea13c..1119094e2c 100644 --- a/src/Umbraco.Infrastructure/Logging/Viewer/LogViewerConfig.cs +++ b/src/Umbraco.Infrastructure/Logging/Viewer/LogViewerConfig.cs @@ -1,9 +1,7 @@ using Microsoft.Extensions.DependencyInjection; -using Umbraco.Cms.Core.DependencyInjection; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Persistence.Repositories; using Umbraco.Cms.Infrastructure.Scoping; -using Umbraco.Cms.Web.Common.DependencyInjection; using IScope = Umbraco.Cms.Infrastructure.Scoping.IScope; using StaticServiceProvider = Umbraco.Cms.Core.DependencyInjection.StaticServiceProvider; diff --git a/src/Umbraco.Infrastructure/Mapping/UmbracoMapper.cs b/src/Umbraco.Infrastructure/Mapping/UmbracoMapper.cs index 85fa7ad38c..60a470293e 100644 --- a/src/Umbraco.Infrastructure/Mapping/UmbracoMapper.cs +++ b/src/Umbraco.Infrastructure/Mapping/UmbracoMapper.cs @@ -2,9 +2,9 @@ using System.Collections; using System.Collections.Concurrent; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; +using Umbraco.Cms.Core.DependencyInjection; using Umbraco.Cms.Core.Exceptions; using Umbraco.Cms.Core.Scoping; -using Umbraco.Cms.Web.Common.DependencyInjection; namespace Umbraco.Cms.Core.Mapping; @@ -53,16 +53,6 @@ public class UmbracoMapper : IUmbracoMapper private readonly ICoreScopeProvider _scopeProvider; private readonly ILogger _logger; - /// - /// Initializes a new instance of the class. - /// - /// - /// - [Obsolete("Please use ctor that takes an ILogger")] - public UmbracoMapper(MapDefinitionCollection profiles, ICoreScopeProvider scopeProvider) : this(profiles, scopeProvider, StaticServiceProvider.Instance.GetRequiredService>()) - { - } - /// /// Initializes a new instance of the class. /// diff --git a/src/Umbraco.Infrastructure/Migrations/Install/DatabaseBuilder.cs b/src/Umbraco.Infrastructure/Migrations/Install/DatabaseBuilder.cs index 702abe5575..ef8ec1eea6 100644 --- a/src/Umbraco.Infrastructure/Migrations/Install/DatabaseBuilder.cs +++ b/src/Umbraco.Infrastructure/Migrations/Install/DatabaseBuilder.cs @@ -1,12 +1,10 @@ using System.Data.Common; -using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using Umbraco.Cms.Core; using Umbraco.Cms.Core.Configuration; using Umbraco.Cms.Core.Configuration.Models; using Umbraco.Cms.Core.Events; -using Umbraco.Cms.Core.DependencyInjection; using Umbraco.Cms.Core.Install; using Umbraco.Cms.Core.Install.Models; using Umbraco.Cms.Core.Migrations; @@ -79,40 +77,6 @@ namespace Umbraco.Cms.Infrastructure.Migrations.Install _aggregator = aggregator; } - [Obsolete("Use constructor that takes IEventAggregator, this will be removed in V13.")] - public DatabaseBuilder( - ICoreScopeProvider scopeProvider, - IScopeAccessor scopeAccessor, - IUmbracoDatabaseFactory databaseFactory, - IRuntimeState runtimeState, - ILoggerFactory loggerFactory, - IKeyValueService keyValueService, - IDbProviderFactoryCreator dbProviderFactoryCreator, - IConfigManipulator configManipulator, - IOptionsMonitor globalSettings, - IOptionsMonitor connectionStrings, - IMigrationPlanExecutor migrationPlanExecutor, - DatabaseSchemaCreatorFactory databaseSchemaCreatorFactory, - IEnumerable databaseProviderMetadata) - : this( - scopeProvider, - scopeAccessor, - databaseFactory, - runtimeState, - loggerFactory, - keyValueService, - dbProviderFactoryCreator, - configManipulator, - globalSettings, - connectionStrings, - migrationPlanExecutor, - databaseSchemaCreatorFactory, - databaseProviderMetadata, - StaticServiceProvider.Instance.GetRequiredService() - ) - { - } - #region Status /// diff --git a/src/Umbraco.Infrastructure/ModelsBuilder/AutoModelsNotificationHandler.cs b/src/Umbraco.Infrastructure/ModelsBuilder/AutoModelsNotificationHandler.cs index b1d3ea48bb..47c86e6019 100644 --- a/src/Umbraco.Infrastructure/ModelsBuilder/AutoModelsNotificationHandler.cs +++ b/src/Umbraco.Infrastructure/ModelsBuilder/AutoModelsNotificationHandler.cs @@ -1,10 +1,7 @@ -using System.ComponentModel; -using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using Umbraco.Cms.Core.Configuration; using Umbraco.Cms.Core.Configuration.Models; -using Umbraco.Cms.Core.DependencyInjection; using Umbraco.Cms.Core.Events; using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Runtime; @@ -31,34 +28,6 @@ public sealed class AutoModelsNotificationHandler : INotificationHandler logger, - IOptionsMonitor config, - ModelsGenerator modelGenerator, - ModelsGenerationError mbErrors, - IMainDom mainDom) - : this(logger, config, StaticServiceProvider.Instance.GetRequiredService(), mbErrors, mainDom) - { - } - - [Obsolete("This constructor is obsolete and will be removed in v13. Use the constructor with only IModelsGenerator instead.")] - [Browsable(false)] - public AutoModelsNotificationHandler( - ILogger logger, - IOptionsMonitor config, - ModelsGenerator concreteModelGenerator, - IModelsGenerator modelGenerator, - ModelsGenerationError mbErrors, - IMainDom mainDom) - : this(logger, config, modelGenerator, mbErrors, mainDom) - { - } - /// /// Initializes a new instance of the class. /// diff --git a/src/Umbraco.Infrastructure/Persistence/DatabaseProviderMetadataExtensions.cs b/src/Umbraco.Infrastructure/Persistence/DatabaseProviderMetadataExtensions.cs index c00f5a226e..f2ed8c4cf2 100644 --- a/src/Umbraco.Infrastructure/Persistence/DatabaseProviderMetadataExtensions.cs +++ b/src/Umbraco.Infrastructure/Persistence/DatabaseProviderMetadataExtensions.cs @@ -1,6 +1,5 @@ using Umbraco.Cms.Core.Configuration.Models; using Umbraco.Cms.Core.Install.Models; -using Umbraco.Cms.Infrastructure.Persistence.SqlSyntax; namespace Umbraco.Cms.Infrastructure.Persistence; @@ -20,23 +19,6 @@ public static class DatabaseProviderMetadataExtensions public static IEnumerable GetAvailable(this IEnumerable databaseProviderMetadata, bool onlyQuickInstall = false) => databaseProviderMetadata.Where(x => (!onlyQuickInstall || x.SupportsQuickInstall) && x.IsAvailable).OrderBy(x => x.SortOrder); - /// - /// Determines whether a database can be created for the specified provider name while ignoring the value of . - /// - /// The database provider metadata. - /// The name of the provider. - /// - /// true if a database can be created for the specified provider name; otherwise, false. - /// - [Obsolete("Use CanForceCreateDatabase that takes an IUmbracoDatabaseFactory. Scheduled for removal in Umbraco 13.")] - public static bool CanForceCreateDatabase(this IEnumerable databaseProviderMetadata, string? providerName) - { - return databaseProviderMetadata - .FirstOrDefault(x => - string.Equals(x.ProviderName, providerName, StringComparison.InvariantCultureIgnoreCase)) - ?.ForceCreateDatabase == true; - } - /// /// Determines whether a database can be created for the specified provider name while ignoring the value of . /// diff --git a/src/Umbraco.Infrastructure/PropertyEditors/BlockEditorPropertyEditor.cs b/src/Umbraco.Infrastructure/PropertyEditors/BlockEditorPropertyEditor.cs deleted file mode 100644 index 59ff074bd3..0000000000 --- a/src/Umbraco.Infrastructure/PropertyEditors/BlockEditorPropertyEditor.cs +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright (c) Umbraco. -// See LICENSE for more details. - -using Microsoft.Extensions.DependencyInjection; -using Umbraco.Cms.Core.Serialization; -using Umbraco.Cms.Web.Common.DependencyInjection; - -namespace Umbraco.Cms.Core.PropertyEditors; - -// Scheduled for removal in v12 -[Obsolete("Please use BlockListPropertyEditorBase instead")] - -public abstract class BlockEditorPropertyEditor : BlockListPropertyEditorBase -{ - public const string ContentTypeKeyPropertyKey = "contentTypeKey"; - public const string UdiPropertyKey = "udi"; - - [Obsolete("Use non-obsoleted ctor. This will be removed in Umbraco 15.")] - protected BlockEditorPropertyEditor( - IDataValueEditorFactory dataValueEditorFactory, - PropertyEditorCollection propertyEditors, - IBlockValuePropertyIndexValueFactory blockValuePropertyIndexValueFactory) - : this(dataValueEditorFactory, propertyEditors, blockValuePropertyIndexValueFactory, DependencyInjection.StaticServiceProvider.Instance.GetRequiredService()) - { - - } - - protected BlockEditorPropertyEditor( - IDataValueEditorFactory dataValueEditorFactory, - PropertyEditorCollection propertyEditors, - IBlockValuePropertyIndexValueFactory blockValuePropertyIndexValueFactory, - IJsonSerializer jsonSerializer) - : base(dataValueEditorFactory, blockValuePropertyIndexValueFactory, jsonSerializer) - { - PropertyEditors = propertyEditors; - } - - private PropertyEditorCollection PropertyEditors { get; } -} diff --git a/src/Umbraco.Infrastructure/PropertyEditors/BlockEditorPropertyHandler.cs b/src/Umbraco.Infrastructure/PropertyEditors/BlockEditorPropertyHandler.cs deleted file mode 100644 index 7d54c467c4..0000000000 --- a/src/Umbraco.Infrastructure/PropertyEditors/BlockEditorPropertyHandler.cs +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright (c) Umbraco. -// See LICENSE for more details. - -using Microsoft.Extensions.Logging; - -namespace Umbraco.Cms.Core.PropertyEditors; - -/// -/// A handler for Block editors used to bind to notifications -/// -// Scheduled for removal in v12 -[Obsolete("Please use BlockListPropertyNotificationHandler instead")] -public class BlockEditorPropertyHandler : BlockListPropertyNotificationHandler -{ - public BlockEditorPropertyHandler(ILogger logger) - : base(logger) - { - } -} diff --git a/src/Umbraco.Infrastructure/PropertyEditors/BlockGridPropertyEditorBase.cs b/src/Umbraco.Infrastructure/PropertyEditors/BlockGridPropertyEditorBase.cs index 5bb5393fd0..21e5278be5 100644 --- a/src/Umbraco.Infrastructure/PropertyEditors/BlockGridPropertyEditorBase.cs +++ b/src/Umbraco.Infrastructure/PropertyEditors/BlockGridPropertyEditorBase.cs @@ -2,7 +2,6 @@ // See LICENSE for more details. using System.ComponentModel.DataAnnotations; -using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Umbraco.Cms.Core.Cache; using Umbraco.Cms.Core.IO; @@ -11,7 +10,6 @@ using Umbraco.Cms.Core.Models.Blocks; using Umbraco.Cms.Core.Serialization; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Strings; -using Umbraco.Cms.Web.Common.DependencyInjection; using Umbraco.Extensions; using BlockGridAreaConfiguration = Umbraco.Cms.Core.PropertyEditors.BlockGridConfiguration.BlockGridAreaConfiguration; @@ -24,13 +22,6 @@ public abstract class BlockGridPropertyEditorBase : DataEditor { private readonly IBlockValuePropertyIndexValueFactory _blockValuePropertyIndexValueFactory; - [Obsolete("Use non-obsoleted ctor. This will be removed in Umbraco 13.")] - protected BlockGridPropertyEditorBase(IDataValueEditorFactory dataValueEditorFactory) - : this(dataValueEditorFactory, StaticServiceProvider.Instance.GetRequiredService()) - { - - } - protected BlockGridPropertyEditorBase(IDataValueEditorFactory dataValueEditorFactory, IBlockValuePropertyIndexValueFactory blockValuePropertyIndexValueFactory) : base(dataValueEditorFactory) { diff --git a/src/Umbraco.Infrastructure/PropertyEditors/BlockListPropertyEditor.cs b/src/Umbraco.Infrastructure/PropertyEditors/BlockListPropertyEditor.cs index dbb8407907..ca10cc8f76 100644 --- a/src/Umbraco.Infrastructure/PropertyEditors/BlockListPropertyEditor.cs +++ b/src/Umbraco.Infrastructure/PropertyEditors/BlockListPropertyEditor.cs @@ -13,18 +13,28 @@ namespace Umbraco.Cms.Core.PropertyEditors; Constants.PropertyEditors.Aliases.BlockList, ValueType = ValueTypes.Json, ValueEditorIsReusable = false)] -public class BlockListPropertyEditor : BlockEditorPropertyEditor +public class BlockListPropertyEditor : BlockListPropertyEditorBase { private readonly IIOHelper _ioHelper; + public BlockListPropertyEditor( + IDataValueEditorFactory dataValueEditorFactory, + IIOHelper ioHelper, + IBlockValuePropertyIndexValueFactory blockValuePropertyIndexValueFactory, + IJsonSerializer jsonSerializer) + : base(dataValueEditorFactory, blockValuePropertyIndexValueFactory, jsonSerializer) + => _ioHelper = ioHelper; + + [Obsolete("Use constructor that doesn't take PropertyEditorCollection, scheduled for removal in V15")] public BlockListPropertyEditor( IDataValueEditorFactory dataValueEditorFactory, PropertyEditorCollection propertyEditors, IIOHelper ioHelper, IBlockValuePropertyIndexValueFactory blockValuePropertyIndexValueFactory, IJsonSerializer jsonSerializer) - : base(dataValueEditorFactory, propertyEditors, blockValuePropertyIndexValueFactory, jsonSerializer) - => _ioHelper = ioHelper; + : this(dataValueEditorFactory, ioHelper, blockValuePropertyIndexValueFactory, jsonSerializer) + { + } #region Pre Value Editor diff --git a/src/Umbraco.Infrastructure/PropertyEditors/BlockListPropertyEditorBase.cs b/src/Umbraco.Infrastructure/PropertyEditors/BlockListPropertyEditorBase.cs index 8cd147913d..a91ffc1770 100644 --- a/src/Umbraco.Infrastructure/PropertyEditors/BlockListPropertyEditorBase.cs +++ b/src/Umbraco.Infrastructure/PropertyEditors/BlockListPropertyEditorBase.cs @@ -8,7 +8,6 @@ using Umbraco.Cms.Core.Models.Blocks; using Umbraco.Cms.Core.Serialization; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Strings; -using Umbraco.Cms.Web.Common.DependencyInjection; using StaticServiceProvider = Umbraco.Cms.Core.DependencyInjection.StaticServiceProvider; namespace Umbraco.Cms.Core.PropertyEditors; @@ -18,17 +17,13 @@ namespace Umbraco.Cms.Core.PropertyEditors; /// public abstract class BlockListPropertyEditorBase : DataEditor { - private readonly IBlockValuePropertyIndexValueFactory _blockValuePropertyIndexValueFactory; private readonly IJsonSerializer _jsonSerializer; - - [Obsolete("Use non-obsoleted ctor. This will be removed in Umbraco 15.")] protected BlockListPropertyEditorBase(IDataValueEditorFactory dataValueEditorFactory, IBlockValuePropertyIndexValueFactory blockValuePropertyIndexValueFactory) : this(dataValueEditorFactory,blockValuePropertyIndexValueFactory, StaticServiceProvider.Instance.GetRequiredService()) { - } protected BlockListPropertyEditorBase(IDataValueEditorFactory dataValueEditorFactory, IBlockValuePropertyIndexValueFactory blockValuePropertyIndexValueFactory, IJsonSerializer jsonSerializer) diff --git a/src/Umbraco.Infrastructure/PropertyEditors/BlockValuePropertyIndexValueFactory.cs b/src/Umbraco.Infrastructure/PropertyEditors/BlockValuePropertyIndexValueFactory.cs index 9a5b33a2b0..15007ea6c1 100644 --- a/src/Umbraco.Infrastructure/PropertyEditors/BlockValuePropertyIndexValueFactory.cs +++ b/src/Umbraco.Infrastructure/PropertyEditors/BlockValuePropertyIndexValueFactory.cs @@ -4,11 +4,11 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Umbraco.Cms.Core.Configuration.Models; +using Umbraco.Cms.Core.DependencyInjection; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Models.Blocks; using Umbraco.Cms.Core.Serialization; using Umbraco.Cms.Core.Services; -using Umbraco.Cms.Web.Common.DependencyInjection; namespace Umbraco.Cms.Core.PropertyEditors; diff --git a/src/Umbraco.Infrastructure/PropertyEditors/NestedPropertyIndexValueFactoryBase.cs b/src/Umbraco.Infrastructure/PropertyEditors/NestedPropertyIndexValueFactoryBase.cs index 173b5eb693..68ea70639d 100644 --- a/src/Umbraco.Infrastructure/PropertyEditors/NestedPropertyIndexValueFactoryBase.cs +++ b/src/Umbraco.Infrastructure/PropertyEditors/NestedPropertyIndexValueFactoryBase.cs @@ -2,11 +2,11 @@ using System.Text; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Umbraco.Cms.Core.Configuration.Models; +using Umbraco.Cms.Core.DependencyInjection; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Serialization; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Infrastructure.Examine; -using Umbraco.Cms.Web.Common.DependencyInjection; using Umbraco.Extensions; namespace Umbraco.Cms.Core.PropertyEditors; diff --git a/src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/BlockListPropertyValueConverter.cs b/src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/BlockListPropertyValueConverter.cs index add8f3576b..5adabc5850 100644 --- a/src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/BlockListPropertyValueConverter.cs +++ b/src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/BlockListPropertyValueConverter.cs @@ -3,6 +3,7 @@ using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Core.DeliveryApi; +using Umbraco.Cms.Core.DependencyInjection; using Umbraco.Cms.Core.Logging; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Models.Blocks; @@ -12,7 +13,6 @@ using Umbraco.Cms.Core.PropertyEditors.DeliveryApi; using Umbraco.Cms.Core.Serialization; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Infrastructure.Extensions; -using Umbraco.Cms.Web.Common.DependencyInjection; using Umbraco.Extensions; namespace Umbraco.Cms.Core.PropertyEditors.ValueConverters; diff --git a/src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/MediaPickerWithCropsValueConverter.cs b/src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/MediaPickerWithCropsValueConverter.cs index 8a22ca92fe..219f1ae0fa 100644 --- a/src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/MediaPickerWithCropsValueConverter.cs +++ b/src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/MediaPickerWithCropsValueConverter.cs @@ -1,5 +1,6 @@ using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Core.DeliveryApi; +using Umbraco.Cms.Core.DependencyInjection; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Models.DeliveryApi; using Umbraco.Cms.Core.Models.PublishedContent; @@ -8,7 +9,6 @@ using Umbraco.Cms.Core.PublishedCache; using Umbraco.Cms.Core.Routing; using Umbraco.Cms.Core.Serialization; using Umbraco.Cms.Infrastructure.DeliveryApi; -using Umbraco.Cms.Web.Common.DependencyInjection; using Umbraco.Extensions; namespace Umbraco.Cms.Core.PropertyEditors.ValueConverters; diff --git a/src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/MultiUrlPickerValueConverter.cs b/src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/MultiUrlPickerValueConverter.cs index 61cc0e1c7d..f8e46a434b 100644 --- a/src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/MultiUrlPickerValueConverter.cs +++ b/src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/MultiUrlPickerValueConverter.cs @@ -3,6 +3,7 @@ using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Core.DeliveryApi; +using Umbraco.Cms.Core.DependencyInjection; using Umbraco.Cms.Core.Logging; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Models.DeliveryApi; @@ -12,7 +13,6 @@ using Umbraco.Cms.Core.PublishedCache; using Umbraco.Cms.Core.Routing; using Umbraco.Cms.Core.Serialization; using Umbraco.Cms.Core.Web; -using Umbraco.Cms.Web.Common.DependencyInjection; using Umbraco.Extensions; namespace Umbraco.Cms.Core.PropertyEditors.ValueConverters; diff --git a/src/Umbraco.Infrastructure/Runtime/RuntimeState.cs b/src/Umbraco.Infrastructure/Runtime/RuntimeState.cs index 53eecfc8d3..202810c02b 100644 --- a/src/Umbraco.Infrastructure/Runtime/RuntimeState.cs +++ b/src/Umbraco.Infrastructure/Runtime/RuntimeState.cs @@ -68,72 +68,6 @@ public class RuntimeState : IRuntimeState _runtimeModeValidationService = runtimeModeValidationService; } - /// - /// Initializes a new instance of the class. - /// - [Obsolete("Use ctor with all params. This will be removed in Umbraco 12.")] - public RuntimeState( - IOptions globalSettings, - IOptions unattendedSettings, - IUmbracoVersion umbracoVersion, - IUmbracoDatabaseFactory databaseFactory, - ILogger logger, - PendingPackageMigrations packageMigrationState, - IConflictingRouteService conflictingRouteService, - IEnumerable databaseProviderMetadata) - : this( - globalSettings, - unattendedSettings, - umbracoVersion, - databaseFactory, - logger, - packageMigrationState, - conflictingRouteService, - databaseProviderMetadata, - StaticServiceProvider.Instance.GetRequiredService()) - { } - - [Obsolete("Use ctor with all params. This will be removed in Umbraco 12.")] - public RuntimeState( - IOptions globalSettings, - IOptions unattendedSettings, - IUmbracoVersion umbracoVersion, - IUmbracoDatabaseFactory databaseFactory, - ILogger logger, - PendingPackageMigrations packageMigrationState, - IConflictingRouteService conflictingRouteService) - : this( - globalSettings, - unattendedSettings, - umbracoVersion, - databaseFactory, - logger, - packageMigrationState, - StaticServiceProvider.Instance.GetRequiredService(), - StaticServiceProvider.Instance.GetServices()) - { } - - /// - /// Initializes a new instance of the class. - /// - [Obsolete("Use ctor with all params. This will be removed in Umbraco 12.")] - public RuntimeState( - IOptions globalSettings, - IOptions unattendedSettings, - IUmbracoVersion umbracoVersion, - IUmbracoDatabaseFactory databaseFactory, - ILogger logger, - PendingPackageMigrations packageMigrationState) - : this( - globalSettings, - unattendedSettings, - umbracoVersion, - databaseFactory, - logger, - packageMigrationState, - StaticServiceProvider.Instance.GetRequiredService()) - { } - /// public Version Version => _umbracoVersion.Version; diff --git a/src/Umbraco.Infrastructure/Scoping/ScopeProvider.cs b/src/Umbraco.Infrastructure/Scoping/ScopeProvider.cs index 5eb367a1b0..97d01a56a1 100644 --- a/src/Umbraco.Infrastructure/Scoping/ScopeProvider.cs +++ b/src/Umbraco.Infrastructure/Scoping/ScopeProvider.cs @@ -1,9 +1,6 @@ using System.Data; -using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; -using Umbraco.Cms.Core.Cache; -using Umbraco.Cms.Core.DependencyInjection; using Umbraco.Cms.Core.DistributedLocking; using Umbraco.Cms.Core.Events; using Umbraco.Cms.Core.IO; @@ -65,29 +62,6 @@ namespace Umbraco.Cms.Infrastructure.Scoping coreDebugSettings.OnChange(x => _coreDebugSettings = x); } - [Obsolete("Please use an alternative constructor. This constructor is due for removal in v12.")] - public ScopeProvider( - IDistributedLockingMechanismFactory distributedLockingMechanismFactory, - IUmbracoDatabaseFactory databaseFactory, - FileSystems fileSystems, - IOptionsMonitor coreDebugSettings, - MediaFileManager mediaFileManager, - ILoggerFactory loggerFactory, - IRequestCache requestCache, - IEventAggregator eventAggregator) - : this( - StaticServiceProvider.Instance.GetRequiredService(), - StaticServiceProvider.Instance.GetRequiredService(), - distributedLockingMechanismFactory, - databaseFactory, - fileSystems, - coreDebugSettings, - mediaFileManager, - loggerFactory, - eventAggregator) - { - } - public IDistributedLockingMechanismFactory DistributedLockingMechanismFactory { get; } public IUmbracoDatabaseFactory DatabaseFactory { get; } diff --git a/src/Umbraco.Infrastructure/Security/IPasswordChanger.cs b/src/Umbraco.Infrastructure/Security/IPasswordChanger.cs index c0e733901a..366955677e 100644 --- a/src/Umbraco.Infrastructure/Security/IPasswordChanger.cs +++ b/src/Umbraco.Infrastructure/Security/IPasswordChanger.cs @@ -1,19 +1,12 @@ -using Umbraco.Cms.Core; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Models.Membership; -using Umbraco.Cms.Core.Security; namespace Umbraco.Cms.Core.Security; public interface IPasswordChanger where TUser : UmbracoIdentityUser { - [Obsolete("Please use method that also takes a nullable IUser, scheduled for removal in v13")] - public Task> ChangePasswordWithIdentityAsync( - ChangingPasswordModel passwordModel, - IUmbracoUserManager userMgr); - public Task> ChangePasswordWithIdentityAsync( ChangingPasswordModel passwordModel, IUmbracoUserManager userMgr, - IUser? currentUser) => ChangePasswordWithIdentityAsync(passwordModel, userMgr); + IUser? currentUser); } diff --git a/src/Umbraco.Infrastructure/Security/IdentityMapDefinition.cs b/src/Umbraco.Infrastructure/Security/IdentityMapDefinition.cs index 60846f6b4f..3790a2d6e0 100644 --- a/src/Umbraco.Infrastructure/Security/IdentityMapDefinition.cs +++ b/src/Umbraco.Infrastructure/Security/IdentityMapDefinition.cs @@ -5,11 +5,11 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Umbraco.Cms.Core.Cache; using Umbraco.Cms.Core.Configuration.Models; +using Umbraco.Cms.Core.DependencyInjection; using Umbraco.Cms.Core.Mapping; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Models.Membership; using Umbraco.Cms.Core.Services; -using Umbraco.Cms.Web.Common.DependencyInjection; using Umbraco.Extensions; namespace Umbraco.Cms.Core.Security; @@ -56,22 +56,6 @@ public class IdentityMapDefinition : IMapDefinition { } - [Obsolete("Use constructor that also takes an ITwoFactorLoginService. Scheduled for removal in V12")] - public IdentityMapDefinition( - ILocalizedTextService textService, - IEntityService entityService, - IOptions globalSettings, - AppCaches appCaches) - : this( - textService, - entityService, - globalSettings, - StaticServiceProvider.Instance.GetRequiredService>(), - appCaches, - StaticServiceProvider.Instance.GetRequiredService()) - { - } - public void DefineMaps(IUmbracoMapper mapper) { mapper.Define( diff --git a/src/Umbraco.Infrastructure/Services/CacheInstructionService.cs b/src/Umbraco.Infrastructure/Services/CacheInstructionService.cs index b708f36f14..f8e9f1ee88 100644 --- a/src/Umbraco.Infrastructure/Services/CacheInstructionService.cs +++ b/src/Umbraco.Infrastructure/Services/CacheInstructionService.cs @@ -15,32 +15,6 @@ using Umbraco.Extensions; namespace Umbraco.Cms { - namespace Core.Services.Implement - { - [Obsolete("Scheduled for removal in v12")] - public class CacheInstructionService : Infrastructure.Services.CacheInstructionService - { - public CacheInstructionService( - ICoreScopeProvider provider, - ILoggerFactory loggerFactory, - IEventMessagesFactory eventMessagesFactory, - ICacheInstructionRepository cacheInstructionRepository, - IProfilingLogger profilingLogger, - ILogger logger, - IOptions globalSettings) - : base( - provider, - loggerFactory, - eventMessagesFactory, - cacheInstructionRepository, - profilingLogger, - logger, - globalSettings) - { - } - } - } - namespace Infrastructure.Services { /// diff --git a/src/Umbraco.Infrastructure/Sync/ServerMessengerBase.cs b/src/Umbraco.Infrastructure/Sync/ServerMessengerBase.cs index 1e44a8f5bb..8377c9028d 100644 --- a/src/Umbraco.Infrastructure/Sync/ServerMessengerBase.cs +++ b/src/Umbraco.Infrastructure/Sync/ServerMessengerBase.cs @@ -107,15 +107,6 @@ public abstract class ServerMessengerBase : IServerMessenger Deliver(refresher, payload); } - [Obsolete("This method is unused and not part of the contract. This will be removed in Umbraco 13.")] - public void PerformRefresh(ICacheRefresher refresher, string jsonPayload) - { - ArgumentNullException.ThrowIfNull(refresher); - ArgumentNullException.ThrowIfNull(jsonPayload); - - Deliver(refresher, MessageType.RefreshByJson, json: jsonPayload); - } - /// public void QueueRefresh(ICacheRefresher refresher, Func getNumericId, params T[] instances) { diff --git a/src/Umbraco.Infrastructure/Telemetry/Providers/SystemTroubleshootingInformationTelemetryProvider.cs b/src/Umbraco.Infrastructure/Telemetry/Providers/SystemTroubleshootingInformationTelemetryProvider.cs index 31944cdf17..8acf2dd7e9 100644 --- a/src/Umbraco.Infrastructure/Telemetry/Providers/SystemTroubleshootingInformationTelemetryProvider.cs +++ b/src/Umbraco.Infrastructure/Telemetry/Providers/SystemTroubleshootingInformationTelemetryProvider.cs @@ -25,21 +25,6 @@ internal class SystemTroubleshootingInformationTelemetryProvider : IDetailedTele private readonly IServerRoleAccessor _serverRoleAccessor; private readonly RuntimeSettings _runtimeSettings; - [Obsolete($"Use the constructor that does not take an IOptionsMonitor parameter, scheduled for removal in V12")] - public SystemTroubleshootingInformationTelemetryProvider( - IUmbracoVersion version, - ILocalizationService localizationService, - IOptionsMonitor modelsBuilderSettings, - IOptionsMonitor hostingSettings, - IOptionsMonitor globalSettings, - IHostEnvironment hostEnvironment, - IUmbracoDatabaseFactory umbracoDatabaseFactory, - IServerRoleAccessor serverRoleAccessor, - IOptionsMonitor runtimeSettings) - : this(version, localizationService, modelsBuilderSettings, hostingSettings, hostEnvironment, umbracoDatabaseFactory, serverRoleAccessor, runtimeSettings) - { - } - public SystemTroubleshootingInformationTelemetryProvider( IUmbracoVersion version, ILocalizationService localizationService, diff --git a/src/Umbraco.Web.Common/ApplicationBuilder/UmbracoPipelineFilter.cs b/src/Umbraco.Web.Common/ApplicationBuilder/UmbracoPipelineFilter.cs index 558e52c29d..f66b3b4214 100644 --- a/src/Umbraco.Web.Common/ApplicationBuilder/UmbracoPipelineFilter.cs +++ b/src/Umbraco.Web.Common/ApplicationBuilder/UmbracoPipelineFilter.cs @@ -18,22 +18,6 @@ public class UmbracoPipelineFilter : IUmbracoPipelineFilter /// /// The name. /// The pre pipeline callback. - /// The post pipeline callback. - /// The endpoint callback. - [Obsolete("Use the constructor with named parameters or set the callback properties instead. This constructor will be removed in Umbraco 13.")] - public UmbracoPipelineFilter( - string name, - Action? prePipeline, - Action? postPipeline, - Action? endpointCallback) - : this(name, prePipeline, null, null, postPipeline, endpointCallback) - { } - - /// - /// Initializes a new instance of the class. - /// - /// The name. - /// The pre pipeline callback. /// The pre routing callback. /// The post routing callback. /// The post pipeline callback. diff --git a/src/Umbraco.Web.Common/AspNetCore/AspNetCoreHostingEnvironment.cs b/src/Umbraco.Web.Common/AspNetCore/AspNetCoreHostingEnvironment.cs index 27251aaf5a..8d471428de 100644 --- a/src/Umbraco.Web.Common/AspNetCore/AspNetCoreHostingEnvironment.cs +++ b/src/Umbraco.Web.Common/AspNetCore/AspNetCoreHostingEnvironment.cs @@ -25,16 +25,6 @@ public class AspNetCoreHostingEnvironment : IHostingEnvironment private string? _applicationId; private string? _localTempPath; - [Obsolete("Please use an alternative constructor.")] - public AspNetCoreHostingEnvironment( - IServiceProvider serviceProvider, - IOptionsMonitor hostingSettings, - IOptionsMonitor webRoutingSettings, - IWebHostEnvironment webHostEnvironment) - : this(hostingSettings, webRoutingSettings, webHostEnvironment, serviceProvider.GetService()!) - { - } - public AspNetCoreHostingEnvironment( IOptionsMonitor hostingSettings, IOptionsMonitor webRoutingSettings, @@ -71,10 +61,6 @@ public class AspNetCoreHostingEnvironment : IHostingEnvironment } } - // Scheduled for removal in v12 - [Obsolete("This will never have a value")] - public Version? IISVersion { get; } - /// public bool IsHosted { get; } = true; diff --git a/src/Umbraco.Web.Common/AspNetCore/AspNetCoreRequestAccessor.cs b/src/Umbraco.Web.Common/AspNetCore/AspNetCoreRequestAccessor.cs index 92f48a8d89..6e6de49521 100644 --- a/src/Umbraco.Web.Common/AspNetCore/AspNetCoreRequestAccessor.cs +++ b/src/Umbraco.Web.Common/AspNetCore/AspNetCoreRequestAccessor.cs @@ -2,14 +2,12 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http.Extensions; using Microsoft.Extensions.Options; using Umbraco.Cms.Core.Configuration.Models; -using Umbraco.Cms.Core.Events; -using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Web; using Umbraco.Extensions; namespace Umbraco.Cms.Web.Common.AspNetCore; -public class AspNetCoreRequestAccessor : IRequestAccessor, INotificationHandler, IDisposable +public class AspNetCoreRequestAccessor : IRequestAccessor, IDisposable { private readonly ISet _applicationUrls = new HashSet(); private readonly IHttpContextAccessor _httpContextAccessor; @@ -32,17 +30,6 @@ public class AspNetCoreRequestAccessor : IRequestAccessor, INotificationHandler< _onChangeDisposable = webRoutingSettings.OnChange(x => _webRoutingSettings = x); } - /// - /// - /// This is now a NoOp, and is no longer used, instead ApplicationUrlRequestBeginNotificationHandler is used - /// - /// - [Obsolete("This is no longer used, AspNetCoreRequestAccessor will no longer implement INotificationHandler in V12, see ApplicationUrlRequestBeginNotificationHandler instead.")] - public void Handle(UmbracoRequestBeginNotification notification) - { - // NoOP - } - /// public string? GetRequestValue(string name) => GetFormValue(name) ?? GetQueryStringValue(name); diff --git a/src/Umbraco.Web.Common/Authorization/FeatureAuthorizeHandler.cs b/src/Umbraco.Web.Common/Authorization/FeatureAuthorizeHandler.cs index 596cba7f3d..32323c6450 100644 --- a/src/Umbraco.Web.Common/Authorization/FeatureAuthorizeHandler.cs +++ b/src/Umbraco.Web.Common/Authorization/FeatureAuthorizeHandler.cs @@ -3,11 +3,9 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Mvc.Controllers; using Microsoft.AspNetCore.Mvc.Filters; -using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Core; using Umbraco.Cms.Core.Features; using Umbraco.Cms.Core.Services; -using Umbraco.Cms.Web.Common.DependencyInjection; namespace Umbraco.Cms.Web.Common.Authorization; @@ -25,13 +23,6 @@ public class FeatureAuthorizeHandler : AuthorizationHandler()) - { - - } - protected override Task HandleRequirementAsync( AuthorizationHandlerContext context, FeatureAuthorizeRequirement requirement) diff --git a/src/Umbraco.Web.Common/DependencyInjection/UmbracoBuilderExtensions.cs b/src/Umbraco.Web.Common/DependencyInjection/UmbracoBuilderExtensions.cs index 90c9c14f56..480ae90397 100644 --- a/src/Umbraco.Web.Common/DependencyInjection/UmbracoBuilderExtensions.cs +++ b/src/Umbraco.Web.Common/DependencyInjection/UmbracoBuilderExtensions.cs @@ -1,7 +1,6 @@ using System.Data.Common; using System.Net.Http.Headers; using System.Reflection; -using Dazinator.Extensions.FileProviders.GlobPatternFilter; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.DataProtection.Infrastructure; using Microsoft.AspNetCore.Hosting; @@ -12,7 +11,6 @@ using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Options; using Serilog.Extensions.Logging; using Umbraco.Cms.Core; using Umbraco.Cms.Core.Blocks; @@ -46,7 +44,6 @@ using Umbraco.Cms.Web.Common.ApplicationModels; using Umbraco.Cms.Web.Common.AspNetCore; using Umbraco.Cms.Web.Common.Blocks; using Umbraco.Cms.Web.Common.Configuration; -using Umbraco.Cms.Web.Common.Controllers; using Umbraco.Cms.Web.Common.DependencyInjection; using Umbraco.Cms.Web.Common.FileProviders; using Umbraco.Cms.Web.Common.Localization; @@ -268,7 +265,6 @@ public static partial class UmbracoBuilderExtensions // AspNetCore specific services builder.Services.AddUnique(); - builder.AddNotificationHandler(); builder.AddNotificationHandler(); // Password hasher diff --git a/src/Umbraco.Web.Common/Extensions/GridTemplateExtensions.cs b/src/Umbraco.Web.Common/Extensions/GridTemplateExtensions.cs deleted file mode 100644 index 8edabf8363..0000000000 --- a/src/Umbraco.Web.Common/Extensions/GridTemplateExtensions.cs +++ /dev/null @@ -1,184 +0,0 @@ -using Microsoft.AspNetCore.Html; -using Microsoft.AspNetCore.Mvc.Rendering; -using Umbraco.Cms.Core.Models.PublishedContent; - -namespace Umbraco.Extensions; - -[Obsolete("The grid is obsolete, will be removed in V13")] -public static class GridTemplateExtensions -{ - public static IHtmlContent GetGridHtml(this IHtmlHelper html, IPublishedProperty property, string framework = "bootstrap3") - { - if (property.GetValue() is string asString && string.IsNullOrEmpty(asString)) - { - return new HtmlString(string.Empty); - } - - var view = "grid/" + framework; - return html.Partial(view, property.GetValue()); - } - - public static IHtmlContent GetGridHtml(this IHtmlHelper html, IPublishedContent contentItem) => - html.GetGridHtml(contentItem, "bodyText", "bootstrap3"); - - public static IHtmlContent GetGridHtml(this IHtmlHelper html, IPublishedContent contentItem, string propertyAlias) - { - if (propertyAlias == null) - { - throw new ArgumentNullException(nameof(propertyAlias)); - } - - if (string.IsNullOrWhiteSpace(propertyAlias)) - { - throw new ArgumentException( - "Value can't be empty or consist only of white-space characters.", - nameof(propertyAlias)); - } - - return html.GetGridHtml(contentItem, propertyAlias, "bootstrap3"); - } - - public static IHtmlContent GetGridHtml(this IHtmlHelper html, IPublishedContent contentItem, string propertyAlias, string framework) - { - if (propertyAlias == null) - { - throw new ArgumentNullException(nameof(propertyAlias)); - } - - if (string.IsNullOrWhiteSpace(propertyAlias)) - { - throw new ArgumentException( - "Value can't be empty or consist only of white-space characters.", - nameof(propertyAlias)); - } - - var view = "grid/" + framework; - IPublishedProperty? prop = contentItem.GetProperty(propertyAlias); - if (prop == null) - { - throw new InvalidOperationException("No property type found with alias " + propertyAlias); - } - - var model = prop.GetValue(); - - if (model is string asString && string.IsNullOrEmpty(asString)) - { - return new HtmlString(string.Empty); - } - - return html.Partial(view, model); - } - - public static IHtmlContent GetGridHtml(this IHtmlHelper html, IPublishedElement contentItem) => - html.GetGridHtml(contentItem, "bodyText", "bootstrap3"); - - public static IHtmlContent GetGridHtml(this IHtmlHelper html, IPublishedElement contentItem, string propertyAlias) - { - if (propertyAlias == null) - { - throw new ArgumentNullException(nameof(propertyAlias)); - } - - if (string.IsNullOrWhiteSpace(propertyAlias)) - { - throw new ArgumentException( - "Value can't be empty or consist only of white-space characters.", - nameof(propertyAlias)); - } - - return html.GetGridHtml(contentItem, propertyAlias, "bootstrap3"); - } - - public static IHtmlContent GetGridHtml(this IHtmlHelper html, IPublishedElement contentItem, string propertyAlias, string framework) - { - if (propertyAlias == null) - { - throw new ArgumentNullException(nameof(propertyAlias)); - } - - if (string.IsNullOrWhiteSpace(propertyAlias)) - { - throw new ArgumentException( - "Value can't be empty or consist only of white-space characters.", - nameof(propertyAlias)); - } - - var view = "grid/" + framework; - IPublishedProperty? prop = contentItem.GetProperty(propertyAlias); - if (prop == null) - { - throw new InvalidOperationException("No property type found with alias " + propertyAlias); - } - - var model = prop.GetValue(); - - if (model is string asString && string.IsNullOrEmpty(asString)) - { - return new HtmlString(string.Empty); - } - - return html.Partial(view, model); - } - - public static IHtmlContent GetGridHtml(this IPublishedProperty property, IHtmlHelper html, string framework = "bootstrap3") - { - if (property.GetValue() is string asString && string.IsNullOrEmpty(asString)) - { - return new HtmlString(string.Empty); - } - - var view = "grid/" + framework; - return html.Partial(view, property.GetValue()); - } - - public static IHtmlContent GetGridHtml(this IPublishedContent contentItem, IHtmlHelper html) => - GetGridHtml(contentItem, html, "bodyText", "bootstrap3"); - - public static IHtmlContent GetGridHtml(this IPublishedContent contentItem, IHtmlHelper html, string propertyAlias) - { - if (propertyAlias == null) - { - throw new ArgumentNullException(nameof(propertyAlias)); - } - - if (string.IsNullOrWhiteSpace(propertyAlias)) - { - throw new ArgumentException( - "Value can't be empty or consist only of white-space characters.", - nameof(propertyAlias)); - } - - return GetGridHtml(contentItem, html, propertyAlias, "bootstrap3"); - } - - public static IHtmlContent GetGridHtml(this IPublishedContent contentItem, IHtmlHelper html, string propertyAlias, string framework) - { - if (propertyAlias == null) - { - throw new ArgumentNullException(nameof(propertyAlias)); - } - - if (string.IsNullOrWhiteSpace(propertyAlias)) - { - throw new ArgumentException( - "Value can't be empty or consist only of white-space characters.", - nameof(propertyAlias)); - } - - var view = "grid/" + framework; - IPublishedProperty? prop = contentItem.GetProperty(propertyAlias); - if (prop == null) - { - throw new InvalidOperationException("No property type found with alias " + propertyAlias); - } - - var model = prop.GetValue(); - - if (model is string asString && string.IsNullOrEmpty(asString)) - { - return new HtmlString(string.Empty); - } - - return html.Partial(view, model); - } -} diff --git a/src/Umbraco.Web.Common/Middleware/BootFailedMiddleware.cs b/src/Umbraco.Web.Common/Middleware/BootFailedMiddleware.cs index 649e12aa21..52b7726bae 100644 --- a/src/Umbraco.Web.Common/Middleware/BootFailedMiddleware.cs +++ b/src/Umbraco.Web.Common/Middleware/BootFailedMiddleware.cs @@ -2,10 +2,8 @@ using System.Net.Mime; using System.Text; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; -using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.FileProviders; using Umbraco.Cms.Core; -using Umbraco.Cms.Core.DependencyInjection; using Umbraco.Cms.Core.Exceptions; using Umbraco.Cms.Core.Services; using IHostingEnvironment = Umbraco.Cms.Core.Hosting.IHostingEnvironment; @@ -29,11 +27,6 @@ public class BootFailedMiddleware : IMiddleware _webHostEnvironment = webHostEnvironment; } - [Obsolete("Use ctor with all params. This will be removed in Umbraco 12")] - public BootFailedMiddleware(IRuntimeState runtimeState, IHostingEnvironment hostingEnvironment) - : this(runtimeState, hostingEnvironment, StaticServiceProvider.Instance.GetRequiredService()) - { } - public async Task InvokeAsync(HttpContext context, RequestDelegate next) { // TODO: It would be possible to redirect to the installer here in debug mode while diff --git a/src/Umbraco.Web.Website/Middleware/BasicAuthenticationMiddleware.cs b/src/Umbraco.Web.Website/Middleware/BasicAuthenticationMiddleware.cs index 0b20a57ff8..88556d3aa7 100644 --- a/src/Umbraco.Web.Website/Middleware/BasicAuthenticationMiddleware.cs +++ b/src/Umbraco.Web.Website/Middleware/BasicAuthenticationMiddleware.cs @@ -7,7 +7,6 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Umbraco.Cms.Core; using Umbraco.Cms.Core.Configuration.Models; -using Umbraco.Cms.Core.DependencyInjection; using Umbraco.Cms.Core.Hosting; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Web.Common.Security; @@ -37,19 +36,6 @@ public class BasicAuthenticationMiddleware : IMiddleware _backOfficePath = globalSettings.CurrentValue.GetBackOfficePath(hostingEnvironment); } - [Obsolete("Use Ctor with all methods. This will be removed in Umbraco 12")] - public BasicAuthenticationMiddleware( - IRuntimeState runtimeState, - IBasicAuthService basicAuthService) : this( - runtimeState, - basicAuthService, - StaticServiceProvider.Instance.GetRequiredService>(), - StaticServiceProvider.Instance.GetRequiredService() - ) - { - - } - /// public async Task InvokeAsync(HttpContext context, RequestDelegate next) { diff --git a/src/Umbraco.Web.Website/Routing/UmbracoRouteValueTransformer.cs b/src/Umbraco.Web.Website/Routing/UmbracoRouteValueTransformer.cs index 8eab5cdc4e..790d99952a 100644 --- a/src/Umbraco.Web.Website/Routing/UmbracoRouteValueTransformer.cs +++ b/src/Umbraco.Web.Website/Routing/UmbracoRouteValueTransformer.cs @@ -5,18 +5,14 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc.Controllers; using Microsoft.AspNetCore.Mvc.Routing; using Microsoft.AspNetCore.Routing; -using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using Umbraco.Cms.Core; using Umbraco.Cms.Core.Configuration.Models; -using Umbraco.Cms.Core.Events; -using Umbraco.Cms.Core.Hosting; using Umbraco.Cms.Core.Routing; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Web; using Umbraco.Cms.Web.Common.Controllers; -using Umbraco.Cms.Web.Common.DependencyInjection; using Umbraco.Cms.Web.Common.Routing; using Umbraco.Cms.Web.Common.Security; using Umbraco.Cms.Web.Website.Controllers; @@ -53,56 +49,6 @@ public class UmbracoRouteValueTransformer : DynamicRouteValueTransformer private readonly IUmbracoVirtualPageRoute _umbracoVirtualPageRoute; private GlobalSettings _globalSettings; - [Obsolete("Please use constructor that is not obsolete, instead of this. This will be removed in Umbraco 13.")] - public UmbracoRouteValueTransformer( - ILogger logger, - IUmbracoContextAccessor umbracoContextAccessor, - IPublishedRouter publishedRouter, - IOptions globalSettings, - IHostingEnvironment hostingEnvironment, - IRuntimeState runtime, - IUmbracoRouteValuesFactory routeValuesFactory, - IRoutableDocumentFilter routableDocumentFilter, - IDataProtectionProvider dataProtectionProvider, - IControllerActionSearcher controllerActionSearcher, - IEventAggregator eventAggregator, - IPublicAccessRequestHandler publicAccessRequestHandler) - : this(logger, umbracoContextAccessor, publishedRouter, runtime, routeValuesFactory, routableDocumentFilter, dataProtectionProvider, controllerActionSearcher, publicAccessRequestHandler, StaticServiceProvider.Instance.GetRequiredService(), StaticServiceProvider.Instance.GetRequiredService>()) - { - } - - [Obsolete("Please use constructor that is not obsolete, instead of this. This will be removed in Umbraco 13.")] - public UmbracoRouteValueTransformer( - ILogger logger, - IUmbracoContextAccessor umbracoContextAccessor, - IPublishedRouter publishedRouter, - IRuntimeState runtime, - IUmbracoRouteValuesFactory routeValuesFactory, - IRoutableDocumentFilter routableDocumentFilter, - IDataProtectionProvider dataProtectionProvider, - IControllerActionSearcher controllerActionSearcher, - IPublicAccessRequestHandler publicAccessRequestHandler) - : this(logger, umbracoContextAccessor, publishedRouter, runtime, routeValuesFactory, routableDocumentFilter, dataProtectionProvider, controllerActionSearcher, publicAccessRequestHandler, StaticServiceProvider.Instance.GetRequiredService(), StaticServiceProvider.Instance.GetRequiredService>()) - { - } - - [Obsolete("Please use constructor that is not obsolete, instead of this. This will be removed in Umbraco 13.")] - public UmbracoRouteValueTransformer( - ILogger logger, - IUmbracoContextAccessor umbracoContextAccessor, - IPublishedRouter publishedRouter, - IRuntimeState runtime, - IUmbracoRouteValuesFactory routeValuesFactory, - IRoutableDocumentFilter routableDocumentFilter, - IDataProtectionProvider dataProtectionProvider, - IControllerActionSearcher controllerActionSearcher, - IPublicAccessRequestHandler publicAccessRequestHandler, - IUmbracoVirtualPageRoute umbracoVirtualPageRoute) - : this(logger, umbracoContextAccessor, publishedRouter, runtime, routeValuesFactory, routableDocumentFilter, dataProtectionProvider, controllerActionSearcher, publicAccessRequestHandler, StaticServiceProvider.Instance.GetRequiredService(), StaticServiceProvider.Instance.GetRequiredService>()) - - { - } - /// /// Initializes a new instance of the class. /// diff --git a/tests/Umbraco.Tests.Integration/Testing/TestDbMeta.cs b/tests/Umbraco.Tests.Integration/Testing/TestDbMeta.cs index 68222ccb4f..c643c7ee35 100644 --- a/tests/Umbraco.Tests.Integration/Testing/TestDbMeta.cs +++ b/tests/Umbraco.Tests.Integration/Testing/TestDbMeta.cs @@ -41,5 +41,5 @@ public class TestDbMeta new(name, isEmpty, null, Constants.ProviderName, null); public ConnectionStrings ToStronglyTypedConnectionString() => - new() { Name = Name, ConnectionString = ConnectionString, ProviderName = Provider }; + new() { ConnectionString = ConnectionString, ProviderName = Provider }; } diff --git a/tests/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/CacheInstructionServiceTests.cs b/tests/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/CacheInstructionServiceTests.cs index cb62dd32a3..dc7b78b6fd 100644 --- a/tests/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/CacheInstructionServiceTests.cs +++ b/tests/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/CacheInstructionServiceTests.cs @@ -1,20 +1,15 @@ // Copyright (c) Umbraco. // See LICENSE for more details. -using System.Collections.Generic; -using System.Linq; -using System.Threading; using NUnit.Framework; using Umbraco.Cms.Core.Cache; -using Umbraco.Cms.Core.DependencyInjection; using Umbraco.Cms.Core.Services; -using Umbraco.Cms.Core.Services.Implement; using Umbraco.Cms.Core.Sync; using Umbraco.Cms.Infrastructure.Persistence; using Umbraco.Cms.Infrastructure.Persistence.Dtos; +using Umbraco.Cms.Infrastructure.Services; using Umbraco.Cms.Tests.Common.Testing; using Umbraco.Cms.Tests.Integration.Testing; -using Umbraco.Extensions; namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Services;