Skip to main content

Xomega.Net for VS 2022

Below is a summary of the release notes for the Xomega.Net for Visual Studio 2022 releases.

Version 9.13.1

Release Date: 8/31/2025

New features

Minor changes

  • Added handling of link results from saving a child details view.
  • Generated Syncfusion Blazor views now use SfTab for tabs.
  • Generated data properties are now set as Required based on service input parameters first.
  • Improved custom code for unknown parameters in generated service CRUD operations.
  • Removed deprecated child-panels element, replaced by the new panel-layout element.

Bug fixes

Version 9.13.0

Release Date: 4/30/2025

New features

Minor changes

  • Refactored grid paging to use new data list object paging and sorting framework for both server and client-side paging.
  • Added base operators enum with all properties for ease of defining new enums, and made the operators enum inherit from it.
  • Updated Enumeration Data XML generator to exclude abstract enums.
  • Added generated DbContext constructor with non-generic options to allow defining a custom subclass for DbContext.

Bug fixes

  • Fixes for the generated solution when the Authentication option is set to None.
  • Fixed Label Resources generator to use enum inheritance for enum labels.
  • Added Syncfusion control for guid types.
  • Added namespaces for controls in generated Syncfusion views.
  • Fixed generated Blazor search views for when there are no criteria defined.
  • Added client-side sorting in data list objects when populating the data.

Version 9.12.5

Release Date: 1/8/2025

New features

  • Support for Authentication options in solution wizard.
    • Added Authentication selection to the solution wizard with Password (Custom) option for the current security setup.
    • Added support for ASP.NET Core Identity authentication option to all projects for EFCore, EF6 and PostgreSQL.
      • Added SecurityStamp to claims for the user's identity, and used it for refresh token validation.
    • Added authentication option None to create all solution projects without any authentication/authorization.

Minor changes

  • DB context registration for Npgsql (PostgreSQL) now uses a new method for connection string.
  • Updated NuGet packages for ASP.NET and WCF projects to avoid ones with vulnerabilities.
  • Updated EntityFramework 6 version to the latest 6.5.1.

Bug fixes

  • Added efCoreVer config to allow generating entities for legacy EF Core for .NET Standard 2.0 (e.g. versions 2.1-3.1).
  • Fixed support for selecting Blazor Server and a standalone WebAssembly in the same solution, which moves setting of interactive render mode to the Program.cs now.
  • Fixed EF Domain Objects generator to use generic DbContextOptions for the entities DB context.

Version 9.12.4

Release Date: 12/18/2024

New features

  • Support for MAUI Blazor Hybrid.

    • Added MAUI Blazor Hybrid project selection to the Xomega Solution Wizard.
    • Added ability to create MAUI Blazor Hybrid projects with a REST API backend.
    • Added ability to create 2-Tier MAUI Blazor Hybrid projects that connect to the database directly.
  • Support for .NET 9 in addition to .NET 8.

    • Added framework selection for .NET version to the solution wizard.
    • Defaulted framework to .NET 9, if it's installed. Otherwise, framework is set to .NET 8.
    • Based on the selected framework, project templates use target framework and the latest packages for net9.0 or net8.0 respectively.

Minor changes

  • Moved the title of the Xomega Solution Wizard to the window title for more room in the window.
  • Made Xomega Solution Wizard configuration fields use default (smaller) font size and cleaned up margins.
  • Refactored LoginViewModel and TokenService in projects using REST API based on the new Xomega Framework 4.3.1.
  • Updated versions of referenced NuGet packages to avoid packages with vulnerabilities.

Bug fixes

  • Fixed default JWT config in appsettings.json for the REST API to work around issues in .NET 9.

Version 9.12.3

Release Date: 09/26/2024

Minor changes

  • Added PostgreSQL type configs for enumeration types.
  • Updated selection for the name on sql:type to show all currently used SQL types, and not just hardcoded SQL Server types.
  • Updated project templates to use the latest ASP.NET nuget packages.

Bug fixes

Version 9.12.2

Release Date: 06/30/2024

New features

  • Support for PostgreSQL database.

    • Added Database selection with SQL Server and PostgreSQL options to the solution wizard under the Service Implementations project.
    • Updated project templates to support PostgreSQL for EF Core only.
    • Added PostgreSQL specific types and type configs to the model project as needed.
    • Added support for importing PostgreSQL enums and domain types.
    • Added ability to specify Postgres type (pg-type) for a SQL type config and import it from the DB for enums and domain types.
    • Updated Database Schema and Database Change Script generators to support PostgreSQL.
  • Standard VS connection dialog is now used instead of the custom OLE DB connection dialog.

    • Command timeout is now specified in the connection string properties.
    • Resetting connection info is now done via a selection in a new DB Provider property.
    • The new connection dialog also allows working with SQL Server Express now.
    • Note: using standard VS connection dialog removed ability to exclude tables to import for now.
  • Support for list types, backed by multi-database support of arrays in EF Core 8.x.

    • Type's xfk:property can be now configured as multi-value for array-based logical types.

Minor changes

  • DB connection string stored in the model project is now encrypted for security.
  • CamelCase, lower_case and UPPER_CASE have been renamed in generators' properties to PascalCase, lower_snake and UPPER_SNAKE respectively.
  • Configuration of cascade delete/update actions now includes the restrict value.
  • SQL Server types and configs are now in separate model files that are excluded for non-SQL Server databases.
  • Database Schema and Database Change Script generators now have a Rerunnable parameter to allow controlling wether the generated scrips are rerunnable. The new parameter is set to false by default for cleaner scripts.
  • Database Change Script has been refactored to simplify generated scripts.
  • Updated Import from Database generator to handle FKs with different types than the referenced PKs.
  • Excluded edm_config.xom if Model.Diagrams project is not selected in the new solution wizard.
  • Excluded user controls in global_config.xom if Client.Web project is not selected in the new solution wizard.

Bug fixes

  • Fixed generators to allow using sql:type specified in the type-config elements.
  • Fixed the issue with needing to open .xom files twice initially to get the Xomega editor.
  • Fixed text of the grouping NavMenu for views defined without a module by using "Views" as the default resource.
  • Fixed Import from Database generator to not use a serial key on a subobject with a PK that includes parent keys.

Version 9.12.1

Release Date: 03/27/2024

New features

  • Added support for Entity Model Diagrams as a separate project in a new solution.
  • Updated Entity Data Model generator to clean up no longer valid entities and associations on the diagrams.

Minor changes

Bug fixes

  • Fixed Import from Database generator to use generic types only (thus avoiding using the "user name" type as the base type).
  • Fixed template for the Model project to exclude type configs that are not relevant to the selected solution configuration.
  • Fixed project template for the Client.Blazor.Wasm project to use case-insensitive XML cache loader.

Version 9.12.0

Release Date: 02/29/2024

New features

  • Blazor moved to .NET 8 with support for various architectures.

    • New Blazor solutions require .NET 8 now and are not backward compatible with previous .NET versions.
    • Xomega Solution wizard allows picking any Blazor architecture with different interactive render modes.
    • The main Blazor ASP.NET Core project allows enabling Blazor Server, hosted WebAssembly, or both with Auto mode.
    • The main Blazor project allows hosting REST API for the WebAssembly instead of running it as a separate project.
    • Blazor-hosted REST API uses a path prefix api/ to not clash with Blazor view routes.
    • Blazor-hosted REST API for WebAssembly is secured with same-site cookie rather than JWT.
  • New projects are now secured with a password login screen by default.

    • New solution now includes an extensible model file login.xom in the Xomega model project.
    • login.xom is used to generate the LoginView with all the supporting objects and services.
    • New project also includes additional classes and customizations to support password login for the selected architectures.
    • The default password login implementation provides a 'Guest' login for ease of development.
    • Blazor LoginView is the same for Blazor Server and WebAssembly, despite different authentication mechanisms.
    • Blazor Server now allows to revalidate authentication state periodically.
    • REST API in the new solution implements either cookie-based or JWT authentication, or both, as needed.
    • JWT authentication now provides support for refresh tokens, in addition to short-lived access tokens.
    • Expired authentication now pops up a login screen for re-authentication.
    • Failed JWT token refresh will also display a 'Session expired' warning on the login screen.
    • WPF apps with REST API use the new login view with JWT authentication.
    • WPF apps with WCF services now both use the new password LoginView and services by default.
    • TypeScript SPA apps use the new LoginView with JWT, but with no support for refresh tokens.
    • 2-tier WPF and legacy WebForms apps also use the new LoginView and services for password authentication.
  • Xomega model now allows you to specify an authorization policy for each view.

    • The specified authorization policy is automatically used on generated pages for Blazor views.
    • The specified policy is also used on the corresponding Blazor menu items of the generated main menu.
  • Cleaner projects' structures in the new solution.

    • New solution now automatically sets up proper startup projects based on the selected configuration.
    • Projects in the new solution are now configured solely based on the selected configuration to reduce clutter.
    • There is no more conditional compilation code in the new projects, e.g. EF6 vs EFCore.
    • The model project will now include only generators for the selected architectures.
    • Customization of the Blazor top menu is now performed in a separate class rather than the main Program class.
    • Defining Blazor authorization policies has been also moved from the main Program class to a separate class.
    • Configuring and securing REST API clients has been streamlined with the new Xomega Framework 4.3.0.

Minor changes

  • Updated dependencies of the new projects to the latest versions.
  • Relaxed validation in the Import from Database generator to allow Xomega services without fields (e.g. login.xom).
  • Added support for Bootstrap 5.3.2.
  • Syncfusion Blazor controls now show validation errors under the control by default, rather than as a tooltip.
  • Valid fields in Xomega Blazor controls no longer show a big green checkmark by default.
  • Sidebar was updated to be toggled just by the Bootstrap, thus not requiring an interactive mode.
  • Added default Blazor favicons.
  • SPA project template now uses Nuget for TypeScript, instead of deprecated SDK.
  • Added ability to mark an entire service as not exposed for WCF (e.g. login), updated WCF generators accordingly.
  • Generators for WPF, SPA and WebForms views now use the field-cols config for the number of columns, rather than the legacy ui:layout config.
  • New solution wizard now checks for a Xomega license before creating a solution.

Bug fixes

  • Generated data objects now better handle reads without blank keys, when Blazor activates blank models initially.

Version 9.11.8

Release Date: 11/13/2023

Minor changes

  • Updated the Dictionary item template to add REST endpoint, make some fields required, and default the module to "Admin".
  • Updated Data Objects generator to make properties of supplied keys required and only check input of non-read operations for required properties.

Bug fixes

Version 9.11.7

Release Date: 6/21/2023

Minor changes

  • Project templates now use Xomega Framework 4.2.1 with several enhancements and bug fixes.
  • Syncfusion resources are now loaded from the versioned Syncfusion package rather than from CDN to make upgrades easier.
  • Updated the Dictionary item template to use read enum operation instead of read.
  • Updated Data Objects generator to set IsKey on properties of objects with complex keys.
  • Updated Model Operations generator to generate read list criteria for object's keys, including composite keys.
  • "Trust Server Certificate" parameter is now added to the connection string for any SQL provider by default.
  • NuGet packages on project templates were updated to the latest versions as appropriate.

Bug fixes

  • Xomega Framework 4.2.1 provides bug fixes for the Syncfusion grid version 21.2.9 and up.
  • Fixed the Service Implementations generator for objects with complex keys.
  • Fixed issue with loading Xomega Model projects in VS caused by unsupported default target framework v4.0.

Version 9.11.6

Release Date: 1/14/2023

New features

Bug fixes

  • Xomega Framework 4.2.0 provides bug fixes for using Syncfusion Blazor controls ver. 20.3.0.47.

Minor changes

  • Startup code in the web project templates is simplified to use a single top-level Program class.
  • Cleaned up the CSS files in the Blazor projects using CSS isolation.
  • The generated context for the EF Domain Objects now uses lazy loading for EF6.
  • Added "Trust Server Certificate" to the connection string as a workaround for expired SQLNCLI11 driver.
  • The target framework on legacy project templates was upgraded to net472 from net461.
  • NuGet packages on project templates were updated to the latest versions as appropriate.

Version 9.11.5

Release Date: 9/25/2022

New features

Bug fixes

  • Fixed compilation issue in generated Service Contracts due to enumeration name conflict.
  • Fixed generators of Data Objects and View Models to handle DataObjectList classes with multiple ReadList operations.
  • Fixed generation of navigation properties for fields in a key fieldset.
  • Fixed service-based generators to handle objects with only subobject operations.
  • Fixed message constant generators for VS 2022.
  • Fixed UnloadProject and ReloadProject to execute in the UI thread for VS 2022 to avoid errors.

Minor changes

  • Added file nesting to the REST controllers project.
  • Updated to the latest NuGet packages where possible.

Version 9.11.4

Release Date: 3/14/2022

New features

  • Support for Visual Studio 2022
  • Support for .NET 6

Minor changes

  • Fixed label resource generator to not output duplicate resources for data properties.
  • Fixed solution template for creating 2-tier WPF apps.
  • Updated to the latest NuGet packages where possible.