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
- Panels and tabs layout for details Blazor views.
- Support for defining named field groups for UI panels or tabs.
- Configuration of panels and tabs to lay out data object field groups and child objects.
- Ability to specify a field group for displaying links.
- Configuration of localizable titles for panels and tabs.
- UI security enhancements.
- Configuration of panels and tabs with conditional visibility.
- Authorization policy specification for main menu links.
- Support for conditional authorization policies in Blazor views.
- Support for custom joins in generated service code for
read listoperations.
Minor changes
- Added handling of link results from saving a child details view.
- Generated Syncfusion Blazor views now use
SfTabfor tabs. - Generated data properties are now set as
Requiredbased on service input parameters first. - Improved custom code for unknown parameters in generated service CRUD operations.
- Removed deprecated
child-panelselement, replaced by the newpanel-layoutelement.
Bug fixes
- Fixed rerunning of the Full CRUD with Views generator for
rest:methodandxfk:add-child. - Fixed Xomega Data Objects generator for read-only properties without inputType.
- Fixed error in
f:override-deletefor certain cases. - Using Xomega Framework 4.4.1 with several enhancements and bug fixes.
Version 9.13.0
Release Date: 4/30/2025
New features
- New and redesigned criteria framework.
- Simplified defining search criteria in the model and services to provide just the field without operators, etc.
- Enabled creating powerful search screens with lots of criteria by allowing adding criteria dynamically.
- Improved UX for displaying selected criteria and showing applied criteria.
- Support for server-side paging and sorting.
- Added support for server-side paging and sorting in generated services.
- Updated client-side list object to support server-side paging and sorting.
- Added paging mode configuration in the model.
- Support for querying large data sets.
- Added limiting the number of records returned by the server to avoid performance issues.
- Allowed configuring the maximum number of records returned by operation in the model or in the custom code.
- Added display of a warning message when results have been limited, including both the total and returned numbers.
- Model enhancements to control main menu items.
- Added ability to define main menu links in the model on top-level views, including configuring auto-search and other initialization parameters.
- Added ability to generate main menu links when adding CRUD operations with views to the model.
- Removed the
childattribute from theui:viewelement in the model, as it is no longer needed.
Minor changes
- Refactored grid paging to use new data list object paging and sorting framework for both server and client-side paging.
- Added
base operatorsenum with all properties for ease of defining new enums, and made theoperatorsenum inherit from it. - Updated Enumeration Data XML generator to exclude abstract enums.
- Added generated
DbContextconstructor with non-generic options to allow defining a custom subclass forDbContext.
Bug fixes
- Fixes for the generated solution when the
Authenticationoption is set toNone. - Fixed Label Resources generator to use enum inheritance for enum labels.
- Added Syncfusion control for
guidtypes. - 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 Identityauthentication option to all projects for EFCore, EF6 and PostgreSQL.- Added
SecurityStampto claims for the user's identity, and used it for refresh token validation.
- Added
- Added authentication option
Noneto create all solution projects without any authentication/authorization.
- Added Authentication selection to the solution wizard with
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
efCoreVerconfig 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.csnow. - Fixed EF Domain Objects generator to use generic
DbContextOptionsfor 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.0ornet8.0respectively.
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
LoginViewModelandTokenServicein 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.jsonfor 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
nameonsql:typeto 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
- Fixed key update in Read Enum Operation generator for PostgreSQL.
- Updated Import from Database generator to include
dbattribute forsql:typeconfigs of the added types.
Version 9.12.2
Release Date: 06/30/2024
New features
-
Support for PostgreSQL database.
- Added
Databaseselection with SQL Server and PostgreSQL options to the solution wizard under theService Implementationsproject. - 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.
- Added
-
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 Providerproperty. - 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:propertycan be now configured asmulti-valuefor array-based logical types.
- Type's
Minor changes
- DB connection string stored in the model project is now encrypted for security.
CamelCase,lower_caseandUPPER_CASEhave been renamed in generators' properties toPascalCase,lower_snakeandUPPER_SNAKErespectively.- Configuration of cascade delete/update actions now includes the
restrictvalue. - 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
Rerunnableparameter to allow controlling wether the generated scrips are rerunnable. The new parameter is set tofalseby 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.xomif Model.Diagrams project is not selected in the new solution wizard. - Excluded user controls in
global_config.xomif Client.Web project is not selected in the new solution wizard.
Bug fixes
- Fixed generators to allow using
sql:typespecified in thetype-configelements. - Fixed the issue with needing to open .xom files twice initially to get the Xomega editor.
- Fixed text of the grouping
NavMenufor 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
- Added ability to specify triggers under a
sql:tableconfig element in the model. - Updated EF Domain Objects generator to configure entity table with triggers.
- Updated Import from Database generator to import triggers from the database.
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
Modelproject to exclude type configs that are not relevant to the selected solution configuration. - Fixed project template for the
Client.Blazor.Wasmproject 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
Automode. - 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.xomin the Xomega model project. login.xomis used to generate theLoginViewwith 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
LoginViewis 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
LoginViewand services by default. - TypeScript SPA apps use the new
LoginViewwith JWT, but with no support for refresh tokens. - 2-tier WPF and legacy WebForms apps also use the new
LoginViewand services for password authentication.
- New solution now includes an extensible model file
-
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.
EF6vsEFCore. - 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
Programclass. - Defining Blazor authorization policies has been also moved from the main
Programclass 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-colsconfig for the number of columns, rather than the legacyui:layoutconfig. - 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
Dictionaryitem template to add REST endpoint, make some fields required, and default the module to "Admin". - Updated
Data Objectsgenerator to make properties of supplied keys required and only check input of non-read operations for required properties.
Bug fixes
- Added null check for inner properties to the generated
Cache Loaders. - Fixed generated
Service Implementationsto use the rightAddClausemethod for criteria without operators.
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
Dictionaryitem template to useread enumoperation instead ofread. - Updated
Data Objectsgenerator to setIsKeyon properties of objects with complex keys. - Updated
Model Operationsgenerator to generateread listcriteria 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 Implementationsgenerator 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
- Blazor and REST API project templates now target .NET 7 when it's installed.
- With .NET 7, the generated Blazor pages now confirm unsaved changes when navigating to another page or an external URL.
- The generated Blazor pages now use the main view's title as the page title.
- Project templates now use Xomega Framework 4.2.0 with several enhancements and bug fixes.
- In addition to a sidebar, the
NavMenucomponent can be now displayed as a top-level drop-down menu.
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
Programclass. - 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
SQLNCLI11driver. - The target framework on legacy project templates was upgraded to
net472fromnet461. - NuGet packages on project templates were updated to the latest versions as appropriate.
Version 9.11.5
Release Date: 9/25/2022
New features
- Added support for custom code in generated REST controllers.
- Added support for localization of static enumerations.
- Added support for localization of dynamic enumerations.
- Added model support for custom enumeration names that come from DB.
- Changed Enumeration Read List generator to Read Enum Operation to generate a separate
read enumoperation. - Fixed support for
big inttype using a newBigIntegerProperty.
Bug fixes
- Fixed compilation issue in generated Service Contracts due to enumeration name conflict.
- Fixed generators of Data Objects and View Models to handle
DataObjectListclasses with multipleReadListoperations. - 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
UnloadProjectandReloadProjectto 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.