Oqtane.framework Versions Save

CMS & Application Framework for Blazor & .NET MAUI

v4.0.1

10 months ago

Changes in v4.0.1

#3042 Fixed margins in Control Panel @leigh-pointer #3040 Added html line breaks to error log notifications @sbwalker #3039 Prevented client ServiceBase logging from looping if server is down @sbwalker #3036 Added logic to package installer to ensure assembly version being installed is equal to or greater than existing assembly @sbwalker #3035 Added a ShowProgress parameter to FileManager to control upload behavior @sbwalker #3034 Fixed issue where Page would disappear if a module was published or unpublished @vnetonline #3030 Displayed warning message to user if package service does not return package requested @sbwalker #3026 Fixed FileManager to call SetImage() before the OnSelect event is fired @vnetonline #3025 Added integration for SupportUrl in Module Definitions and Themes @sbwalker #3024 Removed OnSelect call from OnParametersSet() in FileManager which was causing infinite loop @sbwalker #3020 Added null handling for DisplayName during user creation @sbwalker #3019 Fixed bash script line endings and preserved using gitattributes (credit @rcpacheco) @sbwalker #3018 Allowed page themes to be different from site theme (display warning message) @sbwalker #3017 Added logging to ServiceBase to capture HTTP errors @sbwalker #3016 Enhanced User Management with column sorting @leigh-pointer #3011 Added UserManager class to simplify user management for developers @sbwalker #3011 Improved response validation in ServiceBase for missing Controller methods @sbwalker #3011 Allowed Section component to support parameter changes @sbwalker #3009 Replaced primitive RenderFragment in ContainerBuilder with DynamicComponent @ajahangard #3006 Added handling for both 404 and 403 status codes in GET API response (404 should not log) @sbwalker #2998 Added module name to the Module Settings UI (credit @jlidbeck) @sbwalker #2997 Added logging methods to ThemeBase @sbwalker #2996 Added margin between edit and cog icons @sbwalker #2995 Allowed host users and admins to have personalized pages @sbwalker #2994 Prevented logging of error for personalized pages @sbwalker #2993 Made GetHttpClient() in ServiceBase public @sbwalker #2992 Refactored upload so that it is not dependent on Folder Browse permission @sbwalker #2991 Fixed validation issue in FileManager related to Browse permissions @sbwalker #2989 Added API method to get File based on name @sbwalker #2989 Fixed permission validation for Folder using Browse rather than View @sbwalker #2988 Removed Build action for Oqtane Server in external Theme template @leigh-pointer #2985 Fixed the ResourceType in Module Settings with correct Namespace @vnetonline #2984 Removed Build action for Oqtane Server in external Module template @leigh-pointer #2982 Added package enhancements for Marketplace including SupportUrl @sbwalker #2980 Fixed personalized page to user UserName rather than DisplayName @vnetonline #2975 Added IsRead property to Notifications @vnetonline #2967 Removed RazorLangVersion tag from Client project files @leigh-pointer #2964 Fixed issue where full list of themes was not available in Page Management @markdav-is #2961 Fixed issue where unpublish page was missing logic @leigh-pointer #2959 Fixed issue where module action menu was not displaying the correct mouse pointer @leigh-pointer #2956 Enhanced User Roles Effective and Expiry date to use HTML5 data input @leigh-pointer #2954 Improved Folder API to format path during add/update @sbwalker #2953 Fixed progress bar styling in FileManager @sbwalker #2952 Allowed FileManager to support changes in parameters @sbwalker #2950 Allowed admin to navigate to site settings for deleted site @sbwalker #2949 Fixed issue where HasChildren page property was not considering deleted pages @sbwalker #2948 Reversed ordering of page name and site name for page title to improve SEO (credit @ijungleboy) @sbwalker #2947 Changed UI terminology from Aliases to Urls in Site Settings to improve discoverability @sbwalker #2946 Used case insensitive comparison for ActiveTab name in TabStrip component @sbwalker #2945 Set Expanded to lowercase in Section component if specified @sbwalker #2944 Fixed issue where path was not updated correctly when parent page was changed @sbwalker #2940 Added ThemeSettings and ContainerSettings to external Theme template @vnetonline #2939 Filtered deleted sites in Notification job @sbwalker #2937 Added cosmetic fix for input elements within a table introduced with Bootstrap 5.3 @sbwalker

List of Contributors in v4.0.1

@sbwalker @vnetonline @leigh-pointer @ajahangard @ijungleboy @markdav-is @rcpacheco @jlidbeck

Additional Resources

Oqtane is an open source CMS and Application Framework that provides advanced functionality for developing web, mobile, and desktop applications on .NET. It leverages Blazor to compose a fully dynamic digital experience which can be hosted on Blazor Server, Blazor WebAssembly, or Blazor Hybrid (via .NET MAUI).

This release of Oqtane is targeted at .NET 7.0. This release is upgradeable from previous Oqtane releases with no breaking changes. Simply install the Upgrade package and your database will be upgraded automatically.

This release of Oqtane is running in production at https://www.oqtane.org, https://www.blazorcms.net, and https://www.blazorkit.net

v4.0.0

10 months ago

Changes in v4.0.0

#2931 fix validation message behavior in installer @sbwalker #2929 Added logging to HostedServiceBase @sbwalker #2924 Enhanced external templates to support non-Windows environments (credit @AnjaSimons) @sbwalker #2921 Restricted sites to using a single theme and improved site theme/container selection experience @sbwalker #2918 Improved container selection user experience in Edit Page @sbwalker #2910 Upgraded external Module template naming convention to [Owner].Module.[Module] @vnetonline #2908 Fixed parent page selection in add page and fixed navigation on save/cancel @sbwalker #2904 Fixed theme deletion and fallback support @sbwalker #2898 Upgraded external Theme template naming convention to [Owner].Theme.[Theme] @vnetonline #2897 Allowed selection of site template during installation @sbwalker #2895 Fixed external template targeting .NET 7.0 in ThemeController and ModuleDefinitionController @vnetonline #2893 Update Installer to use new method for including style sheets @sbwalker #2892 Upgraded external Theme template to Bootstrap 5.3 @sbwalker #2891 Upgraded framework to Bootstrap 5.3 @sbwalker #2890 Upgraded external Theme template to .NET 7 @sbwalker #2888 Upgraded external Module template to .NET 7 @sbwalker #2884 Allowed PNG and GIF files for favicon specification @sbwalker #2883 Modified Deploy to Azure so that the default SQL Server and App Service provisioned are Basic Tier @vnetonline #2881 Moved logic for populating theme control names from components @sbwalker #2878 Updated project tagline @sbwalker #2876 Ordered theme controls and container controls in alphabetical order based on name @sbwalker #2875 Added ScrollToPageTop method to ThemeBase @sbwalker #2873 Allowed Theme Settings to be managed in Page Management @sbwalker #2872 Fixed page setting cleanup on delete and centralized module delete logic within PageModuleRepository @sbwalker #2871 Fixed module description templating issue in Module Creator @leigh-pointer #2868 Added Head root component integration to Oqtane.MAUI index.html @sbwalker #2867 Added ability for non-administrators to edit page settings @sbwalker #2865 Implemented ReturnUrl for Page Management invoked by Control Panel @sbwalker #2864 Fixed personalized page redirect @sbwalker #2863 Added improvements for personalized pages @sbwalker #2861 Included methods for programmatic script injection scenarios @sbwalker #2852 Optimized pane rendering logic @sbwalker #2852 Preserved querystring parameters when invoking edit mode @sbwalker #2852 Relocate anchor tags from Module Title component to Module Instance to ensure they are always injected reliably @sbwalker #2852 Added ability to determine if navigation is internal via PageState property @sbwalker #2851 Added IEventSubscriber and EventDistributorHostedService to optimize event processing @sbwalker #2849 Added ability to specify PageTemplates for modules (ie. Routable Modules) @sbwalker #2847 Ensure consistent admin dashboard styling @sbwalker #2845 Added module base class method for ScrollToPageTop @sbwalker #2844 Utilized new IModule/ITheme Resources capability in default modules and themes @sbwalker #2843 Added validation support for user profile fields @sbwalker #2842 Added ability to disable SMTP and set IsBodyHtml by default @sbwalker #2841 Added support for Job and Theme settings in API @sbwalker #2840 Fixed site provisioning permissions issue for host module definitions @sbwalker #2839 Added ability to edit Themes in Theme Management and modify theme name @sbwalker #2838 Optimized client assembly download service to be site specific @sbwalker #2838 Added support for site level scripts via Resources defined in IModule or ITheme @sbwalker #2837 Added ability to specify if a theme is enabled for a site @sbwalker #2834 Added ability to specify if a module definition is enabled for a site @sbwalker #2830 Added support for body content at the site and page level @sbwalker #2829 Added support for page level scripts @sbwalker #2829 Added ability to detect prerendering via a SiteState property @sbwalker #2828 Added ability to specify Resources in IModule and ITheme interfaces @sbwalker #2828 Fixed module settings error for personalized pages @sbwalker #2824 Optimized JavaScript handling @sbwalker #2823 Added support for type attribute in JSInterop IncludeScript @sbwalker #2820 Allowed HeadContent to support script tags @sbwalker #2817 Added HeadContent property to Site and replaced Meta property on Page with HeadContent property @sbwalker #2813 Relocated favicon rendering to Head component @sbwalker #2812 Added scroll to top functionality to User Profile Page on save @vnetonline #2811 Added ability to add arbitrary content to head and body during client and server rendering via a new Head root component @sbwalker #2809 Added AboutAssets.txt to Oqtane.MAUI project and changed assembly references to Oqtane 4.0.0 @sbwalker #2808 Removed unneccesary package reference to Microsoft.AspNetCore.Mvc.ViewFeatures (not used and deprecated) @sbwalker #2807 Upgraded framework to .NET 7 (updated all dependencies) @sbwalker #2804 Modified the FilterModuleDefinition method to return null if the object passed to the method is null instead of returning a new object @sbwalker #2802 Fixed backslash in FileService @chlupac #2799 Removed protocol automatically from alias names during add/update @sbwalker

List of Contributors in v4.0.0

@sbwalker @vnetonline @leigh-pointer @chlupac @AnjaSimons

Additional Resources

Oqtane is an open source CMS and Application Framework that provides advanced functionality for developing web, mobile, and desktop applications on .NET. It leverages Blazor to compose a fully dynamic digital experience which can be hosted on Blazor Server, Blazor WebAssembly, or Blazor Hybrid (via .NET MAUI).

This release of Oqtane is targeted at .NET 7.0. This release is upgradeable from previous Oqtane releases with no breaking changes. Simply install the Upgrade package and your database will be upgraded automatically.

This release of Oqtane is running in production at https://www.oqtane.org, https://www.blazorcms.net, and https://www.blazorkit.net

v3.4.3

1 year ago

Changes in v3.4.3

#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

List of Contributors in v3.4.3

@sbwalker @thabaum @leigh-pointer @GOstSRB @pepsinio @vnetonline

Additional Resources

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).

This release of Oqtane is targeted at .NET 6.0. This release is upgradeable from previous Oqtane releases. Simply install the Upgrade package and your database will be upgraded automatically.

This release of Oqtane is running in production at https://www.oqtane.org and https://www.blazorcms.net

v3.4.2

1 year ago

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

List of Contributors in v3.4.2

@sbwalker @leigh-pointer @Behnam-Emamian

Additional Resources

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).

This release of Oqtane is targeted at .NET 6.0. This release is upgradeable from previous Oqtane releases. Simply install the Upgrade package and your database will be upgraded automatically.

This release of Oqtane is running in production at https://www.oqtane.org and https://www.blazorcms.net

v3.4.1

1 year ago

Changes in v3.4.1

#2674 Fixed issue where cached ModuleDefinition properties were being overwritten by object filter @sbwalker

List of Contributors in v3.4.1

@sbwalker

Additional Resources

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).

This release of Oqtane is targeted at .NET 6.0. This release is upgradeable from previous Oqtane releases. Simply install the Upgrade package and your database will be upgraded automatically.

This release of Oqtane is running in production at https://www.oqtane.org and https://www.blazorcms.net

v3.4.0

1 year ago

Release Notes

We deeply appreciate the contributions from our community. A grand total of 62 pull requests by 6 contributors were integrated into this release bring the total to over 3300 commits all time.

Noteworthy Changes in v3.4.0

#2661 Added support for capturing user profile information from claims during external login @sbwalker #2660 Optimized Permission model by removing reference to Role to reduce API payload and minimize information disclosure @sbwalker #2657 Added IsPortable property on ModuleDefinition to indicate if module implements IPortable @sbwalker #2657 Filtered ModuleDefinition models returned from API to minimize information disclosure @sbwalker #2652 Ensured system remains in edit mode when user is editing a page @sbwalker #2649 Added OnPageChange event handler to the Page and the Module Pagers in Recycle Bin @leigh-pointer #2644 Hid the Clear Notifications option if no notifications exist @leigh-pointer #2642 Fixed validation logic for deleting modules from the Recycle Bin @leigh-pointer #2637 Fixed localization issue in Scheduled Jobs @sbwalker #2628 Updated module and theme templates to latest standards @thabaum #2628 Fixed utilization of root folder in Module and Theme Creator @thabaum #2628 Fixed navbar CSS in theme template @thabaum #2626 Improved deletion of modules from Recycle Bin to handle permissions and settings @leigh-pointer #2620 Added logic to delete Permissions when a Module is uninstalled @leigh-pointer #2612 Replaced custom encoded permission strings with permission collections to improve maintainability and performance @sbwalker #2611 Explicity specify optional and reload parameters when loading appsettings.json @sbwalker #2610 Added logic to delete Module and PageModule when Module is uninstalled @leigh-pointer #2609 Improved Hot Reload support by extending watching of *.dll files @Behnam-Emamian #2608 Migrated tenant connection string details from database to appsettings.json @sbwalker #2608 Updated Site Settings and Site Management (when adding a new site) to display the connection name rather than the actual connection string related to a tenant @sbwalker #2608 Changed terminology in the UI from using "tenant" to "database" as the tenant concept seems to cause a lot of confusion @sbwalker #2608 Overhauled Sql Management so that it is now driven from the list of database connections in appsettings.json (rather than from the Tenant database table) - and now allows you to add additional connections as well (including ones that are not related to the Oqtane framework) @sbwalker #2606 Added a sitemap generator which outputs all public pages and also includes an ISitemap interface for modules @sbwalker #2605 Added AddByteColumn migration method to enable creation of tinyint columns in the database @Behnam-Emamian #2601 Added logic to delete Settings when Module is uninstalled @leigh-pointer #2599 Added defensive logic to querystring parser to handle duplicate parameters @sbwalker #2598 Improved initialization logic in FileManager which could sometimes result in Upload button not being displayed when the component was initially loaded @sbwalker #2597 Fixed EF Core tracking error when updating a file in a folder which has a Capacity specified @sbwalker #2593 Added Oqtane.Server project back to module and theme external template solutions @sbwalker #2592 Added logic to restrict the term "oqtane" as an organization or module/theme name (to avoid namespace issues) in Module/Theme Creator @sbwalker #2591 Added new API methods for managing visitor settings (for personalization) @sbwalker #2590 Optimized Split() logic for consistency throughout framework @sbwalker #2589 Added ability to clear System Log @sbwalker #2587 Added IsDeleted columns back to Folder and File tables to preserve compatibility for SQLite (which does not support ability to drop columns) @sbwalker #2585 Refactored visitor cookie name into a shared constant @sbwalker #2582 Added defensive logic for null ModuleDefinition reference when loading permissions in PageModuleRepository (credit @beolafsen) @sbwalker #2581 Fixed issue where error notification sent via email included direct link to specific log item, however redirect was causing an infinite loop @sbwalker #2581 Preserved url querystring parameters during login/logout @sbwalker #2580 Modified ActiveDatabase setter to be public @markdav-is #2579 Suppressed unauthorized visitor logging message as it is usually caused by clients that do not support cookies @sbwalker #2571 Fixed issue where TenantMiddleware was not rewriting the Url path for the new File Server when running on an Alias Path which resulted in a 404 when serving files @sbwalker

List of Contributors in v3.4.0

@sbwalker @leigh-pointer @Behnam-Emamian @thabaum @beolafsen @markdav-is

Additional Resources

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).

This release of Oqtane is targeted at .NET 6.0. This release is upgradeable from previous Oqtane releases. Simply install the Upgrade package and your database will be upgraded automatically.

This release of Oqtane is running in production at https://www.oqtane.org and https://www.blazorcms.net

v3.3.1

1 year ago

Changes in v3.3.1

#2562 Set Permission EntityName explicitly to Module when adding module to page from Control Panel @sbwalker #2560 Fixed incorrect projectUrl in Oqtane.Framework.nuspec @sbwalker

List of Contributors in v3.3.1

@sbwalker

Additional Resources

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).

This release of Oqtane is targeted at .NET 6.0. This release is upgradeable from previous Oqtane releases. Simply install the Upgrade package and your database will be upgraded automatically.

This release of Oqtane is running in production at https://www.oqtane.org and https://www.blazorcms.net

v3.3.0

1 year ago

Release Notes

We deeply appreciate the contributions from our community. A grand total of 51 pull requests by 3 contributors were integrated into this release bring the total to 3201 commits all time.

Noteworthy Changes in v3.3.0

#2545 Added Relay Configured site setting to enable sending from users email address @sbwalker #2544 Formatted PermissionNames to be more readable @sbwalker #2543 Added support for API permissions at the UI layer - including ability to delegate user, role, profile management @sbwalker #2542 Added ability to view error.log in System Info @sbwalker #2540 Improved dynamic policy registration to handle possible race conditions @sbwalker #2539 Included owner in migration tag name in external module template @sbwalker #2538 Added an Autocomplete component and implemented in permission grid @sbwalker #2535 Updated framework root to use the new dark/light theme glow logo @thabaum #2533 Added support for multiple TabStrip components on a page @sbwalker #2532 Fixed skip pages logic in Pager component where screen was not being refreshed @sbwalker #2521 Added new methods for deleting a setting and retrieving a list of settings @sbwalker #2519 Made casing consistent in route template definition and method parameter declaration or else Swagger will not be able to resolve @sbwalker #2518 Added ModuleControllerBase helper method for validating EntityId @sbwalker #2516 Hid connection string by default in SQL Management and provided toggle for display @sbwalker #2515 Provided guidance about password complexity policy during install, and ensured modified passwords meet complexity policy @sbwalker #2514 Enhanced dynamic authorization policies to support default role specification @sbwalker #2506 Generated password using CultureInfo.InvariantCulture to ensure it satisfies password complexity criteria @sbwalker #2505 Set default Visibility to Same As Page when adding module to a page @sbwalker #2504 Changed the Pager bar to set the mouse pointer to pointer @leigh-pointer #2496 Added ability to include inline script resource definitions in modules and themes @sbwalker #2493 Fixed JS Interop methods for includeScript and includeMeta @sbwalker #2492 Moved UI logic from FileService to FileManager component @sbwalker #2492 Updated file attributes if uploading a new version of a file @sbwalker #2492 Cleaned up temporary artifacts on upload failure, added progressive retry logic, and improved upload efficiency @sbwalker #2490 Scoped permissions by SiteId to support entity level authorization as well as improved caching and performance @sbwalker #2490 Optimized GetTenant to use existing cache @sbwalker #2482 Added support for dynamic authorization policies @sbwalker #2477 Added ETag / 304 Not Modified logic to File server for performance optimization @sbwalker #2476 Fixed File Update API to update the file size and image dimensions @sbwalker #2475 Removed IDeletable fields from Folder and File entities as they are not used @sbwalker #2474 Fixed IDeletable code documentation @sbwalker #2473 Updated models to use new ModelBase @sbwalker #2472 Introduced a ModelBase to move the IAuditable properties to a base class @sbwalker #2471 Added loading icon to Maui project @sbwalker #2469 Removed Oqtane.Server from external templates as it causes random compilation issues @sbwalker #2468 Added validation message for missing package name @sbwalker #2467 Fixed language delete refresh @sbwalker #2466 Improved translation install/upgrade experience @sbwalker #2463 Replace assembly references with package references in Maui project @sbwalker

List of Contributors in v3.3.0

@sbwalker @leigh-pointer @thabaum

Additional Resources

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).

This release of Oqtane is targeted at .NET 6.0. This release is upgradeable from previous Oqtane releases. Simply install the Upgrade package and your database will be upgraded automatically.

This release of Oqtane is running in production at https://www.oqtane.org and https://www.blazorcms.net

v3.2.1

1 year ago

Release Notes

We deeply appreciate the contributions from our community. A grand total of 21 pull requests by 4 contributors were integrated into this release bring the total to 3093 commits all time.

Noteworthy Changes in v3.2.1

#2459 Changed default Service Url in MAUI solution so users can immediately run client app @sbwalker #2454 Resolved deserialization issue with System.Text.Json when accessing remote services @sbwalker #2451 Removed NewtonSoft.Json dependency @sbwalker #2450 Added support for a file download event @sbwalker #2449 Enhanced SyncManager to raise events which can be handled on the server within hosted services @sbwalker #2449 Raised create, update, delete events for all major entities @sbwalker #2449 Included support for refresh and reload events to synchronize client state @sbwalker #2449 Moved client state cache invalidation to a hosted service to separate concerns and demonstrate new event system @sbwalker #2446 Added upgrade logic for sites using remapped identifier and email claim @sbwalker #2445 Added logging for all user creation errors raised from .NET Identity @sbwalker #2444 Added support for roles as part of external login via OIDC @sbwalker #2443 Fixed issue with upgrade available indicator in Language Management @sbwalker #2442 Fixed regression error in Recycle Bin @sbwalker #2441 Ensure resource urls are constructed consistently on both client and server (credit @ijungleboy) @sbwalker #2440 Added footer to the Pager control @leigh-pointer #2431 Fixed support for unattended installation @chlupac #2430 Added Blazor Server automatic reconnect script @sbwalker #2430 Fixed Event Log direct link from notification emails related to errors @sbwalker #2430 Add more validation to Pager component @sbwalker #2430 Improved browser refresh JS Interop script to wait for server availability @sbwalker #2425 Fixed id convention used in new File Server @sbwalker #2424 Improved BaseUrl handling for MAUI @sbwalker #2424 Replaced ContentUrl with FileUrl and improved new File Server @sbwalker #2421 Cleaned up PDB files saved on client and hash client assembly file names @sbwalker

List of Contributors in v3.2.1

@sbwalker @leigh-pointer @chlupac @ijungleboy

Additional Resources

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).

This release of Oqtane is targeted at .NET 6.0. This release is upgradeable from previous Oqtane releases. Simply install the Upgrade package and your database will be upgraded automatically.

This release of Oqtane is running in production at https://www.oqtane.org and https://www.blazorcms.net

v3.2.0

1 year ago

Release Notes

We deeply appreciate the contributions from our community. A grand total of 49 pull requests by 6 contributors were integrated into this release bring the total to 3051 commits all time.

Noteworthy Changes in v3.2.0

#2414 Cached assemblies on client using IndexedDB on WebAssembly @sbwalker #2412 Optimized assembly loading for .NET MAUI to use client storage @sbwalker #2406 Store job date times as UTC for cross platform database support @dkoehnolms #2398 Added UrlParametersTemplate to improve support of Url paramters @sbwalker #2396 Introduced new Default pane to improve user experience @sbwalker #2395 Added public Refresh method to FileManager @sbwalker #2385 Moved hierarchical ordering logic to server for pages and folders @sbwalker #2384 Made folder paths cross platform @sbwalker #2384 Introduced file handler for abstracting the serving of files @sbwalker #2384 Enabled url mapping for broken file links @sbwalker #2384 Resolved public folder deletion issue @sbwalker #2373 Added improvements to richtexteditor to allow file management in raw html editor @sbwalker #2373 Allowed disabling of raw html editor which can be utilized via new setting in Html/Text module @sbwalker #2372 Optimized developer experience for Url Parameters and implemented in Event Log for functional example @sbwalker #2370 Improved administrative responsibilities for page editors and module content editors @sbwalker #2363 Added ability to specify a site home page @sbwalker #2363 Updated default template content to include .NET MAUI support @sbwalker #2362 Added Site option for specifying a Hosting Model of Blazor Hybrid @sbwalker #2361 Optimized site router logic @sbwalker #2359 Added performance improvements to reduce API and database interactions @sbwalker #2358 Added ability to dynamically set module title and visibility from components @sbwalker #2357 Added support for preserving url state when loading admin components @sbwalker #2356 Added Schema support to BaseEntityBuilder methods @dkoeder #2355 Added Blazor Hybrid / .NET MAUI support @sbwalker #2351 Fixed issue in passing Lifetime property to GenerateToken @ajahangard #2348 Fixed satellite assembly loading issue when running on WebAssembly @sbwalker #2342 Fixed path issue with error.png when loading files that do not exist @sbwalker #2341 Refactored module upgrade logic to remove requirement on ServerManagerType for modules which have no backend @sbwalker #2338 Truncated UserAgent when saving Visitor information @chlupac #2331 Added proper translation keys for ActionLink and ActionDialog into RESX for Module Creator template @sbwalker #2328 Included ResourceType attribute in Settings component for external module template @sbwalker #2327 Added progress indicator for bulk operations in Recycle Bin and User Profile @leigh-pointer #2326 Fixed formatting issues with Bootstrap 5.2 @leigh-pointer #2325 Fixed upgrade issue for framework translations @sbwalker #2325 Added improvements for managing module translations @sbwalker #2322 Updated Bootstrap to 5.2 @leigh-pointer

List of Contributors in v3.2.0

@sbwalker @leigh-pointer @chlupac @dkoeder @ajahangard @dkoehnolms

Additional Resources

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).

This release of Oqtane is targeted at .NET 6.0. This release is upgradeable from previous Oqtane releases. Simply install the Upgrade package and your database will be upgraded automatically.

This release of Oqtane is running in production at https://www.oqtane.org and https://www.blazorcms.net