Xomega.Net for VS 2022
Below is a summary of the release notes for the Xomega.Net for Visual Studio 2022 releases.
Version 9.12.3
Release Date: 09/26/2024
Minor changes
- Added PostgreSQL type configs for enumeration types.
- Updated selection for the
name
onsql: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
- Fixed key update in Read Enum Operation generator for PostgreSQL.
- Updated Import from Database generator to include
db
attribute forsql:type
configs of the added types.
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 theService 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.
- 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 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 asmulti-value
for array-based logical types.
- Type's
Minor changes
- DB connection string stored in the model project is now encrypted for security.
CamelCase
,lower_case
andUPPER_CASE
have been renamed in generators' properties toPascalCase
,lower_snake
andUPPER_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 tofalse
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 thetype-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
- Added ability to specify triggers under a
sql:table
config 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
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 theLoginView
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.
- 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.
EF6
vsEFCore
. - 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 legacyui: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
- Added null check for inner properties to the generated
Cache Loaders
. - Fixed generated
Service Implementations
to use the rightAddClause
method 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
Dictionary
item template to useread enum
operation instead ofread
. - Updated
Data Objects
generator to setIsKey
on properties of objects with complex keys. - Updated
Model Operations
generator to generateread 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
- 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
NavMenu
component 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
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
fromnet461
. - 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 enum
operation. - Fixed support for
big int
type 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
DataObjectList
classes with multipleReadList
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
andReloadProject
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.