Our latest


Announcements, Blogs, Releases and much much more...

  • Read our latest news and announcements, hot off the press.

Announcements




Page 1 of 9


Category Announcement

Published on 16-Nov-2023

Oqtane 5 Released
Oqtane 5 Released
Oqtane 5 Released

The 5.0.0 release is a major release and represents the official migration from .NET 7 to .NET 8.

.NET 8 is the latest iteration of the .NET platform. It is a Long Term Support (LTS) release which means that it will be fully supported by Microsoft for the next 3 years (.NET 7 support ends in May 2024). The .NET 8 release includes enhanced performance, improved diagnostic and observability, expanded cross-platform support, and advanced tooling and integration. In addition, it includes some of the most substantial investments and improvements to Blazor and .NET MAUI since these UI frameworks were first introduced.

With the release of 5.0, Oqtane is fully transitioning its development efforts to .NET 8. And in alignment with our philosophy, there is a seamless and automated upgrade path from all prior Oqtane releases to the 5.0 release. In addition, Oqtane modules and themes that were created for prior versions will continue to function properly on 5.0 as the framework remains fully backward compatible.

Created on 10-Dec-2023 Last updated 10-Dec-2023

Assigned Tag
  • Oqtane
  • .net8

Category Announcement

Published on 03-May-2023

Oqtane 3.4.3 Released
Oqtane 3.4.3 Released
Oqtane 3.4.3 Released

This will be the last .NET 6 release - the next release will be Oqtane 4.0 on .NET 7 (expected timing late May/early June) Oqtane is an open source modular application framework that provides advanced functionality for developing single page applications that run on web, mobile, and desktop. It leverages the Razor component model to compose a fully dynamic web development experience which can be hosted either client-side or server-side on Blazor Server, Blazor WebAssembly, or Blazor Hybrid (via .NET MAUI).

#2782 Added validation to prevent module definitions from having duplicate names @sbwalker

#2780 Fixed module rendering order issue within pane @sbwalker

#2780 Moved default module ordering logic to server API for consistency and performance @sbwalker

#2776 Elevated AdminDashboard SecurityAccessLevel to View @thabaum

#2772 Improved module/theme/translation upload user experience to be consistent with download user experience @sbwalker

#2771 Fixed Deploy to Azure button @vnetonline

#2770 Removed default access to Admin Page for Registered User role @thabaum

#2768 Invalidated cache when updating Module Definition name, description, categories @sbwalker

#2759 Fixed MenuHorizontal scroll on mobile view (credit to @GOstSRB) @leigh-pointer

#2754 Added ability to use environment variables in order to set them as app settings in Azure @pepsinio

#2753 Allowed module and theme Dependencies property to include .dll file extension @sbwalker

#2753 Added testmode config setting for validating list of assemblies sent to client @sbwalker

#2747 Added content-type and UTF8 encoding to site map @thabaum

#2745 Added support for common actions to SharedResources @thabaum

#2741 Added filter to exclude orphaned permissions @sbwalker

#2740 Allowed routes with Module ID and no Action to be displayed on any page regardless of whether a PageModule record exists (ie. Admin Dashboard) @sbwalker

#2739 Fixed UI issue where it was not loading correct module instance in scenarios where the same module exists on multiple pages @sbwalker

#2731 Fixed regression issue where module definition permissions were not being created properly for new sites @sbwalker

#2730 Consolidated package installation so that it always occurs during startup and includes logging in case of errors @sbwalker

#2729 Improved UX by bypassing Toggle Password button focus @leigh-pointer

#2727 Included Module Settings when passing Module parameter to ISiteMap interface @leigh-pointer

#2725 Added defensive logic for null reference permissions issue @thabaum


This will be the last .NET 6 release - the next release will be Oqtane 4.0 on .NET 7 (expected timing late May/early June)

https://github.com/oqtane/oqtane.framework/releases/tag/v3.4.3

Created on 03-May-2023 Last updated 14-May-2023

Assigned Tag
  • Oqtane

Category Blog

Published on 30-Mar-2023

Oqtane Release 3.4.2
Oqtane Release 3.4.2
Oqtane Release 3.4.2

Oqtane is an open source modular application framework that provides advanced functionality for developing single page applications that run on web, mobile, and desktop. It leverages the Razor component model to compose a fully dynamic web development experience which can be hosted either client-side or server-side on Blazor Server, Blazor WebAssembly, or Blazor Hybrid (via .NET MAUI).

Changes in v3.4.2

#2704 Added defensive logic to package installer to handle invalid packages @sbwalker

#2703 Fixed translation package installation problem @sbwalker

#2698 Fixed PermissionNames not appearing in PermissionGrid @sbwalker

#2697 Modified Registration to display the Password complexity requirements @leigh-pointer

#2691 Implemented code improvements recommended by SonarQube @Behnam-Emamian

#2689 Added Setters to Permissions property to provide improved backward compatibility @sbwalker

#2684 Added defensive logic for loading modules which have not declared all dependencies on WebAssembly @sbwalker

#2683 Added defensive logic for loading modules which have not declared all dependencies on .NET MAUI @sbwalker

#2682 Fixed issue where ModuleDefinition cache properties were being overwritten @sbwalker

#2681 Fixed issue when adding new site to existing installation @sbwalker

https://github.com/oqtane/oqtane.framework/releases Release

Created on 30-Mar-2023 Last updated 10-Apr-2023

Assigned Tag
  • Oqtane
  • Blazor

Category Announcement

Published on 18-May-2022

OQTANE 3.1.2 Released
OQTANE 3.1.2 Released
OQTANE 3.1.2 Released

Small hitches sorted out and upgrade is simple.

The 3.1.2 release is primarily focused on stabilization. This includes critical fixes to a number of key scenarios including file uploading, MySQL database support, and creating new isolated tenants.


Oqtane supports multiple database engines including SQL Server, MySQL, SQLite, and PostgreSQL. Each database engine has its own unique characteristics which Oqtane attempts to support via a generic interface. However as new features are added to the framework it sometimes exposes new compatibility issues with specific database providers. In particular, MySQL was affected in recent releases because it has limitations where an index cannot be dropped if it is part of a foreign key constraint and indexes can only be a maximum of 3072 bytes. These limitations required some additional abstraction of the generic interface.


This release includes 18 pull requests by 2 different contributors, pushing the total number of project commits all-time to 2847. The Oqtane framework continues to evolve at a rapid pace to meet the needs of .NET developers. The 3.1.2 release is available for download on Github and is running in production at https://www.oqtane.org.


https://www.oqtane.org https://www.oqtane.org

Created on 18-May-2022 Last updated 29-May-2022

Assigned Tag
  • Oqtane
  • Blazor
  • Github

Category Article

Published on 28-Apr-2022

Visual Studio Tips
Visual Studio Tips
Visual Studio Tips

Paste JSON and XML as a Class

Paste JSON and XML as a Class

I don't use Visual Studio's Edit menu enough, obviously: For some time there's been a Paste Special option on that menu that I didn't know about. It has up to two choices depending on what kind of file you're editing: Paste XML as Classes and Paste JSON as Classes. Using the Paste JSON as Classes option, I can copy some JSON in my JavaScript code and create a corresponding C# or Visual Basic class in my server-side code just by picking a menu the appropriate menu choice.

However, I'd rather be able to use this functionality without having to drag my mouse to the Edit menu. To support that, I added a keystroke combination for the underlying commands related to these menu choices.

If you want to do the same, first go to Tools | Options | Environment | Keyboard. To grab the commands, in the "Show commands containing" textbox, type in AsClasses and select one. Then, from the "Use new shortcut in" dropdown list, pick your language's editor (for example, CSharp Editor or Microsoft Visual Basic Editor). Now you can click in the "Press shortcut keys" textbox to select your shortcut key(s): Just press the keys you want to use. Finally, click the Assign button. Lots of people forget that step and just click the OK button at the bottom of the dialog (by "lots of people" I mean: me).

You probably don't want to override any existing shortcut keys so I'd recommend picking a "chord": two or more keys pressed sequentially while holding down one of the control keys (the dialog box will tell you if you pick a shortcut that's already in use). I picked Ctrl+K, J for pasting JSON and Ctrl+K, M for pasting XML (Ctrl+K, X was already taken for inserting snippets and, who knows, I might start using that some day).

Created on 29-Apr-2022 Last updated 09-May-2022

Assigned Tag
  • Visual Studio
  • Tips & Tricks

Page 1 of 9