diff --git a/Directory.Build.props b/Directory.Build.props index 47e4da1a..44be102f 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -2,7 +2,7 @@ net10.0 Debug;Release - 10.1.1 + 10.1.2 Oqtane Shaun Walker .NET Foundation @@ -10,7 +10,7 @@ .NET Foundation https://www.oqtane.org https://github.com/oqtane/oqtane.framework/blob/dev/LICENSE - https://github.com/oqtane/oqtane.framework/releases/tag/v10.1.1 + https://github.com/oqtane/oqtane.framework/releases/tag/v10.1.2 https://github.com/oqtane/oqtane.framework Git diff --git a/Oqtane.Application/Client/Oqtane.Application.Client.csproj b/Oqtane.Application/Client/Oqtane.Application.Client.csproj index 1d618b2d..8800257c 100644 --- a/Oqtane.Application/Client/Oqtane.Application.Client.csproj +++ b/Oqtane.Application/Client/Oqtane.Application.Client.csproj @@ -12,10 +12,10 @@ - - - - + + + + @@ -23,7 +23,7 @@ - + diff --git a/Oqtane.Application/Oqtane.Application.Template.nuspec b/Oqtane.Application/Oqtane.Application.Template.nuspec index a5acb9a9..1868d86f 100644 --- a/Oqtane.Application/Oqtane.Application.Template.nuspec +++ b/Oqtane.Application/Oqtane.Application.Template.nuspec @@ -2,7 +2,7 @@ Oqtane.Application.Template - 10.1.1 + 10.1.2 Oqtane Application Template For Blazor Shaun Walker false diff --git a/Oqtane.Application/Server/Oqtane.Application.Server.csproj b/Oqtane.Application/Server/Oqtane.Application.Server.csproj index c8f34122..9bd7bb7a 100644 --- a/Oqtane.Application/Server/Oqtane.Application.Server.csproj +++ b/Oqtane.Application/Server/Oqtane.Application.Server.csproj @@ -22,9 +22,9 @@ - - - + + + @@ -33,7 +33,7 @@ - + diff --git a/Oqtane.Application/Server/wwwroot/Modules/Templates/Internal/Client/Modules/[Owner].Module.[Module]/Settings.razor b/Oqtane.Application/Server/wwwroot/Modules/Templates/Internal/Client/Modules/[Owner].Module.[Module]/Settings.razor index 624dee2a..14d53598 100644 --- a/Oqtane.Application/Server/wwwroot/Modules/Templates/Internal/Client/Modules/[Owner].Module.[Module]/Settings.razor +++ b/Oqtane.Application/Server/wwwroot/Modules/Templates/Internal/Client/Modules/[Owner].Module.[Module]/Settings.razor @@ -1,5 +1,6 @@ @namespace [Owner].Module.[Module] @inherits ModuleBase +@implements Oqtane.Interfaces.ISettingsControl @inject ISettingService SettingService @inject IStringLocalizer Localizer diff --git a/Oqtane.Application/Shared/Oqtane.Application.Shared.csproj b/Oqtane.Application/Shared/Oqtane.Application.Shared.csproj index 636ff9bf..5599ac2f 100644 --- a/Oqtane.Application/Shared/Oqtane.Application.Shared.csproj +++ b/Oqtane.Application/Shared/Oqtane.Application.Shared.csproj @@ -11,7 +11,7 @@ - + diff --git a/Oqtane.Client/Modules/Admin/Modules/Settings.razor b/Oqtane.Client/Modules/Admin/Modules/Settings.razor index bde62f80..cf84e971 100644 --- a/Oqtane.Client/Modules/Admin/Modules/Settings.razor +++ b/Oqtane.Client/Modules/Admin/Modules/Settings.razor @@ -298,7 +298,8 @@ } else { - // legacy support - module settings updated by convention ( ie. by calling a public method named "UpdateSettings" in settings component ) + // legacy approach - module settings updated by convention (ie. by calling a public method named "UpdateSettings" in settings component) + // this method should be removed however the ISettingsControl declaration was not added to the default module template until version 10.1.2 _moduleSettings?.GetType().GetMethod("UpdateSettings")?.Invoke(_moduleSettings, null); } } diff --git a/Oqtane.Client/Modules/Admin/Site/Index.razor b/Oqtane.Client/Modules/Admin/Site/Index.razor index 34f41758..9d620b10 100644 --- a/Oqtane.Client/Modules/Admin/Site/Index.razor +++ b/Oqtane.Client/Modules/Admin/Site/Index.razor @@ -1194,7 +1194,7 @@ if (unique) { - if (_aliasid == 0) + if (_aliasid == -1) { alias = new Alias { SiteId = PageState.Site.SiteId, TenantId = PageState.Alias.TenantId, Name = _aliasname, IsDefault = bool.Parse(_defaultalias) }; await AliasService.AddAliasAsync(alias); diff --git a/Oqtane.Client/Modules/Admin/Upgrade/Index.razor b/Oqtane.Client/Modules/Admin/Upgrade/Index.razor index 1c9e322b..aeda1366 100644 --- a/Oqtane.Client/Modules/Admin/Upgrade/Index.razor +++ b/Oqtane.Client/Modules/Admin/Upgrade/Index.razor @@ -11,22 +11,11 @@ { - @if (_versions.Count > 0 && _upgradeable) + @if (_package != null && _upgradeavailable) { - Version: - - - @foreach (var version in _versions) - { - @version - } - - - - - Backup Files? + Backup Files? @SharedLocalizer["Yes"] @@ -38,7 +27,7 @@ @if (!_downloaded) { - await Download(Constants.PackageId, _version))>@SharedLocalizer["Download"] @_version + await Download(Constants.PackageId, @_package.Version))>@SharedLocalizer["Download"] @_package.Version } else { @@ -77,9 +66,8 @@ @code { private bool _initialized = false; private bool _downloaded = false; - private List _versions = new List(); - private string _version; - private bool _upgradeable = false; + private Package _package; + private bool _upgradeavailable = false; private string _backup = "True"; public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Host; @@ -96,18 +84,18 @@ { AddModuleMessage(Localizer["Disclaimer.Text"], MessageType.Warning); - var packages = await PackageService.GetPackagesAsync("framework", "", "", ""); + List packages = await PackageService.GetPackagesAsync("framework", "", "", ""); if (packages != null) { - _version = packages.First(item => item.PackageId.StartsWith(Constants.PackageId)).Version; - foreach (var version in Constants.ReleaseVersions.Split(',')) + _package = packages.Where(item => item.PackageId.StartsWith(Constants.PackageId)).FirstOrDefault(); + if (_package != null) { - if (Version.Parse(version).CompareTo(Version.Parse(Constants.Version)) > 0) - { - _versions.Add(version); - } + _upgradeavailable = (Version.Parse(_package.Version).CompareTo(Version.Parse(Constants.Version)) > 0); + } + else + { + _package = new Package { Name = Constants.PackageId, Version = Constants.Version }; } - _upgradeable = (Version.Parse(_version).CompareTo(Version.Parse(Constants.Version)) > 0); } _initialized = true; } diff --git a/Oqtane.Client/Oqtane.Client.csproj b/Oqtane.Client/Oqtane.Client.csproj index 82b5dcd2..734a978d 100644 --- a/Oqtane.Client/Oqtane.Client.csproj +++ b/Oqtane.Client/Oqtane.Client.csproj @@ -8,11 +8,11 @@ - - - - - + + + + + diff --git a/Oqtane.Client/Resources/Modules/Admin/Upgrade/Index.resx b/Oqtane.Client/Resources/Modules/Admin/Upgrade/Index.resx index 167f1c36..4decf73b 100644 --- a/Oqtane.Client/Resources/Modules/Admin/Upgrade/Index.resx +++ b/Oqtane.Client/Resources/Modules/Admin/Upgrade/Index.resx @@ -148,7 +148,7 @@ You Cannot Perform A System Update In A Development Environment - Please Note That The System Update Capability Is A Simplified Upgrade Process Intended For Small To Medium Sized Installations. For Larger Enterprise Installations You Will Want To Use A Manual Upgrade Process. + Please Note That The System Update Capability Is A Simplified Upgrade Process Intended For Small To Medium Sized Installations. For Enterprise Installations And Microsoft Azure Installations You Will Want To Use A Manual Upgrade Process. Backup Files? @@ -156,10 +156,4 @@ Specify if you want to backup files during the upgrade process. Disabling this option will reduce the time required for the upgrade. - - Version: - - - Select the framework upgrade version - \ No newline at end of file diff --git a/Oqtane.Maui/Oqtane.Maui.csproj b/Oqtane.Maui/Oqtane.Maui.csproj index 4c346167..fe96376e 100644 --- a/Oqtane.Maui/Oqtane.Maui.csproj +++ b/Oqtane.Maui/Oqtane.Maui.csproj @@ -18,7 +18,7 @@ com.oqtane.maui - 10.1.1 + 10.1.2 1 @@ -54,11 +54,11 @@ - - - - - + + + + + diff --git a/Oqtane.Package/Oqtane.Client.nuspec b/Oqtane.Package/Oqtane.Client.nuspec index ae062ace..053a192f 100644 --- a/Oqtane.Package/Oqtane.Client.nuspec +++ b/Oqtane.Package/Oqtane.Client.nuspec @@ -2,7 +2,7 @@ Oqtane.Client - 10.1.1 + 10.1.2 Shaun Walker .NET Foundation Oqtane Framework @@ -12,18 +12,18 @@ false MIT https://github.com/oqtane/oqtane.framework - https://github.com/oqtane/oqtane.framework/releases/tag/v10.1.1 + https://github.com/oqtane/oqtane.framework/releases/tag/v10.1.2 readme.md icon.png oqtane - - - - - - + + + + + + diff --git a/Oqtane.Package/Oqtane.Framework.nuspec b/Oqtane.Package/Oqtane.Framework.nuspec index f2e8a58e..0567d41c 100644 --- a/Oqtane.Package/Oqtane.Framework.nuspec +++ b/Oqtane.Package/Oqtane.Framework.nuspec @@ -2,7 +2,7 @@ Oqtane.Framework - 10.1.1 + 10.1.2 Shaun Walker .NET Foundation Oqtane Framework @@ -11,8 +11,8 @@ .NET Foundation false MIT - https://github.com/oqtane/oqtane.framework/releases/download/v10.1.1/Oqtane.Framework.10.1.1.Upgrade.zip - https://github.com/oqtane/oqtane.framework/releases/tag/v10.1.1 + https://github.com/oqtane/oqtane.framework/releases/download/v10.1.2/Oqtane.Framework.10.1.2.Upgrade.zip + https://github.com/oqtane/oqtane.framework/releases/tag/v10.1.2 readme.md icon.png oqtane framework diff --git a/Oqtane.Package/Oqtane.Server.nuspec b/Oqtane.Package/Oqtane.Server.nuspec index 095b3c88..54e7a68a 100644 --- a/Oqtane.Package/Oqtane.Server.nuspec +++ b/Oqtane.Package/Oqtane.Server.nuspec @@ -2,7 +2,7 @@ Oqtane.Server - 10.1.1 + 10.1.2 Shaun Walker .NET Foundation Oqtane Framework @@ -12,29 +12,29 @@ false MIT https://github.com/oqtane/oqtane.framework - https://github.com/oqtane/oqtane.framework/releases/tag/v10.1.1 + https://github.com/oqtane/oqtane.framework/releases/tag/v10.1.2 readme.md icon.png oqtane - - - - - - + + + + + + - + - - - - + + + + diff --git a/Oqtane.Package/Oqtane.Shared.nuspec b/Oqtane.Package/Oqtane.Shared.nuspec index 7e0c9cd2..4efc9cba 100644 --- a/Oqtane.Package/Oqtane.Shared.nuspec +++ b/Oqtane.Package/Oqtane.Shared.nuspec @@ -2,7 +2,7 @@ Oqtane.Shared - 10.1.1 + 10.1.2 Shaun Walker .NET Foundation Oqtane Framework @@ -12,14 +12,14 @@ false MIT https://github.com/oqtane/oqtane.framework - https://github.com/oqtane/oqtane.framework/releases/tag/v10.1.1 + https://github.com/oqtane/oqtane.framework/releases/tag/v10.1.2 readme.md icon.png oqtane - - + + diff --git a/Oqtane.Package/Oqtane.Updater.nuspec b/Oqtane.Package/Oqtane.Updater.nuspec index d1d8e2ef..55c0e5b5 100644 --- a/Oqtane.Package/Oqtane.Updater.nuspec +++ b/Oqtane.Package/Oqtane.Updater.nuspec @@ -2,7 +2,7 @@ Oqtane.Updater - 10.1.1 + 10.1.2 Shaun Walker .NET Foundation Oqtane Framework @@ -12,7 +12,7 @@ false MIT https://github.com/oqtane/oqtane.framework - https://github.com/oqtane/oqtane.framework/releases/tag/v10.1.1 + https://github.com/oqtane/oqtane.framework/releases/tag/v10.1.2 readme.md icon.png oqtane diff --git a/Oqtane.Package/install.ps1 b/Oqtane.Package/install.ps1 index b2611634..fb6e2bda 100644 --- a/Oqtane.Package/install.ps1 +++ b/Oqtane.Package/install.ps1 @@ -1 +1 @@ -Compress-Archive -Path "..\Oqtane.Server\bin\Release\net10.0\publish\*" -DestinationPath "Oqtane.Framework.10.1.1.Install.zip" -Force +Compress-Archive -Path "..\Oqtane.Server\bin\Release\net10.0\publish\*" -DestinationPath "Oqtane.Framework.10.1.2.Install.zip" -Force diff --git a/Oqtane.Package/upgrade.ps1 b/Oqtane.Package/upgrade.ps1 index 4a84e86e..3f084475 100644 --- a/Oqtane.Package/upgrade.ps1 +++ b/Oqtane.Package/upgrade.ps1 @@ -1 +1 @@ -Compress-Archive -Path "..\Oqtane.Server\bin\Release\net10.0\publish\*" -DestinationPath "Oqtane.Framework.10.1.1.Upgrade.zip" -Force +Compress-Archive -Path "..\Oqtane.Server\bin\Release\net10.0\publish\*" -DestinationPath "Oqtane.Framework.10.1.2.Upgrade.zip" -Force diff --git a/Oqtane.Server/Oqtane.Server.csproj b/Oqtane.Server/Oqtane.Server.csproj index 8694713e..22cbbb13 100644 --- a/Oqtane.Server/Oqtane.Server.csproj +++ b/Oqtane.Server/Oqtane.Server.csproj @@ -28,13 +28,13 @@ - - - - + + + + - + @@ -44,12 +44,12 @@ - + - - + + - + diff --git a/Oqtane.Server/wwwroot/Modules/Templates/External/Client/Modules/[Owner].Module.[Module]/Settings.razor b/Oqtane.Server/wwwroot/Modules/Templates/External/Client/Modules/[Owner].Module.[Module]/Settings.razor index 624dee2a..14d53598 100644 --- a/Oqtane.Server/wwwroot/Modules/Templates/External/Client/Modules/[Owner].Module.[Module]/Settings.razor +++ b/Oqtane.Server/wwwroot/Modules/Templates/External/Client/Modules/[Owner].Module.[Module]/Settings.razor @@ -1,5 +1,6 @@ @namespace [Owner].Module.[Module] @inherits ModuleBase +@implements Oqtane.Interfaces.ISettingsControl @inject ISettingService SettingService @inject IStringLocalizer Localizer diff --git a/Oqtane.Server/wwwroot/Modules/Templates/External/Client/[Owner].Module.[Module].Client.csproj b/Oqtane.Server/wwwroot/Modules/Templates/External/Client/[Owner].Module.[Module].Client.csproj index fce77d74..68c8895b 100644 --- a/Oqtane.Server/wwwroot/Modules/Templates/External/Client/[Owner].Module.[Module].Client.csproj +++ b/Oqtane.Server/wwwroot/Modules/Templates/External/Client/[Owner].Module.[Module].Client.csproj @@ -13,10 +13,10 @@ - - - - + + + + diff --git a/Oqtane.Server/wwwroot/Modules/Templates/External/Server/[Owner].Module.[Module].Server.csproj b/Oqtane.Server/wwwroot/Modules/Templates/External/Server/[Owner].Module.[Module].Server.csproj index c69fd9cf..c9026203 100644 --- a/Oqtane.Server/wwwroot/Modules/Templates/External/Server/[Owner].Module.[Module].Server.csproj +++ b/Oqtane.Server/wwwroot/Modules/Templates/External/Server/[Owner].Module.[Module].Server.csproj @@ -20,10 +20,10 @@ - - - - + + + + diff --git a/Oqtane.Server/wwwroot/Themes/Templates/External/Client/[Owner].Theme.[Theme].Client.csproj b/Oqtane.Server/wwwroot/Themes/Templates/External/Client/[Owner].Theme.[Theme].Client.csproj index 3378693d..32035237 100644 --- a/Oqtane.Server/wwwroot/Themes/Templates/External/Client/[Owner].Theme.[Theme].Client.csproj +++ b/Oqtane.Server/wwwroot/Themes/Templates/External/Client/[Owner].Theme.[Theme].Client.csproj @@ -14,9 +14,9 @@ - - - + + + diff --git a/Oqtane.Shared/Oqtane.Shared.csproj b/Oqtane.Shared/Oqtane.Shared.csproj index a9711582..9031aac9 100644 --- a/Oqtane.Shared/Oqtane.Shared.csproj +++ b/Oqtane.Shared/Oqtane.Shared.csproj @@ -5,8 +5,8 @@ - - + + diff --git a/Oqtane.Shared/Shared/Constants.cs b/Oqtane.Shared/Shared/Constants.cs index e2c93076..c5dc1fba 100644 --- a/Oqtane.Shared/Shared/Constants.cs +++ b/Oqtane.Shared/Shared/Constants.cs @@ -4,8 +4,8 @@ namespace Oqtane.Shared { public class Constants { - public static readonly string Version = "10.1.1"; - public const string ReleaseVersions = "1.0.0,1.0.1,1.0.2,1.0.3,1.0.4,2.0.0,2.0.1,2.0.2,2.1.0,2.2.0,2.3.0,2.3.1,3.0.0,3.0.1,3.0.2,3.0.3,3.1.0,3.1.1,3.1.2,3.1.3,3.1.4,3.2.0,3.2.1,3.3.0,3.3.1,3.4.0,3.4.1,3.4.2,3.4.3,4.0.0,4.0.1,4.0.2,4.0.3,4.0.4,4.0.5,4.0.6,5.0.0,5.0.1,5.0.2,5.0.3,5.1.0,5.1.1,5.1.2,5.2.0,5.2.1,5.2.2,5.2.3,5.2.4,6.0.0,6.0.1,6.1.0,6.1.1,6.1.2,6.1.3,6.1.4,6.1.5,6.2.0,6.2.1,10.0.0,10.0.1,10.0.2,10.0.3,10.0.4,10.1.0,10.1.1"; + public static readonly string Version = "10.1.2"; + public const string ReleaseVersions = "1.0.0,1.0.1,1.0.2,1.0.3,1.0.4,2.0.0,2.0.1,2.0.2,2.1.0,2.2.0,2.3.0,2.3.1,3.0.0,3.0.1,3.0.2,3.0.3,3.1.0,3.1.1,3.1.2,3.1.3,3.1.4,3.2.0,3.2.1,3.3.0,3.3.1,3.4.0,3.4.1,3.4.2,3.4.3,4.0.0,4.0.1,4.0.2,4.0.3,4.0.4,4.0.5,4.0.6,5.0.0,5.0.1,5.0.2,5.0.3,5.1.0,5.1.1,5.1.2,5.2.0,5.2.1,5.2.2,5.2.3,5.2.4,6.0.0,6.0.1,6.1.0,6.1.1,6.1.2,6.1.3,6.1.4,6.1.5,6.2.0,6.2.1,10.0.0,10.0.1,10.0.2,10.0.3,10.0.4,10.1.0,10.1.1,10.1.2"; public const string PackageId = "Oqtane.Framework"; public const string ClientId = "Oqtane.Client"; public const string UpdaterPackageId = "Oqtane.Updater"; diff --git a/README.md b/README.md index ee9fb398..e46bcf8a 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ Oqtane is being developed based on some fundamental principles which are outline # Latest Release -[10.1.1](https://github.com/oqtane/oqtane.framework/releases/tag/v10.1.1) was released on March 6, 2026 and is a maintenance release including 21 pull requests by 2 different contributors, pushing the total number of project commits all-time over 7700. The Oqtane framework continues to evolve at a rapid pace to meet the needs of .NET developers. +[10.1.2](https://github.com/oqtane/oqtane.framework/releases/tag/v10.1.2) was released on March 26, 2026. # Try It Now! @@ -111,6 +111,9 @@ Connect with other developers, get support, and share ideas by joining the Oqtan # Roadmap This project is open source, and therefore is a work in progress... +[10.1.2](https://github.com/oqtane/oqtane.framework/releases/tag/v10.1.2) (Mar 26, 2026) +- [x] Stabilization improvements + [10.1.1](https://github.com/oqtane/oqtane.framework/releases/tag/v10.1.1) (Mar 6, 2026) - [x] Stabilization improvements diff --git a/azuredeploy.json b/azuredeploy.json index 2e5f4b43..1728c027 100644 --- a/azuredeploy.json +++ b/azuredeploy.json @@ -220,7 +220,7 @@ "apiVersion": "2024-04-01", "name": "[concat(parameters('BlazorWebsiteName'), '/ZipDeploy')]", "properties": { - "packageUri": "https://github.com/oqtane/oqtane.framework/releases/download/v10.1.1/Oqtane.Framework.10.1.1.Install.zip" + "packageUri": "https://github.com/oqtane/oqtane.framework/releases/download/v10.1.2/Oqtane.Framework.10.1.2.Install.zip" }, "dependsOn": [ "[resourceId('Microsoft.Web/sites', parameters('BlazorWebsiteName'))]"