Thank you for choosing XAF (Cross-Platform .NET App UI & Web API Service) for your software development needs. This blog post outlines some of our XAF-related development plans for the first half of 2025 (v25.1, set for release in June 2025).
First, if you have not heard of XAF or are new to the DevExpress product line, XAF is a developer-centric .NET application framework designed to build feature-complete Office-inspired line-of-business apps (leveraging DevExpress Blazor and WinForms UI components via Entity Framework or XPO ORM). Feel free to review our XAF demos and compare our implementation with other software development methodologies.
Blazor UI Enhancements
Fluent Theme and Ribbon UI Support
Just over a year ago, Microsoft released a new Outlook for Windows with a modern and simplified design. This updated version of Outlook offers a streamlined, web–integrated experience that aligns with Microsoft's Fluent 2 design standards. Many of our customers have expressed interest in replicating this contemporary UI within their own DevExpress-powered desktop and web applications. If you've used the new version of Outlook, you know that Microsoft's new user experience extends far beyond simple UI enhancements:
- The app's sidebar extends up to the form title, optimizing vertical space to display more menu items on–screen.
- The sidebar can be 'collapsed' using the Ribbon's hamburger button, allowing for a more compact layout.
- The Ribbon control and form title can host additional UI elements, including buttons, a search panel, and other interactive UI components.
- Fluent UI enhancements include semi–transparent effects, colorful flat icons, rounded corners, specious paddings, and more.
We expect to support Fluent UI in XAF Blazor-powered apps at the end of 2025. This involves, but is not limited to:
- Dark and light Fluent theme support.
- Creating hundreds of XAF-specific icons (filled or outlined) to match the Fluent theme.
- Modifying menu and layout structures (to mimic modern Office-inspired web apps).
Accessibility Enhancements
As part of our ongoing Accessibility (A11Y) investments for both XAF and DevExpress UI components, XAF Blazor v25.1 will support keyboard shortcuts for menu commands or Actions. XAF developers will be able to specify appropriate keystroke combinations in the Model Editor or in code (similar to XAF WinForms with its ActionBase.Shortcut API).
In addition to A11Y benefits, this will also accelerate CRUD operations for many end-users (for example, to save changes, create, or delete records).
Grid List Editor Enhancements
XAF Blazor v25.1 will support the following (for DxGridListEditor):
- Banded layout (much like in XAF WinForms).
- Double-click instead of a single-click to open a detail form from a ListView (much like in WinForms).
- Easier context menu customization for both grid rows and column headers.
- New "Best Fit" and "Clear Sorting" context menu commands for grid column headers.
- Virtual/infinite scrolling in all root and nested ListViews instead of a pager (much like in XAF WinForms).
- Simplified API to access column settings for Grid List Editors across all XAF UI platforms. For example, you will be able to write platform-agnostic code (see below) or access platform-specific settings via ColumnWrapper descendants:
protectedoverridevoidOnViewControlsCreated() {
base.OnViewControlsCreated();
if (View.Editor is ColumnsListEditor listEditor) {
foreach (var column in listEditor.Columns) {
column.ShowInCustomizationForm = false;
}
}
}
Simplified Chart, HTML Editor, and PDF Viewer Integration
With v25.1, we expect to reduce the amount of code needed to integrate popular UI elements such as Charts, HTML Editor, and PDF Viewer (you can check the current code required in our Outlook-Inspired Demo). We do expect to build XAF WinForms/WebForms module counterparts, because these DevExpress Blazor components are totally different, so it will not be possible to reuse cross-platform features such as common layout XML settings and other code sharing techniques.
For example, we want to ship a new Chart Property Editor, which will take a Razor file as input (with required graph layout and series settings). XAF Blazor will bind the underlying control to current View data automatically. For PDF Viewer and HTML Editor, we hope to implement seamless/codeless integrations, much like our Rich Text Property Editor (which can be bound to a string or byte array property).
EF Core Enhancements
Concurrency Control for EF Core
XAF WinForms/Blazor EFCore-based apps will support Optimistic Concurrency control (similar to existing XPO ORM functionality. It will support both object-level and field-level locking, as well as advanced collision resolution and data merging.
No breaking changes are expected for existing EF Core projects when using the DevExpress Project Converter (to handle all the database changes automatically). See Also: T1273764 - Core - Database and data model code changes for XAF EF Core apps to support the Optimistic Locking

Clone Object Module for EF Core
XAF WinForms/Blazor EFCore-based apps will support the Clone command (to quickly copy data records, including aggregated detail collections. We unified cloning functionality and APIs for both ORMs, so XAF developers can use a single DevExpress.ExpressApp.CloneObject package.
No breaking changes are expected for existing XPO-based projects when using the DevExpress Project Converter (to handle all naming-related changes automatically). See Also: T1276850 - Core - The DevExpress.ExpressApp.CloneObject.Xpo assembly and NuGet package have been renamed.

Easier Database Updates for EF Core
v25.1 will simplify database updates for EF Core developers (targeting XAF WinForms/Blazor or Web API Service-based apps). For instance, when you add a new business class or a property at design time, XAF will automatically apply EF Core migrations to the database in Debug mode (similar to XPO ORM functionality). This will save development time because no extra methods will be necessary, especially for frequent data model changes.
We will also get rid of the redundant DBUpdater tool for EF Core-based apps. EF Core developers will use the updateDatabase CLI command of the underlying application instead. This will simplify the developer experience for both deployment and maintenance because a single method will be used.
Simplified Connection Settings for EF Core
The Template Kit will include popular connection options like PostgreSQL, SQL Azure, MySQL, Oracle, and SQLite (instead of just Microsoft SQL Server previously). Once selected, the new XAF project will automatically include all required NuGet packages and database-specific API calls like UseNpgsql
for the option.
This will simplify the first-time experience because XAF developers will no longer need to follow manual steps or know all specificities related to EF Core providers.
Easier Connection to Middle-Tier Server in Non-XAF Apps for EF Core
In v25.1, we will simplify boilerplate code required to connect to a secure Middle Tier API server in non XAF-powered WinForms/WPF apps (via XAF's Security System and EF Core).
In a Middle Tier server architecture, DbContext and other EF Core CRUD APIs are still used in UI client app code (which interacts with the server remotely). Only the server has direct access to the database. Before passing data to the client’s DbContext, the server enforces security measures such as authentication, authorization, and data validation.
Enhanced Filtering by Non-Persistent Fields for EF Core
FilterController (and other XAF APIs working with server-side criteria) will better process non-persistent business class properties in Client data access mode. Once non-persistent properties are detected in ListView criteria, we will fully process it on the client side.
Cross-Platform Enhancements
Outlook-Inspired Demo in the Installation
XAF's Outlook-Inspired Demo will make its way to our Unified Component Installer in our v25.1 release cycle. We will also implement additional functionality in this demo, including aforementioned EF Core enhancements and new built-in XAF Property/List Editors.
Built-in Property Editors: TagBox, Checked ComboBox, Progress Bar
XAF Blazor/WinForms v25.1 will include built-in Property Editors based on these components. They will support CRUD, Security System, common Application Model options (AllowEdit, AllowClear, etc.), DataSourceXXX attributes for filtering, ImmediatePostData, and more standard XAF features.
For example, TagBox and Checked ComboBox are two popular options to save space in detail forms for collection data (as an alternative to large data grids). Progress Bar in both list and detail forms can be used as an alternative to standard Integer Property Editors with additional validation rules.
XAF Blazor/WinForms v25.1 will also support the DataSourceXXX attributes for our Enumeration Property Editors. For example, you can filter your enumeration values with the DataSourceCriteria attribute and the following criteria: "Status != 0 and Status > 2", "Status In (0,1,2)", "Status != '@This.OtherSelectedStatus'", etc.
Project Template Enhancements
XAF Blazor + Middle Tier Security
Template Kit v25.1 will include a new project template where XAF Blazor is connected to the Middle Tier Security application server. Much like XAF WinForms, this configuration will help XAF developers deliver more secure solutions, because the web server will not have direct access to the application database.
This is important for certain customers where hosting the application database on the same machine with the web server (where an XAF Blazor app is running) is a no-go due to strict security requirements.
XAF Blazor + Electron.NET for Windows and macOS/Linux Desktop
The Template Kit will also include a new “hybrid” desktop app for Windows and macOS/Linux (powered by Electron.NET and XAF Blazor). An XAF Blazor app is wrapped inside a native “web view” container for the target OS and connected to our Middle Tier application server (or database directly, if allowed). When used, XAF developers can address both Windows and non-Windows support where WinForms and browser-based apps do not meet client needs.
For end-users, this hybrid desktop app will feel and behave (performance-wise) no differently than Microsoft Teams, Visual Studio Code, Outlook (new), and similar hybrid apps. Let me quote one of our customers who successfully used this approach:
I use XAF Blazor to have a desktop application for macOS indeed. It is an administrative application for one-person businesses. Because this application contains normally sensitive data, I don't want to host this data on servers where I am responsible for. So a good choice seems to run the application on a desktop. macOS users are growing in our country, so the Electron solution seems a good choice.
XAF Blazor and Web API Service + AntiForgery
XAF project template code (Startup.cs) will include Antiforgery services and middleware to mitigate potential Cross-Site Request Forgery (CSRF/XSRF) attacks. This will reduce implementation costs (when compared with manual implementation).
Multi-Tenancy Enhancements
With XAF v25.1, our Multi-Tenancy module will allow you to store custom data in a shared/hosted database (for both EF Core and XPO ORM). This will be helpful when storing currency, tax, and other global application settings. For XAF developers, it should dramatically simplify code because it will no longer be necessary to set up a separate Object Space Provider for the shared database manually.
Tenants will be able to read these shared data tables, but will be unable to modify data in them (or have associations with tenant data) - only service/host UI administrators will have full CRUD capabilities. XAF developers will also have access to standard and transparent IObjectSpace APIs to query shared data (including methods like CreateObjectSpace/CreateNonSecuredObjectSpace<T>(“YourTenantName“)).
Web API Service Enhancements
Our Backend Web API Service will introduce the following highly-requested usability features:
- OData "Deep Insert" for XPO/EF Core and "Deep Update" for EF Core;
- Concurrency Control for both EF Core and XPO ORM (currently "last wins");
- OData Batch Operations (aka "Batch Update" support).
Your Feedback Matters
Just another reminder that our Roadmap v25.1 (below), What's New v24.2 (vote), and other surveys give you the opportunity to communicate your needs/concerns and allow us to make more informed development decisions.