﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="https://community.devexpress.com/feed-stylesheets/rss.xsl" media="screen"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dx="https://www.devexpress.com/" xmlns:a10="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title>XAF Team Blog</title>
    <link>https://community.devexpress.com/Blogs/xaf/default.aspx</link>
    <description>Low-Code .NET Application Development for Desktop and the Web. When time to market matters, XAF delivers. XAF is an ORM-based .NET Application Framework designed to help you deliver line-of-business apps in the shortest possible time (low-code, RAD). XAF seamlessly integrates award-winning DevExpress UI controls and ORM libraries (Entity Framework or XPO) so you can create feature-rich and highly interactive WinForms and ASP.NET (Blazor or Web Forms) apps with ease.</description>
    <language>en-US</language>
    <item>
      <guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:388305</guid>
      <link>https://community.devexpress.com/Blogs/xaf/archive/2026/08/24/xaf-cross-platform-net-app-ui-and-web-api-service-year-end-roadmap-v26-2.aspx</link>
      <category domain="https://community.devexpress.com/Tags/.NET">.NET</category>
      <category domain="https://community.devexpress.com/Tags/.NET+10">.NET 10</category>
      <category domain="https://community.devexpress.com/Tags/.NET+11">.NET 11</category>
      <category domain="https://community.devexpress.com/Tags/.net+core">.net core</category>
      <category domain="https://community.devexpress.com/Tags/2026">2026</category>
      <category domain="https://community.devexpress.com/Tags/AI">AI</category>
      <category domain="https://community.devexpress.com/Tags/asp.net+Core">asp.net Core</category>
      <category domain="https://community.devexpress.com/Tags/blazor">blazor</category>
      <category domain="https://community.devexpress.com/Tags/EF+Core">EF Core</category>
      <category domain="https://community.devexpress.com/Tags/Entity+Framework">Entity Framework</category>
      <category domain="https://community.devexpress.com/Tags/future">future</category>
      <category domain="https://community.devexpress.com/Tags/important+changes">important changes</category>
      <category domain="https://community.devexpress.com/Tags/localization">localization</category>
      <category domain="https://community.devexpress.com/Tags/roadmap">roadmap</category>
      <category domain="https://community.devexpress.com/Tags/security">security</category>
      <category domain="https://community.devexpress.com/Tags/v26.2">v26.2</category>
      <category domain="https://community.devexpress.com/Tags/web+api">web api</category>
      <category domain="https://community.devexpress.com/Tags/WinForms">WinForms</category>
      <category domain="https://community.devexpress.com/Tags/XAF">XAF</category>
      <title>XAF (Cross-Platform .NET App UI &amp; Web API Service) — Year-End Roadmap (v26.2)</title>
      <description>&lt;p&gt;&lt;span&gt;Thank you for your continued support and for sharing your XAF development requirements with us via &lt;/span&gt;&lt;a href="https://www.devexpress.com/subscriptions/whats-new/#xaf-survey" target="_blank"&gt;product surveys&lt;/a&gt;&lt;span&gt;, Support Center tickets, email, and social media engagements. This post outlines features and capabilities we expect to ship in our year-end release (v26.2 - Dec 2026).&lt;/span&gt;&lt;/p&gt;

&lt;div class="Note"&gt;The information contained within this blog post details our current/projected development plans. Please note that this information is being shared for INFORMATIONAL PURPOSES ONLY and does not represent a binding commitment on the part of Developer Express Inc. This roadmap and the features/products listed within it are subject to change. You should not rely on or use this information to help make a purchase decision about Developer Express Inc products.&lt;/div&gt;

&lt;h2 id="-net-11-support"&gt;Security and&amp;nbsp;Dependency Updates&lt;/h2&gt;&lt;h3 id="-net-11-support"&gt;&lt;span style="background-color:#ffffff;"&gt;.NET 11 Support&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;DevExpress XAF Blazor/WinForms, Web API Service, and XPO ORM library will support .NET 11 (both v26.1 and v26.2)&amp;nbsp;following Microsoft&amp;#39;s official release.&lt;/p&gt;&lt;h3&gt;&lt;span style="background-color:#ffffff;"&gt;Minimum Supported .NET and Visual Studio Versions&lt;/span&gt;&lt;/h3&gt;&lt;div&gt;As you may know, .NET 8 and .NET 9 will&amp;nbsp;&lt;a href="https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core" target="_blank"&gt;reach end of support&lt;/a&gt;&amp;nbsp;on November 10, 2026. We will therefore raise our minimum supported .NET version to .NET 10 once we release v26.2 in December. Visual Studio 2026 will be the minimum supported IDE version when &lt;span&gt;XAF Blazor/WinForms/Web API Service&amp;nbsp;&lt;/span&gt;v26.2 ships.&lt;/div&gt;&lt;h3&gt;Separate NuGet Packages for Different .NET Versions (.NET 10, .NET 11, etc.)&lt;/h3&gt;&lt;p&gt;Today, third-party dependencies are automatically patched after a detected vulnerability (for example, a vulnerability in&amp;nbsp;&lt;a href="https://community.devexpress.com/Blogs/news/archive/2026/04/28/application-security-project-dependency-version-bumps-demystified-modern-security-realities-in-net-nuget-ecosystem.aspx" target="_blank"&gt;System.Security.Cryptography.Xml&lt;/a&gt;) only for the minimally supported .NET version (today it&amp;#39;s .NET 8). Today (with v26.1, v25.2, v25.1, v24.2), manual version pinning (&lt;a href="https://community.devexpress.com/Blogs/news/archive/2026/04/28/application-security-project-dependency-version-bumps-demystified-modern-security-realities-in-net-nuget-ecosystem.aspx" target="_blank"&gt;Solutions #1 or #2 from this article&lt;/a&gt;) may still be required for&amp;nbsp;.NET 9/10-based projects depending on their exact&amp;nbsp;&lt;a href="https://learn.microsoft.com/en-us/dotnet/core/project-sdk/overview" target="_blank"&gt;TFM and project SDK&lt;/a&gt;.&amp;nbsp;We will&amp;nbsp;provide&amp;nbsp;.NET-specific dependency groups in DevExpress NuGet packages, which will simplify use of v26.2.&amp;nbsp;&lt;/p&gt;&lt;h3&gt;&lt;span style="background-color:#ffffff;"&gt;Entity Framework Core 11&amp;nbsp;for Data Access&lt;/span&gt; &lt;/h3&gt;&lt;p&gt;v26.2 will add&amp;nbsp;official support for the most recent version of Entity Framework (EF Core 11) to our XAF Blazor/WinForms UI and Web API Service. We will also update&amp;nbsp;our&amp;nbsp;&lt;a href="https://github.com/DevExpress-Examples/XAF_Security_E4908/tree/26.1.3%2B/Benchmarks" target="_blank" rel="noopener"&gt;performance benchmarks&lt;/a&gt;&amp;nbsp;- comparing EF Core 11&amp;nbsp;with XPO.&lt;/p&gt;&lt;p&gt;While EF Core 11 introduces performance and customization improvements, it also includes&amp;nbsp;&lt;a href="https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-10.0/breaking-changes" target="_blank" rel="noopener"&gt;breaking changes&lt;/a&gt;&amp;nbsp;that require updates on our side. Not all EF Core database providers offer compatible NuGet packages (for instance, we had to remove &lt;a href="https://supportcenter.devexpress.com/ticket/details/t1333209/core-pomelo-entityframeworkcore-mysql-cannot-be-used-with-xaf-blazor-winforms-ef-core-10" target="_blank"&gt;Pomelo.EntityFrameworkCore.MySql support in v26.1.5+&lt;/a&gt;). &lt;/p&gt;&lt;h3&gt;&lt;span style="background-color:#ffffff;"&gt;SBOMs and CRA Readiness&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;If you deliver software in the EU, the&amp;nbsp;&lt;span&gt;&lt;a href="https://digital-strategy.ec.europa.eu/en/policies/cyber-resilience-act" target="_blank"&gt;&lt;span&gt;Cyber Resilience Act&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&amp;nbsp;(CRA) will require a Software Bill of Materials (SBOM – an inventory of every component inside your solution) as part of your conformity documentation. The CRA and its associated regulatory regime will go into effect on December 2027. Each software application/solution manufacturer must fulfil SBOM-related obligations. DevExpress-authored SBOMs will help customers document/inventory DevExpress libraries used within a DevExpress-powered app.&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Most dependency scanners and SBOM generation tools read what a NuGet package declares (its dependencies on other NuGet packages) and stop there, which leaves two gaps we fill:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Components embedded inside a package.&lt;/b&gt;&amp;nbsp;Some DevExpress NuGet packages bundle fonts and third-party JavaScript libraries. Package metadata has no way to declare them, so a scanner never reports them — even though their licenses and vulnerabilities are as real as those of any declared dependency.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Developer dependencies.&lt;/b&gt;&amp;nbsp;Libraries we use to build our products never reach users, so we mark them with&amp;nbsp;&lt;code&gt;scope: &amp;quot;excluded&amp;quot;&lt;/code&gt;. We list these libraries regardless, because all vulnerabilities should be documented.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;We released a preview version of DevExpress-authored SBOMs in May 2026 (for our .NET NuGet packages).&amp;nbsp;&lt;span&gt;&lt;a href="https://community.devexpress.com/Blogs/news/archive/2026/05/07/sboms-for-cra-compliance-in-devexpress-based-apps-preview-now-open.aspx" target="_blank"&gt;&lt;span&gt;SBOMs for CRA Compliance in DevExpress-powered Apps&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&amp;nbsp;describes what the files contain and how to feed them into tools such as Dependency-Track, Trivy, and Grype. With v26.2, we expect to extend coverage to NPM packages and DevExpress VCL libraries, take our SBOMs out of preview and make them available to every customer.&lt;/p&gt;&lt;h3&gt;Middle-Tier Security  — Stricter Application Model Permissions&lt;/h3&gt;

&lt;p&gt;XAF applications that store Application Model differences in a database must currently grant &lt;a href="https://docs.devexpress.com/eXpressAppFramework/113698/ui-construction/application-model-ui-settings-storage/application-model-storages/store-the-application-model-differences-in-the-database" target="_blank"&gt;pre-login read/write access&lt;/a&gt; to ModelDifferenceXXX&amp;nbsp;types&amp;nbsp;for&amp;nbsp;the Middle-Tier application server. We plan to narrow these pre-login permissions in v26.2.&amp;nbsp;&lt;span&gt;This will help customers with strict security requirements or when XAFML exposes sensitive Application Model settings before a user authenticates.&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;h3&gt;WCF Dependency Will Be&amp;nbsp;Removed from XPO Core and Printing&amp;nbsp;Libraries&lt;/h3&gt;&lt;p&gt;These core libraries&amp;nbsp;currently include&amp;nbsp;references to WCF (Windows Communication Foundation), a standard library with a well-documented history of vulnerability disclosures in its dependencies (&amp;quot;&lt;a href="https://community.devexpress.com/Blogs/news/archive/2026/04/28/application-security-project-dependency-version-bumps-demystified-modern-security-realities-in-net-nuget-ecosystem.aspx" target="_blank"&gt;thanks&amp;quot; to&amp;nbsp;System.Security.Cryptography.Xml&lt;/a&gt;). We will remove these WCF references from DevExpress.Xpo core and DevExpress.Printing.Core&amp;nbsp;libraries in v26.2. &amp;nbsp;.NET Framework users will use the new &lt;strong&gt;DevExpress.Xpo.Services&lt;/strong&gt; and &lt;strong&gt;DevExpress.Printing.Remote&lt;/strong&gt; libraries instead (if you need this advanced&amp;nbsp;and rarely used WCF&amp;nbsp;functionality). The Project Converter will update project references automatically, so you should not encounter upgrade-related issues. &lt;/p&gt;&lt;h3&gt;&lt;span style="background-color:#ffffff;"&gt;XPO ORM - Connection Provider Updates&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;We plan to support the most recent versions of the following database engines (for both .NET and .NET Framework) in XPO v26.2.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;PostgreSQL&lt;/li&gt;&lt;li&gt;Microsoft SQL Server&lt;/li&gt;&lt;li&gt;&lt;a href="https://supportcenter.devexpress.com/ticket/details/t1331505/sqldatasource-support-sap-hana-via-the-sap-data-hana-net-v8-0-nuget-package" target="_blank"&gt;SAP HANA 8&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Oracle&amp;nbsp;26ai&lt;/li&gt;&lt;li&gt;etc.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;a href="https://docs.devexpress.com/XPO/2114/product-information/database-systems-supported-by-xpo" target="_blank" rel="noopener"&gt;Documentation&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;XAF Blazor&amp;nbsp;&lt;/h2&gt;

&lt;h3&gt;Scalability &amp;amp; Performance Optimizations&lt;/h3&gt;&lt;p&gt;&lt;a href="https://www.devexpress.com/subscriptions/whats-new/#xaf-scalability-performance-optimizations" target="_blank"&gt;As you know&lt;/a&gt;, XAF Blazor scalability remains a top priority at DevExpress (number of concurrent web users).&amp;nbsp;&lt;span&gt;For information on&amp;nbsp;our initial implementation&amp;nbsp;(load test conditions, hardware, latency comparisons between versions, etc.), please follow our&amp;nbsp;&lt;/span&gt;&lt;a href="https://supportcenter.devexpress.com/ticket/details/s36497/faq-xaf-blazor-ui-deployment-scalability-performance-and-load-testing-considerations-max" target="_blank" rel="noopener"&gt;Technical FAQ&lt;/a&gt;&lt;span&gt;&amp;nbsp;updates&lt;/span&gt;&lt;span&gt;.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt; By the end of 2026, we expect to publish the first production-ready&amp;nbsp;version (&lt;a href="https://www.devexpress.com/aboutus/pre-release.xml" target="_blank"&gt;Beta or RC&lt;/a&gt;) of our scalability-related enhancements:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&amp;quot;&lt;span&gt;Crowd/Peak Load” (ALL&amp;nbsp;users execute commands simultaneously),&amp;nbsp;“Activity&amp;quot; (average user work day), and&amp;nbsp;&lt;/span&gt;“Requests Per Second&amp;quot; (RPS)&amp;nbsp;tests.&lt;/li&gt;&lt;li&gt;Additional enhancements based on ALL tests (XAF Core speed/memory usage and Blazor component rendering optimizations).&lt;/li&gt;&lt;li&gt;Published test results, load tests, configs,&amp;nbsp;&lt;span&gt;important considerations, and&amp;nbsp;limitations&lt;/span&gt;&amp;nbsp;for public&amp;nbsp;review.&lt;/li&gt;&lt;/ul&gt;

&lt;h3&gt;List Editor Context Menu Enhancements&lt;/h3&gt;

&lt;p&gt;We will switch to the native Blazor context menu within the XAF Grid, TreeList, and Pivot Grid list editors. The default menu will include standard grid commands: Column Chooser, Filter Editor, sorting and grouping controls, Find Panel, Best Fit, and others. A concise API for customizing the default menu items will also be available (for example, &lt;span&gt;previously missing DxTreeListModel.CustomizeContextMenu and DxTreeListModel.ContextMenus APIs).&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;We will also ship basic runtime total/group summary customization in v26.2&amp;nbsp;(including the DXGridModelBase.TotalSummary and DevExpress.ExpressApp.Blazor.Editors.DxGridSummary APIs).&lt;/p&gt;&lt;img src="https://community.devexpress.com/blogs/xaf/xaf-blazor-context-menu-runtime-summary-customization[1].png" alt="" style="border-width:1px;border-color:#c0c0c0;border-style:solid;"&gt;

&lt;h3&gt;Blazor Pivot Grid Module — Official Release&amp;nbsp;&lt;/h3&gt;

&lt;p&gt;The XAF Blazor &lt;a href="https://docs.devexpress.com/eXpressAppFramework/113303/analytics/pivot-grid-module" target="_blank"&gt;Pivot Grid module&lt;/a&gt; will officially ship in our v26.2 release cycle. The official release will include updated demos, documentation, and full test coverage.&lt;/p&gt;

&lt;h3&gt;DevExpress Icon Library Integration&lt;/h3&gt;

&lt;p&gt;XAF WinForms and XAF Blazor will leverage the new&amp;nbsp;&lt;a href="https://docs.devexpress.com/Blazor/401749/styling-and-themes/icons" target="_blank"&gt;DevExpress Icon Library&lt;/a&gt; as the default icon source for v26.2 -- giving both platforms access to the entire DevExpress Fluent icon set. A global toggle between classic and Fluent icon styles will be available at the application level. XAF&amp;#39;s built-in Image Picker (in the Model Editor)&amp;nbsp;will also be updated to present and save icons from the new library. Existing image and icon references in your applications will continue to work without modification.&lt;/p&gt;&lt;h3&gt;Template Kit Enhancements and New GitHub Examples&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/405447/installation-upgrade-version-history/visual-studio-integration/template-kit" target="_blank"&gt;XAF Template Kit&lt;/a&gt;&lt;/strong&gt;:&amp;nbsp;We will migrate to the&amp;nbsp;&lt;a href="https://learn.microsoft.com/en-us/aspnet/core/fundamentals/minimal-apis?view=aspnetcore-10.0" target="_blank"&gt;ASP.NET Core Minimal API&lt;/a&gt;&amp;nbsp;and simplify&amp;nbsp;Blazor project files (for example, no Startup.cs file, less code, etc.).&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Electron.NET example&lt;/strong&gt;: We expect to introduce an example for cross-platform desktop applications built atop XAF Blazor with&amp;nbsp;&lt;a href="https://www.devexpress.com/subscriptions/new-2025-2.xml#middle-tier-security-rtm" target="_blank"&gt;Middle-Tier Security&lt;/a&gt;,&amp;nbsp;and Electron.NET, supporting Windows and macOS deployment from a single codebase. We previously delayed this task and dropped Template Kit integration due to the new &lt;a href="https://www.nuget.org/packages/ElectronNET.Core.API/#versions-body-tab" target="_blank"&gt;ElectronNET.Core.API library&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;.NET Aspire example&lt;/strong&gt;: We will update our&amp;nbsp;&lt;a href="https://community.devexpress.com/Blogs/news/archive/2025/03/25/net-aspire-support-for-an-xaf-blazor-project.aspx" target="_blank"&gt;existing Aspire-based example&lt;/a&gt;&amp;nbsp;with&amp;nbsp;&lt;a href="https://devblogs.microsoft.com/aspire/whats-new-aspire-13-5/" target="_blank"&gt;Microsoft Aspire 13.5&lt;/a&gt;.&amp;nbsp;Aspire support simplifies&amp;nbsp;database configuration and cloud deployment setup for XAF Blazor and Web API Service apps.&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Artificial Intelligence (AI)&lt;/h2&gt;

&lt;h3&gt;AI Integration Module — Official Release&lt;/h3&gt;

&lt;p&gt;Our &lt;a href="https://docs.devexpress.com/eXpressAppFramework/404336/ai-powered-extensions" target="_blank"&gt;AI Integration Module&lt;/a&gt;&amp;nbsp;should be&amp;nbsp;ready for production use in&amp;nbsp;v26.2. The biggest new feature&amp;nbsp;is certainly native AI Chat integration for both XAF Blazor/WinForms. Although it is already possible today with custom code, built-in form templates and other harnesses will save time for those using XAF. &lt;/p&gt;&lt;p&gt;Related &lt;span&gt;community examples (with our AI Chat integration):&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span&gt;&lt;a href="https://github.com/MBrekhof/xafrag/" target="_blank"&gt;XafRag — RAG Sample for DevExpress XAF&lt;/a&gt;&amp;nbsp;(GitHub.com)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://github.com/antonylu0826/XafN8nChat/" target="_blank"&gt;AI Chat Integration between XAF and n8n&lt;/a&gt; (GitHub.com)&lt;/li&gt;&lt;li&gt;&lt;a href="https://github.com/nicogis/DBChatAI" target="_blank"&gt;AI-powered SQL Chat for DevExpress XAF Blazor&lt;/a&gt;&amp;nbsp;(GitHub.com)&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;a href="https://github.com/egarim/XafGitHubCopilot" target="_blank"&gt;GitHub Copilot SDK in a&amp;nbsp;DevExpress XAF app&lt;/a&gt;&amp;nbsp;(GitHub.com)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://github.com/search?q=dxaichat&amp;amp;type=code&amp;amp;p=2" target="_blank"&gt;More on GitHub.com&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;h3&gt;Accurate XAFML Generation with AI Assistants&lt;/h3&gt;

&lt;p&gt;AI coding assistants currently struggle to generate correct XAF Application Model (XAFML) code. That is&amp;nbsp;because XAF documentation includes very few&amp;nbsp;XAFML code samples for individual model options. We plan to add XAFML snippets alongside online documentation and to publish a machine-readable XML schema for the Application Model. This will make contextual&amp;nbsp;info available to the DevExpress MCP Documentation server and make AI-generated XAFML more accurate when using AI coding assistants.&lt;/p&gt;&lt;h3&gt;Product-Tailored AI Skill&amp;nbsp;Updates&lt;/h3&gt;&lt;p&gt;We expect to extend and update the&amp;nbsp;&lt;a href="https://github.com/DevExpress/agent-skills" target="_blank"&gt;DevExpress AI Agent Skills repository&lt;/a&gt;&lt;span&gt;&amp;nbsp;based on user feedback&amp;nbsp;(for multiple implementation tasks and &lt;span&gt;AI coding assistants, such as GitHub Copilot, Claude Code, Cursor, and JetBrains AI Assistant).&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;span&gt;The repository includes folders for different DevExpress products. Navigate to the&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/DevExpress/agent-skills/tree/main/plugins/dx-xaf" target="_blank"&gt;dx-xaf&lt;/a&gt;&lt;span&gt;&amp;nbsp;directory to locate&amp;nbsp;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/405986/ai-assisted-development/agent-skills-for-xaf" target="_blank"&gt;XAF-specific AI Agent Skills&lt;/a&gt;&amp;nbsp;-&amp;nbsp;coding assistants with built-in knowledge of XAF, its capabilities, related APIs, best practices, and code examples.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;General MCP  Server-related Updates&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Our installer will now register the &lt;a href="https://docs.devexpress.com/GeneralInformation/405551/help-resources/dev-express-documentation-mcp-server-configure-an-ai-powered-assistant" target="_blank"&gt;DevExpress MCP Documentation Server&lt;/a&gt;&amp;nbsp;automatically (you can opt out via a checkbox), because it is a must-have feature when using AI coding assistants. NOTE: Our AI Skills already register the MCP Server by default (without conflicts).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;span&gt;Our MCP server will also support additional AI tools: to search  Breaking Change listings (to improve your project upgrade experience). &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;If you have not yet evaluated our AI Agent Skills or MCP Server, please take a moment to review &lt;/span&gt;&lt;a href="https://jocheojeda.com/2026/08/19/dont-fine-tune-your-xaf-model-yet/" target="_blank"&gt;this community post&lt;/a&gt;&amp;nbsp;for additional motivation.&lt;br&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;Localization / Globalization&lt;/h2&gt;&lt;h3&gt;Blazor UI&amp;nbsp;— Right to Left (RTL) Support (CTP)&lt;/h3&gt;&lt;p&gt;DevExpress Blazor components and XAF Blazor will better support Right-to-Left (RTL) layouts in v26.2. Teams building applications for Arabic, Hebrew, and other RTL languages will be able to activate RTL across XAF Blazor UI elements, including our&amp;nbsp;grids, editors, navigation, and form layouts (using a project-level option,&amp;nbsp;&lt;a href="https://supportcenter.devexpress.com/ticket/details/t1032581/xaf-blazor-right-to-left" target="_blank"&gt;without CSS or other workarounds&lt;/a&gt;).&lt;/p&gt;&lt;h3&gt;New Localization Tool Integration&lt;/h3&gt;&lt;p&gt;In our last release cycle (v26.1), the&amp;nbsp;new&amp;nbsp;&lt;a href="https://docs.devexpress.com/LocalizationService/404085/localization-tool" target="_blank"&gt;DevExpress Localization Tool&lt;/a&gt;&amp;nbsp;was updated to load strings from standard XAF modules (&lt;a href="https://docs.devexpress.com/eXpressAppFramework/113301/localization/localize-standard-modules-and-ui-controls#how-to-apply-resx-localization-files" target="_blank"&gt;learn more&lt;/a&gt;). This change notwithstanding, XAF-specific strings customized in the Model Editor could not be transferred. We plan to close this gap in v26.2.&amp;nbsp;XAF developers will be able to export Application Model strings and import them into the Localization Tool for translation, without manual file editing. &lt;/p&gt;&lt;p&gt;The deprecated &lt;a href="https://docs.devexpress.com/eXpressAppFramework/119411/localization/how-to-localize-xaf-application-items-using-xaf-tools?v=25.2#use-the-localization-tool" target="_blank"&gt;Localization&lt;/a&gt; command in the Model Editor toolbar will also be removed in v26.2.&lt;/p&gt;&lt;h3&gt;&lt;span style="background-color:#ffffff;"&gt;Improved Localization Support with AI-powered Translations&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;We expect to ship complete built-in localizations for a selected set of languages. Professional translators have already translated and reviewed approximately 80% of our German localization.&amp;nbsp;To broaden language coverage while maintaining translation quality, we plan to leverage AI-powered translation workflows. The workflow will not rely on direct translation alone -&amp;nbsp;it will also consider additional&amp;nbsp;context:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Usage context -&amp;nbsp;how each string is used, collected from our source code.&lt;/li&gt;&lt;li&gt;Established Microsoft&amp;nbsp;terminology (obtained from the&amp;nbsp;&lt;a href="https://learn.microsoft.com/en-us/globalization/reference/microsoft-terminology" target="_blank"&gt;Microsoft Terminology Collection&lt;/a&gt;).&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Web Localization Service — Supported Versions Limited to v23.2+&amp;nbsp;&lt;/h3&gt;&lt;p&gt;User translations for v23.1 and earlier releases will no longer be available through the Localization Service UI (view, edit, download, create). These translations will be retained by DevExpress should you require them. You can request your old translation archives via the DevExpress Support Center.&lt;/p&gt;&lt;div class="Note"&gt;&lt;strong&gt;Postponed to 2027&lt;/strong&gt;: While&amp;nbsp;we confirmed that it is technically feasible to create a&amp;nbsp;Blazor Model Editor (&lt;a href="https://community.devexpress.com/Blogs/xaf/archive/2026/03/03/xaf-cross-platform-net-app-ui-and-web-api-service-june-2026-roadmap-v26-1.aspx" target="_blank"&gt;see our January prototype&lt;/a&gt;),&amp;nbsp;we dropped&amp;nbsp;its further development from our plans - we will have to re-think this completely after v26.2. AI chats greatly changed&amp;nbsp;how users now manage even advanced application settings/tasks (like &lt;a href="https://docs.devexpress.com/eXpressAppFramework/405990/ai-module/ai-reports#ai-in-the-report-wizard-prompt-to-report" target="_blank"&gt;generate/modify&amp;nbsp;complex reports&lt;/a&gt;&amp;nbsp;or&amp;nbsp;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/405900/ai-module/prompt-to-expression" target="_blank"&gt;criteria expressions&lt;/a&gt;&amp;nbsp;from natural language prompts)&amp;nbsp;- our 15-year old and developer-centric Model Editor GUI (a tree list +&amp;nbsp;property grid) may be simplified or replaced.&amp;nbsp;We also postponed&amp;nbsp;Fluent UI form template&amp;nbsp;fine-tuning (app bar, side navigation bar, Tabbed MDI layout changes, etc.)&amp;nbsp; as well as DateTimeOffset support (in data model properties) for&amp;nbsp;key XAF List and Property Editors until the DevExpress WinForms and Blazor Component teams finalize this in v26.2.&amp;nbsp;and our main strategic focus (web scalability).&lt;/div&gt;&lt;ul&gt;&lt;/ul&gt;&lt;ul&gt;
&lt;/ul&gt;

&lt;h2&gt;Your Feedback Counts&lt;/h2&gt;

&lt;p&gt;If you have questions or suggestions about XAF v26.2, please share your thoughts in the survey below&amp;nbsp;or submit a ticket via the &lt;a href="https://devexpress.com/ask" target="_blank"&gt;DevExpress Support Center&lt;/a&gt;.&lt;/p&gt;
&lt;div data-survey-id="2cbc8e79-6820-40d3-b012-fb41d484d5e2" data-survey-auth-required="false"&gt;&lt;/div&gt;
&lt;p&gt;&lt;span&gt;Thanks,&lt;/span&gt;&lt;br&gt;&lt;span&gt;Dennis Garavsky&lt;/span&gt;&lt;br&gt;&lt;span&gt;Principal Product Manager&lt;/span&gt;&lt;br&gt;&lt;a href="mailto:dennis@devexpress.com" title="Email me if you have questions or suggestions"&gt;dennis@devexpress.com&lt;/a&gt;&lt;br&gt;&lt;/p&gt;</description>
      <pubDate>Mon, 24 Aug 2026 06:00:00 Z</pubDate>
      <dc:creator>Dennis Garavsky (DevExpress)</dc:creator>
    </item>
    <item>
      <guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:388291</guid>
      <link>https://community.devexpress.com/Blogs/xaf/archive/2026/06/01/xaf-blazor-winforms-ui-case-study-by-datawerkes-field-services-management-platform-timewerkes.aspx</link>
      <category domain="https://community.devexpress.com/Tags/Audit">Audit</category>
      <category domain="https://community.devexpress.com/Tags/bi">bi</category>
      <category domain="https://community.devexpress.com/Tags/blazor">blazor</category>
      <category domain="https://community.devexpress.com/Tags/case+study">case study</category>
      <category domain="https://community.devexpress.com/Tags/charts">charts</category>
      <category domain="https://community.devexpress.com/Tags/Dashboards">Dashboards</category>
      <category domain="https://community.devexpress.com/Tags/LOB">LOB</category>
      <category domain="https://community.devexpress.com/Tags/lowcode">lowcode</category>
      <category domain="https://community.devexpress.com/Tags/PivotGrid">PivotGrid</category>
      <category domain="https://community.devexpress.com/Tags/rad">rad</category>
      <category domain="https://community.devexpress.com/Tags/reporting">reporting</category>
      <category domain="https://community.devexpress.com/Tags/Reports">Reports</category>
      <category domain="https://community.devexpress.com/Tags/scheduler">scheduler</category>
      <category domain="https://community.devexpress.com/Tags/security">security</category>
      <category domain="https://community.devexpress.com/Tags/TreeList">TreeList</category>
      <category domain="https://community.devexpress.com/Tags/Validation">Validation</category>
      <category domain="https://community.devexpress.com/Tags/WinForms">WinForms</category>
      <category domain="https://community.devexpress.com/Tags/workflow">workflow</category>
      <category domain="https://community.devexpress.com/Tags/XAF">XAF</category>
      <category domain="https://community.devexpress.com/Tags/XPO">XPO</category>
      <title>XAF Blazor/WinForms UI — Case Study by DataWerkes: Field Services Management Platform (TimeWerkes)</title>
      <description>&lt;p&gt;Meet &lt;a href="https://www.datawerkes.ca/" target="_blank"&gt;DataWerkes&lt;/a&gt;&amp;nbsp;(&lt;span&gt;an independent software vendor&amp;nbsp;&lt;/span&gt;in Alberta, Canada) and &lt;span&gt;Keith Courneyea (a founder),&amp;nbsp;&lt;/span&gt;who has been using our&amp;nbsp;&lt;a href="https://www.devexpress.com/products/net/application_framework/" target="_blank" style="background-color:#ffff99;"&gt;Cross-Platform .NET App UI (XAF)&lt;/a&gt;&amp;nbsp;since 2019.&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="https://www.devexpress.com/aboutus/testimonials/assets/casestudies/datawerkes-logo.png" alt="DataWerkes"&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;We recently &lt;strong&gt;&lt;a href="https://www.devexpress.com/AboutUs/Testimonials/timewerkes/" target="_blank" style="background-color:#ffff99;"&gt;published a case study&lt;/a&gt;&lt;/strong&gt; about their &lt;span&gt;flagship commercial product&lt;/span&gt; (TimeWerkes)&amp;nbsp;powered by &lt;a href="https://www.devexpress.com/products/net/application_framework/" target="_blank"&gt;XAF&lt;/a&gt; WinForms/Blazor UI as well as DevExpress&amp;nbsp;&lt;a href="https://www.devexpress.com/products/net/controls/blazor/" target="_blank"&gt;Blazor&lt;/a&gt;&amp;nbsp;/&amp;nbsp;&lt;a href="https://www.devexpress.com/products/net/controls/winforms/" target="_blank"&gt;WinForms&lt;/a&gt;&amp;nbsp;(Grid &amp;amp; Data&amp;nbsp;Editors, Charts, Pivot Grid, TreeList, Scheduler, Rich Text Editor),&amp;nbsp;&lt;a href="https://www.devexpress.com/subscriptions/reporting/" target="_blank"&gt;Reporting&lt;/a&gt;&amp;nbsp;and &lt;a href="https://www.devexpress.com/products/net/dashboard/" target="_blank"&gt;BI Dashboard&lt;/a&gt; components. &lt;/p&gt;&lt;p&gt;Here is how Keith Courneyea described their product TimeWerkes (has been in active client use since late 2024):&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;TimeWerkes is a commercial, end-to-end field services management platform for industrial contractors. It manages the full business lifecycle of a contracting operation — from initial quoting through job execution, field ticketing (aka time reporting), inspection reporting, and final invoicing — within a single integrated application available as both a Windows desktop client and a Blazor Server web application. Currently the Blazor app in the primary client.&lt;br&gt;&lt;br&gt;The platform is architected as a core business foundation with industry-specific modules that can be added as client requirements evolve. The core handles workflows common to all contractors: quotes, jobs, field tickets (aka timesheets) with labour and billable items, rate sheets, approval workflows, staff and certification management, equipment tracking, document management, and full invoicing. Specialized modules adapt this base for specific industries.&lt;br&gt;&lt;br&gt; TimeWerkes is offered commercially. It is built on Microsoft SQL Server with Azure SQL in production and uses Azure Blob Storage for all document/image attachments, Azure Functions for background workflow processing, and Azure Communication Services for automated email notifications.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;img src="https://www.devexpress.com/AboutUs/Testimonials/timewerkes/i/03-job-detail-view@2x.png" alt=""&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="https://www.devexpress.com/AboutUs/Testimonials/timewerkes/i/05-corrosion-survey-report@2x.png" alt=""&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;DataWerkes has been in operation for seven years.&amp;nbsp;&lt;/span&gt;Keith&amp;#39;s decision to build on DevExpress in 2019 was not the result of a product evaluation or a recommendation — it was a return. He had worked with DevExpress components in the early 2000s and had a positive experience that stayed with him. When he decided to pursue serious application development, DevExpress was the first place he went back to.&lt;/p&gt;&lt;p&gt;&lt;span&gt;The specific choice of &lt;a href="https://www.devexpress.com/products/net/application_framework/" target="_blank"&gt;XAF&lt;/a&gt; as the framework was driven by what Keith needed as a first-time C# developer with a clear vision of what he wanted to build. XAF&amp;#39;s model-driven approach — where defining a domain class in XPO produces a working UI, security system, and data layer without writing boilerplate infrastructure code — meant that Keith could focus on the business logic he understood deeply and let the framework handle the rest.&lt;/span&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;And here’s what&amp;nbsp;Keith Courneyea&amp;nbsp;said about XAF&amp;#39;s primary benefits&lt;/strong&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;TimeWerkes uses the full breadth of the XAF module ecosystem. The &lt;a href="https://docs.devexpress.com/eXpressAppFramework/113366/data-security-and-safety/security-system" target="_blank"&gt;Security System&lt;/a&gt; provides role-based access control across the entire application without custom authentication code. The &lt;a href="https://docs.devexpress.com/eXpressAppFramework/112782/data-security-and-safety/audit-trail-module-overview" target="_blank"&gt;Audit Trail&lt;/a&gt; module — extended through Llamachant&amp;#39;s enhanced implementation — tracks every change across all 120 domain entities. The &lt;a href="https://docs.devexpress.com/eXpressAppFramework/113008/validation/validation-rules" target="_blank"&gt;Validation&lt;/a&gt; module enforces business rules declaratively. &lt;a href="https://docs.devexpress.com/eXpressAppFramework/113286/conditional-appearance" target="_blank"&gt;Conditional Appearance&lt;/a&gt; drives dynamic UI behaviour. The &lt;a href="https://docs.devexpress.com/eXpressAppFramework/112811/event-planning-and-notifications/scheduler-module" target="_blank"&gt;Scheduler&lt;/a&gt; handles staff and job scheduling. &lt;a href="https://docs.devexpress.com/eXpressAppFramework/113591/shape-export-print-data/reports/reports-v2-module-overview" target="_blank"&gt;Reports Module&lt;/a&gt; V2 powers 34 reports covering every business document in the system, from client-facing inspection reports to internal job cost summaries and invoices.&lt;br&gt;&lt;br&gt;Critically, XAF&amp;#39;s cross-platform architecture meant that the same core module and XPO domain model powers three deployment targets simultaneously: a WinForms desktop client, a Blazor Server web application, and an Azure Functions background processing host. A team of any size would find that a significant time saving. For a product owned by one person and built in partnership with a small development firm, it is what made the product possible at all.&lt;br&gt;&lt;br&gt;Dave Hesketh of Llamachant Technology Ltd., whose team serves as the primary development partner on TimeWerkes, describes the XAF ecosystem as central to how Llamachant approaches every engagement. &lt;a href="https://www.llamachant.com/docs/Modules" target="_blank"&gt;Llamachant&amp;#39;s own framework extensions&lt;/a&gt; — including the workflow engine, Azure Blob file attachment integration, AutoIncrementingID, and LlamaLogger — are themselves built on top of XAF, which is a measure of how extensible and production-ready the platform is.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://www.devexpress.com/AboutUs/Testimonials/timewerkes/" target="_blank" style="background-color:#ffff99;"&gt;Read the full article&lt;/a&gt;&amp;nbsp;to learn why DataWerkes chose XAF&amp;nbsp;for&amp;nbsp;cross-platform RAD project development and&amp;nbsp;what they liked about our tools.&amp;nbsp;&lt;/p&gt;&lt;div class="Note"&gt;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/113577/getting-started" style="background-color:#ffff99;"&gt;Get&amp;nbsp;Started with XAF today&lt;/a&gt;&amp;nbsp;if you want to build Office-like line-of-business (LOB) apps powered by Blazor and WinForms much faster than using traditional approaches. Check out XAF&amp;#39;s demos in your DevExpress installation or online at&amp;nbsp;&lt;a href="https://demos.devexpress.com/xaf/blazordemo/" target="_blank"&gt;https://demos.devexpress.com/xaf/blazordemo/&lt;/a&gt;. You can learn more about&amp;nbsp;&lt;a href="https://www.devexpress.com/products/net/application_framework/" target="_blank"&gt;XAF benefits here&lt;/a&gt;,&amp;nbsp;and our &lt;a href="https://www.devexpress.com/products/net/application_framework/xaf-considerations-for-newcomers.xml" target="_blank"&gt;Considerations for Newcomers&lt;/a&gt;&amp;nbsp;will help you understand whether this application framework is right for your business.&lt;br&gt;&lt;/div&gt;&lt;h2&gt;Do You Have a Story to Share?&lt;/h2&gt;&lt;p&gt;We&amp;#39;d love to publish your story on our website. It doesn’t matter if the project is big or small, or which DevExpress tools you used. Fill out this simple&amp;nbsp;&lt;a href="https://community.devexpress.com/blogs/xaf/social/Developer_Express_General_Case_Study_Template.docx" target="_blank"&gt;case&amp;nbsp;study form&lt;/a&gt;&amp;nbsp;and email us at&amp;nbsp;&lt;a href="mailto:clientservices@devexpress.com"&gt;clientservices@devexpress.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Thanks,&lt;br&gt;Dennis Garavsky&lt;br&gt;Principal Product Manager&lt;br&gt;&lt;a title="Email me if you have questions or suggestions" href="mailto:dennis@devexpress.com?subject=Feedback%20on%20Installation-NuGet%20Experience"&gt;dennis@devexpress.com&lt;/a&gt;&amp;nbsp;&lt;/p&gt;</description>
      <pubDate>Mon, 01 Jun 2026 12:49:00 Z</pubDate>
      <dc:creator>Dennis Garavsky (DevExpress)</dc:creator>
    </item>
    <item>
      <guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:388274</guid>
      <link>https://community.devexpress.com/Blogs/xaf/archive/2026/03/03/xaf-cross-platform-net-app-ui-and-web-api-service-june-2026-roadmap-v26-1.aspx</link>
      <category domain="https://community.devexpress.com/Tags/.NET">.NET</category>
      <category domain="https://community.devexpress.com/Tags/.NET+10">.NET 10</category>
      <category domain="https://community.devexpress.com/Tags/.NET+8">.NET 8</category>
      <category domain="https://community.devexpress.com/Tags/.NET+9">.NET 9</category>
      <category domain="https://community.devexpress.com/Tags/.net+core">.net core</category>
      <category domain="https://community.devexpress.com/Tags/2026">2026</category>
      <category domain="https://community.devexpress.com/Tags/asp.net+Core">asp.net Core</category>
      <category domain="https://community.devexpress.com/Tags/blazor">blazor</category>
      <category domain="https://community.devexpress.com/Tags/EF+Core">EF Core</category>
      <category domain="https://community.devexpress.com/Tags/Entity+Framework">Entity Framework</category>
      <category domain="https://community.devexpress.com/Tags/future">future</category>
      <category domain="https://community.devexpress.com/Tags/important+changes">important changes</category>
      <category domain="https://community.devexpress.com/Tags/roadmap">roadmap</category>
      <category domain="https://community.devexpress.com/Tags/v26.1">v26.1</category>
      <category domain="https://community.devexpress.com/Tags/web+api">web api</category>
      <category domain="https://community.devexpress.com/Tags/WinForms">WinForms</category>
      <category domain="https://community.devexpress.com/Tags/XAF">XAF</category>
      <title>XAF (Cross-Platform .NET App UI &amp; Web API Service) — June 2026 Roadmap (v26.1)</title>
      <description>&lt;p&gt;&lt;span style="background-color:#ffff99;"&gt;&lt;strong&gt;EDIT&lt;/strong&gt;:&amp;nbsp;&lt;a href="https://community.devexpress.com/Blogs/xaf/archive/2026/08/24/xaf-cross-platform-net-app-ui-and-web-api-service-year-end-roadmap-v26-2.aspx" target="_blank"&gt;XAF v26.2 Roadmap&lt;/a&gt;&amp;nbsp;&amp;nbsp;|&amp;nbsp;&amp;nbsp;&lt;a href="https://www.devexpress.com/subscriptions/new-2026-1.xml#xaf" target="_blank"&gt;What&amp;#39;s New in XAF v26.1&lt;/a&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Thank you for choosing&amp;nbsp;&lt;a href="https://www.devexpress.com/products/net/application_framework/"&gt;XAF (Cross-Platform .NET App UI &amp;amp; Web API Service)&lt;/a&gt;&amp;nbsp;for your software development needs. This blog post outlines some of our XAF-related development plans for the first half of 2026 (v26.1, set for release in June 2026).&lt;/p&gt;&lt;p&gt;First, if you have not heard of XAF or are new to the DevExpress product line, XAF is a developer-centric .NET application framework&amp;nbsp;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&amp;nbsp;&lt;a href="https://www.devexpress.com/support/demos/#xaf"&gt;review our XAF demos&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="https://www.devexpress.com/products/net/application_framework/xaf-considerations-for-newcomers.xml"&gt;compare our implementation with other software&lt;/a&gt;&amp;nbsp;low-code, no-code (LCNC) and traditional development methodologies.&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;div class="Note"&gt;The information contained within this blog post details our current/projected development plans. Please note that this information is being shared for INFORMATIONAL PURPOSES ONLY and does not represent a binding commitment on the part of Developer Express Inc. This roadmap and the features/products listed within it are subject to change. You should not rely on or use this information to help make a purchase decision about Developer Express Inc products.&amp;nbsp;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Content Security Policy Enhancements&lt;/h2&gt;&lt;p&gt;Together with our Blazor development team, we will eliminate the need to use the following content security policy (CSP) requirement:&amp;nbsp;style-src: &amp;#39;unsafe-inline&amp;#39;. For additional information in this regard please&amp;nbsp;review&amp;nbsp;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/404448/security-considerations/content-security-policy-in-xaf-blazor-apps" target="_blank"&gt;Content Security Policy (CSP) in XAF Blazor Apps&lt;/a&gt;.&lt;/p&gt;&lt;h2&gt;Template Kit Enhancements&lt;/h2&gt;&lt;p&gt;We will add the following security and usability-related enhancements for newly created XAF projects via our&amp;nbsp;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/405447/installation-upgrade-version-history/visual-studio-integration/template-kit" target="_blank"&gt;new Template Kit&lt;/a&gt;:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Select multiple&amp;nbsp;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/404691/security-considerations/general-security-considerations#security-tiers" target="_blank"&gt;Middle Tier Security&lt;/a&gt;-based startup projects;&lt;/li&gt;&lt;li&gt;Enforce the Middle Tier Security option by default;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Migrate to the minimal API/simplified Blazor project format with no Startup.cs file (makes&amp;nbsp;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/403362/deployment/asp-net-core-blazor/deployment-recommendations-net-core#net-aspire-integration-for-deployment-and-development-environments" target="_blank"&gt;.NET Aspire integration&lt;/a&gt; much easier).&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;Entity Framework Core 10  for Data Access&lt;/h2&gt;&lt;p&gt;We expect to ship official EF Core 10&amp;nbsp;support in our v26.1 release cycle &lt;span&gt;(for our XAF Blazor/WinForms UI&amp;nbsp;and&amp;nbsp;Web API Service)&lt;/span&gt;. EF Core 10&amp;nbsp;is the latest version of Entity Framework.&amp;nbsp;&lt;span&gt;For early testing, EF Core 10 support is already available in&amp;nbsp;&lt;/span&gt;&lt;strong&gt;v25.2.5+&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&amp;nbsp;&lt;span style="color:#505050;"&gt;We also updated our EF Core 10 vs XPO&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/DevExpress-Examples/XAF_Security_E4908/tree/25.2.5%2B/Benchmarks" rel="nofollow"&gt;performance benchmarks&lt;/a&gt;&lt;span style="color:#505050;"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="color:#505050;"&gt;Our &lt;a href="https://docs.devexpress.com/eXpressAppFramework/405447/installation-upgrade-version-history/visual-studio-integration/template-kit" target="_blank"&gt;new Template Kit&lt;/a&gt; also uses EF Core 10 when .NET 10 is selected. &amp;nbsp;Our&amp;nbsp;MainDemo.NET.EFCore will also use EF Core 10 and .NET 10 in v26.1. NOTE: .NET 10 requires Visual Studio 2026, which is yet to be adopted by most users, so we have not done this for v25.2.&lt;/p&gt;&lt;p&gt;While EF Core 10&amp;nbsp;offers numerous advantages over its predecessor (performance and customization included), it also introduced a series of&amp;nbsp;&lt;a href="https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-10.0/breaking-changes" target="_blank"&gt;breaking changes&lt;/a&gt;&amp;nbsp;that we needed to address.&amp;nbsp;&lt;span&gt;Not all EF Core database connection providers ship EF Core 10-compatible NuGet packages as of this post&amp;nbsp;&lt;/span&gt;(like&amp;nbsp;Pomelo.EntityFrameworkCore.MySql).&amp;nbsp;&lt;span&gt;XAF&amp;#39;s&amp;nbsp;Web API Service also uses older&amp;nbsp;Swashbuckle.AspNetCore&amp;nbsp;package versions with .NET 10.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;DateTimeOffset Type Support&amp;nbsp;for EF Core and XPO&lt;/h2&gt;&lt;p&gt;&lt;span&gt;Our dev team will implement the core in DevExpress.Data, DevExpress.Xpo and related XAF libraries&amp;nbsp;(similar to &lt;a href="https://www.devexpress.com/subscriptions/new-2024-1.xml#devexpress-dateonly-timeonly-support" target="_blank"&gt;what we did&lt;/a&gt; for DateOnly/TimeOnly in DataController, Server Mode data sources, Criteria Language, etc.).&amp;nbsp;&lt;/span&gt;Based on this core, our&amp;nbsp;data-aware UI controls (such as Data Grid, Tree List, Date Editors) for Blazor and other UI&amp;nbsp;platforms will be able to do the remaining work.&lt;/p&gt;&lt;p&gt;&lt;span&gt;If all goes according to plan, by v26.2 we will be able to support the DateTimeOffset data model properties in key XAF&amp;nbsp;List and Property Editors. This  synergy&amp;nbsp;will simplify&amp;nbsp;multiple customer use-cases where application users are spread across different time zones.&lt;/span&gt;​&lt;/p&gt;&lt;h2&gt;XAF Blazor Report Designer Enhancements&lt;/h2&gt;&lt;p&gt;We will use ViewDataSource by default when creating a new report. We will also make it easier to customize XAF data source settings&amp;nbsp;&lt;span&gt;(data type, sorting, filtering, etc.)&lt;/span&gt; in the runtime Report Designer.&lt;/p&gt;&lt;img src="https://community.devexpress.com/blogs/xaf/image_12.png" alt=""&gt;&lt;h2&gt; Filter Builder Enhancements and Pivot Grid Integration&lt;/h2&gt;&lt;p&gt;With v26.1, we will replace our existing JS-based filter editor with &lt;a href="https://www.devexpress.com/subscriptions/whats-new/#new-blazor-filter-builder-ctp" target="_blank"&gt;the new DevExpress Blazor Filter Builder&lt;/a&gt;. &lt;span&gt;The DevExpress Blazor Filter Builder&amp;nbsp;offers&amp;nbsp;&lt;/span&gt;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/402956/localization/localize-an-xaf-application#localize-reports-and-filter-editor-in-aspnet-core-blazor-applications" target="_blank"&gt;simpler&amp;nbsp;localization&lt;/a&gt;&lt;span&gt;, better performance, and native Blazor theme/palette support. This change&amp;nbsp;will also reduce maintenance costs for the XAF team. The following Filter Builder&amp;nbsp;features are critical for XAF integration:&lt;/span&gt;&amp;nbsp;collection operations,&amp;nbsp;plain criteria text input/validation, good performance with complex data model structures.&lt;/p&gt;&lt;p&gt;In addition, we will improve XAF&amp;#39;s WinForms Filter Editor when using advanced XAF and ORM-specific criteria functions (&lt;a href="https://docs.devexpress.com/CoreLibraries/404016/devexpress-data-library/criteria-cheat-sheet#xaf-specific-criteria-features" target="_blank"&gt;Upcasting, Free Joins, etc.&lt;/a&gt;). &lt;/p&gt;&lt;p&gt;If time permits, we will also integrate&amp;nbsp;&lt;a href="https://www.devexpress.com/subscriptions/whats-new/#blazor-pivot-table" target="_blank"&gt;the DevExpress Blazor Pivot Table&lt;/a&gt;&amp;nbsp;(an early preview of&amp;nbsp;XAF&amp;#39;s DxPivotGridListEditor in v26.1). This integration is based on previous v25.2 research and close collaboration with our Blazor development&amp;nbsp;team (who made required extension points/APIs and added features important for XAF customers). If all goes according to plan, v26.2 should mark the official release of&amp;nbsp;DxPivotGridListEditor.&amp;nbsp;&lt;/p&gt;&lt;h2&gt;Built-In AI Module to Add&amp;nbsp;Smart Functions in &amp;quot;1-Click&amp;quot;&lt;/h2&gt;&lt;p&gt;If you are unfamiliar with our existing .NET&amp;nbsp;AI-powered Extensions,&amp;nbsp;please&amp;nbsp;&lt;a href="https://www.devexpress.com/products/ai-powered-extensions/" target="_blank"&gt;review these documents&lt;/a&gt;. XAF Blazor/WinForms&amp;nbsp;&lt;strong&gt;v26.1&lt;/strong&gt;&amp;nbsp;will simplify the following AI-related capabilities:&lt;/p&gt;&lt;h3&gt;Semantic or Smart Search within DevExpress Data Grids and AI Chat Integration&lt;/h3&gt;&lt;img src="https://community.devexpress.com/blogs/xaf/2026/AI_Smart_Search_Grid.jpg" alt="" style="width:2048px;height:1218px;"&gt;&lt;h3&gt;AI-Powered Smart Paste within the Detail View&amp;nbsp;Layout Control&amp;nbsp;&lt;/h3&gt;&lt;img src="https://community.devexpress.com/blogs/xaf/2026/AI_Smart_Paste.png" alt="" style="width:592px;height:320px;"&gt;&lt;h3&gt;AI-Powered Extensions in the Reporting, Filter Editor, Office (Rich Text Editor) Modules&lt;/h3&gt;&lt;img src="https://community.devexpress.com/blogs/xaf/2026/AI_Chat_Report_Designer.jpg" alt=""&gt;&lt;img src="https://community.devexpress.com/blogs/xaf/2026/AI_Smart_Text_Functions.png" alt="" style="width:605px;height:575px;"&gt;



&lt;h2&gt;Blazor List and Property Editor Enhancements&lt;/h2&gt;&lt;p&gt;We expect to migrate XAF&amp;#39;s DxGridListEditor to native Blazor DxGrid component context menus, which were added in a recent major update (much like in XAF WinForms below). &lt;/p&gt;&lt;p&gt;We will also make it easier to add custom buttons to Blazor Property Editors in code (via the new Buttons property):&lt;/p&gt;&lt;pre&gt;&lt;code class="language-csharp"&gt;private void Customize_EnumPropertyEditor(EnumPropertyEditor editor) {
    var customButtonModel = new DxEditorButtonModel() {
        Text = &amp;quot;Test&amp;quot;,
        Click = EventCallback.Factory.Create&amp;lt;MouseEventArgs&amp;gt;(this,
             (e) =&amp;gt; Application.ShowViewStrategy.ShowMessage(&amp;quot;Click!&amp;quot;))
    };
    editor.Buttons.Add(customButtonModel);
}&lt;/code&gt;&lt;/pre&gt;&lt;img src="https://community.devexpress.com/blogs/xaf/2026/Blazor_Runtime_Summary_Customization.png" alt=""&gt;&lt;h2&gt;What&amp;#39;s Next / Our Main Focus&lt;br&gt;&lt;/h2&gt;&lt;h3&gt;We Remain Focused on XAF Blazor Scalability&lt;/h3&gt;&lt;p&gt;As many of you already know &lt;a href="https://community.devexpress.com/Blogs/xaf/archive/2025/08/15/xaf-cross-platform-net-app-ui-and-web-api-service-year-end-roadmap-v25-2.aspx" target="_blank"&gt;from my mid-2025&amp;nbsp;announcement&lt;/a&gt;, &lt;strong&gt;our core focus&amp;nbsp;for the next few major release cycles will continue to be&amp;nbsp;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/403362/deployment/asp-net-core-blazor/deployment-recommendations-blazor#high-load-scenarios-load-testing-and-scalability" target="_blank"&gt;scalability&lt;/a&gt;&lt;/strong&gt;&lt;strong&gt;&amp;nbsp;(number of concurrent web users). &lt;/strong&gt;At the end of&amp;nbsp;2026 (&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;not yet in v25.2 or v26.1&lt;/span&gt;&lt;/strong&gt;),&amp;nbsp;we want future XAF Blazor apps and XAF core to be:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Scalable up to hundreds and even a thousand&amp;nbsp;of web users reliably and predictably.&lt;/li&gt;&lt;li&gt;Require simpler configuration&amp;nbsp;for high-load and&amp;nbsp;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/404436/multitenancy" target="_blank"&gt;multi-tenancy scenarios&lt;/a&gt;&amp;nbsp;&lt;span&gt;(without Kubernetes -k8s-&amp;nbsp;or other complicated horizontal/scale out&amp;nbsp;solutions).&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Require much less compute&amp;nbsp;resources (CPU/RAM).&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;As I noted earlier, this is especially important as&amp;nbsp;&lt;/span&gt;scalable,&lt;span&gt;&amp;nbsp;&lt;/span&gt;cloud-hosted,&amp;nbsp;multi-tenant/SaaS-based apps are becoming a standard requirement&lt;span&gt;&amp;nbsp;(for both internal and public LOB deployments). Achieving desired levels of XAF Blazor scalability will certainly help customers targeting hybrid desktop apps for both Windows and non-Windows environments (Electron.NET-powered). Better&amp;nbsp;scalability will also drive the evolution of our Multi-Tenancy module (scalability&amp;nbsp;is an &amp;quot;enabler&amp;quot; to add additional&amp;nbsp;standard SaaS features later).&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Migrate Your XAF Apps from  .NET Framework (WinForms/WebForms) to&amp;nbsp;&lt;/span&gt;.NET (WinForms/Blazor)&lt;/h3&gt;&lt;p&gt;&lt;span&gt;For this big and ambitious goal, we had to drop .NET Framework support and remove legacy APIs in v25.2. We also re-balanced our dev team internally to prioritize performance enhancements in XAF Core and Blazor UI above other features. Of course, we remain focused on security and continue to address usability and other framework-related issues (as you can see from the XAF Blazor/WinForms roadmap above).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;To help with the&amp;nbsp;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/401253/migration-to-net" target="_blank"&gt;migration to .NET from .NET Framework&lt;/a&gt; easier, we published semi-automatic converters and detailed migration guidelines (powered by AI,&amp;nbsp;Roslyn, and our Project Converter). Please let us know if there is anything we can improve in this regard for you.&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span&gt;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/405736/migration-to-net/migration-from-web-forms-to-blazor" target="_blank"&gt;Migrate XAF Application from ASP.NET WebForms to ASP.NET Core Blazor&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/401264/migration-to-net/port-an-application-to-higher-version" target="_blank"&gt;Port an XAF WinForms App from .NET Framework to .NET 8+&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/405693/migration-to-net/migration-from-net-framework-in-v-25-2" target="_blank"&gt;Remove .NET Framework (WinForms / ASP.NET Web Forms) &amp;amp; Legacy .NET API&lt;/a&gt;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/405693/migration-to-net/migration-from-net-framework-in-v-25-2" target="_blank"&gt;&lt;/a&gt;&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Blazor Model Editor in Your Web Browser (Postponed)&lt;/h3&gt;&lt;p&gt;In January, we confirmed that it is technically feasible to have the same experience as in XAF WinForms Model Editor (see our Blazor prototype). While I would love to have the powerful runtime Blazor Model Editor today as much as you, we intentionally delayed it in favor of our main strategic focus (web scalability).&amp;nbsp;We&amp;#39;ll see whether we can revisit this task in our v26.2 release cycle.&lt;/p&gt;&lt;p&gt;This Application Model / UI structure customization will also require additional licensing/EULA considerations - as this powerful tool is&amp;nbsp;primarily for &amp;quot;developers&amp;quot; (application structure/logic customizations are technically considered &amp;quot;development&amp;quot; tools).&lt;/p&gt;&lt;img src="https://community.devexpress.com/blogs/xaf/2026/Blazor_Runtime_Model_Editor.jpg" alt=""&gt;&lt;h3&gt;First XAF Blazor Scalability Research Results&lt;/h3&gt;&lt;p&gt;By v26.1, we will publish the first load-testing results along with related&amp;nbsp;product enhancements (safely activated via feature flags). For example, our core dev team almost finalized planned Application Model enhancements, which will reduce memory usage and speed up critical code execution under high user load. &lt;/p&gt;&lt;p&gt;Our primary work from mid-2025 has been and still is&amp;nbsp;to:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Analyze key bottlenecks from research;&lt;/li&gt;&lt;li&gt;Prioritize the most impactful changes for target scenarios (like 500+ users);&lt;/li&gt;&lt;li&gt;Plan required code changes in XAF core and DevExpress Blazor components.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Below you can see a screenshot from our internal dashboard for a few test runs in February. The bottom chart series displays the impact on response times from one of our recent code optimizations. Of course, we must also optimize for web server memory usage, database/SQL, and many other parameters. Challenges remain, but we are sure that our final implementation will deliver positive/noticeable business impact to XAF Blazor and its users.&lt;/p&gt;&lt;img src="https://community.devexpress.com/blogs/xaf/H6C5OGC3gc.jpg" alt="" style="width:2952px;height:1460px;"&gt;&lt;h2&gt;DevExpress Blazor Component Enhancements (for XAF Blazor)&lt;/h2&gt;&lt;p&gt;Learn more:&amp;nbsp;&lt;a href="https://community.devexpress.com/Blogs/aspnet/archive/2026/02/24/blazor-june-2026-roadmap-v26-1.aspx"&gt;Blazor — June 2026 Roadmap (v26.1)&lt;/a&gt;&lt;/p&gt;&lt;h2&gt;DevExpress WinForms Component Enhancements (for XAF WinForms)&lt;/h2&gt;&lt;p&gt;Learn more:&amp;nbsp;&lt;a href="https://community.devexpress.com/Blogs/winforms/archive/2026/02/24/winforms-june-2026-roadmap-v26-1.aspx"&gt;WinForms — June 2026 Roadmap (v26.1)&lt;/a&gt;&lt;/p&gt;&lt;h2&gt;Other DevExpress Component Enhancements (for XAF Blazor/WinForms)&lt;/h2&gt;&lt;p&gt;Learn more:&amp;nbsp;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://community.devexpress.com/Blogs/aspnet/archive/2026/01/08/devexpress-blazor-ai-chat-agent2agent-a2a-protocol-integration.aspx"&gt;DevExpress Blazor AI Chat — Agent2Agent (A2A) Protocol Integration&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://community.devexpress.com/blogs/reporting/archive/2026/02/10/reporting-amp-bi-dashboard-june-2026-roadmap-v26-1.aspx" target="_blank"&gt;Reporting &amp;amp; BI Dashboard — June 2026 Roadmap (v26.1)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://community.devexpress.com/Blogs/office/archive/2026/02/23/file-amp-document-processing-apis-june-2026-roadmap-v26-1.aspx"&gt;Office File &amp;amp; PDF Document Processing APIs — June 2026 Roadmap (v26.1)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;Your Feedback Matters&lt;/h2&gt;&lt;p&gt;As always, we welcome your feedback. Your response to the following questions will help us fine-tune/refine plans for our next major release:&lt;/p&gt;&lt;div data-survey-id="d1ba72b8-5085-47f6-bc10-5f87d31b1b1a" data-survey-auth-required="false"&gt;&lt;/div&gt;&lt;span&gt;If you have yet to review the features/capabilities introduced in our most recent major update (&lt;/span&gt;&lt;strong&gt;v25.2&lt;/strong&gt;&lt;span&gt;), please&amp;nbsp;&lt;/span&gt;&lt;a href="https://www.devexpress.com/subscriptions/whats-new/#xaf" target="_blank"&gt;visit the following webpage&lt;/a&gt;&lt;span&gt;&amp;nbsp;and let us know what you think of this release by responding to&amp;nbsp;&lt;/span&gt;&lt;a href="https://www.devexpress.com/subscriptions/whats-new/#xaf-survey" target="_blank"&gt;our online XAF v25.2 survey&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;p&gt;Thanks,&lt;br&gt;Dennis Garavsky&lt;br&gt;Principal Product Manager&lt;br&gt;&lt;a href="mailto:dennis@devexpress.com" title="Email me if you have questions or suggestions"&gt;dennis@devexpress.com&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Tue, 03 Mar 2026 07:18:00 Z</pubDate>
      <dc:creator>Dennis Garavsky (DevExpress)</dc:creator>
    </item>
    <item>
      <guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:388260</guid>
      <link>https://community.devexpress.com/Blogs/xaf/archive/2025/08/15/xaf-cross-platform-net-app-ui-and-web-api-service-year-end-roadmap-v25-2.aspx</link>
      <category domain="https://community.devexpress.com/Tags/.NET">.NET</category>
      <category domain="https://community.devexpress.com/Tags/.NET+10">.NET 10</category>
      <category domain="https://community.devexpress.com/Tags/.NET+8">.NET 8</category>
      <category domain="https://community.devexpress.com/Tags/.NET+9">.NET 9</category>
      <category domain="https://community.devexpress.com/Tags/.net+core">.net core</category>
      <category domain="https://community.devexpress.com/Tags/2025">2025</category>
      <category domain="https://community.devexpress.com/Tags/asp.net+Core">asp.net Core</category>
      <category domain="https://community.devexpress.com/Tags/blazor">blazor</category>
      <category domain="https://community.devexpress.com/Tags/EF+Core">EF Core</category>
      <category domain="https://community.devexpress.com/Tags/Entity+Framework">Entity Framework</category>
      <category domain="https://community.devexpress.com/Tags/future">future</category>
      <category domain="https://community.devexpress.com/Tags/important+changes">important changes</category>
      <category domain="https://community.devexpress.com/Tags/roadmap">roadmap</category>
      <category domain="https://community.devexpress.com/Tags/v25.2">v25.2</category>
      <category domain="https://community.devexpress.com/Tags/web+api">web api</category>
      <category domain="https://community.devexpress.com/Tags/WinForms">WinForms</category>
      <category domain="https://community.devexpress.com/Tags/XAF">XAF</category>
      <title>XAF (Cross-Platform .NET App UI &amp; Web API Service) — Year-End Roadmap (v25.2)</title>
      <description>&lt;p&gt;&lt;span style="background-color:#ffff00;"&gt;&lt;strong&gt;EDIT&lt;/strong&gt;&lt;span&gt;:&amp;nbsp;&lt;/span&gt;&lt;a href="https://community.devexpress.com/Blogs/xaf/archive/2026/03/03/xaf-cross-platform-net-app-ui-and-web-api-service-june-2026-roadmap-v26-1.aspx" target="_blank"&gt;XAF v26.1 Roadmap&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This blog post outlines some of our XAF-related development plans for the second half of 2025&amp;nbsp;(&lt;strong&gt;v25.2&lt;/strong&gt;) and beyond.&amp;nbsp;&lt;/span&gt;&lt;strong&gt;The announcement within this post is important and I don&amp;#39;t wish to minimize its impact.&amp;nbsp;&lt;/strong&gt;&lt;span&gt;My goal is to give everyone as much advance notice as possible.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;div class="Note"&gt;The information contained within this blog post details our current/projected development plans. Please note that this information is being shared for INFORMATIONAL PURPOSES ONLY and does not represent a binding commitment on the part of Developer Express Inc. This roadmap and the features/products listed within it are subject to change. You should not rely on or use this information to help make a purchase decision about Developer Express Inc products.&amp;nbsp;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="blazor-ui-enhancements"&gt;XAF Blazor/WinForms UI Enhancements in v25.2 for .NET 8+&lt;/h2&gt;&lt;h3&gt;.NET 10 and Visual Studio vNext Support&lt;/h3&gt;&lt;p&gt;We plan to officially support .NET 10 after its final release&amp;nbsp;(for our XAF Blazor/WinForms UI&amp;nbsp;and&amp;nbsp;Web API Service). &lt;/p&gt;&lt;p&gt;Microsoft also&amp;nbsp;&lt;a href="https://devblogs.microsoft.com/visualstudio/visual-studio-2022-v17-14-is-now-generally-available/#delivering-new-features-in-visual-studio-even-faster" target="_blank"&gt;announced&lt;/a&gt;&amp;nbsp;the&amp;nbsp;next major version of Visual Studio, planned for release later this year. Needless to say, will introduce&amp;nbsp;support for XAF&amp;#39;s Model Editor, WinForms and&amp;nbsp;Report designers, as well as other IDE tooling/integrations.&lt;/p&gt;&lt;h3&gt;TagBox, ComboBox, Progress Bar, PDF Viewer Property Editors: Official Release/RTM&lt;/h3&gt;&lt;p&gt;&lt;span&gt;In our v25.1&amp;nbsp;release cycle, we published&amp;nbsp;&lt;/span&gt;&lt;span&gt;these new &lt;a href="https://docs.devexpress.com/eXpressAppFramework/113014/business-model-design-orm/data-types-supported-by-built-in-editors" target="_blank"&gt;Property Editors&lt;/a&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;as a Community Technology Preview (&lt;a href="https://www.devexpress.com/aboutus/pre-release.xml" target="_blank"&gt;CTP&lt;/a&gt;) &lt;span&gt;for&amp;nbsp;&lt;/span&gt;&lt;span&gt;XAF Blazor and XAF WinForms&lt;/span&gt;.&amp;nbsp;&lt;/span&gt;In &lt;strong&gt;v25.2&lt;/strong&gt;, we will officially release these features.&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Middle Tier Security for Blazor UI: Official Release/RTM&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span&gt;Our next major update &lt;strong&gt;(&lt;/strong&gt;&lt;strong&gt;v25.2)&lt;/strong&gt;&amp;nbsp;we will also officially support &lt;a href="https://demos.devexpress.com/XAF/BlazorMainDemo" target="_blank"&gt;XAF Blazor&lt;/a&gt; UI + Middle Tier Security configuration&amp;nbsp;(for secure communication between the frontend and backend, helping to protect sensitive data and enforce stricter access controls). See Also: &lt;a href="https://docs.devexpress.com/eXpressAppFramework/404691/security-considerations/general-security-considerations#data-store-protection" target="_blank"&gt;Data Store Protection (Docs)&lt;/a&gt;&amp;nbsp;| &lt;a href="https://community.devexpress.com/Tags/access+control" target="_blank"&gt;Security-related blog articles&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;&lt;h3 id="xaf-blazor-electron-net-for-windows-and-macos-linux-desktop"&gt;Windows/macOS Desktop Support via Blazor UI &amp;amp;&amp;nbsp;Electron.NET&amp;nbsp;&lt;/h3&gt;&lt;p&gt;The previous feature&amp;nbsp;will help us publish a&amp;nbsp;GitHub example with a&amp;nbsp;new “hybrid” desktop app for Windows and macOS (powered by Electron.NET and XAF Blazor).&amp;nbsp;&lt;span&gt;In this GitHub example, an XAF Blazor app will be wrapped inside a native “web view” container for the target OS and connected to our Middle Tier application server (or database directly, if allowed).&amp;nbsp;&lt;/span&gt;Based on&amp;nbsp;user demand, we may transform this example into a Template Kit project in the future.&lt;/p&gt;&lt;p&gt;When used, XAF developers can deliver both Windows and non-Windows support when WinForms and browser-based apps do not meet client needs (&lt;a href="https://devexpress.com/kb=T1102932#781e7ba2-b038-4b83-943f-bd7c56e12216" target="_blank"&gt;a customer use-case&lt;/a&gt;). 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.&amp;nbsp;&lt;span&gt;For many, this&amp;nbsp;web-based&amp;nbsp;approach can be an&amp;nbsp;alternative to native WinForms/WPF/VCL/Avalonia desktop development (&amp;quot;write once, run everywhere&amp;quot;).&lt;/span&gt;&lt;/p&gt;&lt;h3 id="fluent-theme-and-ribbon-ui-support"&gt;Fluent Themes and Icons: Official Release/RTM&lt;/h3&gt;&lt;p&gt;&lt;a href="https://community.devexpress.com/blogs/xaf/archive/2025/02/17/xaf-v25-1-june-2025-roadmap-cross-platform-net-app-ui-and-web-api-service.aspx" target="_blank"&gt;As first&amp;nbsp;announced in our v25.1 roadmap&lt;/a&gt;, we expect to officially ship Dark and Light&amp;nbsp;Fluent Themes&amp;nbsp;for XAF Blazor&amp;nbsp;&lt;strong&gt;v25.2&lt;/strong&gt;&amp;nbsp;(&lt;a href="https://www.devexpress.com/subscriptions/whats-new/#xaf-fluent-themes" target="_blank"&gt;currently in CTP&lt;/a&gt;).&amp;nbsp;We also expect to extend our SVG icon pack with more colorful XAF-specific icons (filled or outlined) to match the Fluent Theme and its dark/light palettes.&lt;/p&gt;&lt;p&gt;Fluent UI style support for XAF WinForms has been postponed until v26.1 (once we finalize related WinForms component updates in v25.2).&lt;/p&gt;&lt;h3&gt;Ribbon UI Support&lt;/h3&gt;&lt;p&gt;With XAF &lt;strong&gt;v25.2&lt;/strong&gt;, we will modify&amp;nbsp;the main menu, navigation, account component, theme switcher, and layout structure&amp;nbsp;(to mimic modern Office-inspired web apps). We will&amp;nbsp;use the Ribbon UI (instead of a simple toolbar) and combine it&amp;nbsp;with a Tabbed MDI by default (like&amp;nbsp;XAF WinForms). Our implementation will support&amp;nbsp;Ribbon UI command&amp;nbsp;merging and&amp;nbsp;better XAF Action support across both main and detail form templates (Window Controller&amp;#39;s Actions will be&amp;nbsp;processed like&amp;nbsp;its done in XAF WinForms).&lt;/p&gt;&lt;h3&gt;Configure XAF Report Data Sources within the Blazor Report Designer&lt;/h3&gt;&lt;p&gt;With our next major release,&amp;nbsp;end-users will be able to modify&amp;nbsp;ViewDataSource/CollectionDataSource&amp;nbsp;settings&amp;nbsp;&lt;span&gt;(data type, sorting, filtering, etc.)&lt;/span&gt; in the runtime Report Designer.&amp;nbsp;&lt;/p&gt;&lt;h3&gt;Research:  Blazor Filter Builder and Pivot Grid Integration&lt;/h3&gt;&lt;p&gt;We hope to replace our existing JS-based filter editor with &lt;a href="https://www.devexpress.com/subscriptions/whats-new/#new-blazor-filter-builder-ctp" target="_blank"&gt;the new DevExpress Blazor Filter Builder&lt;/a&gt;&amp;nbsp;(CTP in v25.1). &lt;span&gt;The DevExpress Blazor Filter Builder&amp;nbsp;supports &lt;/span&gt;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/402956/localization/localize-an-xaf-application#localize-reports-and-filter-editor-in-aspnet-core-blazor-applications" target="_blank"&gt;simpler&amp;nbsp;localization&lt;/a&gt;&lt;span&gt;, better performance, and native Blazor themes/palettes. This change&amp;nbsp;will also reduce maintenance costs for the XAF team. The following Filter Builder&amp;nbsp;features are critical for XAF integration:&lt;/span&gt;&amp;nbsp;collection operations and plain criteria text input/validation.&amp;nbsp;&lt;/p&gt;&lt;p&gt;We will also consider integrating&amp;nbsp;&lt;a href="https://www.devexpress.com/subscriptions/whats-new/#blazor-pivot-table" target="_blank"&gt;the DevExpress Blazor Pivot Table&lt;/a&gt;&amp;nbsp;(as part of the new&amp;nbsp;XAF&amp;#39;s DxPivotGridListEditor).  &lt;/p&gt;&lt;h3&gt;AI-related&amp;nbsp;Enhancements&lt;/h3&gt;&lt;p&gt;If you are unfamiliar with our existing .NET&amp;nbsp;AI-powered Extensions,&amp;nbsp;please&amp;nbsp;&lt;a href="https://www.devexpress.com/products/ai-powered-extensions/" target="_blank"&gt;review these documents&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;XAF Blazor/WinForms&amp;nbsp;&lt;strong&gt;v25.2&lt;/strong&gt;&amp;nbsp;will simplify use of&amp;nbsp;&lt;strong&gt;one or more&lt;/strong&gt;&amp;nbsp;AI-related capabilities from the following list:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Semantic or Smart Search within DevExpress Data Grids and Lookup editors.&lt;/li&gt;&lt;li&gt;Semantic or Smart Search within our Ribbon and Accordion controls.&lt;/li&gt;&lt;li&gt;AI-powered Smart Paste within DevExpress&amp;nbsp;Data Grids&amp;nbsp;and Layout controls. Smart Paste analyzes content and intelligently assigns correct values to appropriate layout fields or row cells (to transform traditional copy-and-paste operations).&lt;/li&gt;&lt;li&gt;AI Chat integration (including&amp;nbsp;a project template).&lt;/li&gt;&lt;li&gt;Easier activation of AI-powered extensions in the Reporting, Filter Editor, Office (Rich Text Editor) modules.&lt;/li&gt;&lt;/ul&gt;

&lt;h2 id="accessibility"&gt;DevExpress MCP Server for AI-Powered Documentation Access&lt;/h2&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;All Platforms&lt;/span&gt;
    

    &lt;span class="development"&gt;In Development&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;We will introduce an MCP server that connects GitHub Copilot Chat, Cursor, and other MCP-compatible AI tools directly to our comprehensive documentation database. The server will provide instant access to over 300,000 help topics through natural language queries within your IDE. This will allow you and AI coding agents such as Claude Code to access current DevExpress documentation directly within the AI assistant&amp;#39;s context. Learn more:&amp;nbsp;&lt;a href="https://docs.devexpress.com/GeneralInformation/405551/help-resources/dev-express-documentation-mcp-server-configure-an-ai-powered-assistant"&gt;DevExpress Documentation MCP Server: Configure an AI-powered Assistant&lt;/a&gt;.&lt;/p&gt;&lt;img src="https://community.devexpress.com/blogs/xaf/dx-mcp-docs-assistant[1].png" alt="" style="width:1560px;height:632px;"&gt;

&lt;h2&gt;XAF v25.2+&amp;nbsp;Will No Longer Include .NET Framework Support&amp;nbsp;(WebForms &amp;amp; WinForms)&lt;/h2&gt;
&lt;h3&gt;What&lt;/h3&gt;&lt;p&gt;We will officially end WebForms &amp;amp; WinForms .NET Framework support in our&amp;nbsp;&lt;strong&gt;v25.2+ &lt;/strong&gt;release cycle.&amp;nbsp;We will focus our efforts on .NET 8+ (Blazor &amp;amp; WinForms &amp;amp; Web API Service) going forward. We will ship security and other critical fixes for v25.1.XX minor builds for&amp;nbsp;&lt;strong&gt;as long as we can&lt;/strong&gt;. Example:&amp;nbsp;we will ship XAF WebForms/WinForms v25.1.XX&amp;nbsp;for security-related updates and answer technical support questions even &lt;span&gt;when DevExpress v27.1.3 is released&amp;nbsp;&lt;/span&gt;&lt;span&gt;(and likely beyond our standard&amp;nbsp;&lt;a href="https://www.devexpress.com/support/versions.xml#supported" target="_blank"&gt;version support&amp;nbsp;policy&lt;/a&gt;)&lt;/span&gt;.&lt;/p&gt;&lt;p&gt;&lt;span&gt;We appreciate all the wonderful XAF .NET Framework-related feedback you&amp;#39;ve given us over the last 20&amp;nbsp;years.&amp;nbsp;Though cancelling a .NET Framework project&amp;nbsp;is not fun (nor does it help anyone&amp;#39;s bottom line) we are confident that this decision will be a win/win for everyone.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;span&gt;We recommend XAF .NET Framework users migrate their apps to XAF Blazor/WinForms UI or Web API Service for .NET 8+. Our online docs include many migration guidelines (see&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/401253/overview/net-5-support-and-migration"&gt;.NET Support and Migration&lt;/a&gt;).&amp;nbsp; The XAF team will also continue to extend&amp;nbsp;these&amp;nbsp;guidelines and help&amp;nbsp;XAF customers with migration-related questions (in the DevExpress Support Center).&lt;/p&gt;&lt;h3&gt;Why&lt;/h3&gt;&lt;p&gt;While we hoped to maintain XAF legacy WebForms &amp;amp; WinForms apps &lt;a href="https://learn.microsoft.com/en-us/lifecycle/products/microsoft-net-framework" target="_blank"&gt;as long as&amp;nbsp;.NET Framework ships with Windows&lt;/a&gt;, it is no longer realistic. Reasons include:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Growing technology gap:&lt;/strong&gt;&amp;nbsp;We can no longer combine tech from 2000 (.NET Framework ASP.NET WebForms/WinForms) with a platform from 2020 (ASP.NET Core/Blazor/Web API) in the same codebase. Modern requirements for scalable, multi-tenant, and cloud-ready apps require a new XAF core/architecture.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Rising maintenance/opportunity costs:&lt;/strong&gt;&amp;nbsp;We can no longer ignore&amp;nbsp;the following maintenance/opportunity costs: use of &lt;span&gt;.NET Core/.NET Framework&amp;nbsp;&lt;/span&gt;preprocessor directives; inability to leverage DI to its full potential; inability to use&amp;nbsp;modern C# language/.NET SDK features (like Span&amp;lt;T&amp;gt;, Memory&amp;lt;T&amp;gt;, ReadOnlySequence&amp;lt;T&amp;gt;, just to name a few).&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Embracing AI-driven change:&lt;/strong&gt;&amp;nbsp;The disruption AI brings to the table for our .NET user base requires us to evolve more rapidly and pursue&amp;nbsp;non-standard solutions.&amp;nbsp;This is not feasible when .NET Framework is on board.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;What&amp;#39;s Next/Main Focus&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;To recap:&lt;/strong&gt;&amp;nbsp;we will continue enhancing XAF Blazor UI for .NET 8+ in our year-end release.&amp;nbsp;We will also maintain XAF WinForms UI for .NET 8+&lt;span&gt;.&amp;nbsp;&lt;/span&gt;We will gradually evolve XAF WinForms UI to meet modern Windows desktop standards/end-user expectations (such as Fluent UI, AI-powered functions, etc.). &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Our core focus&amp;nbsp;for the next few major release cycles will be &lt;a href="https://docs.devexpress.com/eXpressAppFramework/403362/deployment/asp-net-core-blazor/deployment-recommendations-blazor#high-load-scenarios-load-testing-and-scalability" target="_blank"&gt;scalability&lt;/a&gt;&amp;nbsp;&lt;/strong&gt;(number of concurrent web users). At the end of&amp;nbsp;2026 (&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;not yet in v25.2&lt;/span&gt;&lt;/strong&gt;),&amp;nbsp;we want future XAF Blazor apps and XAF core to be:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Scalable up to hundreds and even a thousand&amp;nbsp;of web users reliably and predictably.&lt;/li&gt;&lt;li&gt;Require simpler configuration&amp;nbsp;for high-load and &lt;strong&gt;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/404436/multitenancy" target="_blank"&gt;multi-tenancy scenarios&lt;/a&gt;&lt;/strong&gt;&amp;nbsp;&lt;span&gt;(without Kubernetes -k8s-&amp;nbsp;or other complicated horizontal/scale out&amp;nbsp;solutions).&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Require much less compute&amp;nbsp;resources (CPU/RAM).&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;As I noted earlier, this is especially important as &lt;strong&gt;scalable,&lt;/strong&gt;&amp;nbsp;&lt;strong&gt;c&lt;/strong&gt;&lt;strong&gt;loud-hosted,&amp;nbsp;multi-tenant/SaaS-based apps are becoming a standard requirement&lt;/strong&gt; (for both internal and public LOB deployments). Achieving desired levels of XAF Blazor scalability will certainly help customers targeting hybrid desktop apps for both Windows and non-Windows environments (Electron.NET-powered). Better&amp;nbsp;scalability will also drive the evolution of our Multi-Tenancy module (scalability&amp;nbsp;is an &amp;quot;enabler&amp;quot; to add additional&amp;nbsp;standard SaaS features later).&lt;/p&gt;&lt;h2&gt;Other Anticipated&amp;nbsp;XAF v25.2+ Changes (.NET 8+)&lt;/h2&gt;&lt;p&gt;Focus on scalability may result  in the following:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;XAF .NET 8+&amp;nbsp;will eliminate legacy/obsolete code.&amp;nbsp;Example: legacy Domain Component interfaces (DC), SecuritySystemXXX and related security classes, not recommended for use in favor of PermissionPolicyXXX classes from 2016. Low-level API breaking changes (BC)&amp;nbsp;are also expected.&lt;/li&gt;&lt;li&gt;XAF Blazor v25.2+ core&amp;nbsp;may separate from the XAF WinForms core. Desktop and web apps are fundamentally different technically and in terms of expected user load. Think of a single-user &amp;quot;fat&amp;quot; desktop client VS&amp;nbsp;a multi-user client-server/distributed web&amp;nbsp;app. While we have always maximized the amount of cross-platform XAF code (for ourselves and XAF customers), the same compatibility may be challenging&amp;nbsp;due to differences between desktop apps/web apps.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Core feature set changes in XAF .NET 8+. This includes Types Info, Application Model, Security&amp;nbsp;System and other modules (like no more WinForms PivotChart, KPI, ScriptRecorder&amp;nbsp;modules).&amp;nbsp;We will also have to limit XAF Blazor flexibility in favor of scalability/performance (likely under a feature toggle). Example: h&lt;span&gt;igh-load multi-tenant&amp;nbsp;XAF Blazor apps will enforce&amp;nbsp;&lt;/span&gt;simplified security permissions OR&amp;nbsp;&lt;span&gt;limited Application Model  layers&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;As always, we will try to minimize impact on existing customers&lt;/span&gt;&amp;nbsp;with detailed migration guides or auto-update tooling, where possible.&lt;/p&gt;

&lt;h2&gt;Your Feedback Matters&lt;/h2&gt;&lt;p&gt;Your response to the following questions will help us fine-tune/refine plans for our next major release:&lt;/p&gt;&lt;div data-survey-id="f73f5840-4ae8-4b4e-8a06-aba9f632aca3" data-survey-auth-required="false"&gt;&lt;/div&gt;&lt;span&gt;If you have yet to review the features/capabilities introduced in our most recent major update (&lt;/span&gt;&lt;strong&gt;v25.1&lt;/strong&gt;&lt;span&gt;), please&amp;nbsp;&lt;/span&gt;&lt;a href="https://www.devexpress.com/subscriptions/whats-new/" target="_blank"&gt;visit the following webpage&lt;/a&gt;&lt;span&gt;&amp;nbsp;and let us know what you think of this release by responding to&amp;nbsp;&lt;/span&gt;&lt;a href="https://www.devexpress.com/subscriptions/whats-new/#xaf-survey" target="_blank"&gt;our online XAF v25.1 survey&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;p&gt;Thanks,&lt;br&gt;Dennis Garavsky&lt;br&gt;Principal Product Manager&lt;br&gt;&lt;a href="mailto:dennis@devexpress.com" title="Email me if you have questions or suggestions"&gt;dennis@devexpress.com&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Fri, 15 Aug 2025 01:01:00 Z</pubDate>
      <dc:creator>Dennis Garavsky (DevExpress)</dc:creator>
    </item>
    <item>
      <guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:388243</guid>
      <link>https://community.devexpress.com/Blogs/xaf/archive/2025/04/21/xaf-cross-platform-net-app-ui-web-api-service-early-access-preview-v25-1.aspx</link>
      <category domain="https://community.devexpress.com/Tags/.NET">.NET</category>
      <category domain="https://community.devexpress.com/Tags/.net+core">.net core</category>
      <category domain="https://community.devexpress.com/Tags/2025">2025</category>
      <category domain="https://community.devexpress.com/Tags/accessibility">accessibility</category>
      <category domain="https://community.devexpress.com/Tags/asp.net+Core">asp.net Core</category>
      <category domain="https://community.devexpress.com/Tags/blazor">blazor</category>
      <category domain="https://community.devexpress.com/Tags/eap">eap</category>
      <category domain="https://community.devexpress.com/Tags/EF">EF</category>
      <category domain="https://community.devexpress.com/Tags/EF+Core">EF Core</category>
      <category domain="https://community.devexpress.com/Tags/Entity+Framework">Entity Framework</category>
      <category domain="https://community.devexpress.com/Tags/Non-Windows">Non-Windows</category>
      <category domain="https://community.devexpress.com/Tags/OData">OData</category>
      <category domain="https://community.devexpress.com/Tags/OpenAPI">OpenAPI</category>
      <category domain="https://community.devexpress.com/Tags/prerelease">prerelease</category>
      <category domain="https://community.devexpress.com/Tags/REST">REST</category>
      <category domain="https://community.devexpress.com/Tags/restful">restful</category>
      <category domain="https://community.devexpress.com/Tags/roadmap">roadmap</category>
      <category domain="https://community.devexpress.com/Tags/security">security</category>
      <category domain="https://community.devexpress.com/Tags/survey">survey</category>
      <category domain="https://community.devexpress.com/Tags/Swagger">Swagger</category>
      <category domain="https://community.devexpress.com/Tags/Usability">Usability</category>
      <category domain="https://community.devexpress.com/Tags/v25.1">v25.1</category>
      <category domain="https://community.devexpress.com/Tags/web+api">web api</category>
      <category domain="https://community.devexpress.com/Tags/XAF">XAF</category>
      <category domain="https://community.devexpress.com/Tags/XPO">XPO</category>
      <title>XAF (Cross-Platform .NET App UI &amp; Web API Service) — Early Access Preview (v25.1)</title>
      <description>&lt;p&gt;This post documents&amp;nbsp;&lt;strong&gt;a few&lt;/strong&gt;&amp;nbsp;&lt;a href="https://www.devexpress.com/products/net/application_framework/" target="_blank"&gt;XAF&lt;/a&gt;-related&amp;nbsp;features we expect to ship in early June and details what’s inside our Early Access Preview build.&amp;nbsp;As you will note below, XAF-related focus areas remain Blazor, Entity Framework&amp;nbsp;Core and Security.&amp;nbsp;&lt;strong&gt;For additional information on what you can expect in v25.1, please refer to&amp;nbsp;&lt;a href="https://community.devexpress.com/Blogs/xaf/archive/2025/02/17/xaf-v25-1-june-2025-roadmap-cross-platform-net-app-ui-and-web-api-service.aspx"&gt;our June 2025 Roadmap&lt;/a&gt;&lt;/strong&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;If you own an active&amp;nbsp;&lt;a href="https://www.devexpress.com/subscriptions/universal.xml" target="_blank"&gt;Universal Subscription&lt;/a&gt;, feel free to download this Early Access Preview (EAP) build at your convenience. If you own an active&amp;nbsp;&lt;a href="https://www.devexpress.com/subscriptions/dxperience.xml" target="_blank"&gt;DXperience Subscription&lt;/a&gt;&amp;nbsp;and would like to learn more about our&amp;nbsp;&lt;a href="https://www.devexpress.com/products/net/application_framework/" target="_blank"&gt;Cross-Platform .NET App UI (XAF)&lt;/a&gt;&amp;nbsp;or&amp;nbsp;&lt;a href="https://www.devexpress.com/products/net/application_framework/security-web-api-service.xml" target="_blank"&gt;Web API Service&lt;/a&gt;, you can explore the features described herein by logging onto the DevExpress&amp;nbsp;&lt;a href="https://www.devexpress.com/ClientCenter/DownloadManager/" target="_blank"&gt;Download Manager&lt;/a&gt;&amp;nbsp;and installing this EAP build in trial mode. Once you do, please tell us whether these new features address your business needs. Your feedback will help us fine-tune our implementation before official launch.&lt;/p&gt;&lt;img src="https://community.devexpress.com/blogs/xaf/image_9.png" alt=""&gt;If you are using a trial and want to try these preview&amp;nbsp;features today, you can purchase a&amp;nbsp;&lt;a href="https://devexpress.com/buy"&gt;DevExpress Universal license online&lt;/a&gt;&amp;nbsp;(this will give you access to the early access preview build). If you own a non-Universal subscription and are ready to upgrade, email us at&amp;nbsp;&lt;a href="mailto:clientservices@devexpress.com"&gt;clientservices@devexpress.com&lt;/a&gt;&amp;nbsp;for upgrade pricing.&lt;h2&gt;ASP.NET Core Blazor UI&lt;/h2&gt;

&lt;h3&gt;Grid List Editor Enhancements &lt;/h3&gt;
&lt;p&gt;The &lt;a href="http://docs.devexpress.com/eXpressAppFramework/DevExpress.ExpressApp.Model.IModelSplitLayout.RelativePosition?v=25.1" target="_blank" rel="noreferrer noopener"&gt;IModelSplitLayout.RelativePosition&lt;/a&gt; property determines the splitter&amp;#39;s position in relation to the DetailView as a percentage. It is automatically set when a user adjusts the splitter and takes precedence over the pixel-based &lt;a href="http://docs.devexpress.com/eXpressAppFramework/DevExpress.ExpressApp.Model.IModelSplitLayout.SplitterPosition?v=25.1" target="_blank" rel="noreferrer noopener"&gt;SplitterPosition&lt;/a&gt; property.&lt;/p&gt;&lt;img src="https://community.devexpress.com/blogs/xaf/image_5.png" alt=""&gt;&lt;p&gt;Our DxGridListEditor also adds new &amp;quot;Best Fit&amp;quot; and &amp;quot;Clear Sorting&amp;quot; context menu commands for grid column headers.&lt;/p&gt;&lt;p&gt;&lt;img src="https://community.devexpress.com/blogs/xaf/image(75).png" alt=""&gt;&lt;br&gt;&lt;/p&gt;
&lt;div&gt;&lt;h3&gt;Masks for Date and Time properties&lt;/h3&gt;&lt;p&gt;XAF Blazor Date and Time Property Editors support masked input. The `EditMask` property restricts user input and can be specified in the Application Model: BOModel &amp;gt; YourBusinessClass &amp;gt; Property &amp;gt; `EditMask`. You can also&amp;nbsp;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/402153/getting-started/in-depth-tutorial-blazor/customize-data-display-and-view-layout/access-editor-settings" target="_blank"&gt;customize mask settings&lt;/a&gt; for `TimeOnly` - `TimeSpan` and `DateOnly` – `DateSpan` type pairs separately in code.&lt;/p&gt;&lt;pre&gt;&lt;code class="language-csharp"&gt;View.CustomizeViewItemControl&amp;lt;TimeSpanPropertyEditor&amp;gt;(this, editor =&amp;gt; {
    // TimeSpan
    editor.DxTimeEditMaskProperties.DateTime.CaretMode = MaskCaretMode.Advancing;
    // TimeOnly
    editor.DxTimeEditMaskProperties.TimeOnly.CaretMode = MaskCaretMode.Regular;
});&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;ToolTip Attribute Enhancements&lt;/h3&gt;&lt;p&gt;XAF Blazor v25.1 supports the following UI elements for the &lt;a href="http://docs.devexpress.com/eXpressAppFramework/DevExpress.Persistent.Base.ToolTipAttribute?v=25.1"&gt;ToolTip attribute&lt;/a&gt; (and the &lt;a href="https://docs.devexpress.com/eXpressAppFramework/DevExpress.ExpressApp.Model.IModelToolTip.ToolTip"&gt;IModelToolTip.ToolTip&lt;/a&gt; property in the Application Model):&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Navigation groups and items&lt;/li&gt;&lt;li&gt;`DxGridListEditor` and `DxTreeListEditor` column headers&lt;/li&gt;&lt;li&gt;Layout group headers&lt;/li&gt;&lt;/ul&gt;
    
    &lt;pre&gt;&lt;code class="language-csharp"&gt;    [ToolTip(&amp;quot;View, assign or remove employees for the current task&amp;quot;)]
    public virtual IList&amp;lt;Employee&amp;gt; Employees { get; set; } &lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;Action Shortcuts&lt;/h3&gt;&lt;p&gt;XAF Blazor v25.1 supports keyboard shortcuts for Toolbar and Context Menu Action Controls. You can specify appropriate keystroke combinations in the Model Editor or in code. Examples:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;New: &amp;quot;Ctrl+Shift+A&amp;quot;&lt;/li&gt;&lt;li&gt;Save: &amp;quot;Ctrl+Shift+S&amp;quot;&lt;/li&gt;&lt;li&gt;Logon: &amp;quot;Enter&amp;quot;&lt;/li&gt;&lt;li&gt;DialogOK:&amp;nbsp;&amp;quot;Ctrl+Shift+Enter&amp;quot;&lt;/li&gt;&lt;li&gt;Refresh: &amp;quot;Ctrl+Shift+R&amp;quot;&lt;/li&gt;&lt;li&gt;Delete: &amp;quot;Ctrl+Delete&amp;quot;&lt;/li&gt;&lt;li&gt;NextObject: &amp;quot;Ctrl+Alt+RightArrow&amp;quot;&lt;/li&gt;&lt;li&gt;PreviousObject: &amp;quot;Ctrl+Alt+LeftArrow&amp;quot;&lt;/li&gt;&lt;li&gt;SaveAndClose: &amp;quot;Ctrl+Shift+Enter&amp;quot;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;img src="https://community.devexpress.com/blogs/xaf/image_7.png" alt=""&gt;&lt;/p&gt;&lt;h3 id="enhanced-filtering-by-non-persistent-fields-for-ef-core"&gt;Enhanced Filtering by Non-Persistent Fields &lt;/h3&gt;&lt;p&gt;FilterController (and other XAF APIs working with server-side criteria) now better process non-persistent business class properties in Client data access mode for EF Core. Once non-persistent properties are detected in ListView criteria, we fully process it on the client side.&lt;/p&gt;&lt;p&gt;XAF Blazor v25.1 also removes&amp;nbsp;non-persistent/non-aliased&amp;nbsp;properties (see 1-2 below)&amp;nbsp;from the FilterPropertyEditor menu/user selection for both EF Core and XPO ORM (for example, defined with the NotMapped attribute). Calculated properties defined with the PersistentAlias and Calculated attributes are NOT removed (see 3-4 below).&lt;/p&gt;&lt;img src="https://community.devexpress.com/blogs/xaf/2025/filtering-nonpersistent-fields-Blazor.png" alt="" style="width:3300px;height:1780px;"&gt;
    &lt;h3&gt;.NET Aspire Integration&lt;/h3&gt;&lt;p&gt;Our&amp;nbsp;team has spent some time considering the capabilities of Aspire, isolating the best integration points and allowing XAF developers to take advantage of Aspire&amp;nbsp;orchestration features available&amp;nbsp;out of the box. The team sees Aspire as a potential &amp;quot;1-click solution&amp;quot;, a more modern alternative to some of the templates in the XAF Solution Wizard. Benefits include:&amp;nbsp;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Simplify long and error-prone setup processes like those we describe in our documentation for&amp;nbsp;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/404614/deployment/asp-net-core-blazor/deploy-a-blazor-application-to-azure" target="_blank"&gt;Azure App Service&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/404717/deployment/asp-net-core-blazor/deploy-a-blazor-application-to-linux-with-nginx" target="_blank"&gt;Nginx&lt;/a&gt;&amp;nbsp;support on Linux, as well as other popular web server configurations.&lt;/li&gt;&lt;li&gt;Provision required databases and other application resources for both development and deployment environments (for instance, using a&amp;nbsp;&lt;a href="https://community.devexpress.com/blogs/news/archive/2023/04/06/develop-a-devexpress-xaf-and-web-api-solution-in-docker.aspx" target="_blank"&gt;Docker setup&lt;/a&gt;).&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Our goal is to help save time, whether you&amp;#39;re using XAF or not. Right now, much of this is a moving target, since Microsoft continues to evolve Aspire. At the same time, some functionality is already used and is considered stable. As such, we decided to publish details to help you make use of Aspire-specific&amp;nbsp;tools in your own XAF project. Please refer to the following documents for additional information:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://community.devexpress.com/Blogs/news/archive/2025/03/25/net-aspire-support-for-an-xaf-blazor-project.aspx" target="_blank"&gt;.NET Aspire Support for an XAF Blazor Project- Introduction&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://community.devexpress.com/Blogs/news/archive/2025/04/21/net-aspire-xaf-blazor-custom-telemetry-service-orchestration-database-dependency.aspx" target="_blank"&gt;Custom Telemetry, Service Orchestration, Database Dependency&lt;/a&gt;&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;EF Core Enhancements&lt;/h2&gt;&lt;h3&gt;Concurrency Control for EF Core&lt;/h3&gt;&lt;p&gt;XAF Blazor/Windows Forms EF-Core based apps support Optimistic Concurrency control (on par with existing XPO ORM functionality). This capability is enabled for all classes that implement the new `IOptimisticLock` interface (for example, all classes inherited from XAF’s `BaseObject`). You can use the OptimisticLockIgnore&amp;nbsp;attribute to disable this capability for selected classes or properties.&lt;/p&gt;&lt;img src="https://community.devexpress.com/blogs/xaf/image_6.png" alt="" style="width:1936px;height:822px;border-width:1px;border-color:#c0c0c0;border-style:solid;"&gt;&lt;p&gt;With OptimisticLockDetection&amp;nbsp;and OptimisticLockHandling&amp;nbsp;options you can fine-tune collision detection and merge strategies both on object-level and field-level. You can set up a combination of these options either in the Application Builder for all classes or use OptimisticLockAttribute&amp;nbsp;(to specify a custom strategy for a specific class).&lt;/p&gt;&lt;pre&gt;&lt;code class="language-csharp"&gt;        builder.ObjectSpaceProviders
           .AddEFCore(options =&amp;gt;
           {
               options.PreFetchReferenceProperties();
               options.OptimisticLockDetection = OptimisticLockDetection.AllFields;
               options.OptimisticLockHandling = OptimisticLockHandling.Merge;
           })&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;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:&amp;nbsp;&lt;/span&gt;&lt;a href="https://devexpress.com/kb=T1273764"&gt;T1273764 - Core - Database and data model code changes for XAF EF Core apps to support the Optimistic Locking&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="https://community.devexpress.com/blogs/xaf/image_1.png" alt=""&gt;&lt;h3&gt;Clone Object Module for EF Core&lt;/h3&gt;&lt;p&gt;In v25.1, XAF Blazor and Windows Forms EFCore-based apps support the Clone command. With this, you can quickly copy data records including aggregated detail collections.&lt;/p&gt;&lt;p&gt;We unified cloning functionality and APIs for both ORMs, so XAF developers can use a single DevExpress.ExpressApp.CloneObject package. For additional information, refer to &lt;a href="https://devexpress.com/kb=T1276850" target="_blank"&gt;T1276850 - Core - The DevExpress.ExpressApp.CloneObject.Xpo assembly and NuGet package have been renamed&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;img src="https://community.devexpress.com/blogs/xaf/2025/upload_ec188f392e8463b17921c0729c30a161.png" alt=""&gt;&lt;br&gt;&lt;/p&gt;&lt;h3&gt;Easier Database Schema Updates When a New Class or Property Is Added (XPO Parity)&lt;/h3&gt;&lt;p&gt;v25.1 simplifies&amp;nbsp;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 (&lt;a href="https://docs.devexpress.com/XPO/2632/create-a-data-model/when-and-why-xpo-extends-the-database-schema?p=net8#important-notes"&gt;similar to XPO ORM functionality&lt;/a&gt;). This will save development time because no extra methods will be necessary, especially for frequent data model changes.&lt;/p&gt;&lt;p&gt;We also got&amp;nbsp;rid of the redundant DBUpdater tool for .NET / .NET-based apps for EF Core and XPO ORM. XAF&amp;nbsp;developers can&amp;nbsp;now use&amp;nbsp;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/113239/deployment/production-database-and-application-updates#update-a-database"&gt;the updateDatabase CLI command&lt;/a&gt;&amp;nbsp;of the underlying application instead. This will simplify the developer experience for both deployment and maintenance because a single method will be used. For more information, refer to&amp;nbsp;&lt;a href="https://supportcenter.devexpress.com/ticket/details/t1282681/core-database-schema-update-behavior-has-changed-for-ef-core" target="_blank"&gt;T1282681 - Database schema update behavior has changed for EF Core&lt;/a&gt;.&lt;/p&gt;
    &lt;div class="Note"&gt;&lt;strong&gt;NOTE:&amp;nbsp;&lt;/strong&gt;Do not use this automatic update in Debug mode (or &lt;code&gt;-updateDatabase -forceUpdate&lt;/code&gt;&amp;nbsp;keys of the underlying application) with production databases or other important data&lt;strong&gt; (if you wish to make changes to a production database, be certain to backup your data)&lt;/strong&gt;. You, the developer, are responsible for the application, database, network, and other configurations and data safety/consistency based on client, security, and environment requirements. We recommend that you review relevant database update procedures with your database administrators (DBA) and always follow network/database best-practice standards.&lt;/div&gt;

&lt;h3&gt;Easier Connection to Middle-Tier Server in Non-XAF Apps for EF Core&lt;/h3&gt;&lt;p&gt;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/404398/data-security-and-safety/security-system/non-xaf/connect-to-ef-core-middle-tier-service-from-non-xaf-applications" target="_blank"&gt;In a Middle Tier server architecture&lt;/a&gt;, only the server has direct access to the database. &lt;span&gt;DbContext and other EF Core CRUD APIs are still used in UI client app code (which interacts with the server remotely).&amp;nbsp;&lt;/span&gt;Before passing data to the client’s DbContext, the server enforces security measures such as authentication, authorization, and data validation (&lt;a href="https://www.devexpress.com/products/net/application_framework/security-web-api-service.xml" target="_blank"&gt;powered by our .NET App Security API&lt;/a&gt;).&lt;/p&gt;&lt;p&gt;&lt;img src="https://community.devexpress.com/blogs/xaf/2025/upload_9b53bea9faa547e257b19e83e6228a47.png" alt=""&gt;&lt;/p&gt;&lt;p&gt;v25.1 includes our&amp;nbsp;&lt;a href="http://docs.devexpress.com/eXpressAppFramework/DevExpress.ExpressApp.ApplicationBuilder.MiddleTierClientBuilder-1?v=25.1"&gt;MiddleTierClientBuilder&lt;/a&gt; - designed to simplify boilerplate code needed to connect non XAF-powered WinForms/WPF apps to a Middle Tier Security Server (via XAF&amp;#39;s Security System and EF Core). For additional information, check out &lt;a href="https://github.com/DevExpress-Examples/connect-winforms-grid-to-backend-using-middletier-server/tree/25.1.2%2B" target="_blank"&gt;our WinForms non-XAF example&lt;/a&gt;. Our new &lt;a href="https://marketplace.visualstudio.com/items?itemName=DevExpress.devexpress-template-kit-for-visual-studio" target="_blank"&gt;Template Kit&lt;/a&gt; will include non-XAF project templates for WinForms/WPF in our official release.&lt;/p&gt;&lt;img src="https://community.devexpress.com/blogs/xaf/middle-tier-template-kit-25.1.png" alt="" style="width:2030px;height:1380px;"&gt;&lt;h2&gt;Cross-Platform Enhancements&lt;/h2&gt;&lt;h3&gt;Support DataSourceXXX attributes for Enumeration Property Editors&lt;/h3&gt;&lt;p&gt;XAF Blazor/WinForms v25.1 support the following attributes for our Enumeration Property Editors:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://docs.devexpress.com/eXpressAppFramework/DevExpress.Persistent.Base.DataSourceCriteriaAttribute?v=25.1"&gt;DataSourceCriteriaAttribute&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://docs.devexpress.com/eXpressAppFramework/DevExpress.Persistent.Base.DataSourceCriteriaPropertyAttribute?v=25.1"&gt;DataSourceCriteriaPropertyAttribute&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://docs.devexpress.com/eXpressAppFramework/DevExpress.Persistent.Base.DataSourcePropertyAttribute?v=25.1"&gt;DataSourcePropertyAttribute&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;For example, you can filter enumeration values with the &lt;a href="https://docs.devexpress.com/eXpressAppFramework/DevExpress.Persistent.Base.DataSourceCriteriaPropertyAttribute"&gt;DataSourceCriteria&lt;/a&gt; attribute &lt;span&gt;and the following criteria: &amp;quot;&lt;em&gt;Status != 0 and Status &amp;gt; 2&amp;quot;,&amp;nbsp;&amp;quot;Status In (0,1,2)&amp;quot;,&amp;nbsp;&amp;quot;Status != &amp;#39;@This.OtherSelectedStatus&amp;#39;&lt;/em&gt;&amp;quot;, etc.&lt;/span&gt;&lt;/p&gt;&lt;pre&gt;&lt;code class="language-csharp"&gt;using DevExpress.Persistent.BaseImpl.EF;
using DevExpress.Data.Filtering;
using System.ComponentModel.DataAnnotations;

[DefaultClassOptions]
public class Order : BaseObject {
    [DataSourceCriteria(&amp;quot;Status = ##Enum#MyNamespace.OrderStatus,Pending# || Status = ##Enum#MyNamespace.OrderStatus,Confirmed#&amp;quot;)]
    public virtual OrderStatus Status { get; set; }
}
public enum OrderStatus { Pending, Confirmed, Processing, Shipped, Delivered, Canceled, Returned }&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;New Built-in Property Editors: TagBox and&amp;nbsp;Checked ComboBox&lt;/h3&gt;&lt;p&gt;XAF Blazor/WinForms v25.1&amp;nbsp;ship&amp;nbsp;with built-in Tag Box and&amp;nbsp;Checked ComboBox&amp;nbsp;Property Editors. TagBox and Checked ComboBox are two popular options to save space in detail forms for collection data (as an alternative to large data grids). &lt;/p&gt;&lt;p&gt;All new Editors support CRUD operations, Security System, Application Model options such as `AllowEdit` or `AllowClear`, `DataSourceXXX` filtering attributes, &lt;a href="https://docs.devexpress.com/eXpressAppFramework/DevExpress.ExpressApp.Editors.PropertyEditor.ImmediatePostData"&gt;ImmediatePostData&lt;/a&gt; and other standard XAF features.&lt;/p&gt;&lt;img src="https://community.devexpress.com/blogs/xaf/image_4.png" alt=""&gt;&lt;img src="https://community.devexpress.com/blogs/xaf/image_3.png" alt=""&gt;&lt;h2 id="web-api-service-enhancements"&gt;Web API Service Enhancements&lt;/h2&gt;&lt;p&gt;Our&amp;nbsp;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/403394/backend-web-api-service"&gt;Backend Web API Service&lt;/a&gt;&amp;nbsp;introduces the following highly-requested usability features&amp;nbsp;(for EF Core&amp;nbsp;in this EAP, for XPO in the final release):&lt;/p&gt;&lt;ul&gt;&lt;li&gt;OData&amp;nbsp;&lt;a href="http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_CreateRelatedEntitiesWhenCreatinganE"&gt;Deep Insert and Deep Update&lt;/a&gt;&amp;nbsp;&amp;nbsp;(for Post, Patch and Put HTTP&amp;nbsp;verbs).&amp;nbsp;&lt;span&gt;You can now use the new Patch(DeltaSet&amp;lt;TEntity&amp;gt; deltaSet) method to create/update large amounts of objects.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;OData&amp;nbsp;&lt;a href="https://learn.microsoft.com/en-us/odata/client/batch-operations"&gt;Batch Operations&lt;/a&gt;&amp;nbsp;(aka Batch Update&amp;nbsp;support).&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;



&lt;h2&gt;Your Feedback Matters!&lt;/h2&gt;&lt;div class="Note"&gt;Early Access and CTP builds are provided solely for early testing purposes and are not ready for production use. This build can be installed side by side with other major versions of DevExpress products. Please backup your project and other important data before installing Early Access and CTP builds. &lt;strong&gt;This EAP may not include all features/products we expect to ship in our v25.1&amp;nbsp;release cycle&lt;/strong&gt;. As its name implies, the EAP offers an early preview of what we expect to ship in two months.&lt;/div&gt;&lt;p&gt;We recommend you try out the new features using Visual Studio 2022 and either MainDemo.NET.EFCore or MainDemo.NET.XPO&amp;nbsp;demo (located in the following folder:&amp;nbsp;&amp;quot;&lt;em&gt;c:\Users\Public\Documents\DevExpress Demos 25.1\Components\XAF\&lt;/em&gt;&amp;quot;). You can also test the EAP build against your project, but please remember that this build is not ready for production use. &lt;/p&gt;&lt;p&gt;We will keep you posted about &lt;strong&gt;additional features&lt;/strong&gt; we expect to ship in v25.1 (see&amp;nbsp;&lt;a href="https://www.devexpress.com/go/XAF_Roadmap.aspx" target="_blank"&gt;&lt;/a&gt;&lt;a href="https://community.devexpress.com/Blogs/xaf/archive/2025/02/17/xaf-v25-1-june-2025-roadmap-cross-platform-net-app-ui-and-web-api-service.aspx" target="_blank"&gt;our June 2025 Roadmap&lt;/a&gt;) as&amp;nbsp;we get closer to official release. If you&amp;#39;ve had the opportunity to use the EAP build, please post your thoughts&amp;nbsp;in our roadmap &lt;a href="https://community.devexpress.com/Blogs/xaf/archive/2025/02/17/xaf-v25-1-june-2025-roadmap-cross-platform-net-app-ui-and-web-api-service.aspx" target="_blank"&gt;survey&lt;/a&gt;&amp;nbsp;OR&amp;nbsp;&lt;a href="https://www.devexpress.com/ask" target="_blank"&gt;create a Support Center ticket&lt;/a&gt;. We will happily follow up.&lt;/p&gt;&lt;p&gt;Thanks,&lt;br&gt;Dennis Garavsky&lt;br&gt;Principal Product Manager&lt;br&gt;&lt;a href="mailto:dennis@devexpress.com" title="Email me if you have questions or suggestions"&gt;dennis@devexpress.com&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Mon, 21 Apr 2025 09:18:00 Z</pubDate>
      <dc:creator>Dennis Garavsky (DevExpress)</dc:creator>
    </item>
    <item>
      <guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:388221</guid>
      <link>https://community.devexpress.com/Blogs/xaf/archive/2025/02/17/xaf-v25-1-june-2025-roadmap-cross-platform-net-app-ui-and-web-api-service.aspx</link>
      <category domain="https://community.devexpress.com/Tags/.NET">.NET</category>
      <category domain="https://community.devexpress.com/Tags/.net+6">.net 6</category>
      <category domain="https://community.devexpress.com/Tags/.net+core">.net core</category>
      <category domain="https://community.devexpress.com/Tags/2025">2025</category>
      <category domain="https://community.devexpress.com/Tags/accessibility">accessibility</category>
      <category domain="https://community.devexpress.com/Tags/asp.net+Core">asp.net Core</category>
      <category domain="https://community.devexpress.com/Tags/blazor">blazor</category>
      <category domain="https://community.devexpress.com/Tags/EF">EF</category>
      <category domain="https://community.devexpress.com/Tags/EF+Core">EF Core</category>
      <category domain="https://community.devexpress.com/Tags/Entity+Framework">Entity Framework</category>
      <category domain="https://community.devexpress.com/Tags/Fluent">Fluent</category>
      <category domain="https://community.devexpress.com/Tags/Non-Windows">Non-Windows</category>
      <category domain="https://community.devexpress.com/Tags/OData">OData</category>
      <category domain="https://community.devexpress.com/Tags/OpenAPI">OpenAPI</category>
      <category domain="https://community.devexpress.com/Tags/REST">REST</category>
      <category domain="https://community.devexpress.com/Tags/restful">restful</category>
      <category domain="https://community.devexpress.com/Tags/roadmap">roadmap</category>
      <category domain="https://community.devexpress.com/Tags/security">security</category>
      <category domain="https://community.devexpress.com/Tags/survey">survey</category>
      <category domain="https://community.devexpress.com/Tags/Swagger">Swagger</category>
      <category domain="https://community.devexpress.com/Tags/Usability">Usability</category>
      <category domain="https://community.devexpress.com/Tags/v25.1">v25.1</category>
      <category domain="https://community.devexpress.com/Tags/web+api">web api</category>
      <category domain="https://community.devexpress.com/Tags/XAF">XAF</category>
      <category domain="https://community.devexpress.com/Tags/XPO">XPO</category>
      <title>XAF (Cross-Platform .NET App UI &amp; Web API Service) — June 2025 Roadmap (v25.1)</title>
      <description>&lt;p&gt;&lt;span style="background-color:#ffff99;"&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: &lt;a href="https://community.devexpress.com/Blogs/xaf/archive/2025/08/15/xaf-cross-platform-net-app-ui-and-web-api-service-year-end-roadmap-v25-2.aspx" target="_blank"&gt;XAF v25.2 Roadmap&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Thank you for choosing &lt;a href="https://www.devexpress.com/products/net/application_framework/"&gt;XAF (Cross-Platform .NET App UI &amp;amp; Web API Service)&lt;/a&gt; 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). &lt;/p&gt;
&lt;p&gt;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 &lt;a href="https://www.devexpress.com/support/demos/#xaf"&gt;review our XAF demos&lt;/a&gt; and &lt;a href="https://www.devexpress.com/products/net/application_framework/xaf-considerations-for-newcomers.xml"&gt;compare our implementation with other software&lt;/a&gt; development methodologies.&lt;/p&gt;
&lt;div class="Note"&gt;The information contained within this blog post details our current/projected development plans. Please note that this information is being shared for INFORMATIONAL PURPOSES ONLY and does not represent a binding commitment on the part of Developer Express Inc. This roadmap and the features/products listed within it are subject to change. You should not rely on or use this information to help make a purchase decision about Developer Express Inc products.&lt;/div&gt;&lt;p&gt; &lt;/p&gt;
&lt;h2 id="blazor-ui-enhancements"&gt;Blazor UI Enhancements&lt;/h2&gt;
&lt;h3 id="fluent-theme-and-ribbon-ui-support"&gt;Fluent Theme and Ribbon UI Support&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;Just over a year ago, Microsoft released a&amp;nbsp;&lt;/span&gt;&lt;a href="https://support.microsoft.com/en-us/office/getting-started-with-the-new-outlook-for-windows-656bb8d9-5a60-49b2-a98b-ba7822bc7627" target="_blank"&gt;new Outlook for Windows&lt;/a&gt;&lt;span&gt;&amp;nbsp;with a modern and simplified design. This updated version of Outlook offers a streamlined, web–integrated experience that aligns with Microsoft&amp;#39;s Fluent 2 design standards.&amp;nbsp;&lt;/span&gt;Many of our customers have expressed interest in replicating this contemporary UI within their own DevExpress-powered desktop and web applications. If you&amp;#39;ve used the new version of Outlook, you know that Microsoft&amp;#39;s new user experience extends far beyond simple UI enhancements:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;The app&amp;#39;s sidebar extends up to the form title, optimizing vertical space to display more menu items on–screen.&lt;/li&gt;&lt;li&gt;The sidebar can be &amp;#39;collapsed&amp;#39; using the Ribbon&amp;#39;s hamburger button, allowing for a more compact layout.&lt;/li&gt;&lt;li&gt;The Ribbon control and form title can host additional UI elements, including buttons, a search panel, and other interactive UI components.&lt;/li&gt;&lt;li&gt;Fluent UI enhancements include semi–transparent effects, colorful flat icons, rounded corners, specious paddings, and more.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;We expect to support Fluent and Ribbon UI in XAF Blazor-powered apps at the end of 2025. This involves, but is not limited to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Dark and light &lt;a href="https://www.devexpress.com/subscriptions/whats-new/#blazor-new-fluent-theme-ctp"&gt;Fluent theme support&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Creating hundreds of XAF-specific icons (filled or outlined) to match the Fluent theme.&lt;/li&gt;
&lt;li&gt;Modifying menu and layout structures (to mimic modern Office-inspired web apps). &lt;/li&gt;
&lt;/ul&gt;

&lt;div class="Note"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Since both DevExpress Blazor Ribbon and Fluent UI are currently available as a Community Technology Preview (for instance, the ribbon control has no Classic or multi-line view), we do not expect complete support in XAF Blazor v25.1 (likely in v25.2). Fluent UI support for XAF WinForms should be officially available in v25.2 as well (once support is added to corresponding DevExpress WinForms UI components).&lt;/div&gt;
&lt;h3 id="accessibility-enhancements"&gt;Accessibility Enhancements&lt;/h3&gt;
&lt;p&gt;As part of our ongoing &lt;a href="https://docs.devexpress.com/eXpressAppFramework/404762/accessibility"&gt;Accessibility (A11Y) investments&lt;/a&gt; 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). &lt;/p&gt;&lt;p&gt;In addition to A11Y benefits, this will also accelerate CRUD operations for many end-users (for example, to save changes, create, or delete records).&lt;/p&gt;
&lt;h3 id="grid-list-editor-enhancements"&gt;Grid List Editor Enhancements&lt;/h3&gt;
&lt;p&gt;XAF Blazor v25.1 will support the following (for DxGridListEditor):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/113695/ui-construction/views/layout/list-view-bands-layout"&gt;Banded layout&lt;/a&gt; (much like in XAF WinForms).&lt;/li&gt;
&lt;li&gt;Double-click instead of a single-click to open a detail form from a ListView (much like in WinForms).&lt;/li&gt;
&lt;li&gt;Easier context menu customization for both grid rows and column headers.&lt;/li&gt;
&lt;li&gt;New &amp;quot;Best Fit&amp;quot; and &amp;quot;Clear Sorting&amp;quot; context menu commands for grid column headers.&lt;/li&gt;
&lt;li&gt;Virtual/infinite scrolling in all root and nested ListViews instead of a pager (much like in XAF WinForms).&lt;/li&gt;&lt;li&gt;The new IModelSplitLayout.RelativePosition property to specify&amp;nbsp;the splitter position relative to the DetailView in percentage (when MasterDetailMode = ListViewAndDetailView). RelativePosition takes priority over the IModelSplitLayout.SplitterPosition property (in pixels).&lt;/li&gt;
&lt;li&gt;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:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code class="lang-csharp"&gt;&lt;span class="hljs-function"&gt;&lt;span class="hljs-keyword"&gt;protected&lt;/span&gt; &lt;span class="hljs-keyword"&gt;override&lt;/span&gt; &lt;span class="hljs-keyword"&gt;void&lt;/span&gt; &lt;span class="hljs-title"&gt;OnViewControlsCreated&lt;/span&gt;(&lt;span class="hljs-params"&gt;&lt;/span&gt;) &lt;/span&gt;{
    &lt;span class="hljs-keyword"&gt;base&lt;/span&gt;.OnViewControlsCreated();
    &lt;span class="hljs-keyword"&gt;if&lt;/span&gt; (View.Editor &lt;span class="hljs-keyword"&gt;is&lt;/span&gt; ColumnsListEditor listEditor) {
        &lt;span class="hljs-keyword"&gt;foreach&lt;/span&gt; (&lt;span class="hljs-keyword"&gt;var&lt;/span&gt; column &lt;span class="hljs-keyword"&gt;in&lt;/span&gt; listEditor.Columns) {
            column.ShowInCustomizationForm = &lt;span class="hljs-literal"&gt;false&lt;/span&gt;;
        }
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id="simplified-chart-html-editor-and-pdf-viewer-integration"&gt;&lt;img src="https://community.devexpress.com/blogs/xaf/image(75).png" alt="" style="width:3840px;height:1822px;border-width:1px;border-color:#c0c0c0;border-style:solid;"&gt;&lt;/h3&gt;
&lt;h3 id="tooltip-enhancements"&gt;ToolTip Attribute Enhancements&lt;/h3&gt;&lt;p&gt;XAF Blazor v25.1 will support the following UI elements for the&amp;nbsp;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/DevExpress.Persistent.Base.ToolTipAttribute" target="_blank"&gt;ToolTip attribute&lt;/a&gt;&amp;nbsp;(and the&amp;nbsp;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/DevExpress.ExpressApp.Model.IModelToolTip.ToolTip"&gt;IModelToolTip.ToolTip&lt;/a&gt;&amp;nbsp;property in the Application Model):&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Navigation groups and items&lt;/li&gt;&lt;li&gt;DxGridListEditor and DxTreeListEditor column headers&lt;/li&gt;&lt;li&gt;Layout group headers&lt;/li&gt;&lt;/ul&gt;&lt;h3 id="simplified-chart-html-editor-and-pdf-viewer-integration"&gt;Simplified Chart, HTML Editor, and PDF Viewer Integration&lt;/h3&gt;
&lt;p&gt;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 &lt;a href="https://github.com/DevExpress-Examples/xaf-create-multitenant-application/tree/24.2.1%2B/CS/OutlookInspired.Blazor.Server/Editors"&gt;in our Outlook-Inspired Demo&lt;/a&gt;). 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.&lt;/p&gt;
&lt;p&gt;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).&lt;/p&gt;
&lt;h2 id="ef-core-enhancements"&gt;EF Core Enhancements&lt;/h2&gt;
&lt;h3 id="concurrency-control-for-ef-core"&gt;Concurrency Control for EF Core&lt;/h3&gt;
&lt;p&gt;XAF WinForms/Blazor EFCore-based apps will support Optimistic Concurrency control (&lt;a href="https://docs.devexpress.com/eXpressAppFramework/113596/business-model-design-orm/business-model-design-with-xpo/optimistic-concurrency-control"&gt;similar to existing XPO ORM functionality&lt;/a&gt;). It will support both object-level and field-level locking, as well as advanced collision resolution and data merging. &lt;/p&gt;
&lt;p&gt;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: &lt;a href="https://devexpress.com/kb=T1273764"&gt;T1273764 - Core - Database and data model code changes for XAF EF Core apps to support the Optimistic Locking&lt;/a&gt;&lt;/p&gt;
&lt;img src="https://community.devexpress.com/blogs/xaf/2025/upload_33236bb657203c9fbd48d0b612893637.png" alt="" style="width:2322px;height:1646px;border-width:1px;border-color:#c0c0c0;border-style:solid;"&gt;
&lt;h3 id="clone-object-module-for-ef-core"&gt;Clone Object Module for EF Core&lt;/h3&gt;
&lt;p&gt;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. &lt;/p&gt;
&lt;p&gt;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: &lt;a href="https://devexpress.com/kb=T1276850"&gt;T1276850 - Core - The DevExpress.ExpressApp.CloneObject.Xpo assembly and NuGet package have been renamed&lt;/a&gt;.&lt;/p&gt;
&lt;img src="https://community.devexpress.com/blogs/xaf/2025/upload_ec188f392e8463b17921c0729c30a161.png" alt="" style="width:2014px;height:1220px;border-width:1px;border-color:#c0c0c0;border-style:solid;"&gt;
&lt;h3 id="easier-database-updates-for-ef-core"&gt;Easier Database Updates for EF Core&lt;/h3&gt;
&lt;p&gt;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 (&lt;a href="https://docs.devexpress.com/XPO/2632/create-a-data-model/when-and-why-xpo-extends-the-database-schema?p=net8#important-notes"&gt;similar to XPO ORM functionality&lt;/a&gt;). This will save development time because no extra methods will be necessary, especially for frequent data model changes.&lt;/p&gt;
&lt;p&gt;We will also get rid of the redundant DBUpdater tool for EF Core-based apps. EF Core developers will use &lt;a href="https://docs.devexpress.com/eXpressAppFramework/113239/deployment/production-database-and-application-updates#update-a-database"&gt;the updateDatabase CLI command&lt;/a&gt; of the underlying application instead. This will simplify the developer experience for both deployment and maintenance because a single method will be used.&lt;/p&gt;
&lt;h3 id="simplified-connection-settings-for-ef-core"&gt;Simplified Connection Settings for EF Core and XPO&lt;/h3&gt;
&lt;p&gt;The &lt;a href="https://marketplace.visualstudio.com/items?itemName=DevExpress.devexpress-template-kit-for-visual-studio"&gt;Template Kit&lt;/a&gt; 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 &lt;code&gt;UseNpgsql&lt;/code&gt; for the option.&lt;/p&gt;
&lt;p&gt;This will simplify the first-time experience because XAF developers will no longer need to &lt;a href="https://docs.devexpress.com/eXpressAppFramework/404290/business-model-design-orm/business-model-design-with-entity-framework-core/connect-to-different-database-providers"&gt;follow manual steps&lt;/a&gt; or know all specificities related to EF Core or XPO connection&amp;nbsp;providers.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://community.devexpress.com/blogs/xaf/2025/upload_1312ce4b1b21f3228930ff896eb1dc5d.png" alt=""&gt;&lt;/p&gt;
&lt;h3 id="easier-connection-to-middle-tier-server-in-non-xaf-apps-for-ef-core"&gt;Easier Connection to Middle-Tier Server in Non-XAF Apps for EF Core&lt;/h3&gt;
&lt;p&gt;In v25.1, we will simplify boilerplate code required to &lt;a href="https://docs.devexpress.com/WindowsForms/405147/data-access-security/connect-to-a-secure-middle-tier-api-server"&gt;connect to a secure Middle Tier API server&lt;/a&gt; in non XAF-powered WinForms/WPF apps (via XAF&amp;#39;s Security System and EF Core).&lt;/p&gt;
&lt;p&gt;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.
&lt;img src="https://community.devexpress.com/blogs/xaf/2025/upload_9b53bea9faa547e257b19e83e6228a47.png" alt=""&gt;&lt;/p&gt;
&lt;h3 id="enhanced-filtering-by-non-persistent-fields-for-ef-core"&gt;Enhanced Filtering by Non-Persistent Fields for EF Core&lt;/h3&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h2 id="cross-platform-enhancements"&gt;Cross-Platform Enhancements&lt;/h2&gt;
&lt;h3 id="outlook-inspired-demo-in-the-installation"&gt;Outlook-Inspired Demo in the Installation&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://github.com/DevExpress-Examples/xaf-create-multitenant-application/"&gt;XAF&amp;#39;s Outlook-Inspired Demo&lt;/a&gt; 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.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://community.devexpress.com/blogs/xaf/2025/upload_2608693fb889f3b980a7ad0e61edd307.png" alt=""&gt;&lt;/p&gt;
&lt;h3 id="new-built-in-property-editors-tagbox-checked-combobox-progress-bar"&gt;Built-in Property Editors: TagBox, Checked ComboBox, Progress Bar&lt;/h3&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;XAF Blazor/WinForms v25.1 will also support &lt;a href="https://docs.devexpress.com/eXpressAppFramework/112701/business-model-design-orm/data-annotations-in-data-model" target="_blank"&gt;the&amp;nbsp;DataSourceXXX attributes&lt;/a&gt; for our Enumeration Property Editors. For example, you can filter your enumeration values with the&amp;nbsp;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/DevExpress.Persistent.Base.DataSourceCriteriaPropertyAttribute" target="_blank"&gt;DataSourceCriteria&lt;/a&gt;&amp;nbsp;attribute and the following criteria: &amp;quot;Status != 0 and Status &amp;gt; 2&amp;quot;,&amp;nbsp;&amp;quot;Status In (0,1,2)&amp;quot;,&amp;nbsp;&amp;quot;Status != &amp;#39;@This.OtherSelectedStatus&amp;#39;&amp;quot;, etc.&lt;/p&gt;
&lt;h2 id="project-template-enhancements"&gt;Project Template Enhancements&lt;/h2&gt;
&lt;h3 id="xaf-blazor-middle-tier-security"&gt;XAF Blazor + Middle Tier Security&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=DevExpress.devexpress-template-kit-for-visual-studio"&gt;Template Kit&lt;/a&gt; v25.1 will include a new project template where XAF Blazor is connected to the &lt;a href="https://docs.devexpress.com/eXpressAppFramework/404389/data-security-and-safety/security-system/security-tiers/middle-tier-security-ef-core"&gt;Middle Tier Security application server&lt;/a&gt;. 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. &lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;
&lt;h3 id="xaf-blazor-electron-net-for-windows-and-macos-linux-desktop"&gt;XAF Blazor + Electron.NET for Windows and macOS/Linux Desktop&lt;/h3&gt;
&lt;p&gt;The &lt;a href="https://marketplace.visualstudio.com/items?itemName=DevExpress.devexpress-template-kit-for-visual-studio"&gt;Template Kit&lt;/a&gt; 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.&lt;/p&gt;
&lt;p&gt;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 &lt;a href="https://devexpress.com/kb=T1102932#781e7ba2-b038-4b83-943f-bd7c56e12216"&gt;one of our customers&lt;/a&gt; who successfully used this approach:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;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&amp;#39;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. &lt;strong&gt;macOS users are growing in our country, so the Electron solution seems a good choice&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="xaf-blazor-and-web-api-service-antiforgery"&gt;XAF Blazor and Web API Service + AntiForgery&lt;/h3&gt;
&lt;p&gt;XAF project template code (Startup.cs) will include &lt;a href="https://learn.microsoft.com/en-us/aspnet/core/blazor/security/?view=aspnetcore-9.0&amp;amp;tabs=visual-studio#antiforgery-support"&gt;Antiforgery services and middleware&lt;/a&gt; to mitigate potential Cross-Site Request Forgery (CSRF/XSRF) attacks. This will reduce implementation costs (when compared with manual implementation).&lt;/p&gt;
&lt;h2 id="multi-tenancy-enhancements"&gt;Multi-Tenancy Enhancements&lt;/h2&gt;
&lt;p&gt;With XAF v25.1, &lt;a href="https://docs.devexpress.com/eXpressAppFramework/404436/multitenancy"&gt;our Multi-Tenancy module&lt;/a&gt; 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 &lt;a href="https://docs.devexpress.com/eXpressAppFramework/404322/business-model-design-orm/business-model-design-with-entity-framework-core/how-to-connect-data-models-to-different-databases"&gt;a separate Object Space Provider&lt;/a&gt; for the shared database manually.&lt;/p&gt;
&lt;p&gt;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&amp;lt;T&amp;gt;(“YourTenantName“)).&lt;/p&gt;
&lt;h2 id="web-api-service-enhancements"&gt;Web API Service Enhancements&lt;/h2&gt;
&lt;p&gt;Our &lt;a href="https://docs.devexpress.com/eXpressAppFramework/403394/backend-web-api-service"&gt;Backend Web API Service&lt;/a&gt; will introduce the following highly-requested usability features:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;OData &amp;quot;&lt;a href="http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_CreateRelatedEntitiesWhenCreatinganE"&gt;Deep Insert&lt;/a&gt;&amp;quot; for XPO/EF Core and &amp;quot;Deep Update&amp;quot; for EF Core;&lt;/li&gt;&lt;li&gt;Concurrency Control for both EF Core and XPO ORM (currently &amp;quot;last wins&amp;quot;);&lt;/li&gt;&lt;li&gt;OData &lt;a href="https://learn.microsoft.com/en-us/odata/client/batch-operations"&gt;Batch Operations&lt;/a&gt; (aka &amp;quot;Batch Update&amp;quot; support).&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;Your Feedback Matters&lt;/h2&gt;&lt;p&gt;Just another reminder that our Roadmap v25.1 (below), &lt;a href="https://www.devexpress.com/subscriptions/whats-new/#xaf-survey" target="_blank"&gt;What&amp;#39;s New v24.2 (vote)&lt;/a&gt;, and other surveys give you the opportunity to communicate your needs/concerns and allow us to make more informed development decisions.&lt;/p&gt;&lt;div data-survey-id="fc5f2cf4-66da-4b57-9ae0-b0160f0ea199" data-survey-auth-required="false"&gt;&lt;/div&gt;</description>
      <pubDate>Mon, 17 Feb 2025 01:31:00 Z</pubDate>
      <dc:creator>Dennis Garavsky (DevExpress)</dc:creator>
    </item>
    <item>
      <guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:388201</guid>
      <link>https://community.devexpress.com/Blogs/xaf/archive/2024/10/02/xaf-v24-2-eap-passwordless-signins-and-mfa-calculated-fields-and-soft-deletion-in-ef-core-tabbed-mdi-and-performance-enhancements-in-blazor.aspx</link>
      <category domain="https://community.devexpress.com/Tags/.net+6">.net 6</category>
      <category domain="https://community.devexpress.com/Tags/.NET+8">.NET 8</category>
      <category domain="https://community.devexpress.com/Tags/.net+core">.net core</category>
      <category domain="https://community.devexpress.com/Tags/2024">2024</category>
      <category domain="https://community.devexpress.com/Tags/accessibility">accessibility</category>
      <category domain="https://community.devexpress.com/Tags/asp.net+Core">asp.net Core</category>
      <category domain="https://community.devexpress.com/Tags/blazor">blazor</category>
      <category domain="https://community.devexpress.com/Tags/eap">eap</category>
      <category domain="https://community.devexpress.com/Tags/EF">EF</category>
      <category domain="https://community.devexpress.com/Tags/EF+Core">EF Core</category>
      <category domain="https://community.devexpress.com/Tags/Entity+Framework">Entity Framework</category>
      <category domain="https://community.devexpress.com/Tags/Non-Windows">Non-Windows</category>
      <category domain="https://community.devexpress.com/Tags/OData">OData</category>
      <category domain="https://community.devexpress.com/Tags/OpenAPI">OpenAPI</category>
      <category domain="https://community.devexpress.com/Tags/prerelease">prerelease</category>
      <category domain="https://community.devexpress.com/Tags/REST">REST</category>
      <category domain="https://community.devexpress.com/Tags/restful">restful</category>
      <category domain="https://community.devexpress.com/Tags/roadmap">roadmap</category>
      <category domain="https://community.devexpress.com/Tags/security">security</category>
      <category domain="https://community.devexpress.com/Tags/survey">survey</category>
      <category domain="https://community.devexpress.com/Tags/Swagger">Swagger</category>
      <category domain="https://community.devexpress.com/Tags/Usability">Usability</category>
      <category domain="https://community.devexpress.com/Tags/v24.2">v24.2</category>
      <category domain="https://community.devexpress.com/Tags/web+api">web api</category>
      <category domain="https://community.devexpress.com/Tags/XAF">XAF</category>
      <category domain="https://community.devexpress.com/Tags/XPO">XPO</category>
      <title>XAF v24.2 EAP — Passwordless Sign-ins and MFA, Calculated Fields and Soft Deletion in EF Core, Tabbed MDI and Performance Enhancements in Blazor</title>
      <description>
&lt;p&gt;This post documents&amp;nbsp;&lt;strong&gt;a few&lt;/strong&gt;&amp;nbsp;&lt;a href="https://www.devexpress.com/products/net/application_framework/" target="_blank"&gt;XAF&lt;/a&gt;-related&amp;nbsp;features we expect to ship in early December and details what’s inside our Early Access Preview build (&lt;strong&gt;for additional information on what you can expect in December, please refer to&amp;nbsp;&lt;a href="https://www.devexpress.com/go/XAF_Roadmap.aspx" target="_blank"&gt;our Year-End v2024.2 roadmap&lt;/a&gt;&lt;/strong&gt;). As you will note below, XAF-related focus areas remain Blazor, Entity Framework&amp;nbsp;Core and Security.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you own an active&amp;nbsp;&lt;a href="https://www.devexpress.com/subscriptions/universal.xml" target="_blank"&gt;Universal Subscription&lt;/a&gt;, feel free to download this Early Access Preview (EAP) build at your convenience. If you own an active&amp;nbsp;&lt;a href="https://www.devexpress.com/subscriptions/dxperience.xml" target="_blank"&gt;DXperience Subscription&lt;/a&gt;&amp;nbsp;and would like to learn more about our&amp;nbsp;&lt;a href="https://www.devexpress.com/products/net/application_framework/" target="_blank"&gt;Cross-Platform .NET App UI (XAF)&lt;/a&gt;&amp;nbsp;or&amp;nbsp;&lt;a href="https://www.devexpress.com/products/net/application_framework/security-web-api-service.xml" target="_blank"&gt;Web API Service&lt;/a&gt;, you can explore the features described herein by logging onto the DevExpress&amp;nbsp;&lt;a href="https://www.devexpress.com/ClientCenter/DownloadManager/" target="_blank"&gt;Download Manager&lt;/a&gt;&amp;nbsp;and installing this EAP build in trial mode. Once you do, please tell us whether these new features address your business needs. Your feedback will help us fine-tune our implementation before official launch.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://community.devexpress.com:443/blogs/xaf/image(67).png" alt=""&gt;&lt;/p&gt;


If you are using a trial and want to try these preview&amp;nbsp;features today, you can purchase a&amp;nbsp;&lt;a href="https://devexpress.com/buy"&gt;DevExpress Universal license online&lt;/a&gt;&amp;nbsp;(this will give you access to the early access preview build). If you own a non-Universal subscription and are ready to upgrade, email us at&amp;nbsp;&lt;a href="mailto:clientservices@devexpress.com"&gt;clientservices@devexpress.com&lt;/a&gt;&amp;nbsp;for upgrade pricing.



&lt;h2&gt;.NET Core / .NET Enhancements&lt;/h2&gt;


&lt;h3&gt;.NET 8, .NET Framework 4.6.2, Visual Studio 2019 are minimally supported versions for DevExpress libraries moving forward&lt;/h3&gt;


&lt;p&gt;Learn more about this global (v24.2+) change in the following &lt;a href="https://community.devexpress.com/blogs/news/archive/2024/07/08/net-net-8-and-net-framework-4-6-2-are-minimally-supported-target-frameworks-for-devexpress-libraries-in-v24-2.aspx" target="_blank" rel="noreferrer noopener"&gt;announcement&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;To simplify the migration process, the DevExpress Project Converter will attempt to re-target your XAF projects to .NET 8 automatically. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://community.devexpress.com:443/blogs/xaf/XAFConverter.png" alt=""&gt;&lt;br&gt;&lt;/p&gt;


&lt;p&gt;We will also try to update 3rd party packages to the latest compatible versions, where possible (for example, System.Text.Json, Microsoft.AspNetCore.*, Microsoft.EntityFrameworkCore.*, etc.) - almost 200 known dependencies in our Directory.Packages.props file. &lt;/p&gt;


&lt;p&gt;This automation should save hours of manual effort especially for those XAF customers with large .NET Framework or .NET solutions. Of course, if your team already uses props files and &lt;a href="https://learn.microsoft.com/en-us/nuget/consume-packages/central-package-management" target="_blank" rel="noreferrer noopener"&gt;Central Package Management (CPM)&lt;/a&gt;, then you can skip our Project Converter and update everything manually.&amp;nbsp;&lt;/p&gt;


&lt;p&gt;&lt;img src="https://community.devexpress.com:443/blogs/xaf/image(68).png" alt=""&gt;&amp;nbsp;&lt;/p&gt;

&lt;h3&gt;Easier Upgrade to .NET from .NET Framework&lt;/h3&gt;
&lt;p&gt;Our Project Converter can now convert DevExpress assembly references in your solution or specific projects to corresponding DevExpress NuGet packages. By selecting the &amp;quot;Convert DevExpress assembly references to NuGet packages&amp;quot; option under Advanced settings, you can easily transition to NuGet-based project management.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://community.devexpress.com/blogs/winforms/eap-24-2/devexpress-project-converter.png" alt="DevExpress Project Converter v24.2"&gt;&lt;/p&gt;
&lt;p&gt;To streamline the upgrade process, our Project Converter automatically creates backup (.bak) files for your CSPROJ and VBPROJ files. Once DevExpress assemblies are converted, complete the upgrade process by using the&amp;nbsp;&lt;a href="https://learn.microsoft.com/en-us/dotnet/core/porting/upgrade-assistant-overview" target="_blank"&gt;Microsoft .NET Upgrade Assistant&lt;/a&gt;&amp;nbsp;(to migrate your application to the most recent version of .NET).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Documentation&lt;/strong&gt;: &lt;a href="https://docs.devexpress.com/WindowsForms/405091/net-net-core-support/migrate-net-framework-app-to-net?v=24.2"&gt;Migrate a .NET Framework App to .NET&lt;/a&gt; | &lt;a href="https://docs.devexpress.com/GeneralInformation/116042/nuget/obtain-your-nuget-feed-credentials"&gt;Choose Suitable NuGet Feed&lt;/a&gt; | &lt;a href="https://docs.devexpress.com/GeneralInformation/116698/nuget/setup-visual-studios-nuget-package-manager?v=24.2" target="_blank"&gt;Install NuGet Packages in IDE&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;.NET 9 Support&lt;/h3&gt;
&lt;p&gt;XAF UI and Web API Service will fully support&amp;nbsp;&lt;a href="https://devblogs.microsoft.com/dotnet/dotnet-9-release-candidate-1-is-now-available/" target="_blank"&gt;NET 9&lt;/a&gt;&amp;nbsp;in November (v24.2.2+).&amp;nbsp;If you are already using .NET 9 RC1, replace 8.0.0 with 9.0.0 in the Model Editor config file (C:\Program Files\DevExpress 24.2\Components\Tools\eXpressAppFrameworkNetCore\Model Editor\DevExpress.ExpressApp.Design.ModelEditorServer.NetCore.v24.2.runtimeconfig.json): See&amp;nbsp;&lt;a href="https://supportcenter.devexpress.com/ticket/details/t1200937#workaround" target="_blank"&gt;T1200937 - Core - Model Editor does not work with .NET 8 projects&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Cross-Platform Enhancements&lt;/h2&gt;


&lt;h3&gt;Security Enhancements: Passkeys and MFA Support with Microsoft Entra ID, Google and Other Authentication Providers&lt;/h3&gt;

&lt;p&gt;As you may already know, both XAF UI (Blazor and WinForms) and our Web API Service offer a &amp;quot;1-click&amp;quot; solution to incorporate modern OAuth2 authentication providers with native Single Sign-On (SSO) (such as&amp;nbsp;&lt;a href="https://www.microsoft.com/en-us/security/business/identity-access/microsoft-entra-single-sign-on" target="_blank"&gt;Microsoft Entra SSO&lt;/a&gt;), Multi-Factor Authentication (MFA), and other security features. This works for both EF Core and XPO ORM. For additional information in this regard, refer to&amp;nbsp;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/402197/data-security-and-safety/security-system/authentication/oauth-and-custom-authentication/active-directory-and-oauth2-authentication-providers-in-blazor-applications"&gt;Active Directory and OAuth2 Authentication Providers in ASP.NET Core Blazor Applications&lt;/a&gt;&amp;nbsp;and related documents.&lt;/p&gt;&lt;p&gt;&lt;img src="https://community.devexpress.com:443/blogs/xaf/image(74).png" alt=""&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Passkeys uses your device lock (such as your fingerprint, face, pin or pattern) to sign in to your Microsoft, Google or other authentication provider accounts. For example, Microsoft Authenticator can be used to sign in to any Microsoft Entra ID account without using a password. Microsoft Authenticator uses key-based authentication to enable user credentials tied to a device (where the device uses a PIN or biometrics). &lt;a href="https://learn.microsoft.com/en-us/windows/security/identity-protection/hello-for-business/hello-identity-verification"&gt;Windows Hello for Business&lt;/a&gt; uses a similar technology.&lt;/p&gt;&lt;p&gt;&lt;img src="https://community.devexpress.com:443/blogs/xaf/entraID.png" alt=""&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;With v24.2, XAF UI (Blazor and WinForms) and our Web API Service will support all Passkey-related usage scenarios. This includes restoring a forgotten password, temporarily blocking access to accounts, account recovery, face recognition login, PIN, fingerprint, OTP, QR codes,&amp;nbsp;or various authenticator apps, using a Middle Tier Application Server or simpler configurations in WinForms, etc.&lt;/p&gt;&lt;img src="https://community.devexpress.com:443/blogs/xaf/fingerprint.jpg" alt=""&gt;&lt;br&gt;

&lt;h3&gt;EF Core Calculated Fields&lt;/h3&gt;


&lt;p&gt;We implemented a simpler solution for server-side calculated fields in EF Core.&amp;nbsp;&lt;span&gt;Note that you can sort, group, or filter List View data by calculated properties in Server and InstantFeedback modes.&lt;/span&gt; Use &lt;em&gt;DevExpress.ExpressApp.DC.CalculatedAttribute&lt;/em&gt; or &lt;em&gt;DevExpress.ExpressApp.DC.PersistentAliasAttribute&lt;/em&gt; to indicate whether a property&amp;#39;s value is calculated.&amp;nbsp;The following code snippet demonstrates how to create a class with a calculated property:&amp;nbsp;&lt;/p&gt;&lt;pre&gt;&lt;code class="language-csharp"&gt;using DevExpress.ExpressApp.DC;
public class Product : BaseObject {
 // ...
 public virtual decimal Quantity { get; set; }
 public virtual decimal Price { get; set; }
 
[PersistentAlias(&amp;quot;Quantity * Price&amp;quot;)]
 // or [Calculated(&amp;quot;Quantity * Price&amp;quot;)]
 public decimal TotalPrice {
     get {  return EvaluateAlias&amp;lt;decimal&amp;gt;();  }
 }
} &lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;EF Core Soft Deletion&lt;/h3&gt;
&lt;p&gt;v24.2 supports EF Core soft deletion&amp;nbsp;(aka &lt;a href="https://docs.devexpress.com/XPO/2026/crud/deleting-persistent-objects#deferred-object-deletion" target="_blank" rel="noreferrer noopener"&gt;XPO&amp;#39;s Deferred Deletion&lt;/a&gt;) for both XAF UI and Web API Service-powered apps. &lt;/p&gt;


&lt;p&gt;With soft or deferred object deletion, the ORM marks objects as deleted and does not physically remove them from the database immediately. This technique helps avoid database exceptions when deleting objects referenced by other entities.&amp;nbsp;&lt;/p&gt;


&lt;p&gt;We have also created an automatic converter for existing database tables (to add the new GCRecord column). For additional information in this regard, please review the following:&amp;nbsp;&lt;a href="https://supportcenter.devexpress.com/ticket/details/t1247762/core-database-and-data-model-code-changes-for-xaf-ef-core-apps-to-support-soft-deferred" target="_blank" rel="noreferrer noopener"&gt;Core - Database and data model code changes for XAF EF Core apps to support Soft/Deferred Deletion&lt;/a&gt;.&amp;nbsp;&amp;nbsp;&lt;/p&gt;

&lt;h3&gt;EF Core Filtering Capabilities Are Now on Par with XPO ORM&lt;/h3&gt;


&lt;p&gt;v24.2 introduces calculated properties for EF Core in XAF (see above). This change necessitated easy access to custom IsExactType and IsInstanceOfType functions regardless of the ORM used in an application.&amp;nbsp;&lt;/p&gt;


&lt;p&gt;To achieve parity, we moved custom IsExactType and IsInstanceOfType functions from the DevExpress.Xpo assembly to the DevExpress.Data assembly (see the following ticket for additional information: &lt;a href="https://supportcenter.devexpress.com/ticket/details/t1251791/xpo-the-isexacttype-and-isinstanceoftype-custom-functions-has-been-moved-to-the" target="_blank" rel="noreferrer noopener"&gt;XPO - The IsExactType and IsInstanceOfType custom functions has been moved to the DevExpress.Data assembly&lt;/a&gt;). &amp;nbsp;&lt;br&gt;&amp;nbsp;&lt;br&gt;The change allows this feature&amp;nbsp;to work in EF Core.&amp;nbsp;We would also like to mention that you can use the following features in EF Core projects: &lt;a href="https://docs.devexpress.com/XPO/2650/create-a-data-model/upcasting" target="_blank" rel="noreferrer noopener"&gt;Upcasting&lt;/a&gt; and &lt;a href="https://docs.devexpress.com/XPO/8130/query-and-shape-data/free-joins" target="_blank" rel="noreferrer noopener"&gt;Free Joins&lt;/a&gt;. This makes EF Core filtering capabilities&amp;nbsp;no different from what is available in XPO ORM today.&lt;/p&gt;

&lt;h3&gt;XPO DateOnly/TimeOnly Support&amp;nbsp;&lt;/h3&gt;


&lt;p&gt;In v24.2, XAF supports DateOnly/TimeOnly in XPO connection providers for .NET apps. This enhancement benefits XAF/Reporting/Dashboards and other products since XPO is at the core of data access code internally. As part of this, we also &lt;a href="https://supportcenter.devexpress.com/ticket/details/t1251731/xpo-changed-column-mappings-for-sql-types-date-and-time" target="_blank" rel="noreferrer noopener"&gt;changed column mappings&lt;/a&gt; for SQL types Date and Time.&amp;nbsp;&amp;nbsp;&lt;/p&gt;


&lt;p&gt;For more information on DateOnly/TimeOnly enhancements at the UI level of XAF WinForms apps (in grid and other controls), please review the following articles: v24.1 (&lt;a href="https://www.devexpress.com/subscriptions/whats-new/#winforms-dateonly-support" target="_blank" rel="noreferrer noopener"&gt;WinForms,&lt;/a&gt; &lt;a href="https://www.devexpress.com/subscriptions/whats-new/#blazor-grid-dateonly-timeonly-support" target="_blank" rel="noreferrer noopener"&gt;Blazor&lt;/a&gt;), v24.2 (the links to WinForms and Blazor EAP posts).&amp;nbsp;&lt;/p&gt;

&lt;h3&gt;Performance Enhancements&amp;nbsp;&lt;/h3&gt;


&lt;p&gt;We optimized image/icon load operations across all supported platforms. We noticed improvements in application startup time of up to 2 seconds (or more in complex applications with numerous Actions [&amp;gt;500]).&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Internally, we also used CriteriaCompiler instead of CriteriaEvaluator&amp;nbsp;in security Object and Member Permissions (EF Core and XPO ORM) and Calculated Fields (EF Core only). This &lt;strong&gt;cut calculation time and memory allocations in&amp;nbsp;half for specific usage&amp;nbsp;&lt;/strong&gt;&lt;strong&gt;scenarios&lt;/strong&gt;. Optimizations are not yet finalized, but our complete implementation should be available as we near Beta 1 in November (v24.2.2+). In the meantime, you can check out a few screenshots from our labs (these changes are not yet included into this EAP):&lt;/p&gt;&lt;p&gt;
&lt;img src="https://community.devexpress.com:443/blogs/xaf/image(69).png" alt="" style="width:1778px;height:1070px;border-width:1px;border-color:#c0c0c0;border-style:solid;"&gt;
&lt;/p&gt;&lt;p&gt;

&lt;img src="https://community.devexpress.com:443/blogs/xaf/image(71).png" alt="" style="width:1778px;height:1070px;border-width:1px;border-color:#c0c0c0;border-style:solid;"&gt;
&lt;/p&gt;&lt;img src="https://community.devexpress.com:443/blogs/xaf/image(72).png" alt="" style="width:1778px;height:1170px;border-width:1px;border-color:#c0c0c0;border-style:solid;"&gt;
&lt;h3&gt;Audit Trail Enhancements&amp;nbsp;&lt;/h3&gt;


&lt;p&gt;XAF now automatically excludes all non-persistent properties from the audit trail in XPO-based applications. This enhancement can improve performance if setter methods for non-persistent properties contain extensive logic.&amp;nbsp;&lt;/p&gt;


&lt;p&gt;To update existing apps, set the static ObjectAuditProcessor.ExcludeNonPersistentFromAudit property to true. For additional&amp;nbsp;information, please review the following:&amp;nbsp;&lt;a href="https://supportcenter.devexpress.com/ticket/details/t1246233/audit-non-persistent-properties-are-excluded-from-the-audit-log-xpo" target="_blank" rel="noreferrer noopener"&gt;T1246233 - Audit - Non Persistent Properties are Excluded from the Audit Log (XPO)&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;

&lt;h3&gt;Usability Enhancements&amp;nbsp;&lt;/h3&gt;


&lt;p&gt;We added new extension methods to make it easier to create a new Object Space using XafApplication and IObjectSpaceFactory.&amp;nbsp;&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;// v24.1.3 and earlier
var os = Application.CreateObjectSpace(typeof(Person));
// v24.1.5+ and v24.2+
var os = Application.CreateObjectSpace&amp;lt;Person&amp;gt;();
&lt;/code&gt;&lt;/pre&gt;





&lt;p&gt;If you used IObjectSpaceFactory in ASP.NET Core apps (Web API Service controllers, custom Razor components, etc.), please consider the following minor&amp;nbsp;breaking change in v24.2:&amp;nbsp;&lt;a href="https://supportcenter.devexpress.com/ticket/details/t1254577/inonsecuredobjectspacefactory-and-iobjectspacefactory-classes-were-moved-to-the" target="_blank"&gt;T1254577 - INonSecuredObjectSpaceFactory and IObjectSpaceFactory classes were moved to the DevExpress.ExpressApp namespace&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Artificial Intelligence (AI)&lt;/h2&gt;
&lt;p&gt;XAF Blazor and XAF WinForms-powered apps automatically derive all AI-related&amp;nbsp;features available in DevExpress components for each supported UI platforms. You can either access underlying UI controls and enable AI features as necessary (&lt;a href="https://supportcenter.devexpress.com/ticket/details/t1256162/ai-blazor-richedit-integration-in-v24-2eap#dac3b611-43da-4f3e-8dc3-b8a52631a137" target="_blank"&gt;an example with Blazor Rich Text Editor&lt;/a&gt;) OR create custom &lt;a href="https://docs.devexpress.com/eXpressAppFramework/113610/ui-construction/using-a-custom-control-that-is-not-integrated-by-default" target="_blank"&gt;XAF Property Editors /&amp;nbsp;user controls/forms&lt;/a&gt; based on AI-powered DevExpress controls like the Chat control.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://community.devexpress.com/blogs/news/archive/2024/09/18/devexpress-ai-powered-extensions-extending-text-editors-with-ai-eap-v24-2.aspx" target="_blank"&gt;DevExpress AI-powered APIs&lt;/a&gt;&amp;nbsp;allow&amp;nbsp;you to integrate the following AI services into your DevExpress-powered applications:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OpenAI&lt;/li&gt;
&lt;li&gt;Azure OpenAI&lt;/li&gt;
&lt;li&gt;Ollama&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;AI services and DevExpress AI extensions (behaviors) follow a &amp;quot;bring your own key&amp;quot; approach. DevExpress does not provide a REST API or include built-in LLMs/SLMs. To use AI services, you need an active Azure/OpenAI subscription to obtain the&amp;nbsp;necessary REST API endpoint, key, and model deployment name. This information&amp;nbsp;must be provided at application startup to register AI clients and enable DevExpress AI-powered features in your applications.&lt;/p&gt;
&lt;p&gt;For additional information, please review the following documents: &lt;a href="https://community.devexpress.com/blogs/news/archive/2024/09/18/devexpress-ai-powered-extensions-extending-text-editors-with-ai-eap-v24-2.aspx" target="_blank"&gt;Overview&lt;/a&gt; |&amp;nbsp;&lt;a href="https://docs.devexpress.com/WindowsForms/405151/ai-powered-extensions?v=24.2" target="_blank"&gt;DevExpress AI-Powered Extensions for WinForms&lt;/a&gt;&amp;nbsp;| &lt;a href="https://community.devexpress.com/blogs/office/archive/2024/09/20/office-inspired-controls-winforms-amp-wpf-early-access-preview-v24-2-ai-powered-behaviors-and-accessibility-enhancements.aspx" target="_blank"&gt;AI-Powered Behaviors in Rich Text and Spreadsheet Editors for WinForms&lt;/a&gt; |&amp;nbsp;&lt;a href="https://community.devexpress.com/blogs/aspnet/archive/2024/09/18/new-devexpress-ai-focused-blazor-chat-control-early-access-preview-v24-2.aspx" target="_blank"&gt;AI-Powered Blazor Chat Component&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;ASP.NET Core Blazor UI&lt;/h2&gt;

&lt;h3&gt;HTML Markup Support within the&amp;nbsp;Rich Text Property Editor&amp;nbsp;&lt;/h3&gt;


&lt;p&gt;XAF Blazor v24.2 supports &lt;a href="https://docs.devexpress.com/eXpressAppFramework/400063/document-management/office-module/how-to-access-the-rich-text-editor-controls#change-the-document-storage-format" target="_blank" rel="noreferrer noopener"&gt;DocumentStorageFormat = Html&lt;/a&gt; for the&amp;nbsp;RichTextPropertyEditor. You can change this property via the Model Editor to support HTML markup instead of RTF (default).&amp;nbsp;&lt;/p&gt;

&lt;h3&gt;Default Caption or Image in Action Container with Drop-Down Menu&amp;nbsp;&lt;/h3&gt;


&lt;p&gt;In previous versions, action containers with drop-down menus required a default action which was displayed inside the container. In this instance, when the drop-down menu was opened, it displayed all actions except the default. Based on user feedback, we have changed this behavior in this release.&lt;/p&gt;


&lt;p&gt;You can now&amp;nbsp;leave the container without a default action and set a custom caption and image for the container instead. These captions and images will always be displayed regardless of which action is currently selected. In this instance, all actions added to the container are added to the drop-down menu.&amp;nbsp;&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;Toolbar.AddActionContainer(&amp;quot;DropdownContainer&amp;quot;, isDropDown: true, caption: &amp;quot;Actions&amp;quot;, imageName: &amp;quot;Action_Search&amp;quot;); &lt;/code&gt;&lt;/pre&gt;


&lt;h3&gt;Tabbed MDI Enhancements&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/DevExpress.ExpressApp.UIType#tabbedmdi" target="_blank" rel="noreferrer noopener"&gt;Tabbed MDI&lt;/a&gt; is a multiple document interface (MDI) UI metaphor found in many modern applications (including your favorite Web browser or Microsoft Outlook Web). It is a robust interface that maximizes document screen real estate, especially when working with multiple&amp;nbsp;documents, email messages, etc. Tabbed MDI is enabled in XAF Blazor and WinForms&amp;nbsp;apps by default.&lt;/p&gt;
&lt;p&gt;XAF Blazor v24.2 adds&amp;nbsp;tab context menu support (Close, Close All But This, Close All) and allows users to close a&amp;nbsp;tab by using a middle-mouse click. XAF also stores the last active tab in the Application Model and restores it when you restart the application.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://community.devexpress.com:443/blogs/xaf/image(73).png" alt=""&gt;&lt;br&gt;&lt;/p&gt;



&lt;div class="Note"&gt;Early Access and CTP builds are provided solely for early testing purposes and are not ready for production use. This build can be installed side by side with other major versions of DevExpress products. Please backup your project and other important data before installing Early Access and CTP builds. This EAP may not include all features/products we expect to ship in our v24.1&amp;nbsp;release cycle. As its name implies, the EAP offers an early preview of what we expect to ship in two months.&lt;/div&gt;&lt;h2&gt;Your Feedback Matters!&lt;/h2&gt;&lt;p&gt;We recommend that you test the new features outlined in this post within Visual Studio 2022 using our&amp;nbsp;MainDemo.NET.EFCore&amp;nbsp;or MainDemo.NET.XPO demo (located in the following folder:&amp;nbsp;&amp;quot;&lt;strong&gt;c:\Users\Public\Documents\DevExpress Demos 24.2\Components\XAF\&lt;/strong&gt;&amp;quot;). You can also test the EAP build against your project, but please remember that this build is not ready for production use. We will keep you posted about additional features we expect to ship in 2024 (see &lt;a href="https://www.devexpress.com/go/XAF_Roadmap.aspx" target="_blank"&gt;our Year-End v2024.2 roadmap&lt;/a&gt;) as&amp;nbsp;we get closer to official release.&lt;/p&gt;&lt;p&gt;If you&amp;#39;ve had the opportunity to use the EAP build, please post your thoughts&amp;nbsp;in our roadmap survey&amp;nbsp;below OR&amp;nbsp;&lt;a href="https://www.devexpress.com/ask" target="_blank"&gt;create a Support Center ticket&lt;/a&gt;. We will happily follow up.&lt;/p&gt;&lt;div data-survey-id="8765276f-944d-49be-9154-b6826c51c8a1" data-survey-auth-required="false"&gt;&lt;/div&gt;&lt;p&gt;Thanks,&lt;br&gt;Dennis Garavsky&lt;br&gt;Principal Product Manager&lt;br&gt;&lt;a href="mailto:dennis@devexpress.com" title="Email me if you have questions or suggestions"&gt;dennis@devexpress.com&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;</description>
      <pubDate>Wed, 02 Oct 2024 08:03:00 Z</pubDate>
      <dc:creator>Dennis Garavsky (DevExpress)</dc:creator>
    </item>
    <item>
      <guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:388178</guid>
      <link>https://community.devexpress.com/Blogs/xaf/archive/2024/07/21/xaf-cross-platform-net-app-ui-and-web-api-service-year-end-roadmap-v24-2.aspx</link>
      <category domain="https://community.devexpress.com/Tags/.NET">.NET</category>
      <category domain="https://community.devexpress.com/Tags/.NET+8">.NET 8</category>
      <category domain="https://community.devexpress.com/Tags/.NET+9">.NET 9</category>
      <category domain="https://community.devexpress.com/Tags/.net+core">.net core</category>
      <category domain="https://community.devexpress.com/Tags/2024">2024</category>
      <category domain="https://community.devexpress.com/Tags/asp.net+Core">asp.net Core</category>
      <category domain="https://community.devexpress.com/Tags/blazor">blazor</category>
      <category domain="https://community.devexpress.com/Tags/EF+Core">EF Core</category>
      <category domain="https://community.devexpress.com/Tags/Entity+Framework">Entity Framework</category>
      <category domain="https://community.devexpress.com/Tags/future">future</category>
      <category domain="https://community.devexpress.com/Tags/OData">OData</category>
      <category domain="https://community.devexpress.com/Tags/Performance">Performance</category>
      <category domain="https://community.devexpress.com/Tags/roadmap">roadmap</category>
      <category domain="https://community.devexpress.com/Tags/security">security</category>
      <category domain="https://community.devexpress.com/Tags/v24.2">v24.2</category>
      <category domain="https://community.devexpress.com/Tags/web+api">web api</category>
      <category domain="https://community.devexpress.com/Tags/WinForms">WinForms</category>
      <category domain="https://community.devexpress.com/Tags/XAF">XAF</category>
      <category domain="https://community.devexpress.com/Tags/XPO">XPO</category>
      <title>XAF (Cross-Platform .NET App UI &amp; Web API Service) — Year-End Roadmap (v24.2)</title>
      <description>&lt;strong&gt;&lt;span style="color:#ff0000;font-size:24px;"&gt;UPDATE:&amp;nbsp;&lt;a href="https://www.devexpress.com/subscriptions/new-2024-2.xml#xaf" target="_blank"&gt;What&amp;#39;s New in XAF (v24.2)&lt;/a&gt;&amp;nbsp;| &lt;a href="https://www.devexpress.com/go/XAF_Roadmap.aspx" target="_blank"&gt;June 2025 Roadmap (v25.1)&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;

&lt;p&gt;As always, thank you for choosing &lt;a href="https://www.devexpress.com/products/net/application_framework/" target="_blank"&gt;XAF&lt;/a&gt;.&amp;nbsp;&lt;span&gt;We appreciate your support.&amp;nbsp;&lt;/span&gt;This blog post outlines some of our XAF-related development plans for the second half of 2024&amp;nbsp;(v24.2).&amp;nbsp;&lt;span&gt;Strategically, our goal is to focus on performance, overall stability/usability in this release cycle.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;span&gt;If you have not heard of&amp;nbsp;&lt;/span&gt;&lt;a href="https://www.devexpress.com/products/net/application_framework/" target="_blank"&gt;XAF&lt;/a&gt;&lt;span&gt;&amp;nbsp;before, XAF is a .NET application framework that helps you build powerful Office-inspired line-of-business apps with&amp;nbsp;DevExpress Blazor and WinForms UI components (using Entity Framework or&amp;nbsp;XPO ORM). Feel free to&amp;nbsp;&lt;a href="https://www.devexpress.com/support/demos/#xaf" target="_blank"&gt;review XAF demos&lt;/a&gt;&amp;nbsp;and&amp;nbsp;compare XAF with other software development methodologies &lt;a href="https://www.devexpress.com/products/net/application_framework/xaf-considerations-for-newcomers.xml" target="_blank"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;When new users try &lt;a href="https://community.devexpress.com/blogs/xaf/archive/2023/12/28/xaf-blazor-2023-highlights-5-unique-web-features-that-rival-powerful-windows-desktop-solutions.aspx" target="_blank"&gt;unique XAF Blazor features&lt;/a&gt;&amp;nbsp;live in our XAF Blazor demo (especially Tabbed MDI or runtime layout customizations)&lt;/span&gt;&lt;span&gt;, they often ask whether it is a WinForms app (or if they are familiar with XAF, they&amp;nbsp;cannot believe how much XAF Blazor apps and DevExpress Blazor Components have progressed over the last couple of years).&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;div class="Note"&gt;The information contained within this blog post details our current/projected development plans. Please note that this information is being shared for INFORMATIONAL PURPOSES ONLY and does not represent a binding commitment on the part of Developer Express Inc. This roadmap and the features/products listed within it are subject to change. You should not rely on or use this information to help make a purchase decision about Developer Express Inc products.&amp;nbsp;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Core/Cross-Platform&lt;/h2&gt;
&lt;p&gt;Enhancements within this category (for example, performance or security)&amp;nbsp;apply to XAF/WinForms UI, Web API Service, and to WebForms (.NET Framework).&lt;/p&gt;
&lt;h3&gt;.NET Core Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;We will introduce &lt;strong&gt;.NET 9&lt;/strong&gt;&amp;nbsp;support for&amp;nbsp;XAF Blazor/WinForms UI v24.2 and our Web API Service v24.2&amp;nbsp;(after November 2024). We will also support the latest .NET 9 previews for v24.1 (for early adopters to test).&amp;nbsp;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;.NET 8, .NET Framework 4.6.2, Visual Studio 2019&lt;/strong&gt;&amp;nbsp;will be minimally supported versions for DevExpress libraries moving forward (v24.2+). Learn more about this global change in the following&amp;nbsp;&lt;a href="https://community.devexpress.com/blogs/news/archive/2024/07/08/net-net-8-and-net-framework-4-6-2-are-minimally-supported-target-frameworks-for-devexpress-libraries-in-v24-2.aspx" target="_blank"&gt;announcement&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;With v24.2, we will improve integration&amp;nbsp;with &lt;strong&gt;Microsoft&amp;#39;s .NET Upgrade Assistant Tool. &lt;/strong&gt;&amp;nbsp;This change will simplify migration from .NET Framework to .NET. We expect to offer&amp;nbsp;&lt;a href="https://devblogs.microsoft.com/dotnet/announcing-api-map-support-for-ua/" target="_blank"&gt;predefined mappings&lt;/a&gt;&amp;nbsp;for appropriate&amp;nbsp;DevExpress packages.&lt;/li&gt;&lt;li&gt;We expect to support XAF project and item templates for VS Code and Rider&amp;nbsp;(potentially) as part of the cross-platform DevExpress Template Gallery (our &lt;a href="https://docs.devexpress.com/eXpressAppFramework/404967/installation-upgrade-version-history/dotnet-cli-integration" target="_blank"&gt;CLI-based templates&lt;/a&gt;&lt;span&gt;&amp;nbsp;will be used under the hood).&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Source Code Builder Enhancements&lt;/h3&gt;
&lt;p&gt;We will simplify&amp;nbsp;the steps needed to&amp;nbsp;&lt;a href="https://docs.devexpress.com/GeneralInformation/403678/source-code/rebuild-assemblies-from-source-code"&gt;rebuild assemblies from source code&lt;/a&gt;&amp;nbsp;in our v24.2 release cycle:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Our source builder tool will ship in the DevExpress&amp;nbsp;Unified Component Installer.&lt;/li&gt;
&lt;li&gt;Our source builder tool will be more stable (we added more internal tests for the rebuild process on our build farm) and will require fewer steps to initiate/complete source rebuild.&lt;/li&gt;
&lt;li&gt;It will be&amp;nbsp;easier to rebuild .NET Core/.NET projects (currently, it is a manual process)&amp;nbsp;and generate corresponding NuGet packages (including localization packages).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;EF Core ORM Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;We will add EF Core 9 ORM support for&amp;nbsp;XAF Blazor/WinForms UI and Web API Service.&lt;/li&gt;
&lt;li&gt;We will introduce&amp;nbsp;ServerView and InstantFeedbackView data access modes for&amp;nbsp;ListView, at least at the core level (additional integration for&amp;nbsp;XAF Blazor/WinForms UI may be pursued in future versions).&lt;/li&gt;
&lt;li&gt;We will implement a simpler solution for server-side calculated fields in EF Core (aka XPO&amp;#39;s PersistentAliasAttribute).&lt;/li&gt;
&lt;li&gt;We will support soft deletion for EF Core (aka XPO&amp;#39;s Deferred Deletion).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;XPO ORM Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;We will support the latest versions of database drivers/connectors for PostreSQL, Oracle, and My SQL (and SQL Server 2024, should it be released).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We will support DateOnly/TimeOnly in XPO connection providers for .NET apps (this enhancement will benefit XAF/Reporting/Dashboards and other products since XPO is at the core of data access code internally).&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Security Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;We will simplify the following user management tasks for XAF-powered Blazor apps: MFA, Forgot&amp;nbsp;Password, and potentially Sign Up.&lt;/li&gt;
&lt;li&gt;We will enhance our built-in Tenant Resolvers (a part of our Multi-Tenancy module) so they work more effectively with OAuth2 providers such as Google or Microsoft Entra ID (&lt;a href="https://supportcenter.devexpress.com/ticket/details/t1229280/multitenant-module-google-oauth-improvement" target="_blank"&gt;example&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;We will enhance XAF Blazor and Web API Service project templates to enable &lt;a href="https://learn.microsoft.com/en-us/aspnet/core/blazor/security/?view=aspnetcore-8.0#antiforgery-support" target="_blank"&gt;angiforgery protection&lt;/a&gt; by default. Even though&amp;nbsp;CSRF tokens &lt;a href="https://github.com/dotnet/aspnetcore/issues/11787#issuecomment-508000446" target="_blank"&gt;aren&amp;#39;t involved in the server-side Blazor circuit&lt;/a&gt; by default, our customers can add custom code to&amp;nbsp;XAF Blazor apps where CSRF will make sense (for instance, complex client-side code, which can consume external web services).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Performance Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;We will refactor our internal code to use&amp;nbsp;CriteriaCompiler instead of ExpressionEvaluator by default (wherever possible). This should enhance performance  in certain implementation scenarios (Security System, Object Space, etc).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We expect to modify default indices for Audit Trail business classes and enhance read performance for specific usage scenarios.&amp;nbsp;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;We expect to optimize Notifications Module performance when an app includes multiple scheduler appointments.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;ASP.NET Core Blazor UI&lt;/h2&gt;
&lt;p&gt;We expect to release the following XAF Blazor UI features/capabilities in our v24.2&amp;nbsp;release cycle (December&amp;nbsp;2024).&lt;/p&gt;
&lt;h3&gt;List and Property Editor Enhancements&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;XAF Blazor UI will include a built-in TreeListEditor (powered by the DevExpress Blazor&amp;nbsp;&lt;/span&gt;&lt;a href="https://docs.devexpress.com/Blazor/404942/components/treelist" target="_blank"&gt;TreeList&lt;/a&gt;&lt;span&gt;).&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;We will support storage of HTML-formatted documents within the Rich Text Property Editor (&lt;a href="https://docs.devexpress.com/eXpressAppFramework/401210/document-management/office-module/how-to-customize-the-rich-text-editors#change-the-document-storage-format" target="_blank"&gt;learn more&lt;/a&gt;).&amp;nbsp;&lt;/li&gt;&lt;li&gt;We want to support &lt;a href="https://docs.devexpress.com/eXpressAppFramework/DevExpress.Persistent.Base.DataSourceCriteriaAttribute" target="_blank"&gt;DataSourceXXX attributes&lt;/a&gt;&amp;nbsp;for Enumeration Property Editors (much like the attributes available for Lookup and Link List Views).&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;img src="https://docs.devexpress.com/Blazor/images/treelist/blazor-treelist-overview.png" alt="TreeList Overview"&gt;&lt;/p&gt;
&lt;h3&gt;Error Handling Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;We will extend XAF&amp;#39;s Blazor error handling engine (to closely mirror&amp;nbsp;XAF WinForms/WebForms counterparts): non-critical exceptions will not crash the entire app and redirect to an error page&amp;nbsp;but will instead be isolated in regions or notification messages. We hope to leverage ASP.NET&amp;nbsp;&lt;a href="https://learn.microsoft.com/en-us/aspnet/core/blazor/fundamentals/handle-errors?view=aspnetcore-8.0#error-boundaries" target="_blank"&gt;Error Boundaries&lt;/a&gt;&amp;nbsp;to address our requirements.&lt;/li&gt;
&lt;li&gt;We hope to output more useful error information to developers during debug/development (currently, it requires using web browser tools - F12).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Performance Enhancements&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;We will optimize page rendering for a variety of common Blazor-specific usage&amp;nbsp;scenarios (logon form, grid, and main menu toolbar rendering, etc.).&lt;/li&gt;&lt;li&gt;We hope to optimize tab close operations&amp;nbsp;when Tabbed MDI is enabled (to avoid execution of unnecessary logic when disposing off related Views).&lt;/li&gt;&lt;li&gt;We will support ServerView and InstantFeedbackView &lt;a href="https://docs.devexpress.com/eXpressAppFramework/113683/ui-construction/views/list-view-data-access-modes" target="_blank"&gt;data access modes&lt;/a&gt; for&amp;nbsp;ListView with EF Core, at least at the core level (additional integration for&amp;nbsp;XAF Blazor UI and DxGridListEditor with EF Core and XPO may be pursued in future versions).​&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Usability Enhancements&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;We will introduce tab context menus (Close, Close All But This, Close All), middle-mouse click, and potentially other usability enhancements.&lt;/li&gt;&lt;li&gt;
&lt;p&gt;We will add VisibleInCustomizationForm or similar attributes in the Application Model to hide certain properties or fields from ListView and DetailView customization forms much easier (&lt;a href="https://supportcenter.devexpress.com/ticket/details/q366279/how-to-hide-a-property-field-from-the-grid-s-column-chooser-layout-s-customization-form" target="_blank"&gt;without the need for manual code-based solutions&lt;/a&gt;).&lt;/p&gt;
&lt;/li&gt;&lt;li&gt;
&lt;p&gt;We hope to make it easier for end-users to add/remove tabs during DetailView layout customization at runtime (this is a quite complicated task, which we researched in the past, but we want to give it another try).&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;img src="https://www.devexpress.com/products/net/application_framework/i/appgallery/blazor-crm-employee-details-xaf@2x.png" alt="" style="width:1440px;height:1000px;border-width:1px;border-color:#c0c0c0;border-style:solid;"&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#656565;font-family:&amp;#39;Open Sans Condensed&amp;#39;, HelveticaNeue-CondensedBold, Helvetica, &amp;#39;Arial Narrow&amp;#39;, Calibri, Arial, &amp;#39;Lucida Grande&amp;#39;, sans-serif;font-size:24px;"&gt;Deployment Enhancements&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;We will publish&amp;nbsp;a few examples and demonstrate how&amp;nbsp;&lt;a href="https://learn.microsoft.com/en-us/dotnet/aspire/get-started/aspire-overview" target="_blank"&gt;.NET Aspire&lt;/a&gt;&amp;nbsp;can simplify development/deployment of XAF Blazor and Web API Service-based apps, especially for non-Windows production environments. &lt;/p&gt;&lt;p&gt;Our ultimate goal is to fully automate manual steps documented in the following help topics:&amp;nbsp;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/404614/deployment/asp-net-core-blazor/deploy-a-blazor-application-to-azure"&gt;Deploy an ASP.NET Core Blazor Server Application to Azure App Service&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/404717/deployment/asp-net-core-blazor/deploy-a-blazor-application-to-linux-with-nginx"&gt;Deploy an ASP.NET Core Blazor Server Application to Linux with Nginx&lt;/a&gt;.&lt;/p&gt;&lt;h3&gt;And Much More in Blazor Components...&lt;/h3&gt;&lt;p&gt;&lt;span&gt;For even more enhancements in XAF Blazor UI, please check out&amp;nbsp;&lt;/span&gt;&lt;a href="https://community.devexpress.com/blogs/aspnet/archive/2024/02/12/blazor-v24-1-roadmap.aspx"&gt;&lt;/a&gt;&lt;a href="https://community.devexpress.com/blogs/aspnet/archive/2024/07/22/blazor-year-end-roadmap-v24-2.aspx"&gt;Blazor — Year-End Roadmap (v24.2)&lt;/a&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;- many of these component features (not all) will be available in XAF Blazor automatically.&lt;/span&gt;&lt;br&gt;&lt;/p&gt;

&lt;h2&gt;Your Feedback Matters&lt;/h2&gt;&lt;p&gt;Your response to the following questions will help us refine plans for our next major release:&lt;/p&gt;&lt;div data-survey-id="8765276f-944d-49be-9154-b6826c51c8a1" data-survey-auth-required="false"&gt;&lt;/div&gt;&lt;span&gt;If you have yet to review the features/capabilities introduced in our most recent major update (&lt;/span&gt;&lt;strong&gt;v24.1&lt;/strong&gt;&lt;span&gt;), please&amp;nbsp;&lt;/span&gt;&lt;a href="https://www.devexpress.com/subscriptions/whats-new/" target="_blank"&gt;visit the following webpage&lt;/a&gt;&lt;span&gt;&amp;nbsp;and let us know what you think of this release by responding to&amp;nbsp;&lt;/span&gt;&lt;a href="https://www.devexpress.com/subscriptions/whats-new/#xaf-survey" target="_blank"&gt;our online XAF v24.1 survey&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;p&gt;Thanks,&lt;br&gt;Dennis Garavsky&lt;br&gt;Principal Product Manager&lt;br&gt;&lt;a href="mailto:dennis@devexpress.com" title="Email me if you have questions or suggestions"&gt;dennis@devexpress.com&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Sun, 21 Jul 2024 23:51:00 Z</pubDate>
      <dc:creator>Dennis Garavsky (DevExpress)</dc:creator>
    </item>
    <item>
      <guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:388145</guid>
      <link>https://community.devexpress.com/Blogs/xaf/archive/2024/04/18/xaf-v24-1-eap-tabbed-mdi-grid-batch-edit-notifications-module-customization-form-and-accessibility-enhancements-for-blazor-ef-core-8-and-performance-enhancements.aspx</link>
      <category domain="https://community.devexpress.com/Tags/.net+6">.net 6</category>
      <category domain="https://community.devexpress.com/Tags/.NET+8">.NET 8</category>
      <category domain="https://community.devexpress.com/Tags/.net+core">.net core</category>
      <category domain="https://community.devexpress.com/Tags/2024">2024</category>
      <category domain="https://community.devexpress.com/Tags/accessibility">accessibility</category>
      <category domain="https://community.devexpress.com/Tags/asp.net+Core">asp.net Core</category>
      <category domain="https://community.devexpress.com/Tags/blazor">blazor</category>
      <category domain="https://community.devexpress.com/Tags/eap">eap</category>
      <category domain="https://community.devexpress.com/Tags/EF">EF</category>
      <category domain="https://community.devexpress.com/Tags/EF+Core">EF Core</category>
      <category domain="https://community.devexpress.com/Tags/Entity+Framework">Entity Framework</category>
      <category domain="https://community.devexpress.com/Tags/Non-Windows">Non-Windows</category>
      <category domain="https://community.devexpress.com/Tags/OData">OData</category>
      <category domain="https://community.devexpress.com/Tags/OpenAPI">OpenAPI</category>
      <category domain="https://community.devexpress.com/Tags/prerelease">prerelease</category>
      <category domain="https://community.devexpress.com/Tags/REST">REST</category>
      <category domain="https://community.devexpress.com/Tags/restful">restful</category>
      <category domain="https://community.devexpress.com/Tags/roadmap">roadmap</category>
      <category domain="https://community.devexpress.com/Tags/security">security</category>
      <category domain="https://community.devexpress.com/Tags/survey">survey</category>
      <category domain="https://community.devexpress.com/Tags/Swagger">Swagger</category>
      <category domain="https://community.devexpress.com/Tags/Usability">Usability</category>
      <category domain="https://community.devexpress.com/Tags/v24.1">v24.1</category>
      <category domain="https://community.devexpress.com/Tags/web+api">web api</category>
      <category domain="https://community.devexpress.com/Tags/XAF">XAF</category>
      <category domain="https://community.devexpress.com/Tags/XPO">XPO</category>
      <title>XAF v24.1 EAP — Tabbed MDI, Batch Edit, Notifications, Customization Form and Accessibility for Blazor, EF Core 8 and Performance Boost for Middle Tier Server</title>
      <description>&lt;p&gt;As you may already know, we are a couple of months away from our next major update (v24.1). This post describes&amp;nbsp;&lt;strong&gt;a few&lt;/strong&gt;&amp;nbsp;&lt;a href="https://www.devexpress.com/products/net/application_framework/" target="_blank"&gt;XAF&lt;/a&gt;-related&amp;nbsp;features we expect to ship in early June and details what’s inside our Early Access Preview build (for additional information on what you can expect, refer to&amp;nbsp;&lt;a href="https://community.devexpress.com/blogs/xaf/archive/2024/01/31/xaf-v24-1-june-2024-roadmap-cross-platform-net-app-ui-blazor-winforms-and-web-api-service.aspx" target="_blank"&gt;our June 2024.1 roadmap&lt;/a&gt;).&lt;/p&gt;&lt;p&gt;As you will see below, XAF key focus areas will continue to remain &lt;strong&gt;Blazor, Entity Framework&amp;nbsp;Core, Security&amp;nbsp;and .NET 8&lt;/strong&gt;.&amp;nbsp;&lt;a href="https://www.devexpress.com/products/net/application_framework/xaf-considerations-for-newcomers.xml" target="_blank"&gt;One of XAF’s core development pillars&lt;/a&gt;&amp;nbsp;is Low-Code/No-Code .NET application development (for Web, Desktop and APIs simultaneously).&amp;nbsp;When time to market/efficiency matters (especially in today&amp;#39;s world), XAF can help you deliver line-of-business apps in the shortest possible time using familiar RAD methodologies.&lt;br&gt;&lt;/p&gt;&lt;p&gt;If you own an active&amp;nbsp;&lt;a href="https://www.devexpress.com/subscriptions/universal.xml" target="_blank"&gt;Universal Subscription&lt;/a&gt;, feel free to download this Early Access Preview (EAP) build at your convenience. If you own an active&amp;nbsp;&lt;a href="https://www.devexpress.com/subscriptions/dxperience.xml" target="_blank"&gt;DXperience Subscription&lt;/a&gt;&amp;nbsp;and would like to learn more about our&amp;nbsp;&lt;a href="https://www.devexpress.com/products/net/application_framework/" target="_blank"&gt;Cross-Platform .NET App UI (XAF)&lt;/a&gt;&amp;nbsp;or&amp;nbsp;&lt;a href="https://www.devexpress.com/products/net/application_framework/security-web-api-service.xml" target="_blank"&gt;Web API Service&lt;/a&gt;, you can explore the features described herein by logging onto the DevExpress&amp;nbsp;&lt;a href="https://www.devexpress.com/ClientCenter/DownloadManager/" target="_blank"&gt;Download Manager&lt;/a&gt;&amp;nbsp;and installing this EAP build in trial mode. Once you do, please take a moment to tell us whether these new features address your business needs. Your feedback will help us fine-tune our implementation before official launch.&lt;/p&gt;&lt;img src="https://community.devexpress.com:443/blogs/xaf/image(54).png" alt="" style="width:2824px;height:676px;border-width:1px;border-color:#c0c0c0;border-style:solid;"&gt;&lt;div&gt;&lt;div&gt;&lt;div class="Note"&gt;If you are using a trial and want to try these preview&amp;nbsp;features today, you can purchase a&amp;nbsp;&lt;a href="https://devexpress.com/buy"&gt;DevExpress Universal license online&lt;/a&gt;&amp;nbsp;(this will give you access to the early access preview build). If you own a non-Universal subscription and are ready to upgrade, email us at&amp;nbsp;&lt;a href="mailto:clientservices@devexpress.com"&gt;clientservices@devexpress.com&lt;/a&gt;&amp;nbsp;for upgrade pricing.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2&gt;ASP.NET Core Blazor UI&lt;/h2&gt;&lt;h3&gt;Tabbed MDI Support&lt;/h3&gt;&lt;p&gt;Tabbed MDI is a multiple document interface (MDI) UI metaphor found in many modern applications (including your favorite Web browser or Microsoft Outlook Web). It is a robust interface that maximizes document screen real estate, especially when working with multiple&amp;nbsp;documents, email messages, etc.&lt;/p&gt;&lt;p&gt;Tabbed MDI is enabled in XAF WinForms apps by default, and&amp;nbsp;XAF Blazor will provide a similar user experience in v24.1. &lt;span style="background-color:#ffffff;"&gt;You can also customize Tabbed MDI in the Model Editor as follows:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="background-color:#ffffff;"&gt;Restore previously opened tabs between application runs (RestoreTabbedMdiLayout&amp;nbsp;&lt;span&gt;=&amp;nbsp;&lt;/span&gt;True by default)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="background-color:#ffffff;"&gt;Refresh View data source on tab focus (&lt;span&gt;RefreshViewOnTabFocus =&amp;nbsp;&lt;/span&gt;False by default)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="background-color:#ffffff;"&gt;Display or hide tab images (&lt;span&gt;ShowTabImage&lt;/span&gt;&lt;span style="color:#242424;"&gt;&amp;nbsp;= True by default&lt;/span&gt;)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="background-color:#ffffff;"&gt;Display tabs at the top,&amp;nbsp;bottom, or right of the main window (TabPosition&amp;nbsp;&lt;span style="color:#242424;"&gt;= Top by default&lt;/span&gt;)&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="background-color:#ffffff;"&gt;In addition, you can access the underlying tab control in code and configure it as needed using a Controller (in the SolutionName.Blazor project). For instance, you can load tabs on demand or simultaneously.&lt;/span&gt;&lt;/p&gt;&lt;pre&gt;&lt;code class="language-csharp"&gt;protected override void OnFrameAssigned() {
    base.OnFrameAssigned();
    Frame.TemplateChanged += Frame_TemplateChanged;
}
private void Frame_TemplateChanged(object sender, EventArgs e) {
    if(Frame.Template is ApplicationMdiWindowTemplate template) {
        template.TabsModel.RenderMode = DevExpress.Blazor.TabsRenderMode.AllTabs;
    }
}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;span style="background-color:#ffffff;"&gt;&lt;br&gt;&lt;/span&gt;Since our EAP v24.1 contains &lt;a href="https://supportcenter.devexpress.com/ticket/details/t1224820/24-1-eap-tabbedmdi-feedback" target="_blank"&gt;known issues&lt;/a&gt; with Tabbed MDI (fixed in our latest builds),&amp;nbsp;we mostly ask that you to test this UI metaphor in your app for feedback purposes.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://community.devexpress.com:443/blogs/xaf/image(59).png" alt="" style="width:2970px;height:1700px;border-width:1px;border-color:#c0c0c0;border-style:solid;"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://community.devexpress.com:443/blogs/xaf/image(64).png" alt="" style="width:2390px;height:1380px;border-width:1px;border-color:#c0c0c0;border-style:solid;"&gt;&lt;/p&gt;
&lt;h3&gt;Add New&amp;nbsp;Fields into the Customization Form of the Grid and&amp;nbsp;Layout Controls at Runtime&lt;/h3&gt;&lt;p&gt;XAF WinForms apps include an&amp;nbsp;Object Model dialog. With it, end-users can search, tick or untick data model fields (including sub-fields and collections), which are not yet displayed in the grid or layout control (as part of the Column Chooser or Customization Form).&lt;/p&gt;&lt;p&gt;Much like Microsoft Office apps, this capability allows users to fully customize&amp;nbsp;list and detail forms&amp;nbsp;(based on the structure of a data model). Again, this is helpful when developers need to address&amp;nbsp;changes to business requirements without&amp;nbsp;redeployment. For more information, refer to&amp;nbsp;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/404353/ui-construction/views/layout/view-items-layout-customization-blazor?v=24.1"&gt;Runtime Layout Customization in ASP.NET Core Blazor Applications&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color:#ffffff;"&gt;XAF Blazor provides a similar experience for both ListView and DetailView&amp;nbsp;in v24.1 (just remember&amp;nbsp;&lt;a href="https://supportcenter.devexpress.com/ticket/details/t1224818/24-1-eap-customization-form-feedback" target="_blank"&gt;this known issue&lt;/a&gt;). This feature removes the need for many UI customizations in the design-time Model Editor (inside Visual Studio) - something&amp;nbsp;many of you love in XAF WinForms UI.&amp;nbsp;Of course, you can also disable these runtime capabilities for end-users.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://community.devexpress.com:443/blogs/xaf/image(58).png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://community.devexpress.com:443/blogs/xaf/image(57).png" alt=""&gt;&lt;/p&gt;

&lt;h3&gt;Notifications&amp;nbsp;Module&lt;/h3&gt;&lt;p&gt;XAF Blazor v24.1 supports our&amp;nbsp;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/113690/event-planning-and-notifications/notifications/notifications-module-overview" target="_blank"&gt;Notifications Module&lt;/a&gt;. The module allows&amp;nbsp;you to display reminders for scheduler appointments or any custom objects (such as tasks). The detail form for&amp;nbsp;a&amp;nbsp;scheduler appointment/event&amp;nbsp;will also allow you to configure&amp;nbsp;reminders like those available in Microsoft Outlook. With the help of the Notifications Module, your&amp;nbsp;app can&amp;nbsp;display a popup window before appointment/event start times.&lt;/p&gt;&lt;p&gt;NOTE:&amp;nbsp;our Notifications module does not have to be bound to the Scheduler module: it can display notifications that originate&amp;nbsp;from anywhere. In the latter instance, your goal as a developer is to provide the notifications service with notification items and the service will process them as required.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://community.devexpress.com:443/blogs/xaf/image(56).png" alt="" style="width:2970px;height:1700px;border-width:1px;border-color:#c0c0c0;border-style:solid;"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://community.devexpress.com:443/blogs/xaf/image(55).png" alt=""&gt;&lt;/p&gt;

&lt;h3&gt;Batch / Cell Edit&amp;nbsp;in Grid List&amp;nbsp;Editor&lt;/h3&gt;&lt;p&gt;Batch Edit support&amp;nbsp;officially ships in XAF Blazor v24.1 via a single option (&lt;a href="https://docs.devexpress.com/eXpressAppFramework/113249/ui-construction/views/list-view-edit-modes?v=24.1#in-place-editing-customization-the-inlineeditmode-property-1" target="_blank"&gt;InlineEditMode = Batch&lt;/a&gt;) - much like its XAF WebForms counterpart.&amp;nbsp;&lt;span&gt;At present (v23.2), XAF Blazor developers must&amp;nbsp;manually enable this option&amp;nbsp;(&lt;/span&gt;&lt;a href="https://supportcenter.devexpress.com/ticket/details/t1206051/is-available-batch-editing-for-blazor-in-xaf-apps#e90097cf-624b-4129-a109-2adb97a38078" target="_blank"&gt;learn more&lt;/a&gt;&lt;span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://community.devexpress.com:443/blogs/xaf/chrome_19MGsCozq4.gif" alt="" style="width:2820px;height:1438px;border-width:1px;border-color:#c0c0c0;border-style:solid;"&gt;&lt;/p&gt;

&lt;h3&gt;Accessibility Enhancements and Keyboard Support&lt;/h3&gt;&lt;p&gt;Currently, XAF (UI for ASP.NET Core Blazor, WinForms, and ASP.NET WebForms)&amp;nbsp;ships with partial accessibility support mirroring those found in&amp;nbsp;corresponding DevExpress UI controls across&amp;nbsp;respective UI platforms:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://docs.devexpress.com/Blazor/404749/common-concepts/accessibility"&gt;DevExpress ASP.NET Core Blazor&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://docs.devexpress.com/WindowsForms/404293/build-an-application/accessibility"&gt;DevExpress WinForms&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://docs.devexpress.com/AspNet/5294/common-concepts/accessibility-support"&gt;DevExpress ASP.NET Web Forms&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://js.devexpress.com/DevExtreme/23_2/Guide/Common/Accessibility/"&gt;DevExpress DevExtreme&lt;/a&gt;&amp;nbsp;(DevExtreme UI controls are used in XAF ASP.NET Core Blazor and ASP.NET Web Forms UI.)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;XAF Blazor also ships with its own set of UI components/elements (like property editors and action containers).&amp;nbsp;&lt;span style="background-color:#ffffff;"&gt;In v24.1, we extended accessibility support and improved&amp;nbsp;keyboard support for all&amp;nbsp;XAF Blazor UI elements (~20% of scenarios). XAF&amp;nbsp;accessibility support will also level up&amp;nbsp;automatically as&amp;nbsp;soon as we enhance accessibility in&amp;nbsp;DevExpress Blazor UI components&amp;nbsp;throughout&amp;nbsp;2024.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Our Blazor Grid&amp;#39;s keyboard navigation option also officially ships and is&amp;nbsp;enabled by default in XAF Blazor.&amp;nbsp; See also the &amp;quot;&lt;em&gt;Keyboard Support&amp;quot;&lt;/em&gt;&amp;nbsp;and &amp;quot;&lt;em&gt;Keyboard Support Enhancements and New Tab Navigation&lt;/em&gt;&amp;quot; sections in&amp;nbsp;&lt;a href="https://community.devexpress.com/blogs/aspnet/archive/2024/02/12/blazor-v24-1-roadmap.aspx"&gt;Blazor — June 2024 Roadmap (v24.1)&lt;/a&gt;.&lt;/p&gt;&lt;h3&gt;And Much More for Blazor...&lt;/h3&gt;&lt;p&gt;For even more enhancements in XAF Blazor UI, please check out&amp;nbsp;&lt;a href="https://community.devexpress.com/blogs/aspnet/archive/2024/02/12/blazor-v24-1-roadmap.aspx"&gt;&lt;/a&gt;&lt;a href="https://community.devexpress.com/blogs/aspnet/archive/2024/03/26/blazor-early-access-preview-v24-1.aspx"&gt;Blazor Component Suite — Early Access Preview (v24.1)&lt;/a&gt;&amp;nbsp;- many of these component features will be available in XAF Blazor automatically.&lt;/p&gt;&lt;h2&gt;Cross-Platform Enhancements&lt;/h2&gt;&lt;h3&gt;Migration from Newtonsoft.Json to System.Text.Json&lt;/h3&gt;&lt;p&gt;System.Text.Json library is now used to deserialize input parameters for &lt;a href="https://docs.devexpress.com/eXpressAppFramework/403394/backend-web-api-service" target="_blank"&gt;Backend Web API Service&lt;/a&gt; endpoints.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For more information, refer to my other post&amp;nbsp;&lt;a href="https://community.devexpress.com/blogs/news/archive/2024/04/02/net-and-net-framework-migration-from-newtonsoft-json-to-system-text-json-v24-1.aspx"&gt;.NET and .NET Framework — Migration from Newtonsoft.Json to System.Text.Json (v24.1)&lt;/a&gt;&amp;nbsp;and&amp;nbsp;this&amp;nbsp;&lt;a href="https://supportcenter.devexpress.com/ticket/details/t1225165/xaf-system-text-json-library-is-used-to-deserialize-input-parameters-of-the-web-api" target="_blank"&gt;Breaking Change&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;EF Core 8 Support&lt;/h3&gt;&lt;p&gt;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/404215/debugging-testing-and-error-handling/code-diagnostics/xaf0026?v=24.1" target="_blank"&gt;EF Core 8 support&lt;/a&gt; officially ships in&amp;nbsp;&lt;strong&gt;v24.1&amp;nbsp;&lt;/strong&gt;for&amp;nbsp;XAF&amp;nbsp;and associated&amp;nbsp;Backend Web API Service. EF Core 8&amp;nbsp;is the latest production-ready version of Entity Framework.&lt;/p&gt;&lt;p&gt;While EF Core 8&amp;nbsp;offers numerous advantages over its predecessor (performance and customization included), it also introduced a series of&amp;nbsp;breaking changes&amp;nbsp;that we will need to address (for instance, DateOnly and TimeOnly support). To solicit feedback before official release, we intentionally added preview (CTP) support of EF Core 8&amp;nbsp;in&amp;nbsp;&lt;strong&gt;v23.2.4+&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;For more information about recent EF Core updates, refer to the following Microsoft document:&amp;nbsp;&lt;a href="https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-8.0/whatsnew" target="_blank"&gt;What&amp;#39;s New in EF Core 8&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-8.0/breaking-changes" target="_blank"&gt;EF Core 8 Breaking Changes&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="https://github.com/DevExpress-Examples/XAF_Security_E4908/tree/24.1.1%2B/Benchmarks" target="_blank"&gt;Performance Benchmarks for EF Core 8 vs XPO ORM&lt;/a&gt;.&lt;/p&gt;&lt;h3&gt;Multi-Tenancy: Extend the Built-in Tenant Class with Custom Fields&lt;/h3&gt;&lt;p&gt;You can now extend the standard Tenant class&amp;nbsp;to associate additional data (for instance, module and feature license info)&amp;nbsp;with tenants stored in the application’s Host Database. Of course, you can also access custom Tenant fields in code later (from a &lt;a href="https://docs.devexpress.com/eXpressAppFramework/404667/multitenancy/multitenant-application-artchitecture?v=24.1#access-custom-tenant-fields-in-code" target="_blank"&gt;Controller&lt;/a&gt; or &lt;a href="https://docs.devexpress.com/eXpressAppFramework/404667/multitenancy/multitenant-application-artchitecture?v=24.1#from-application-builders" target="_blank"&gt;Application Builders&lt;/a&gt;). We also supported this for both EF Core and XPO ORM.&lt;/p&gt;&lt;pre&gt;&lt;code class="language-csharp"&gt;// MySolution.Module\BusinessObjects\CustomTenant.cs
// EF Core
using DevExpress.Persistent.BaseImpl.EF.MultiTenancy;

public class CustomTenant : Tenant {
    public virtual string CustomField { get; set; }
}
// MySolution.Blazor.Server/Startup.cs (MySolution.Win/Startup.cs)
builder.AddMultiTenancy()
    .WithCustomTenantType&amp;lt;CustomTenant&amp;gt;()
    //...&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/404667/multitenancy/multitenant-application-artchitecture?v=24.1#extend-the-built-in-tenant-class-with-custom-fields" target="_blank"&gt;Documentation&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="https://docs.devexpress.com/eXpressAppFramework/images/multitenancy-custom-tenants.png?v=24.1" alt="Tenants List View"&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;h3&gt;Cascade Deletion for Aggregated One-to-Many Collections in EF Core&lt;/h3&gt;&lt;p&gt;With v24.1, XAF&amp;#39;s Solution Wizard includes `&lt;em&gt;modelBuilder.SetOneToManyAssociationDeleteBehavior(DeleteBehavior.SetNull, DeleteBehavior.Cascade);&lt;/em&gt;` in the OnModelCreating method of EF Core-based apps. This code will&amp;nbsp;configure&amp;nbsp;DeleteBehavior.SetNull for non-aggregated One-to-Many associations and DeleteBehavior.Cascade for aggregated One-to-Many associations respectively. Previously, XAF&amp;#39;s Aggregated attribute was not considered by EF Core as it was for XPO ORM (and there might be exceptions in certain ListView scenarios).&lt;/p&gt;&lt;p&gt;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/402958/business-model-design-orm/business-model-design-with-entity-framework-core/relationships-between-entities-in-code-and-ui?v=24.1#one-to-many-behavior-on-delete" target="_blank"&gt;Documentation&lt;/a&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;Bypass Security Permission&amp;nbsp;Checks for Internal Business Logic&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;In addition, it is&amp;nbsp;now possible to call the new&amp;nbsp;&lt;span style="color:#2b2b2b;"&gt;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/DevExpress.Persistent.BaseImpl.EF.BaseObject.SetPropertyValueWithSecurityBypass--1(System.String---0)?v=24.1" target="_blank"&gt;SetPropertyValueWithSecurityBypass&lt;/a&gt;&lt;/span&gt;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/DevExpress.Persistent.BaseImpl.EF.BaseObject.SetPropertyValueWithSecurityBypass--1(System.String---0)?v=24.1" target="_blank"&gt;&amp;nbsp;&lt;/a&gt;method&amp;nbsp;from within your BaseObject descendants to bypass security checks for certain protected properties in your internal application logic (custom base classes are also supported).&lt;/p&gt;&lt;p&gt;This capability is especially valuable to XAF developers when you wish to set service&amp;nbsp;properties like CreatedBy, ModifiedBy, CreatedOn, UpdatedOn, etc. - our Audit Trail and Model Difference modules operate using a similar mechanism.&amp;nbsp;The&amp;nbsp;SetPropertyValueWithBypassSecurity method can freely set protected properties on behalf of a restricted/regular user in code&amp;nbsp;much like an application administrator - without having to know admin&amp;nbsp;credentials&amp;nbsp;(like impersonation for service tasks).&lt;/p&gt;&lt;pre&gt;&lt;code class="language-csharp"&gt;    ApplicationUser GetCurrentUser() {
        return ObjectSpace.GetObjectByKey&amp;lt;ApplicationUser&amp;gt;(
            ObjectSpace.ServiceProvider.GetRequiredService&amp;lt;ISecurityStrategyBase&amp;gt;().UserId);
    }

    public override void OnSaving() {
        base.OnSaving();
        if (ObjectSpace.IsNewObject(this)) {
            SetPropertyValueWithSecurityBypass(nameof(CreatedBy), GetCurrentUser());
        }
        else {
            SetPropertyValueWithSecurityBypass(nameof(UpdatedBy), GetCurrentUser());
            SetPropertyValueWithSecurityBypass(nameof(UpdatedOn), DateTime.Now);
        }
    }&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;As you probably know, this is&amp;nbsp;&lt;a href="https://supportcenter.devexpress.com/ticket/details/q359904/securitystrategycomplex-how-to-modify-objects-properties-in-code-when-the-user-does-not" target="_blank"&gt;a long-requested option&lt;/a&gt;&amp;nbsp;for many XAFers - an option that prevented full&amp;nbsp;migration from Integrated Mode to Middle Tier Security (because&amp;nbsp;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/DevExpress.EntityFrameworkCore.Security.SecuredEFCoreObjectSpaceProvider-1.CreateNonsecuredObjectSpace?p=net6" target="_blank"&gt;CreateNonsecuredObjectSpace&lt;/a&gt;&amp;nbsp;and other workarounds were inconvenient). The&amp;nbsp;SetPropertyValueWithBypassSecurity also includes certain limitations like&amp;nbsp;calling this method is only supported from inside BaseObject.OnSaving (for the best security) or the bypassed property cannot update other protected properties internally. We are of the opinion that this new option will cover 80% of popular use-cases.&lt;/p&gt;&lt;h3&gt;Enhanced Performance for Middle Tier Security for WinForms Apps&lt;/h3&gt;&lt;p&gt;XAF WinForms with Middle Tier Security will execute much faster in v24.1. Two&lt;span style="background-color:#ffffff;"&gt;&amp;nbsp;of our best engineers from the Core squad, Max and Pavel, boosted performance for both EF Core 8 and XPO ORM, as compared to v23.2 (XPO ORM results are even better - a 2.5x improvement). Folks have&amp;nbsp;not finished relevant optimizations, so we will share final numbers close to the official release in June).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color:#ffffff;"&gt;The graphs below show&amp;nbsp;the current duration of batch of performance tests and also&amp;nbsp;individual tests&amp;nbsp;in 24.1 vs v23.2 for EF Core 8.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://community.devexpress.com:443/blogs/xaf/image(66).png" alt="" style="width:450px;height:440px;border-width:1px;border-color:#c0c0c0;border-style:solid;"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://community.devexpress.com:443/blogs/xaf/image(63).png" alt="" class="small" style="border-width:1px;border-color:#c0c0c0;border-style:solid;"&gt;&lt;/p&gt;

&lt;p&gt;Along with associated performance enhancements, this was&amp;nbsp;the last step before we could enable Middle Tier Security in XAF WinForms apps in the Solution Wizard by default.&amp;nbsp;Hopefully, XAF developers will find these new capabilities&amp;nbsp;sufficient to switch to Middle Tier Security as well.&lt;/p&gt;&lt;div class="Note"&gt;Early Access and CTP builds are provided solely for early testing purposes and are not ready for production use. This build can be installed side by side with other major versions of DevExpress products. Please backup your project and other important data before installing Early Access and CTP builds. This EAP may not include all features/products we expect to ship in our v24.1&amp;nbsp;release cycle. As its name implies, the EAP offers an early preview of what we expect to ship in two months.&lt;/div&gt;&lt;h2&gt;Your Feedback Matters!&lt;/h2&gt;&lt;p&gt;We recommend that you test the new features outlined in this post within Visual Studio 2022 using our&amp;nbsp;MainDemo.NET.EFCore&amp;nbsp;or MainDemo.NET.XPO demo (from &amp;quot;&lt;strong&gt;c:\Users\Public\Documents\DevExpress Demos 24.1\Components\XAF\&lt;/strong&gt;&amp;quot;). You can also test the EAP build with your real app, but please remember that this build is not ready for production code. We hope to keep you posted about remaining features from&amp;nbsp;&lt;a href="https://community.devexpress.com/blogs/xaf/archive/2024/01/31/xaf-v24-1-june-2024-roadmap-cross-platform-net-app-ui-blazor-winforms-and-web-api-service.aspx" target="_blank"&gt;our June 2024.1 roadmap&lt;/a&gt;&amp;nbsp;as&amp;nbsp; we get closer to official release (set for June 2024).&amp;nbsp;&lt;/p&gt;&lt;p&gt;We realize alpha/beta-testing is a time-consuming process and we are grateful to those who invest time with our EAP builds.&amp;nbsp;Find the current implementation lacking flexibility? Feel we&amp;#39;ve overlooked a valuable usage scenario? Does our current implementation fail to address your business requirements?&lt;/p&gt;&lt;p&gt;Please post your thoughts&amp;nbsp;in our roadmap survey&amp;nbsp;below OR&amp;nbsp;&lt;a href="https://www.devexpress.com/ask" target="_blank"&gt;create a Support Center ticket&lt;/a&gt;. We will happily follow up and do what we can to extend the capabilities of our new products/features.&lt;/p&gt;&lt;div data-survey-id="943f13d8-d694-4a4a-ae3e-93727ec38643" data-survey-auth-required="false"&gt;&lt;/div&gt;&lt;p&gt;Thanks,&lt;br&gt;Dennis Garavsky&lt;br&gt;Principal Product Manager&lt;br&gt;&lt;a href="mailto:dennis@devexpress.com" title="Email me if you have questions or suggestions"&gt;dennis@devexpress.com&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;</description>
      <pubDate>Thu, 18 Apr 2024 13:04:00 Z</pubDate>
      <dc:creator>Dennis Garavsky (DevExpress)</dc:creator>
    </item>
    <item>
      <guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:388125</guid>
      <link>https://community.devexpress.com/Blogs/xaf/archive/2024/03/24/xaf-a-world-training-tour-by-xari-to-master-devexpress-xaf.aspx</link>
      <category domain="https://community.devexpress.com/Tags/.net+6">.net 6</category>
      <category domain="https://community.devexpress.com/Tags/.NET+8">.NET 8</category>
      <category domain="https://community.devexpress.com/Tags/.net+core">.net core</category>
      <category domain="https://community.devexpress.com/Tags/2024">2024</category>
      <category domain="https://community.devexpress.com/Tags/asp.net+Core">asp.net Core</category>
      <category domain="https://community.devexpress.com/Tags/blazor">blazor</category>
      <category domain="https://community.devexpress.com/Tags/education">education</category>
      <category domain="https://community.devexpress.com/Tags/EF+Core">EF Core</category>
      <category domain="https://community.devexpress.com/Tags/Entity+Framework">Entity Framework</category>
      <category domain="https://community.devexpress.com/Tags/security">security</category>
      <category domain="https://community.devexpress.com/Tags/training">training</category>
      <category domain="https://community.devexpress.com/Tags/v24.1">v24.1</category>
      <category domain="https://community.devexpress.com/Tags/web+api">web api</category>
      <category domain="https://community.devexpress.com/Tags/XAF">XAF</category>
      <category domain="https://community.devexpress.com/Tags/XPO">XPO</category>
      <title>XAF — World Training Tour by Xari to Master DevExpress .NET Application Framework</title>
      <description>&lt;p&gt;Good news for those of you interested in &lt;a href="https://www.devexpress.com/products/net/application_framework/" target="_blank"&gt;DevExpress XAF&lt;/a&gt; training.&lt;/p&gt;&lt;p&gt;Microsoft and DevExpress&amp;nbsp;MVPs, Jose Columbie of&amp;nbsp;&lt;a href="https://www.xari.io/our-services/#xaftraining" target="_blank"&gt;Xari.io&lt;/a&gt;&amp;nbsp;and&amp;nbsp;Joche&amp;nbsp;Ojeda of&amp;nbsp;&lt;a href="https://www.bitframeworks.com/" target="_blank"&gt;BitFrameworks.com&lt;/a&gt;&amp;nbsp;have organized a  world training tour for&amp;nbsp;DevExpress XAF (our Cross-Platform .NET App UI and Web API Service products). &lt;/p&gt;&lt;p&gt;For more information on Xari.io and their XAF training tour, visit: &lt;strong&gt;&lt;a href="https://xari.io/xaftraining/xari-xaf-training-tour/" target="_blank"&gt;https://xari.io/xaftraining/xari-xaf-training-tour/&lt;/a&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;img src="https://community.devexpress.com:443/blogs/xaf/xaf-efcore-app-builder@2x[1].png" alt=""&gt;&lt;br&gt;&lt;/p&gt;
&lt;img src="https://community.devexpress.com:443/blogs/xaf/image(51).png" data-comparer-theme="dark" data-label-before="XAF WinForms UI" data-label-after="XAF Blazor UI" data-before-src="https://community.devexpress.com/blogs/xaf/2023/MainDemo.Win_puxspk1tmk.png" data-comparer-position="80" alt="" style="width:2904px;height:1920px;border-width:1px;border-color:#c0c0c0;border-style:solid;"&gt;
&lt;div class="Note"&gt;&lt;a href="https://docs.devexpress.com/eXpressAppFramework/113577/getting-started" style="background-color:#ffff99;"&gt;Get&amp;nbsp;Started with XAF today&lt;/a&gt;&amp;nbsp;if you want to build Office-like line-of-business (LOB) apps powered by Blazor, WinForms, or WebForms much faster than using traditional approaches. Check out XAF&amp;#39;s demos in your DevExpress installation or online at&amp;nbsp;&lt;a href="https://demos.devexpress.com/xaf/blazordemo/" target="_blank"&gt;https://demos.devexpress.com/xaf/blazordemo/&lt;/a&gt;. You can learn more about&amp;nbsp;&lt;a href="https://www.devexpress.com/products/net/application_framework/" target="_blank"&gt;XAF benefits here&lt;/a&gt;,&amp;nbsp;and our&amp;nbsp;&lt;a href="https://www.devexpress.com/products/net/application_framework/xaf-considerations-for-newcomers.xml" target="_blank"&gt;Considerations for Newcomers&lt;/a&gt;&amp;nbsp;will help you understand whether this application framework is right for your business.&lt;/div&gt;

&lt;p&gt;Thanks,&lt;br&gt;Dennis Garavsky&lt;br&gt;Principal Product Manager&lt;br&gt;&lt;a title="Email me if you have questions or suggestions" href="mailto:dennis@devexpress.com?subject=Feedback%20on%20XAF%20Experience"&gt;dennis@devexpress.com&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Sun, 24 Mar 2024 17:06:00 Z</pubDate>
      <dc:creator>Dennis Garavsky (DevExpress)</dc:creator>
    </item>
  </channel>
</rss>