- | |
|
|
@SharedLocalizer["Name"] |
@@ -38,7 +37,6 @@ else
}
- @Localizer["Assign"] |
@context.Name |
@context.Version |
diff --git a/Oqtane.Client/Resources/Modules/Admin/Site/Index.resx b/Oqtane.Client/Resources/Modules/Admin/Site/Index.resx
index 97e4e8f3..5379db80 100644
--- a/Oqtane.Client/Resources/Modules/Admin/Site/Index.resx
+++ b/Oqtane.Client/Resources/Modules/Admin/Site/Index.resx
@@ -193,7 +193,7 @@
Enter the port number for the SMTP server. Please note this field is required if you provide a host name.
- Specify if SSL is required for your SMTP server
+ Specify the type of SSL connection for your SMTP server
Enter the username for your SMTP account
@@ -241,7 +241,7 @@
Port:
- SSL Required:
+ SSL Options:
Username:
@@ -489,4 +489,19 @@
The Authority Url for the SMTP provider
+
+ None
+
+
+ Automatic
+
+
+ Upgrade To TLS
+
+
+ Require SSL/TLS
+
+
+ Use TLS When Available
+
\ No newline at end of file
diff --git a/Oqtane.Client/Resources/Modules/Admin/Themes/Index.resx b/Oqtane.Client/Resources/Modules/Admin/Themes/Index.resx
index 0d3b97ed..4865dc89 100644
--- a/Oqtane.Client/Resources/Modules/Admin/Themes/Index.resx
+++ b/Oqtane.Client/Resources/Modules/Admin/Themes/Index.resx
@@ -156,9 +156,6 @@
Enabled?
-
- Assign
-
Check For Updates
diff --git a/Oqtane.Maui/Oqtane.Maui.csproj b/Oqtane.Maui/Oqtane.Maui.csproj
index f7dbf38d..f9cf6f34 100644
--- a/Oqtane.Maui/Oqtane.Maui.csproj
+++ b/Oqtane.Maui/Oqtane.Maui.csproj
@@ -72,9 +72,9 @@
-
-
-
+
+
+
diff --git a/Oqtane.Package/Oqtane.Application.Template.cmd b/Oqtane.Package/Oqtane.Application.Template.cmd
new file mode 100644
index 00000000..2352d0e9
--- /dev/null
+++ b/Oqtane.Package/Oqtane.Application.Template.cmd
@@ -0,0 +1,3 @@
+nuget.exe pack ..\Oqtane.Application\Oqtane.Application.Template.nuspec -NoDefaultExcludes
+pause
+
diff --git a/Oqtane.Server/Components/App.razor b/Oqtane.Server/Components/App.razor
index 638c8031..a4e1f4ab 100644
--- a/Oqtane.Server/Components/App.razor
+++ b/Oqtane.Server/Components/App.razor
@@ -646,8 +646,6 @@
var typename = "";
if (module.ModuleDefinition != null)
{
- resources = AddResources(resources, module.ModuleDefinition.Resources, ResourceLevel.Module, alias, "Modules", Utilities.GetTypeName(module.ModuleDefinition.ModuleDefinitionName), module.ModuleDefinition.Fingerprint, site.RenderMode);
-
// handle default action
if (action == Constants.DefaultAction && !string.IsNullOrEmpty(module.ModuleDefinition.DefaultAction))
{
@@ -692,7 +690,11 @@
var moduleobject = Activator.CreateInstance(moduletype) as IModuleControl;
if (moduleobject != null)
{
- resources = AddResources(resources, moduleobject.Resources, ResourceLevel.Module, alias, "Modules", moduletype.Namespace, module.ModuleDefinition?.Fingerprint, site.RenderMode);
+ if (module.ModuleDefinition != null)
+ {
+ resources = AddResources(resources, module.ModuleDefinition.Resources, ResourceLevel.Module, alias, "Modules", moduletype.Namespace, module.ModuleDefinition.Fingerprint, moduleobject.RenderMode);
+ }
+ resources = AddResources(resources, moduleobject.Resources, ResourceLevel.Module, alias, "Modules", moduletype.Namespace, module.ModuleDefinition?.Fingerprint, moduleobject.RenderMode);
// settings components are dynamically loaded within the framework Settings module
if (action.ToLower() == "settings" && module.ModuleDefinition != null)
diff --git a/Oqtane.Server/Infrastructure/DatabaseManager.cs b/Oqtane.Server/Infrastructure/DatabaseManager.cs
index bfb3be45..3d72ae06 100644
--- a/Oqtane.Server/Infrastructure/DatabaseManager.cs
+++ b/Oqtane.Server/Infrastructure/DatabaseManager.cs
@@ -754,7 +754,11 @@ namespace Oqtane.Infrastructure
private void ValidateConfiguration()
{
var defaultDatabaseType = _configManager.GetSetting(SettingKeys.DatabaseSection, SettingKeys.DatabaseTypeKey, "");
- if (defaultDatabaseType == "" || defaultDatabaseType.Contains(", Oqtane.Database."))
+ if (defaultDatabaseType == "")
+ {
+ _configManager.AddOrUpdateSetting($"{SettingKeys.DatabaseSection}:{SettingKeys.DatabaseTypeKey}", Constants.DefaultDBType, true);
+ }
+ if (defaultDatabaseType.Contains(", Oqtane.Database."))
{
// DefaultDBType migrated to Oqtane.Server in 6.1.5
defaultDatabaseType = defaultDatabaseType.Substring(0, defaultDatabaseType.IndexOf(", ")) + ", Oqtane.Server";
@@ -769,8 +773,8 @@ namespace Oqtane.Infrastructure
else
{
// available databases migrated to Oqtane.Server in 6.1.5
- updateAvailableDatabases = !_configManager.GetSection(SettingKeys.AvailableDatabasesSection).GetChildren()
- .Any(item => item.GetSection("DBType").Value == "Oqtane.Database.SqlServer.SqlServerDatabase, Oqtane.Server");
+ updateAvailableDatabases = _configManager.GetSection(SettingKeys.AvailableDatabasesSection).GetChildren()
+ .Any(item => item.GetSection("DBType").Value.Contains(", Oqtane.Database."));
}
if (updateAvailableDatabases)
{
diff --git a/Oqtane.Server/Infrastructure/Jobs/NotificationJob.cs b/Oqtane.Server/Infrastructure/Jobs/NotificationJob.cs
index 6b755e89..65b53cc0 100644
--- a/Oqtane.Server/Infrastructure/Jobs/NotificationJob.cs
+++ b/Oqtane.Server/Infrastructure/Jobs/NotificationJob.cs
@@ -81,9 +81,31 @@ namespace Oqtane.Infrastructure
// construct SMTP Client
using var client = new SmtpClient();
+ var secureSocketOptions = SecureSocketOptions.Auto;
+ switch (settingRepository.GetSettingValue(settings, "SMTPSSL", "Auto"))
+ {
+ case "None":
+ secureSocketOptions = SecureSocketOptions.None;
+ break;
+ case "Auto":
+ secureSocketOptions = SecureSocketOptions.Auto;
+ break;
+ case "StartTls":
+ secureSocketOptions = SecureSocketOptions.StartTls;
+ break;
+ case "SslOnConnect":
+ case "True": // legacy setting value
+ secureSocketOptions = SecureSocketOptions.SslOnConnect;
+ break;
+ case "StartTlsWhenAvailable":
+ case "False": // legacy setting value
+ secureSocketOptions = SecureSocketOptions.StartTlsWhenAvailable;
+ break;
+ }
+
await client.ConnectAsync(settingRepository.GetSettingValue(settings, "SMTPHost", ""),
- int.Parse(settingRepository.GetSettingValue(settings, "SMTPPort", "")),
- bool.Parse(settingRepository.GetSettingValue(settings, "SMTPSSL", "False")) ? SecureSocketOptions.StartTls : SecureSocketOptions.None);
+ int.Parse(settingRepository.GetSettingValue(settings, "SMTPPort", "")),
+ secureSocketOptions);
if (settingRepository.GetSettingValue(settings, "SMTPAuthentication", "Basic") == "Basic")
{
diff --git a/Oqtane.Server/Oqtane.Server.csproj b/Oqtane.Server/Oqtane.Server.csproj
index fc21ef6a..da8a2bb1 100644
--- a/Oqtane.Server/Oqtane.Server.csproj
+++ b/Oqtane.Server/Oqtane.Server.csproj
@@ -37,7 +37,7 @@
-
+
all
diff --git a/Oqtane.Server/Startup.cs b/Oqtane.Server/Startup.cs
index b1138db7..3642addd 100644
--- a/Oqtane.Server/Startup.cs
+++ b/Oqtane.Server/Startup.cs
@@ -11,7 +11,6 @@ using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Oqtane.Extensions;
using Oqtane.Infrastructure;
-using Oqtane.Models;
using Oqtane.Repository;
using Oqtane.Security;
using Oqtane.Shared;
diff --git a/README.md b/README.md
index cdad0222..57553e3e 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
-[6.1.4](https://github.com/oqtane/oqtane.framework/releases/tag/v6.1.4) was released on July 30, 2025 and is a maintenance release including 49 pull requests by 4 different contributors, pushing the total number of project commits all-time to over 6700. The Oqtane framework continues to evolve at a rapid pace to meet the needs of .NET developers.
+[6.1.5](https://github.com/oqtane/oqtane.framework/releases/tag/v6.1.5) was released on August 17, 2025 and is a maintenance release including 46 pull requests by 3 different contributors, pushing the total number of project commits all-time to almost 6900. The Oqtane framework continues to evolve at a rapid pace to meet the needs of .NET developers.
# Try It Now!
@@ -92,6 +92,10 @@ 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...
+[6.1.5](https://github.com/oqtane/oqtane.framework/releases/tag/v6.1.5) (Aug 17, 2025)
+- [x] Stabilization improvements
+- [x] Database provider improvements
+
[6.1.4](https://github.com/oqtane/oqtane.framework/releases/tag/v6.1.4) (Jul 30, 2025)
- [x] Stabilization improvements
- [x] SMTP OAuth2 Support
diff --git a/azuredeploy.json b/azuredeploy.json
index f4718349..40b5a30b 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/v6.1.4/Oqtane.Framework.6.1.4.Install.zip"
+ "packageUri": "https://github.com/oqtane/oqtane.framework/releases/download/v6.1.5/Oqtane.Framework.6.1.5.Install.zip"
},
"dependsOn": [
"[resourceId('Microsoft.Web/sites', parameters('BlazorWebsiteName'))]"
|