﻿<?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>Developer Express Inc.</title>
    <link>https://community.devexpress.com/Blogs</link>
    <description>Microsoft ASP.NET, WinForms Controls, Delphi &amp; C++ VCL Controls, Visual Studio IDE Productivity Tools &amp; Application Frameworks. WPF &amp; Reporting
Got questions? Email us: info@DevExpress.com</description>
    <language>en-US</language>
    <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;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;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:388269</guid>
      <link>https://community.devexpress.com/Blogs/markmiller/archive/2026/02/26/new-aigen-functionality-in-coderush-for-visual-studio.aspx</link>
      <category domain="https://community.devexpress.com/Tags/AI">AI</category>
      <category domain="https://community.devexpress.com/Tags/AI+Agents">AI Agents</category>
      <category domain="https://community.devexpress.com/Tags/AiGen">AiGen</category>
      <category domain="https://community.devexpress.com/Tags/Azure">Azure</category>
      <category domain="https://community.devexpress.com/Tags/CodeRush">CodeRush</category>
      <category domain="https://community.devexpress.com/Tags/CodeRush+for+Roslyn">CodeRush for Roslyn</category>
      <category domain="https://community.devexpress.com/Tags/GitHub+Copilot+Chat">GitHub Copilot Chat</category>
      <category domain="https://community.devexpress.com/Tags/IDE">IDE</category>
      <category domain="https://community.devexpress.com/Tags/productivity">productivity</category>
      <category domain="https://community.devexpress.com/Tags/Visual+Studio">Visual Studio</category>
      <category domain="https://community.devexpress.com/Tags/visual+studio+2022">visual studio 2022</category>
      <category domain="https://community.devexpress.com/Tags/Voice+Commands">Voice Commands</category>
      <title>New AiGen Functionality in CodeRush for Visual Studio</title>
      <description>&lt;p&gt;&lt;span style="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:30px;"&gt;CodeRush&amp;#39;s AiGen is Faster and Smarter for Everyday Development&lt;/span&gt;&lt;/p&gt;&lt;div&gt;AI-assisted coding tools live or die by two factors: speed and quality of the code response. If an AI response takes too long, or if it regenerates more code than necessary, developers won&amp;#39;t use it for small, focused changes.&lt;/div&gt;&lt;div&gt;With this release, CodeRush’s AiGen takes significant leaps forward on both fronts. The improvements are all about making AI genuinely fast and useful during day-to-day development -- where precision, latency, and context matter most.&lt;/div&gt;&lt;div&gt;We&amp;#39;ll cover what’s new in this release using real world examples that you can easily try yourself (clone the &lt;a href="https://github.com/MillerMark/CodeRush.AiGen.Samples" target="_blank"&gt;sample project&lt;/a&gt;).&lt;/div&gt;&lt;h2&gt;Improved Context Acquisition &amp;amp; Architectural Awareness&lt;/h2&gt;&lt;div&gt;One of the challenges for AI coding assistants is how to get sufficient&amp;nbsp;context for a correct code response, without exceeding the model&amp;#39;s context window limits. Some&amp;nbsp;AI tools&amp;nbsp;solve this by placing&amp;nbsp;the burden of specifying this additional context -- the files to include in a query -- on the user. This can get tedious when many files are involved. Simple AI tooling&amp;nbsp;might see the file you’re editing, but miss surrounding architectural relationships&amp;nbsp;-- interfaces, implementors, ancestors, descendants, helper classes, and corresponding test fixtures.&lt;/div&gt;&lt;div&gt;To meet this challenge, AiGen now starts each request with a lightweight context-acquisition pass which:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Identifies which related types matter for the request&lt;/li&gt;&lt;li&gt;&lt;div&gt;Traverses the solution hierarchy as needed&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;Optimally packs a reasonable portion of the context window with only the most relevant information&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;Sends that optimized and packed context to the reasoning model&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;The result is higher quality code -- without you having to name (or worry about missing) related types to submit to the model explicitly.&lt;/div&gt;&lt;h3&gt;Example: Consolidating Validation Logic Using the Type Hierarchy&lt;/h3&gt;&lt;div&gt;In the &lt;a href="https://github.com/MillerMark/CodeRush.AiGen.Samples" target="_blank"&gt;sample project&lt;/a&gt;, open the &lt;strong&gt;ContextAcquisition &lt;/strong&gt;folder and navigate to &lt;strong&gt;OrderValidator.cs&lt;/strong&gt;.&lt;/div&gt;&lt;img src="https://community.devexpress.com/blogs/markmiller/SolutionExplorer.c.png" alt="" style="width:235px;height:387px;"&gt;&lt;div&gt;Inside the &lt;code class="language-csharp"&gt;ValidateCore()&lt;/code&gt; method, you’ll see some validation logic.&lt;/div&gt;&lt;pre&gt;&lt;code class="language-csharp"&gt;protected override void ValidateCore(Order order, ValidationResult result) {
    if (order is null) {
        result.Add(&amp;quot;Order is required.&amp;quot;);
        return;
    }

    // TODO: Ask AiGen to consolidate this based on what we have in the base class.

    var customer = order.Customer;

    if (customer is null) {
        result.Add(&amp;quot;Customer is required.&amp;quot;);
        if (StopOnFirstError) return;
    }

    if (customer?.BillingAddress is null) {
        result.Add(&amp;quot;Billing address is required.&amp;quot;);
        if (StopOnFirstError) return;
    }

    if (string.IsNullOrWhiteSpace(customer?.BillingAddress?.CountryCode)) {
        result.Add(&amp;quot;Billing address country is required.&amp;quot;);
        if (StopOnFirstError) return;
    }

    if (string.IsNullOrWhiteSpace(order.OrderId)) {
        result.Add(&amp;quot;OrderId is required.&amp;quot;);
    }
}
&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;This logic duplicates some of the behavior already implemented in the ancestor class (&lt;code class="language-csharp"&gt;BaseValidator&amp;lt;T&amp;gt;&lt;/code&gt;&amp;nbsp;-- check out its&amp;nbsp;&lt;code class="language-csharp"&gt;RequireCustomer()&lt;/code&gt; method).&lt;/div&gt;&lt;div&gt;&lt;pre&gt;&lt;code class="language-csharp"&gt;// Shared helpers that derived validators can (and should) reuse.
protected void RequireCustomer(Customer? customer, ValidationResult result) {
    if (customer is null) {
        result.Add(&amp;quot;Customer is required.&amp;quot;);
        if (StopOnFirstError)
            return;
    }

    if (customer?.BillingAddress is null) {
        result.Add(&amp;quot;Billing address is required.&amp;quot;);
        if (StopOnFirstError)
            return;
    }

    if (string.IsNullOrWhiteSpace(customer?.BillingAddress?.CountryCode)) {
        result.Add(&amp;quot;Billing address country is required.&amp;quot;);
    }
}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;This kind of duplication can happen in systems that evolve over time.&lt;/div&gt;&lt;div&gt;Back in &lt;strong&gt;OrderValidator.cs&lt;/strong&gt;, place your caret inside the&amp;nbsp;&lt;span&gt;&lt;code class="language-csharp"&gt;ValidateCore()&lt;/code&gt;&lt;/span&gt;method,&amp;nbsp;&lt;span&gt;Rather than telling AiGen exactly how to fix it, we can talk to it the way we might speak&amp;nbsp;to a human teammate.&lt;/span&gt;&lt;/div&gt;&lt;p&gt;Invoke AiGen (&lt;strong&gt;double-tap&lt;/strong&gt; and &lt;strong&gt;hold &lt;/strong&gt;the &lt;strong&gt;right&amp;nbsp;&lt;/strong&gt;&lt;strong&gt;Ctrl &lt;/strong&gt;key if speaking or press &lt;strong&gt;Caps&lt;/strong&gt;+&lt;strong&gt;G&lt;/strong&gt;&amp;nbsp;if you prefer to type -- see &lt;a href="http://int.devexpress.com/community/blogs/markmiller/archive/2025/09/09/advanced-ai-setup-for-aigen-and-aifind-in-coderush-for-visual-studio.aspx" target="_blank"&gt;AiGen setup&lt;/a&gt; for more details). Then say something like (one of the following):&lt;/p&gt;&lt;p style="margin-left:40px;"&gt;&lt;em&gt;“Consolidate this logic with what we already have in the base class.”&lt;/em&gt;&lt;/p&gt;&lt;p style="margin-left:40px;"&gt;&lt;em&gt;“Take a look at the ancestor class and see if we can reuse any of that code here.”&lt;/em&gt;&lt;/p&gt;&lt;div&gt;Notice, the prompts are void of symbol or file names. They&amp;#39;re&amp;nbsp;just expressions of intent.&lt;/div&gt;&lt;div&gt;AiGen uses the hierarchy to discover the relevant base class, identifies the overlapping logic, and refactors the code so the shared behavior lives where it belongs -- in the base class -- while keeping &lt;code class="language-csharp"&gt;order&lt;/code&gt;-specific checks local.&lt;/div&gt;&lt;p&gt;After applying this change, the AiGen Navigator will appear. You can click the &amp;quot;&lt;strong&gt;Show Difference&amp;nbsp;View&lt;/strong&gt;&amp;quot; button to see the &lt;strong&gt;before &lt;/strong&gt;and &lt;strong&gt;after &lt;/strong&gt;for the changes applied to this method:&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;img src="https://community.devexpress.com/blogs/markmiller/CodeConsolidation.png" alt=""&gt;”&lt;/em&gt;&lt;/p&gt;&lt;p&gt;Here, AiGen  consolidates the duplicated validation logic into a single call to &lt;code&gt;RequireCustomer()&lt;/code&gt;, while maintaining the existing &lt;code&gt;StopOnFirstError&lt;/code&gt;&amp;nbsp;behavior.&lt;/p&gt;&lt;div&gt;The AiGen navigator&amp;#39;s status bar shows total in/out token counts for &lt;span&gt;both&amp;nbsp;&lt;/span&gt;the initial context pass (&amp;quot;&lt;strong&gt;Ctx in/out&lt;/strong&gt;&amp;quot;), and the main reasoning model (&amp;quot;&lt;strong&gt;Reasoning in/out&lt;/strong&gt;&amp;quot;). &lt;strong&gt;Output token&amp;nbsp;counts &lt;/strong&gt;are &lt;strong&gt;low&lt;/strong&gt;, as they should be (only &lt;strong&gt;67 &lt;/strong&gt;&lt;strong&gt;output tokens&lt;/strong&gt;&amp;nbsp;were used by the reasoning model to produce the minimal, targeted change shown&amp;nbsp;in the screenshot). Output tokens typically cost &lt;strong&gt;four&amp;nbsp;times more&lt;/strong&gt; than input tokens, so we want to keep the output token count low, The status bar also shows estimated cost (about 3 cents) and how long it took from request to &lt;strong&gt;integrated response &lt;/strong&gt;(&lt;strong&gt;2.5 seconds&lt;/strong&gt;, in this example). If you&amp;#39;re interested to see how CodeRush stacks up against competing AI tooling solutions,&amp;nbsp;&lt;span&gt;note the AiGen completion time in the status bar,&amp;nbsp;&lt;/span&gt;undo this last change and try the same prompt on the same code in any other competing AI coding assistance tool.&lt;/div&gt;&lt;h2&gt;Speed Where It Matters: Fine-grained Deltas&lt;/h2&gt;&lt;div&gt;Most AI coding assistants treat every change the same way: they regenerate large chunks of code, even when only a few lines actually need to change. This approach can break down quickly in real projects -- especially when methods are large and the requested change is small. With most AI tooling it just doesn&amp;#39;t make sense to ask AI for &lt;strong&gt;small changes &lt;/strong&gt;when you&amp;#39;ll have to wait for an entire method or even a type to be regenerated.&lt;/div&gt;&lt;div&gt;CodeRush&amp;#39;s AiGen takes a different approach.&lt;/div&gt;&lt;div&gt;Instead of regenerating entire members, AI works to&amp;nbsp;produce&amp;nbsp;only the &lt;strong&gt;smallest&amp;nbsp;deltas&amp;nbsp;&lt;/strong&gt;to support fast surgical code&amp;nbsp;&lt;span&gt;integrations&amp;nbsp;without manual copy/paste&lt;/span&gt;.&lt;/div&gt;&lt;div&gt;This impacts:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Speed — generating fewer output tokens (to support the fine grained delta)&amp;nbsp;is faster than regenerating all the code that doesn&amp;#39;t change.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Cost — output tokens are significantly more expensive than input tokens.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Precision — small, focused changes reduce churn and unintended side effects.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;h3&gt;Example: Small Business Rule Change Inside a Large Method&lt;/h3&gt;&lt;div&gt;&lt;span&gt;In the&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/MillerMark/CodeRush.AiGen.Samples" target="_blank"&gt;sample project&lt;/a&gt;&lt;span&gt;, open the&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;FineGrainedDeltas&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;folder and navigate to&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;OrderTaxCalculator&lt;/span&gt;.cs&lt;/strong&gt;&lt;span&gt;. Notice t&lt;/span&gt;he &lt;code class="language-csharp"&gt;ComputeTaxes()&lt;/code&gt;&amp;nbsp;method is non-trivial and could&amp;nbsp;resemble real production code, with multiple early exits, counters, and guard clauses.&lt;/div&gt;&lt;div&gt;Inside the main loop, you’ll see a &lt;strong&gt;TODO &lt;/strong&gt;describing a business rule:&lt;/div&gt;&lt;pre&gt;&lt;code class="language-csharp"&gt;// TODO: Apply the customer&amp;#39;s discount tax policy when calculating taxableBase.&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This is a subtle rule change. We don’t want to rewrite the method -- we just want to adjust how the taxable base is calculated under specific conditions.&lt;/p&gt;&lt;div&gt;Let&amp;#39;s delete the TODO comment and invoke AiGen. You can &lt;strong&gt;double-tap&lt;/strong&gt; the &lt;strong&gt;right Ctrl &lt;/strong&gt;key and keep it &lt;strong&gt;held down &lt;/strong&gt;while using a natural, descriptive prompt such as:&lt;/div&gt;&lt;p style="margin-left:40px;"&gt;&lt;em&gt;&lt;span&gt;“&lt;em style="color:#1f2328;"&gt;Let&amp;#39;s incorporate the customer discount policy.&lt;/em&gt;&lt;/span&gt;&lt;/em&gt;&lt;br&gt;&lt;/p&gt;&lt;p dir="auto" style="color:#1f2328;"&gt;AiGen should:&lt;/p&gt;&lt;ul style="color:#1f2328;"&gt;&lt;li&gt;Change only the minimal code region required&lt;/li&gt;&lt;li&gt;Leave the rest of the method untouched&lt;/li&gt;&lt;li&gt;Apply the update directly in the editor (no manual copy/paste)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Turning this:&lt;/p&gt;&lt;pre&gt;&lt;code class="language-csharp"&gt;decimal taxableBase = order.Subtotal - order.DiscountAmount;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;into something like this:&lt;/p&gt;&lt;pre&gt;&lt;code class="language-csharp"&gt;decimal taxableBase = customer.DiscountPolicy switch {
    Customer.Discounts.ReduceTaxableBase =&amp;gt; order.Subtotal - order.DiscountAmount,
    Customer.Discounts.FullyTaxable =&amp;gt; order.Subtotal,
    _ =&amp;gt; order.Subtotal - order.DiscountAmount
};&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;p dir="auto" style="color:#1f2328;"&gt;Note both the size of the method and how little code AiGen needs to generate to apply the change.&lt;/p&gt;&lt;p dir="auto" style="color:#1f2328;"&gt;The prompt doesn’t require exact symbol names or structured references — we describe intent, and AiGen resolves the implementation from surrounding context.&lt;/p&gt;&lt;p dir="auto" style="color:#1f2328;"&gt;This example demonstrates fine-grained deltas in practice: smaller outputs, lower token usage, reduced latency, and a more immediate turnaround — especially when working inside large methods.&lt;/p&gt;&lt;p dir="auto" style="color:#1f2328;"&gt;After AiGen applies the change, you can find evidence of the smaller delta in two places:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;AiGen Navigator status bar: Check the Reasoning out token count and the elapsed time (114 output tokens and 3.2 seconds, respectively, in the screenshot below). Fine-grained deltas yield small output token counts — typically far smaller than the count required to regenerate an entire method.image&lt;br&gt;&lt;img src="https://community.devexpress.com/blogs/markmiller/AiGen_SurgicalEdits1%20.png" alt="" style="width:713px;height:284px;"&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;Editor selection: Selecting a change in the AiGen Navigator (e.g., &amp;quot;∆ selection&amp;quot;) highlights the inserted/modified region, making the delta boundary immediately visible. In the screenshot below, the selection represents the small portion of the method that was regenerated. The rest of the method was untouched by AI.&lt;br&gt;&lt;img src="https://community.devexpress.com/blogs/markmiller/AiGen_SurgicalEdits2%20.png" alt="" style="width:513px;height:797px;"&gt;&lt;br&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;This is why AiGen feels fast even when working inside large blocks of code: you’re not overpaying (in time or tokens) for code that isn’t changing.&lt;/div&gt;&lt;p&gt;What&amp;#39;s also exciting about these optimized deltas, you are free to &lt;strong&gt;edit &lt;/strong&gt;(or apply tooling to)  &lt;strong&gt;surrounding code &lt;/strong&gt;while waiting for AI to return.&lt;/p&gt;&lt;p&gt;Which brings us to our next topic....&lt;/p&gt;&lt;h2&gt;Working While AI Is Running: In-Flight Changes &amp;amp; Conflict Navigation&lt;/h2&gt;&lt;div&gt;One of the most frustrating aspects of modern AI-assisted coding tools is that they&amp;nbsp;repeatedly block&amp;nbsp;your flow. You ask for help, then you wait -- hands off the keyboard -- until the response finally returns.&lt;/div&gt;&lt;div&gt;AiGen removes that bottleneck.&lt;/div&gt;&lt;div&gt;When AiGen&amp;nbsp;requests are launched, you’re free to continue coding. You can edit the same file, move elsewhere in the solution, or even launch additional coding agents.&amp;nbsp; AiGen anchors each request&amp;nbsp;to the code state at launch and safely validates those changes on return.&lt;/div&gt;&lt;div&gt;When changes are non-overlapping -- as they can be in intentional multi-agent workflows -- AiGen applies the results cleanly and without interruption.&amp;nbsp;&lt;/div&gt;&lt;div&gt;For example, you can ask AiGen to modify one part of a C# method while you continue working in another part of the same method.&lt;/div&gt;&lt;div&gt;	If in-flight edits overlap with part&amp;nbsp;of a reasoning response&amp;#39;s intended changes, AiGen withholds&amp;nbsp;only the conflicting change and surfaces both the reason and the change it was prepared to apply. We&amp;#39;ll see an example of this in a moment.&lt;/div&gt;&lt;h3&gt;Scenario A: Non-Conflicting Changes -- AI + Human&lt;/h3&gt;&lt;div&gt;&lt;span&gt;Navigate to&amp;nbsp;&lt;/span&gt;the &lt;strong&gt;InFlightEdits &lt;/strong&gt;folder and open&amp;nbsp;&lt;strong&gt;&lt;span&gt;OrderSubmissionService.cs&lt;/span&gt;&lt;/strong&gt;. The &lt;code class="language-csharp"&gt;Submit()&lt;/code&gt;&amp;nbsp;method contains several failure points&lt;span&gt;&amp;nbsp;--&amp;nbsp;&lt;/span&gt;exactly the kind of code where you might want better diagnostics. To prepare for this simultaneous edit demo, first, copy the following text to the clipboard:&lt;/div&gt;&lt;p&gt;&amp;gt;&amp;nbsp;&lt;span&gt;Logs any failures.&lt;/span&gt;&lt;/p&gt;&lt;div&gt;Next, place the caret anywhere inside the &lt;code&gt;Submit()&lt;/code&gt;&lt;span&gt;&amp;nbsp;method&amp;nbsp;&lt;/span&gt;and invoke AiGen with a request like:&lt;/div&gt;&lt;div style="margin-left:40px;"&gt;&lt;em&gt;“Add logging around failures in this method.”&lt;/em&gt;&lt;/div&gt;&lt;div&gt;While the AI request is running, move the caret to the XML documentation comment and paste the text from the clipboard to the end of the XML doc comment. The goal is to make this change before the AI response lands (if AI is faster, you can undo and try again -- you typically have 2-5&amp;nbsp;seconds to make the change while this logging request is in-flight).&lt;/div&gt;&lt;img src="https://community.devexpress.com/blogs/markmiller/LoggingAroundFailures.png" alt="" style="width:1013px;height:263px;"&gt;&lt;div&gt;When the AI response lands, you’ll see:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;The logging changes are applied correctly.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Your manual documentation edit is preserved.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;No manual merging is required.&lt;/li&gt;&lt;/ul&gt;&lt;img src="https://community.devexpress.com/blogs/markmiller/ManualEditsPlusAiChanges.png" alt="" style="width:912px;height:315px;"&gt;&lt;div&gt;AiGen doesn’t lock the editor or assume code is frozen while it works. It assumes you’re still working --&amp;nbsp;because you are.&lt;/div&gt;&lt;h3&gt;&lt;span&gt;Scenario B: Parallel,&amp;nbsp;Non-Conflicting Changes -- Multiple AI Agents&lt;/span&gt;&lt;br&gt;&lt;/h3&gt;&lt;div&gt;Let&amp;#39;s undo our recent changes and restore&amp;nbsp;&lt;strong&gt;OrderSubmissionService.cs&lt;/strong&gt; to its original cloned state.&lt;/div&gt;&lt;div&gt;For this next scenario, we&amp;#39;ll launch &lt;strong&gt;two AI agents&amp;nbsp;&lt;/strong&gt;&lt;strong&gt;simultaneously &lt;/strong&gt;to work on the same method&lt;span&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;The first agent will add &lt;strong&gt;logging &lt;/strong&gt;(like we just did in the last scenario), and the second agent will add &lt;strong&gt;telemetry &lt;/strong&gt;so we can track orders (using the &lt;code class="language-csharp"&gt;TrackOperationAttribute&lt;/code&gt;&amp;nbsp;declared in the &lt;strong&gt;Shared &lt;/strong&gt;folder).&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;Start by opening&amp;nbsp;&lt;/span&gt;&lt;strong&gt;TrackOperationAttribute.cs&lt;/strong&gt;&amp;nbsp;from the &lt;strong&gt;Shared&amp;nbsp;&lt;/strong&gt;&lt;span&gt;folder&amp;nbsp;&lt;/span&gt;and examining&amp;nbsp;the class. This is the custom attribute we&amp;#39;ll use for telemetry. Note that it includes properties for:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Name&lt;/strong&gt;&amp;nbsp;--&amp;nbsp;describes whatever we&amp;#39;re tracking &lt;/li&gt;&lt;li&gt;&lt;strong&gt;Category&lt;/strong&gt; -- groups related telemetry events&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Next, switch back to &lt;strong&gt;OrderSubmissionService.cs&lt;/strong&gt;&amp;nbsp;and place the caret in the&amp;nbsp;&lt;code class="language-csharp"&gt;Submit()&lt;/code&gt; method. The next two steps should be performed&amp;nbsp;back to back.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Launch the first agent with:&amp;nbsp;&lt;em&gt;“Add logging around failures in this method.”&lt;/em&gt;&lt;/li&gt;&lt;li&gt;Launch the second agent with: &lt;em&gt;&amp;quot;&lt;em style="color:#59636e;"&gt;Add the track operation attribute. Category is orders.&lt;/em&gt;&amp;quot;&lt;/em&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span style="color:#1f2328;"&gt;The goal here is to start up a second agent while the first is still inflight. If the first AI response lands before you can launch the second, perform an undo (close the AiGen Navigator) and then copy the second prompt to the clipboard. Then after launching the first agent by voice, invoke the second agent with&amp;nbsp;&lt;/span&gt;&lt;strong style="font-weight:600;color:#1f2328;"&gt;Caps&lt;/strong&gt;&lt;span style="color:#1f2328;"&gt;+&lt;/span&gt;&lt;strong style="font-weight:600;color:#1f2328;"&gt;G&lt;/strong&gt;&lt;span style="color:#1f2328;"&gt;&amp;nbsp;(plus a paste).&lt;/span&gt;&lt;/p&gt;&lt;img src="https://community.devexpress.com/blogs/markmiller/AddTelemetry.png" alt="" style="width:537px;height:217px;"&gt;&lt;p&gt;When multiple AI responses land, the AiGen Navigator shows multiple landings using &lt;strong&gt;tabs&lt;/strong&gt;. In the screenshot below, notice the agents landed in &lt;strong&gt;reverse order &lt;/strong&gt;from take-off, with the tracking attribute finishing first.&lt;/p&gt;&lt;p&gt;&lt;img src="https://community.devexpress.com/blogs/markmiller/FailureLoggingLandedLast.png" alt="" style="width:759px;height:505px;"&gt;&lt;/p&gt;&lt;p&gt;Notice AiGen correctly discovered the &lt;code class="language-csharp"&gt;TrackOperationAttribute&lt;/code&gt;&amp;nbsp;from the&amp;nbsp;&lt;strong&gt;Shared &lt;/strong&gt;folder and added it with appropriate values for both &lt;strong&gt;Name &lt;/strong&gt;and &lt;strong&gt;Category&lt;/strong&gt;. Also note the orange arrow in the screenshot above -- it points to the second AI landing (&amp;quot;Failure logging&amp;quot; in this example -- your tabs may have different tab titles and agents may complete in a different order than they were launched). &lt;/p&gt;&lt;p&gt;AiGen Navigator tabs may display one or more of the following icons:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span&gt;⭐&amp;nbsp;&lt;/span&gt;Star -- the landing has not yet been viewed (typically a recent result).&lt;/li&gt;&lt;li&gt;&lt;span&gt;✔️&amp;nbsp;&lt;/span&gt;Check -- all changes were successfully integrated (no conflicts)&lt;/li&gt;&lt;li&gt;&lt;span&gt;❗&amp;nbsp;&lt;/span&gt;Exclamation --&amp;nbsp;one or more conflicts occurred on landing &lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Notice that:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;One agent modifies the **method body** (logging)&lt;/li&gt;&lt;li&gt;The other modifies the **method metadata** (the attribute)&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Because these changes target **different structural regions**, both land successfully without conflict.&lt;/div&gt;&lt;div&gt;Skilled developers can safely run multiple AI agents in parallel when:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;The requested changes **do not overlap**, and&lt;/li&gt;&lt;li&gt;Each agent’s task can be completed **independently** of the others.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;strong&gt;Note&lt;/strong&gt;:&amp;nbsp;When multiple in-flight AI agents complete their changes, undo follows &lt;strong&gt;landing order&lt;/strong&gt;, not launch order — the most recently applied change is undone first. This mirrors standard Visual Studio editor behavior and keeps AI changes fully integrated into the undo stack.&lt;/div&gt;&lt;ul&gt;&lt;/ul&gt;&lt;h3&gt;Scenario C: Conflicting Changes&lt;/h3&gt;&lt;div&gt;Now let’s look at what happens &lt;strong&gt;when a conflict does occur&lt;/strong&gt;.&lt;/div&gt;&lt;div&gt;Start by undoing the previous edits to restore &lt;code class="language-csharp"&gt;OrderSubmissionService.Submit()&lt;/code&gt;to its original state.&lt;/div&gt;&lt;div&gt;&lt;strong&gt;Note:&lt;/strong&gt; When multiple in-flight AI agents complete&amp;nbsp;their changes, undo follows &lt;strong&gt;landing order&lt;/strong&gt;, not launch order -- the &lt;strong&gt;most recently &lt;/strong&gt;&lt;strong&gt;applied change &lt;/strong&gt;is undone first. This mirrors normal Visual Studio editor behavior and keeps AI changes fully integrated into the standard undo stack.&lt;br&gt;&lt;/div&gt;&lt;div&gt;Next, we&amp;#39;ll launch the same AI request as before:&lt;/div&gt;&lt;div style="margin-left:40px;"&gt;&lt;em&gt;“Add logging around failures in this method.”&lt;/em&gt;&lt;/div&gt;&lt;div&gt;While the request is in flight, make a &lt;strong&gt;meaningful overlapping change&lt;/strong&gt; to one of the failure points.&amp;nbsp;For example, replace a &lt;code class="language-csharp"&gt;throw&lt;/code&gt;&amp;nbsp;with an early &lt;code class="language-csharp"&gt;return null;&lt;/code&gt;.&lt;/div&gt;&lt;div&gt;When the reasoning response lands, AiGen detects that &lt;strong&gt;one of the targeted code blocks has changed &lt;/strong&gt;since the request was launched. Rather than guessing or overwriting your work, AiGen&lt;strong&gt;&amp;nbsp;blocks &lt;/strong&gt;&lt;strong&gt;only &lt;/strong&gt;&lt;strong&gt;the conflicting integration&lt;/strong&gt;&amp;nbsp;while allowing all non-conflicting changes to apply normally.&lt;/div&gt;&lt;div&gt;In the screenshot below, notice that logging was successfully added around every remaining throw statement (the five &amp;quot;selection&amp;quot; entries marked with only the delta symbol). Only the single failure point we modified in our example was held back.&lt;/div&gt;&lt;img src="https://community.devexpress.com/blogs/markmiller/CombinedCode.png" alt="" style="width:1182px;height:651px;"&gt;&lt;div&gt;For the blocked change, AiGen shows:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;The original code as it existed when the request was launched&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;The current code at apply time&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;The reasoning model&amp;#39;s attempted replacement&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;This makes the conflict &lt;span&gt;&lt;strong&gt;isolated,&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;explicit, and safe to reason about&lt;/strong&gt;. You can clearly see:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;which change was blocked,&lt;/li&gt;&lt;li&gt;why it was blocked, and&lt;/li&gt;&lt;li&gt;exactly what AiGen was prepared to do.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Because AiGen typically produces **fine-grained deltas**, conflicts are isolated to the smallest possible change. A single overlapping edit does not invalidate the rest of the AI response — only the affected update is held back, while all other safe modifications are integrated.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;The conflict report for the blocked delta shows the original code at request time and the current code at apply time, as well as the attempted replacement. You might see something like this:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;p style="margin-left:40px;"&gt;&lt;strong&gt;The change for this member was skipped because the target code changed inflight.&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="margin-left:40px;"&gt;&lt;strong&gt;Original code at request time:&lt;/strong&gt;&lt;/div&gt;&lt;pre style="margin-left:40px;"&gt;&lt;code class="language-csharp"&gt;if (order.Customer is null)
  throw new InvalidOperationException(&amp;quot;Customer is required.&amp;quot;);
&lt;/code&gt;&lt;/pre&gt;&lt;div style="margin-left:40px;"&gt;&lt;strong&gt;Current code at apply time:&lt;/strong&gt;&lt;/div&gt;&lt;div style="margin-left:40px;"&gt;&lt;pre&gt;&lt;code class="language-csharp"&gt;if (order.Customer is null)
  return null;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div style="margin-left:40px;"&gt;&lt;strong&gt;Attempted replacement:&lt;/strong&gt;&lt;/div&gt;&lt;div style="margin-left:40px;"&gt;&lt;pre&gt;&lt;code class="language-csharp"&gt;if (order.Customer is null) {
  Console.Error.WriteLine($&amp;quot;[{nameof(OrderSubmissionService)}] Order submission failed: {nameof(order.Customer)} is required. OrderId=&amp;#39;{order.OrderId ?? &amp;quot;&amp;lt;null&amp;gt;&amp;quot;}&amp;#39;.&amp;quot;);
  throw new InvalidOperationException(&amp;quot;Customer is required.&amp;quot;);«Caret»
}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div style="margin-left:40px;"&gt;&lt;strong&gt;Original and current code blocks must match on landing.&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;This section demonstrates how AiGen behaves when the code changes while AI requests are in flight — including parallel agents and isolated conflicts.&lt;/div&gt;&lt;p&gt;Everything else proceeds as expected -- no rollback, no guesswork, and no silent overwrites.&lt;/p&gt;&lt;h2&gt;Runtime State to Tests: Debug-Time Object Reconstruction&lt;/h2&gt;&lt;div&gt;So far, all of the examples have focused on static code&lt;span&gt;&amp;nbsp;--&amp;nbsp;&lt;/span&gt;types, methods, and edits driven by what’s visible in the editor. The next capability goes a step further by incorporating runtime state.&lt;/div&gt;&lt;div&gt;When you invoke AiGen while stopped at a breakpoint, it can now inspect the &lt;strong&gt;live debug-time values &lt;/strong&gt;in scope and include them (if appropriate) as part of the request. That allows the reasoning model to also work from actual execution data, not just source code.&lt;/div&gt;&lt;div&gt;This is especially powerful when the issue you’re investigating only becomes obvious at runtime.&lt;/div&gt;&lt;h3&gt;Example: Turning a Debug-Time Bug into a Targeted Test&lt;/h3&gt;&lt;div&gt;From the &lt;span&gt;&lt;strong&gt;DebugRuntimeState&lt;/strong&gt; folder o&lt;/span&gt;pen &lt;strong&gt;OrderAddressFormatter.cs&lt;/strong&gt;. The &lt;code class="language-csharp"&gt;BuildShippingLabel()&lt;/code&gt;&amp;nbsp;method formats a shipping label from customer and address data.&lt;/div&gt;&lt;div&gt;Place a &lt;strong&gt;breakpoint &lt;/strong&gt;on the &lt;strong&gt;final line&lt;/strong&gt; of this method and run the program. When execution stops, inspect the values inside&amp;nbsp;the Visual Studio debugging environment. In this scenario, you’ll notice that:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;code class="language-csharp"&gt;Region&lt;/code&gt;&amp;nbsp;is empty or whitespace&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;The computed label (which includes &lt;code class="language-csharp"&gt;cityRegionPostal&lt;/code&gt;) contains a dangling comma and extra spaces&lt;/li&gt;&lt;/ul&gt;&lt;img src="https://community.devexpress.com/blogs/markmiller/ExtraSpacesDanglingComma.png" alt="" style="width:314px;height:91px;"&gt;&lt;div&gt;The bug is subtle and data-dependent. You could fix it immediately&lt;span&gt;&amp;nbsp;--&amp;nbsp;&lt;/span&gt;but it’s a good idea to capture the behavior in a test first, so it doesn’t regress.&lt;/div&gt;&lt;div&gt;While &lt;span&gt;still&amp;nbsp;&lt;/span&gt;stopped at the breakpoint (with the caret inside the &lt;code&gt;BuildShippingLabel()&lt;/code&gt;&lt;span&gt;&amp;nbsp;method)&lt;/span&gt;, invoke AiGen and say:&lt;/div&gt;&lt;div style="margin-left:40px;"&gt;&lt;em&gt;“Create a test case for this method based on these debug-time parameter values.&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;Add asserts to make sure the label has no double spaces and no dangling comma when the region is blank.”&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#1f2328;"&gt;While waiting for the response, you might want to drill into the&amp;nbsp;&lt;/span&gt;&lt;code style="color:#1f2328;"&gt;order&lt;/code&gt;&lt;span style="color:#1f2328;"&gt;&amp;nbsp;parameter. It has a&amp;nbsp;&lt;/span&gt;&lt;code style="color:#1f2328;"&gt;Customer&lt;/code&gt;&lt;span style="color:#1f2328;"&gt;&amp;nbsp;property that in turn holds the&amp;nbsp;&lt;/span&gt;&lt;code style="color:#1f2328;"&gt;BillingAddress&lt;/code&gt;&lt;span style="color:#1f2328;"&gt;&amp;nbsp;with the empty region that led to this bug.&lt;/span&gt;&lt;/div&gt;&lt;img src="https://community.devexpress.com/blogs/markmiller/ExploreOrder.png" alt="" style="width:618px;height:183px;"&gt;&lt;div&gt;AiGen will:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Reconstruct the runtime object graph for the&amp;nbsp;&lt;code class="language-csharp"&gt;order&lt;/code&gt; parameter using live debug-time values&lt;/li&gt;&lt;li&gt;Locate the appropriate&amp;nbsp;&lt;code&gt;OrderAddressFormatterTests&lt;/code&gt;&amp;nbsp;fixture&lt;/li&gt;&lt;li&gt;Generate a new xUnit test that reproduces the observed state and behavior&lt;/li&gt;&lt;li&gt;Add targeted assertions that detect the formatting defectUnderstand the object graph in scope (including nested properties/objects)&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;/ul&gt;&lt;div&gt;&lt;span style="color:#1f2328;"&gt;You should get a test case like this (note the object graph reconstruction at the top, which recreates the somewhat sophisticated debug-time state that exposed the bug):&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;code class="language-csharp"&gt;    [Fact]
    public void BuildShippingLabel_RegionBlank_NoDoubleSpaces_AndNoDanglingComma() {
        // Arrange (debug-time values)
        var address = new Address {
            City = &amp;quot;Seattle&amp;quot;,
            Region = &amp;quot; &amp;quot;, // blank/whitespace
            PostalCode = &amp;quot;98101&amp;quot;,
            CountryCode = &amp;quot;US&amp;quot;,
            Line1 = &amp;quot;123 Example St&amp;quot;
        };
        var customer = new Customer { DisplayName = &amp;quot;Ada Lovelace&amp;quot;, BillingAddress = address, Id = &amp;quot;C-42&amp;quot; };
        var order = new Order {
            Customer = customer,
            DiscountAmount = 10m,
            Subtotal = 120m,
            OrderId = &amp;quot;DBG-1001&amp;quot;,
            TaxAmount = 0m
        };

        var formatter = new OrderAddressFormatter();

        // Act
        string label = formatter.BuildShippingLabel(order);

        // Assert
        Assert.DoesNotContain(&amp;quot;  &amp;quot;, label);       // no double spaces anywhere
        Assert.DoesNotContain(&amp;quot;, &amp;quot;, label);       // no dangling comma + space
        Assert.DoesNotMatch(@&amp;quot;,\s*(—|$)&amp;quot;, label); // no comma before em-dash or end
        Assert.DoesNotMatch(@&amp;quot;,\s+\d&amp;quot;, label);    // no comma followed by spaces then digits (e.g., &amp;quot;,  98101&amp;quot;)
        Assert.Contains(&amp;quot;Seattle&amp;quot;, label);
        Assert.Contains(&amp;quot;98101&amp;quot;, label);
    }&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;p dir="auto" style="color:#1f2328;"&gt;This workflow makes it practical to capture real-world edge cases in the moment they are discovered. Instead of manually attempting to duplicate observed state, you can promote live runtime data directly into a durable, repeatable test.&lt;/p&gt;&lt;/div&gt;&lt;img src="https://community.devexpress.com/blogs/markmiller/AddRegressionTest.png" alt="" style="width:639px;height:200px;"&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#1f2328;"&gt;After creating the new test case, you can stop debugging and run the test case&amp;nbsp;if you like (it should fail since the issue we discovered in the sample code hasn&amp;#39;t been fixed yet).&lt;/span&gt;&lt;/div&gt;&lt;div&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;Why This Matter&lt;/span&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;s&lt;/span&gt;&lt;/div&gt;&lt;div&gt;This capability closes a familiar gap in debugging workflows. Developers often discover bugs while stepping through code, but translating those live-data observations into tests is tedious and error-prone.&lt;/div&gt;&lt;div&gt;By grounding test generation in captured debug-time values, AiGen makes it practical to:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Easily capture real-world edge cases&lt;/li&gt;&lt;li&gt;Generate focused, high-signal tests&lt;/li&gt;&lt;li&gt;Preserve the conditions that exposed the issue&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;It’s a natural extension of pair programming: you identify the problem while debugging, and AiGen helps you lock it down with a test before you move on.&lt;/div&gt;&lt;h2&gt;Large-Scale Architectural Changes: Evolving Interfaces Across Many Implementations&lt;/h2&gt;&lt;div&gt;So far, we’ve focused on fast, fine-grained edits — the kind that make AI practical for everyday work. But AiGen is not limited to small changes. It can also perform broad, cross-cutting architectural updates that span multiple files, types, and layers of a solution.&lt;/div&gt;&lt;div&gt;This next example demonstrates AiGen’s ability to generate &lt;strong&gt;new types &lt;/strong&gt;in &lt;strong&gt;bulk &lt;/strong&gt;and then &lt;strong&gt;evolve &lt;/strong&gt;an &lt;strong&gt;interface contract &lt;/strong&gt;across all of its implementers.&lt;/div&gt;&lt;h3&gt;Example: Generating and Evolving Order Rules&lt;/h3&gt;&lt;div&gt;In the &lt;a href="https://github.com/MillerMark/CodeRush.AiGen.Samples" target="_blank"&gt;sample project&lt;/a&gt;, open the &lt;strong&gt;ArchitecturalEdits&lt;/strong&gt; folder and navigate to &lt;strong&gt;IOrderRule.cs&lt;/strong&gt;. You’ll see a minimal interface:&lt;/div&gt;&lt;pre&gt;&lt;code class="language-csharp"&gt;namespace CodeRush.AiGen.Main.ArchitecturalEdits;

public interface IOrderRule {
    RuleResult Apply(Order order);
}&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;Place your caret inside the interface and invoke AiGen with the following prompt:&lt;/div&gt;&lt;div style="margin-left:40px;"&gt;&lt;em&gt;“I need ten non-trivial implementers of this interface. Put them in the rules namespace.”&lt;/em&gt;&lt;/div&gt;&lt;div&gt;Unlike previous demos, this request generates multiple new classes, each implementing distinct business logic. Because the reasoning model is synthesizing several non-trivial implementations, this step may take longer than the earlier examples.&lt;/div&gt;&lt;div&gt;When the request completes, AiGen creates a new &lt;strong&gt;Rules&lt;/strong&gt; namespace containing ten concrete implementations of &lt;code class="language-csharp"&gt;IOrderRule&lt;/code&gt; — each reflecting realistic order-processing concerns such as fraud detection, pricing validation, eligibility checks, and fulfillment constraints.&lt;/div&gt;&lt;img src="https://community.devexpress.com/blogs/markmiller/RulesFolder_1.png" alt="" style="width:453px;height:383px;"&gt;&lt;div&gt;This demonstrates AiGen’s ability to:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Generate multiple production-quality types in a single request&lt;/li&gt;&lt;li&gt;Maintain a shared contract across many implementations&lt;/li&gt;&lt;li&gt;Respect namespace organization and solution structure&lt;/li&gt;&lt;li&gt;Coordinate multi-file changes across a codebase&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Evolving the Contract Across the Hierarchy&lt;/h3&gt;&lt;div&gt;Now return to &lt;strong&gt;IOrderRule.cs&lt;/strong&gt; and invoke AiGen again with:&lt;/div&gt;&lt;div style="margin-left:40px;"&gt;&lt;em&gt;“Add two properties — name and description — and update all implementers.”&lt;/em&gt;&lt;/div&gt;&lt;div&gt;AiGen updates the interface to include the new properties, then propagates those changes across all existing rule implementations — ensuring each class remains compliant with the updated contract.&lt;/div&gt;&lt;div&gt;Because this step modifies existing code rather than generating new types, it typically completes much faster than the bulk-creation step.&lt;/div&gt;&lt;div&gt;Together, these prompts demonstrate AiGen’s ability to perform:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Large-scale architectural refactorings&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Contract evolution across many implementers&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Coordinated multi-file updates&lt;/strong&gt; without manual intervention&lt;/li&gt;&lt;li&gt;&lt;strong&gt;High-level structural changes&lt;/strong&gt;&amp;nbsp;(in addition to surgical edits)&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Earlier examples highlighted AiGen’s speed and precision for small changes. This scenario shows the other side of the system — the ability to reshape architecture across an entire subsystem when needed.&lt;/div&gt;&lt;h2&gt;Fixing Code Using Active Compiler Errors&lt;/h2&gt;&lt;p&gt;Until now, we’ve focused on how AiGen understands source code, hierarchy, and runtime state. But AiGen can also reason over&amp;nbsp;&lt;strong&gt;active compiler errors&lt;/strong&gt;&amp;nbsp;— both at the caret and across the Visual Studio Errors list.&lt;/p&gt;&lt;p&gt;This allows you to resolve broken code using short, natural prompts, without needing to restate what the error is or why it occurred.&lt;/p&gt;&lt;h3&gt;Example: Fixing a Real Compiler Error with “Fix this”&lt;/h3&gt;&lt;div&gt;In the sample project, open the&amp;nbsp;&lt;strong&gt;ActiveErrorAnalysis&amp;nbsp;&lt;/strong&gt;folder and navigate to&amp;nbsp;&lt;strong&gt;OrderQueryService.cs&lt;/strong&gt;.&lt;/div&gt;&lt;div&gt;At the top of the file, you’ll see a demo toggle:&lt;/div&gt;&lt;div&gt;&lt;pre&gt;&lt;code class="language-csharp"&gt;// Demo toggle:
// TODO: Uncomment the line below to intentionally introduce a compiler error on the `where` clause, below.
//#define DEMO_ACTIVE_ERRORS&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;Now place your caret on the&amp;nbsp;&lt;code&gt;Where()&lt;/code&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;call in the broken LINQ query and invoke AiGen. Simply say:&lt;/div&gt;&lt;div style="margin-left:40px;"&gt;&lt;em&gt;“Fix this.”&lt;/em&gt;&lt;/div&gt;&lt;div&gt;There’s no need to explain the problem. AiGen inspects the active compiler diagnostics, analyzes the surrounding code, and determines the appropriate fix.&lt;/div&gt;&lt;div&gt;Here is a typical AiGen response to this error and surrounding code:&lt;/div&gt;&lt;div&gt;&lt;pre&gt;&lt;code class="language-csharp"&gt;public async Task&amp;lt;int&amp;gt; GetHighValueOrderCountAsync(decimal minSubtotal) {
  var orders = await GetOrdersAsync().ConfigureAwait(false);
  return orders.Count(o =&amp;gt; o.Subtotal &amp;gt;= minSubtotal);
}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;The fix is driven by real compiler feedback, not by a manually described problem.&lt;/div&gt;&lt;div&gt;This demonstrates AiGen’s ability to:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Read live compiler diagnostics from the editor&lt;/li&gt;&lt;li&gt;Infer intent from the actual error, not just the source text&lt;/li&gt;&lt;li&gt;Generate a non-trivial corrective refactor with a minimal prompt&lt;/li&gt;&lt;li&gt;Resolve failures without requiring developers to restate what the compiler already knows&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;In practice, this makes AI useful not just for writing new code — but for repairing broken code quickly and contextually.&lt;/div&gt;&lt;h2&gt;What This Update Unlocks&lt;/h2&gt;&lt;div&gt;Taken together, these examples illustrate a shift in how AI assistance fits into everyday development.&lt;/div&gt;&lt;div&gt;AI Assistance is no longer something you reach for only when you’re willing to pause, wait, and review a large block of regenerated code. With faster/smarter context acquisition, fine-grained deltas, conservative integration, and awareness of both code &lt;em&gt;and &lt;/em&gt;runtime state, it also becomes practical to use AI for small, precise tasks -- the kind that make up most real work.&lt;/div&gt;&lt;div&gt;In practice, this means:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;You can ask for &lt;strong&gt;surgically precise changes&lt;/strong&gt; inside large methods without paying or waiting for redundant regeneration.&lt;/li&gt;&lt;li&gt;You can continue working while AI requests are in-flight, or even launch &lt;strong&gt;multiple agents in parallel &lt;/strong&gt;when tasks impact&amp;nbsp;&lt;span&gt;non-overlapping areas of code&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Individual conflicts &lt;/strong&gt;-- caused by overlapping edits while AI requests are in-flight --&amp;nbsp;are &lt;strong&gt;isolated and surfaced&lt;/strong&gt; in the UI, rather than forcing all-or-nothing outcomes.&lt;/li&gt;&lt;li&gt;Debug-time state observations can be turned into &lt;strong&gt;targeted tests&lt;/strong&gt;, grounded in real execution data.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;None of this requires verbose prompts, detailed instructions, or explicitly naming symbols or files. AiGen is designed to infer intent from context&lt;span&gt;&amp;nbsp;--&amp;nbsp;&lt;/span&gt;types, hierarchy, editor state, and runtime values -- so you can speak naturally and stay in flow.&lt;/div&gt;&lt;div&gt;If you’re an existing &lt;a href="https://www.devexpress.com/products/coderush/" target="_blank"&gt;CodeRush&lt;/a&gt; user, these capabilities are available now in the latest release. If you’re new to CodeRush (it&amp;#39;s free on the &lt;a href="https://marketplace.visualstudio.com/items?itemName=DevExpress.CodeRushforVS2022" target="_blank"&gt;Visual Studio Marketplace&lt;/a&gt;), the &lt;a href="https://github.com/MillerMark/CodeRush.AiGen.Samples" target="_blank"&gt;sample project&lt;/a&gt; referenced in this post is a good place to start exploring how AiGen behaves in real scenarios.&lt;/div&gt;&lt;div&gt;AI tooling works best when it’s fast, precise, and respectful of the code you already have. This release is about moving closer to that ideal&lt;span&gt;&amp;nbsp;--&amp;nbsp;&lt;/span&gt;so AI becomes something you use routinely, not something you have to plan around.&lt;/div&gt;&lt;h3&gt;Limitations&lt;/h3&gt;&lt;p&gt;AiGen is optimized to work fast in&amp;nbsp;C# files and XAML.&amp;nbsp;However,&amp;nbsp;as&amp;nbsp;with any tooling involving AI models,&amp;nbsp;AiGen has some limitations:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;AiGen can generate&amp;nbsp;&lt;strong&gt;&lt;em&gt;new files&amp;nbsp;&lt;/em&gt;in any programming language&amp;nbsp;&lt;/strong&gt;and add them to the active project, but it&amp;nbsp;&lt;strong&gt;can only&amp;nbsp;&lt;em&gt;modify&lt;/em&gt;&lt;/strong&gt;&lt;strong&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;C# and XAML&lt;/strong&gt;&amp;nbsp;files.&lt;/li&gt;&lt;li&gt;&lt;span&gt;​&lt;/span&gt;Multi-agent support and editing while AI is in-flight is currently available in C# only,&amp;nbsp;For&amp;nbsp;XAML,&amp;nbsp;wait for the&amp;nbsp;AI response&amp;nbsp;to land before making changes&amp;nbsp;to the same XAML file.&lt;/li&gt;&lt;li&gt;Blazor support is pending&lt;/li&gt;&lt;li&gt;There are some reasonable depth limitations on reconstructing debug-time object graphs and on traversing class hierarchies for the context window.&lt;/li&gt;&lt;li&gt;AiGen cannot delete files or remove files from the project.&lt;/li&gt;&lt;li&gt;Aside from adding new files and installing NuGet packages, AiGen cannot modify the project file or the solution file (so there&amp;#39;s currently no way to create or add new projects or add/modify project properties).&lt;/li&gt;&lt;li&gt;AiGen is not a chat window based tool, and there is no history/memory of previous actions. Context is derived entirely from your prompt, the editor view, surrounding code, the solution source, debug values, etc..&lt;/li&gt;&lt;li&gt;There are the usual limitations and disclaimers on the power of AI itself. Sometimes AI &amp;quot;hallucinates&amp;quot; (this is especially true when generating code based on frameworks that have changed or&amp;nbsp;where API evolution has introduced breaking changes over time). Also, it is possible to have a request so complex AI has difficulty implementing it correctly.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</description>
      <pubDate>Thu, 26 Feb 2026 08:00:00 Z</pubDate>
      <dc:creator>Mark Miller (DevExpress)</dc:creator>
    </item>
    <item>
      <guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:388280</guid>
      <link>https://community.devexpress.com/Blogs/javascript/archive/2026/02/25/devextreme-roadmap-v26-1.aspx</link>
      <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/Angular">Angular</category>
      <category domain="https://community.devexpress.com/Tags/ASP.NET+Core">ASP.NET Core</category>
      <category domain="https://community.devexpress.com/Tags/DevExtreme">DevExtreme</category>
      <category domain="https://community.devexpress.com/Tags/JavaScript">JavaScript</category>
      <category domain="https://community.devexpress.com/Tags/jQuery">jQuery</category>
      <category domain="https://community.devexpress.com/Tags/React">React</category>
      <category domain="https://community.devexpress.com/Tags/Roadmap">Roadmap</category>
      <category domain="https://community.devexpress.com/Tags/Survey">Survey</category>
      <category domain="https://community.devexpress.com/Tags/v26.1">v26.1</category>
      <category domain="https://community.devexpress.com/Tags/Vue">Vue</category>
      <title>DevExtreme — June 2026 Roadmap (v26.1 - Angular, React, Vue, jQuery &amp; ASP.NET Core)</title>
      <description>&lt;p&gt;In this blog post, we&amp;#39;ll review the major features we expect to ship in our mid-year release (v26.1 - June 2026). These features apply to both DevExtreme JavaScript components (Angular, React, Vue, jQuery) and DevExtreme-based ASP.NET MVC/Core controls. To help us fine tune our release plans, please respond to the survey questions embedded within this post to share feedback. Alternatively, submit a support ticket via the &lt;a href="https://supportcenter.devexpress.com/ticket/create" target="_blank"&gt;DevExpress Support Center&lt;/a&gt;. We will be happy to follow up. &lt;/p&gt;
&lt;img src="https://community.devexpress.com/blogs/javascript/2026.1%20Roadmap/Roadmap.png" alt="DevExtreme v26.1 Roadmap" style="width:960px;height:500px;"&gt;
&lt;div class="Note"&gt;The information contained within this Roadmap 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;h3&gt;Roadmap Updates &lt;/h3&gt;
&lt;p&gt;This roadmap will be regularly updated to reflect development progress. As we get closer to the release, we expect to add more items and modify the status of planned features. Look for the following labels next to each feature: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p class="tags"&gt;&lt;span class="not-started"&gt;Planned&lt;/span&gt; - Feature is scheduled but not yet in development. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p class="tags"&gt;&lt;span class="development"&gt;In Development&lt;/span&gt; - Under active development. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p class="tags"&gt;&lt;span class="completed"&gt;Released in Beta v26.1&lt;/span&gt; - Will be available in our v26.1 beta release. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p class="tags"&gt;&lt;span class="completed"&gt;Released in v26.1&lt;/span&gt; - Fully implemented and available in v26.1. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;a name="grids-ai-assistant"&gt;&lt;/a&gt;
&lt;h2&gt;DataGrid &amp;amp; TreeList — AI Assistant&lt;/h2&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;All Platforms&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="not-started"&gt;Planned&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;With our v26.1 release, we will extend the AI-powered capabilities of both the DevExtreme &lt;a href="https://js.devexpress.com/Documentation/Guide/UI_Components/DataGrid/Overview/" target="_blank"&gt;DataGrid&lt;/a&gt; and &lt;a href="https://js.devexpress.com/Documentation/Guide/UI_Components/TreeList/Overview/" target="_blank"&gt;TreeList&lt;/a&gt;. We plan to introduce a DevExtreme Chat-based AI assistant that will allow you to use natural language to interact with DataGrid/TreeList. The DataGrid/TreeList AI assistant will be able to complete the following actions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sort, filter, search, and group data.&lt;/li&gt;
&lt;li&gt;Resize, reorder, fix/unfix, and show/hide columns.&lt;/li&gt;
&lt;li&gt;Change pagination settings.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In our last release (v&lt;strong&gt;25.2&lt;/strong&gt;), we introduced a standalone &lt;a href="https://www.devexpress.com/subscriptions/whats-new/#js-speechtotext" target="_blank"&gt;Speech To Text&lt;/a&gt; &lt;strong&gt;component&lt;/strong&gt;. By incorporating this component into our Chat component (planned for 26.1), you will be able to add Speech to Text to your next DevExtreme-powered AI Assistant as well. This will eliminate the need for manual configuration and improve accessibility when working with DataGrid/TreeList (by offering an additional interface when interacting with UI elements).&lt;/p&gt;
&lt;img src="https://community.devexpress.com/blogs/javascript/2026.1%20Roadmap/DataGrid-and-TreeList%20%E2%80%93%20AI%20Assistant@2x.png" style="width:780px;height:572px;" alt="DevExtreme DataGrid with the expected AI Assistant interface enabled. It is a Popup window on top of the grid that allows you to type in custom requests regarding grid&amp;#39;s data."&gt;
&lt;p&gt;This feature is particularly well suited for the following usage scenarios:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Large Datasets&lt;/strong&gt;: Use the power of AI to browse large data sets. Apply complex filter values with natural language.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Complex Grid Configurations&lt;/strong&gt;: Allow users to specify complex display preferences quickly. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Accessibility-first Applications&lt;/strong&gt;: Allow users to interact with your application in a manner that is most appropriate for each specific situation: while at their desk, or on the go (when their hands are busy and they require voice commands to interact with your app). &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Replicable Configurations&lt;/strong&gt;: Apply the same prompt to recreate complex grid configurations across sessions. Reduce time spent on tedious layout adjustments.&lt;/li&gt;
&lt;/ul&gt;
&lt;a name="grids-validation-message"&gt;&lt;/a&gt;
&lt;h2&gt;DataGrid &amp;amp; TreeList — Persistent Validation Messages in Editors&lt;/h2&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;All Platforms&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="not-started"&gt;Planned&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;We expect to introduce new APIs that will allow validation messages to remain visible even when data editors lose focus (similar to the &lt;a href="https://js.devexpress.com/Documentation/ApiReference/UI_Components/dxTextBox/Configuration/#validationMessageMode" target="_blank"&gt;validationMessageMode=&amp;#39;always&amp;#39;&lt;/a&gt; in components such as our &lt;a href="https://js.devexpress.com/Documentation/Guide/UI_Components/TextBox/Overview/" target="_blank"&gt;TextBox&lt;/a&gt;). These APIs will apply to all available editing modes. &lt;/p&gt;
&lt;h2&gt;Chat Enhancements&lt;/h2&gt;
&lt;a name="chat-stt"&gt;&lt;/a&gt;
&lt;h3&gt;Speech To Text&lt;/h3&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;All Platforms&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="development"&gt;In Development&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;We expect to integrate our new &lt;a href="https://js.devexpress.com/Documentation/Guide/UI_Components/SpeechToText/Overview/" target="_blank"&gt;SpeechToText&lt;/a&gt; component into our &lt;a href="https://js.devexpress.com/Documentation/Guide/UI_Components/Chat/Overview/" target="_blank"&gt;Chat&lt;/a&gt; component&amp;#39;s input area for faster, hands-free communication.&lt;/p&gt;
&lt;img src="https://community.devexpress.com/blogs/javascript/2026.1%20Roadmap/Chat%20-%20Speech%20to%20text@2x.png" alt="DevExtreme Chat will display a &amp;quot;Start Dictation&amp;quot; button in its input field." style="width:780px;height:363px;"&gt;
&lt;a name="chat-streaming"&gt;&lt;/a&gt;
&lt;h3&gt;Message Streaming&lt;/h3&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;All Platforms&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="not-started"&gt;Planned&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;We expect to add support for message streaming within DevExtreme Chat. The Chat component will be able display responses progressively as data arrives rather than after the request is fully completed. This feature will improve perceived performance and the overall user experience for DevExtreme-powered AI assistants, chatbots, and long-running operations, making conversations feel more dynamic and responsive.&lt;/p&gt;
&lt;a name="chat-tool-calling"&gt;&lt;/a&gt;
&lt;h3&gt;Tool Call Visualization&lt;/h3&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;All Platforms&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="not-started"&gt;Planned&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;We will introduce the ability to display AI tool/function calls in the message body. Such tools/functions can be declared locally within the app or available via MCP servers.&lt;/p&gt;

&lt;p&gt;This visualization will increase clarity and transparency. Chat users will be able to see which tools were used, their order, and parameters alongside AI response.&lt;/p&gt;&lt;img src="https://community.devexpress.com/blogs/javascript/2026.1%20Roadmap/Chat%20-%20Tool%20Calling@2x.png" alt="Chat - Tool Calling" style="width:790px;height:782px;"&gt;
&lt;h2&gt;Scheduler Enhancements&lt;/h2&gt;
&lt;a name="scheduler-snap-modes"&gt;&lt;/a&gt;
&lt;h3&gt;Appointment Snap Modes&lt;/h3&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;All Platforms&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="development"&gt;In Development&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;DevExtreme &lt;a href="https://js.devexpress.com/Documentation/Guide/UI_Components/Scheduler/Overview/" target="_blank"&gt;Scheduler&lt;/a&gt; will include a new appointment snap mechanism. The following modes will be available: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;always&lt;/strong&gt; - an appointment always stretches to cell borders.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;auto&lt;/strong&gt; - an appointment is stretched to cell border only if the distance from the cell border to the edge of an appointment is less than half of the cell width.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;never&lt;/strong&gt; - appointments are proportional to their duration.&lt;/li&gt;
&lt;/ul&gt;
&lt;img src="https://community.devexpress.com/blogs/javascript/2026.1%20Roadmap/Scheduler%20-%20SnapToCellsMode@2x.png" alt="DevExtreme Scheduler Ui displaying 3 mentioned snap modes." style="width:780px;height:759px;"&gt;
&lt;a name="scheduler-time-overlapping"&gt;&lt;/a&gt;
&lt;h3&gt;Handle Appointment Time Overlapping&lt;/h3&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;All Platforms&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="development"&gt;In Development&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;Managing appointment overlapping will be easier with our next release. We will add public APIs to obtain an array of appointments for a specific range. You will be able to implement the following scenarios using these APIs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Prevent Time Conflicts&lt;/strong&gt;: Notify users about a scheduling conflict. Restrict adding, editing, or moving appointments if the selected time slot is already occupied.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Suggest Available Time Slots&lt;/strong&gt;: Automatically suggest the nearest available time when a selected slot is unavailable.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Handle Recurring Appointment Conflicts&lt;/strong&gt;: Detect and manage conflicts for individual occurrences within recurring appointments.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Execute Overlap Rules&lt;/strong&gt;: Apply different overlap rules depending on the appointment category.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enforce Buffer Time Between Appointments&lt;/strong&gt;: Require a configurable gap before and after appointments to avoid tight scheduling.&lt;/li&gt;
&lt;/ul&gt;
&lt;a name="scheduler-hide-days"&gt;&lt;/a&gt;
&lt;h3&gt;Hide Specific Days &lt;/h3&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;All Platforms&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="not-started"&gt;Planned&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;You will be able to hide specific days in week and month views, for example, weekends or custom day sets.&lt;/p&gt;&lt;img src="https://community.devexpress.com/blogs/javascript/2026.1%20Roadmap/Scheduler%20-%20Hide%20day@2x.png" alt="Scheduler - Hide days" style="width:780px;height:551px;"&gt;

&lt;h2&gt;UI/UX and API Enhancements&lt;/h2&gt;
&lt;a name="treeview-disabled-node-selection"&gt;&lt;/a&gt;
&lt;h3&gt;TreeView — Prevent Selection for Disabled Nodes&lt;/h3&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;All Platforms&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="development"&gt;In Development&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;With v26.1, you will be able to prevent &lt;a href="https://js.devexpress.com/Documentation/ApiReference/UI_Components/dxTreeView/Configuration/#selectNodesRecursive" target="_blank"&gt;recursive selection&lt;/a&gt; state changes for &lt;a href="https://js.devexpress.com/Documentation/ApiReference/UI_Components/dxTreeView/Node/#disabled" target="_blank"&gt;disabled TreeView nodes&lt;/a&gt;.&lt;/p&gt;&lt;img src="https://community.devexpress.com/blogs/javascript/2026.1%20Roadmap/TreeView%20-%20Provide%20a%20way%20to%20control%20ability%20to%20select%20nodes@2x.png" alt="TreeView - Provide a way to control ability to select nodes (disable nodes selection)" style="width:788px;height:546px;"&gt;

&lt;p&gt;We will also add the ability to expand/collapse disabled parent nodes.&lt;/p&gt;
&lt;a name="date-formats"&gt;&lt;/a&gt;
&lt;h3&gt;Application-Wide Date Formats&lt;/h3&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;All Platforms&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="not-started"&gt;Planned&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;We will introduce new APIs designed to specify a single date format for all DevExtreme components within your application.&lt;/p&gt;
&lt;a name="globalization-locales"&gt;&lt;/a&gt;
&lt;h3&gt;Globalization — Separate Text and Date/Number Locales&lt;/h3&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;All Platforms&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="not-started"&gt;Planned&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;In v26.1, you will be able to specify different locales for application text values and dates/numbers. You will be able to change languages without affecting date/number formatting and vice-versa.&lt;/p&gt;
&lt;a name="accessibility"&gt;&lt;/a&gt;
&lt;h2&gt;Accessibility&lt;/h2&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;All Platforms&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="development"&gt;In Development&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;We expect to improve accessibility for the following DevExtreme UI components: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://js.devexpress.com/Documentation/Guide/UI_Components/DataGrid/Overview/" target="_blank"&gt;DataGrid&lt;/a&gt;/&lt;a href="https://js.devexpress.com/Documentation/Guide/UI_Components/TreeList/Overview/" target="_blank"&gt;TreeList&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://js.devexpress.com/Documentation/Guide/UI_Components/Scheduler/Overview/" target="_blank"&gt;Scheduler&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://js.devexpress.com/Documentation/Guide/UI_Components/Form/Overview/" target="_blank"&gt;Form&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://js.devexpress.com/Documentation/Guide/UI_Components/Popup/Overview/" target="_blank"&gt;Popup&lt;/a&gt; / &lt;a href="https://js.devexpress.com/Documentation/Guide/UI_Components/Popover/Overview/" target="_blank"&gt;Popover&lt;/a&gt; / &lt;a href="https://js.devexpress.com/Documentation/Guide/UI_Components/Tooltip/Overview/" target="_blank"&gt;Tooltip&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://js.devexpress.com/Documentation/Guide/UI_Components/RadioGroup/Overview/" target="_blank"&gt;RadioGroup&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We will also improve color schema in our Material themes to comply with accessibility contrast requirements.&lt;/p&gt;&lt;p&gt;&lt;span&gt;Additionally, in v26.1, we expect to introduce screen reader support for&amp;nbsp;&lt;/span&gt;&lt;a href="https://www.devexpress.com/aspnetcore/rich-text-editor/" target="_blank"&gt;Rich Text Editor for ASP.NET Core&lt;/a&gt;.&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Our long-term goal is to address all limitations identified in our DevExtreme &lt;a href="https://www.devexpress.com/products/net/accessibility.xml#devexpress-accessible-ui" target="_blank"&gt;Accessibility Conformance Reports&lt;/a&gt; (ACRs).&lt;/p&gt;
&lt;a name="migration-away-from-common-js"&gt;&lt;/a&gt;
&lt;h2&gt;Migration Away from CommonJS&lt;/h2&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;All Platforms&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="not-started"&gt;Planned&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;As part of our ongoing modernization efforts, we will eliminate use of CommonJS. We plan to remove all CommonJS modules and imports in DevExtreme packages and source code. This change will optimize DevExtreme package size.&lt;/p&gt;
&lt;p&gt;Please share your thoughts on this transition in the survey below. Your feedback will help us identify potential migration challenges and make the transition as smooth as possible.&lt;/p&gt;
&lt;a name="survey-common-js"&gt;&lt;/a&gt;
&lt;div data-survey-id="fa04a453-b6a8-499a-91df-eb8c52aa8991" data-survey-auth-required="false"&gt;&lt;/div&gt;
&lt;a name="angular-22"&gt;&lt;/a&gt;
&lt;h2&gt;Angular 22&lt;/h2&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;Angular&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="not-started"&gt;Planned&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;The release of Angular 22 is &lt;a href="https://angular.dev/reference/releases" target="_blank"&gt;planned&lt;/a&gt; for May 2026. As part of our commitment to same-day support for new versions, DevExtreme v26.1 will offer full compatibility once Angular 22 is available.&lt;/p&gt;
&lt;p&gt;According to Angular&amp;#39;s &lt;a href="https://angular.dev/reference/releases#actively-supported-versions" target="_blank"&gt;official support schedule&lt;/a&gt;, Angular 19 will reach end-of-support in May 2026. With v26.1, we will also update our minimum supported Angular version to 20.&lt;/p&gt;
&lt;a name="net"&gt;&lt;/a&gt;
&lt;h2&gt;ASP.NET Core&lt;/h2&gt;
&lt;h3&gt;UI Template Kit Update&lt;/h3&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;ASP.NET Core&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="development"&gt;In Development&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href="https://docs.devexpress.com/AspNetCore/405322/devextreme-based-controls/get-started/project-template-kit" target="_blank"&gt;DevExpress UI Template Kit&lt;/a&gt; includes application templates for ASP.NET Core. The templates help you start new projects quickly (templates address predefined application usage scenarios, which you can tailor to meet specific business requirements).&lt;/p&gt;
&lt;p&gt;In our upcoming v26.1 release, ASP.NET Core application templates will be more flexible, with a built-in navigation area and a set of pre-configured views (with controls such as DataGrid).&lt;/p&gt;
&lt;a name="survey"&gt;&lt;/a&gt;
&lt;h2&gt;Your Feedback Matters&lt;/h2&gt;
&lt;div data-survey-id="2f17b67a-b8ef-4882-9c4c-470a6dffaa71" data-survey-auth-required="false"&gt;&lt;/div&gt;</description>
      <pubDate>Wed, 25 Feb 2026 00:38:00 Z</pubDate>
      <dc:creator>Svetlana Troitskaya (DevExpress)</dc:creator>
      <dx:excerpt>In this blog post, we’ll review the major features we expect to ship in our mid-year release (v26.1 – June 2026). These features apply to both DevExtreme JavaScript components (Angular, React, Vue, jQuery) and DevExtreme-based ASP.NET MVC/Core controls. To help us fine tune our release plans, please respond to the survey questions embedded within this post to share feedback</dx:excerpt>
    </item>
    <item>
      <guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:388278</guid>
      <link>https://community.devexpress.com/Blogs/aspnet/archive/2026/02/24/blazor-june-2026-roadmap-v26-1.aspx</link>
      <category domain="https://community.devexpress.com/Tags/2026">2026</category>
      <category domain="https://community.devexpress.com/Tags/Blazor">Blazor</category>
      <category domain="https://community.devexpress.com/Tags/Featured">Featured</category>
      <category domain="https://community.devexpress.com/Tags/Roadmap">Roadmap</category>
      <category domain="https://community.devexpress.com/Tags/Survey">Survey</category>
      <category domain="https://community.devexpress.com/Tags/v26.1">v26.1</category>
      <title>Blazor — June 2026 Roadmap (v26.1)</title>
      <description>&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 blog post and the features/products listed within it are subject to change. You should not rely or use this information to help make a purchase decision about Developer Express Inc products.&lt;/div&gt;
&lt;h2 id="blazor-2026-strategy"&gt;Blazor 2026 Strategy&lt;/h2&gt;
&lt;p&gt;As you will see below, we expect to continue extending the capabilities of individual components — but we also want to invest in larger initiatives that span multiple release cycles.&lt;/p&gt;
&lt;p&gt;Many of these initiatives require foundational work (architecture, styling infrastructure, interaction layers, and design-system alignment) before we can commit to a specific release or prepare a complete feature list. Some of this work will not be delivered in the first half of the year (including v26.1).&lt;/p&gt;
&lt;p&gt;Even with our evolving objectives, we want to be transparent about what we are focusing on, why some details are not available yet, and what direction we hope to move toward over time.&lt;/p&gt;
&lt;h3 id="styling-and-layout-foundations"&gt;Styling and Layout Foundations&lt;/h3&gt;
&lt;p&gt;We want DevExpress Blazor components to address more UI needs out of the box, so you can build cohesive layouts with minimal custom CSS.&lt;/p&gt;
&lt;p&gt;Historically, many apps relied on Bootstrap utility classes and layout patterns as the primary styling foundation. Bootstrap is still available, but it does not match modern theme requirements (for instance, misses runtime-configurable accent colors).&lt;/p&gt;
&lt;p&gt;Our direction is to create theme-aware styling alternatives so you do not need to recreate these fundamentals yourself. We are exploring:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;DevExpress CSS helper classes for common spacing/layout patterns.&lt;/li&gt;
&lt;li&gt;Lightweight &amp;quot;primitive&amp;quot; components for element composition (for instance, Card, Badge, Avatar).&lt;/li&gt;
&lt;/ul&gt;
&lt;img src="https://community.devexpress.com/blogs/aspnet/26.1/Roadmap/Styling%20and%20Layout%20Foundations%20-%20first%20image%20(2x).png" alt="Styling and Layout Foundations (part 1)"&gt;
&lt;p&gt;We also plan to reduce the amount of fine-tuning needed for complex layouts (alignment, consistent spacing, border/background treatments), especially when size mode can change at runtime. Our goal is to improve visual defaults and introduce new layout-focused settings. These settings will allow you to implement common layouts using component APIs, theme-aware patterns, and helper classes mentioned above.&lt;/p&gt;
&lt;p&gt;Finally, we’ll build demos and project templates that recreate popular app layouts without custom styling.&lt;/p&gt;
&lt;img src="https://community.devexpress.com/blogs/aspnet/26.1/Roadmap/Styling%20and%20Layout%20Foundations%20-%20second%20image%20(2x).png" alt="Styling and Layout Foundations (part 2)"&gt;
&lt;h3 id="classic-theme-deprecation"&gt;Classic Theme Deprecation&lt;/h3&gt;
&lt;p&gt;Blazing Berry, Office White, Purple, Blazing Dark, and Bootstrap-based themes use an old architecture, are hard to maintain, and do not support new styling capabilities (accent colors, public CSS variables, and our UI Kit). We want to focus our efforts on new styling architecture and gradually move away from classic themes. &lt;/p&gt;
&lt;p&gt;We plan to make this transition carefully. Before we deprecate any classic theme, we will prepare viable alternatives, publish clear migration guidance, and give you enough time to move at your own pace.&lt;/p&gt;
&lt;h3 id="new-themes"&gt;New Themes&lt;/h3&gt;
&lt;p&gt;We want to expand our modern theme lineup (starting with Fluent) and evolve our styling infrastructure. Theme directions that we are currently considering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Material — a frequent request, and a good fit for teams building hybrid solutions that mix UI stacks (including DevExtreme).&lt;/li&gt;
&lt;li&gt;A classic-inspired modern theme — a longer-term option for customers who prefer a look closer to our classic themes.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you have strong preferences on one or the other, we would like to hear your thoughts (please submit a support ticket via the DevExpress Support Center at anytime).&lt;/p&gt;
&lt;h3 id="icon-library"&gt;Icon Library&lt;/h3&gt;
&lt;p&gt;We plan to make our DevExpress Icon Library available to Blazor developers and expand it with new icons. We also expect to introduce a new API that will simplify icon usage for built-in/custom icons, across multiple themes and size modes.&lt;/p&gt;
&lt;h3 id="rtl-support"&gt;RTL Support&lt;/h3&gt;
&lt;p&gt;Right-to-left (RTL) support is an important direction for us and for many of you. We are researching RTL requirements across our Blazor component suite and do preliminary work so components behave more consistently in RTL&amp;nbsp; mode (layout, alignment, and interaction patterns).&lt;/p&gt;
&lt;p&gt;We do not expect RTL support to be available in v26.1, but we will work on it throughout this year.&lt;/p&gt;
&lt;h3 id="performance"&gt;Performance&lt;/h3&gt;
&lt;p&gt;We made significant performance improvements in 2025, and still performance remains an ongoing investment area. We plan to continue researching and testing optimizations across our Blazor component suite. Our focus areas include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Memory throughput and performance under a large number of concurrent sessions.&lt;/li&gt;
&lt;li&gt;Reducing Blazor logical and visual tree size.&lt;/li&gt;
&lt;li&gt;Reducing the number of WebSocket messages per interaction.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Once new optimizations are ready, we will add more info to this roadmap.&lt;/p&gt;
&lt;h3 id="security"&gt;Security&lt;/h3&gt;
&lt;p&gt;Security is a core requirement for our components. We already use secure development practices, including automated security scans/reviews. We plan to continue strengthening this process, conducting even more&amp;nbsp;penetration tests, and publish a software bill of materials (SBOM) for DevExpress Blazor.&lt;/p&gt;
&lt;h3 id="accessibility"&gt;Accessibility&lt;/h3&gt;
&lt;p&gt;Accessibility is another key focus area for us. We will&amp;nbsp;continue delivering fixes and improvements across DevExpress Blazor components (keyboard navigation, semantics/ARIA, and visual states).&lt;/p&gt;
&lt;h2 id="share-feedback-on-the-strategy"&gt;Share Feedback on the Strategy&lt;/h2&gt;
&lt;p&gt;We’d like your feedback on these strategic directions before we lock in detailed plans:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Which directions are most important for you in 2026?&lt;/li&gt;
&lt;li&gt;Are we missing any strategic areas?&lt;/li&gt;
&lt;li&gt;Do you have concerns about tradeoffs (for example, themes vs. component features)?&lt;/li&gt;
&lt;li&gt;Any general comments on the strategy or where we should focus first?&lt;/li&gt;
&lt;/ul&gt;
&lt;div data-survey-id="ef59a25a-5f58-4794-90bf-053a4e303c72" data-survey-auth-required="false"&gt;&lt;/div&gt;
&lt;h2 id="product-plans"&gt;Product Plans&lt;/h2&gt;
&lt;p&gt;Our mid-year&amp;nbsp;Blazor roadmap will be updated regularly to reflect development progress. As we get closer to the release, we expect to add additional&amp;nbsp;items and modify the status of planned features. Look for the following labels next to every feature:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;p class="tags"&gt;&lt;span class="not-started"&gt;Planned&lt;/span&gt; — Feature is scheduled but not yet in development.&lt;/p&gt;&lt;/li&gt;
    &lt;li&gt;&lt;p class="tags"&gt;&lt;span class="development"&gt;In Development&lt;/span&gt; — Under active development.&lt;/p&gt;&lt;/li&gt;
    &lt;li&gt;&lt;p class="tags"&gt;&lt;span class="completed"&gt;Coming in EAP v26.1&lt;/span&gt; — Will be available in our first v26.1 early access preview.&lt;/p&gt;&lt;/li&gt;
    &lt;li&gt;&lt;p class="tags"&gt;&lt;span class="completed"&gt;Coming in v26.1&lt;/span&gt; — Will be included in the final v26.1 release.&lt;/p&gt;&lt;/li&gt;
    &lt;li&gt;&lt;p class="tags"&gt;&lt;span class="completed"&gt;Released in v26.1&lt;/span&gt; — Fully implemented and available.&lt;/p&gt;&lt;/li&gt;    
&lt;/ul&gt;
&lt;h3 id="accessibility-enhancements"&gt;Accessibility Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Improvements and fixes for our Blazor Data Editors&lt;/li&gt;
&lt;li&gt;Screen reader support for the Blazor Rich Text Editor&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="blazor-smart-paste"&gt;Blazor Smart Paste&lt;/h3&gt;
&lt;p class="tags"&gt;&lt;span class="not-started"&gt;Planned&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;We expect to add AI-powered Smart Paste functionality in v26.1.&lt;/p&gt;
&lt;p&gt;Smart Paste will analyze clipboard content and populate each form field with relevant data (to transform traditional copy-and-paste operations).&lt;/p&gt;
&lt;img src="https://www.devexpress.com/subscriptions/i/25.2/25-2-js-form-smart-paste@2x.gif" alt="New Built-in Command Column Action Buttons"&gt;
&lt;h3 id="blazor-grid-treelist"&gt;Blazor Grid &amp;amp; TreeList&lt;/h3&gt;
&lt;h4 id="focus-cells"&gt;Focus Cells&lt;/h4&gt;
&lt;p class="tags"&gt;&lt;span class="not-started"&gt;Planned&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;DevExpress Blazor Grid and TreeList components will support focused cell highlighting. While these components already display focus borders during keyboard navigation, this feature adds a new highlight layer for the active cell (both when users navigate with the keyboard or select a cell with the mouse).&lt;/p&gt;
&lt;p&gt;We will also introduce APIs to identify the focused cell, move focus to a specific cell, and react to focused cell changes.&lt;/p&gt;
&lt;h4 id="total-number-of-records-in-pager"&gt;Total Number of Records in Pager&lt;/h4&gt;
&lt;p class="tags"&gt;&lt;span class="not-started"&gt;Planned&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;DevExpress Blazor Grid and TreeList components will display the total number of records in the Pager to improve data navigation clarity.&lt;/p&gt;
&lt;img src="https://community.devexpress.com/blogs/aspnet/26.1/Roadmap/Grid%20-%20Total%20Number%20of%20Records%20in%20Pager%20(2x).png" alt="Grid - Total Number of Records in Pager"&gt;
&lt;h4 id="built-in-toolbar-items"&gt;Built-in Toolbar Items&lt;/h4&gt;
&lt;p class="tags"&gt;&lt;span class="not-started"&gt;Planned&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;We expect to add built-in toolbar items to the DevExpress Blazor Grid and TreeList components. Built-in items will include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Column Chooser&lt;/li&gt;
&lt;li&gt;Export Buttons (CSV, PDF, XLS, and XLSX)&lt;/li&gt;
&lt;li&gt;Search Box&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="built-in-criteria-selector-menu"&gt;Filter Row — Built-in criteria selector menu&lt;/h4&gt;
&lt;p class="tags"&gt;&lt;span class="not-started"&gt;Planned&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;We hope to introduce a Criteria Selector Menu for our Blazor Grid and TreeList Filter Row. This menu allows users to select filter conditions directly within the row editor and apply them to the entered value. &lt;/p&gt;
&lt;img src="https://community.devexpress.com/blogs/aspnet/26.1/Roadmap/Grid%20-%20Built-in%20criteria%20selector%20menu%20(2x).png" alt="Grid - Built-in criteria selector menu"&gt;
&lt;h4 id="bind-filter-on-input-option"&gt;Filter Row — Bind Filter On Input Option&lt;/h4&gt;
&lt;p class="tags"&gt;&lt;span class="not-started"&gt;Planned&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Filter Row Data Editors will support on‑input data binding mode. In this mode, DevExpress Blazor Grid and TreeList components apply filters as users type (no need to press Enter). &lt;/p&gt;
&lt;h3 id="ui-ux-enhancements"&gt;UI/UX Enhancements&lt;/h3&gt;
&lt;h4 id="vertical-grid-line-visibility"&gt;Vertical Grid Line Visibility&lt;/h4&gt;
&lt;p class="tags"&gt;&lt;span class="not-started"&gt;Planned&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;We will add an option to hide column lines (vertical separators between adjacent columns) in our Blazor Grid and TreeList components.&lt;/p&gt;
&lt;img src="https://community.devexpress.com/blogs/aspnet/26.1/Roadmap/Grid%20-%20Vertical%20Grid%20Line%20Visibility%20(2x).png" alt="Column Lines Visibility Customization"&gt;
&lt;h4 id="striped-rows"&gt;Striped Rows&lt;/h4&gt;
&lt;p class="tags"&gt;&lt;span class="not-started"&gt;Planned&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;We plan to introduce an option to highlight alternating (odd) rows in our&amp;nbsp;Blazor Grid and TreeList with a different style (to enhance readability).&lt;/p&gt;
&lt;img src="https://community.devexpress.com/blogs/aspnet/26.1/Roadmap/Grid%20-%20Striped%20Rows%20(2x).png" alt="Striped Rows"&gt;
&lt;h4 id="filter-menu-button-new-on-hover-display-mode"&gt;Filter Menu Button — New On‑Hover Display Mode&lt;/h4&gt;
&lt;p class="tags"&gt;&lt;span class="not-started"&gt;Planned&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;DevExpress Blazor Grid and TreeList will support on‑hover display mode for Filter Menu buttons. When enabled, buttons will appear after users hover over column headers. This mode helps create a cleaner UI and avoid column caption truncation.&lt;/p&gt;
&lt;h4 id="custom-row-height"&gt;Custom Row Height&lt;/h4&gt;
&lt;p class="tags"&gt;&lt;span class="not-started"&gt;Planned&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;In v26.1, you will be able to specify a minimum row height for the DevExpress Blazor Grid and TreeList. This new option allows you to adjust visual density by increasing/decreasing row spacing and gives you more control over row appearance.&lt;/p&gt;
&lt;h3 id="blazor-treelist-unbound-columns"&gt;Blazor TreeList — Unbound Columns&lt;/h3&gt;
&lt;p class="tags"&gt;&lt;span class="development"&gt;In Development&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;We plan to introduce unbound column support for the DevExpress Blazor TreeList component. Unbound columns display values that are not stored in the underlying data source. Our TreeList can calculate these values on the fly or derive them from other fields. Use unbound columns to display supplementary/computed data without modifying the original data model.&lt;/p&gt;
&lt;h3 id="blazor-data-editors"&gt;Blazor Data Editors&lt;/h3&gt;
&lt;h4 id="textbox-password-button"&gt;TextBox — Password Button&lt;/h4&gt;
&lt;p class="tags"&gt;&lt;span class="not-started"&gt;Planned&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;v26.1 will include a built‑in button that displays/hides a password within the DevExpress Blazor TextBox editor. This button allows users to verify text they have entered.&lt;/p&gt;
&lt;h4 id="spinedit-maskedinput-disable-arrow-keys"&gt;SpinEdit &amp;amp; MaskedInput — Disable Arrow Keys&lt;/h4&gt;
&lt;p class="tags"&gt;&lt;span class="not-started"&gt;Planned&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Both DevExpress Blazor SpinEdit and MaskedInput components will allow you to prevent a change to values&amp;nbsp;when users press Up/Down arrow keys.&lt;/p&gt;
&lt;h4 id="maskedinput-disable-mouse-wheel"&gt;MaskedInput — Disable Mouse Wheel&lt;/h4&gt;
&lt;p class="tags"&gt;&lt;span class="not-started"&gt;Planned&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Our Blazor MaskedInput will allow you to prevent a change to values&amp;nbsp;when users scroll&amp;nbsp;the mouse wheel. This option prevents accidental modifications during page/content scrolling.&lt;/p&gt;
&lt;h4 id="focusable-custom-buttons"&gt;Focusable Custom Buttons&lt;/h4&gt;
&lt;p&gt;Our Blazor Data Editors will include a new Focusable option for custom buttons. Once activated, users can interact with custom buttons using the keyboard.&lt;/p&gt;
&lt;h3 id="blazor-formlayout"&gt;Blazor FormLayout&lt;/h3&gt;
&lt;h4 id="new-caption-position-mode"&gt;New Caption Position Mode&lt;/h4&gt;
&lt;p class="tags"&gt;&lt;span class="not-started"&gt;Planned&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;We expect to extend the CaptionPosition property with a new Auto mode. In this mode, Form Layout will automatically switch the caption to a vertical position when horizontal space is insufficient. This behavior matches the current implementation of the Horizontal mode.&lt;/p&gt;
&lt;p&gt;With this update:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Auto becomes the new default caption position and enables automatic switching based on available space.&lt;/li&gt;
&lt;li&gt;Horizontal mode will no longer change caption position and will always display captions horizontally, regardless of layout constraints.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="api-enhancements"&gt;API Enhancements&lt;/h4&gt;
&lt;p class="tags"&gt;&lt;span class="not-started"&gt;Planned&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The DevExpress Blazor FormLayout component will include the following new API members:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;TabsPosition — Specifies&amp;nbsp;tab header position.&lt;/li&gt;
&lt;li&gt;AllowClose | AllowTabReorder — Allows users to close/reorder tabs.&lt;/li&gt;
&lt;li&gt;TabClosing | TabReordering — Allows you to handle tab closing/reordering actions.&lt;/li&gt;
&lt;li&gt;TabPageEnabled — Allows you to disable a tab page.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="blazor-dialog-service-content-template"&gt;Blazor Dialog Service - Content Template&lt;/h3&gt;
&lt;p class="tags"&gt;&lt;span class="not-started"&gt;Planned&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;We hope to add a content template option for message dialogs displayed via the DevExpress Blazor Dialog Service. This option will allow you to customize the dialog body: format message text, add links, or display additional interactive elements.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;private async Task OpenConfirmDialogAsync() {
    Result = await DialogService.ConfirmAsync(new MessageBoxOptions() {
        ContentTemplate = @&amp;lt;div&amp;gt;
            &amp;lt;p&amp;gt;Are you sure you want to delete this record?&amp;lt;/p&amp;gt;
            &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;This action cannot be undone.&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;
        &amp;lt;/div&amp;gt;,
        OkButtonText = &amp;quot;Yes&amp;quot;,
        CancelButtonText = &amp;quot;No&amp;quot;,
        RenderStyle = MessageBoxRenderStyle.Danger,
    });
}&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id="blazor-layout-navigation"&gt;Blazor Layout &amp;amp; Navigation&lt;/h3&gt;
&lt;h4 id="treeview-accordion-menu-toolbar-data-mapping-api-enhancements"&gt;TreeView, Accordion, Menu &amp;amp; Toolbar — Data Mapping API Enhancements&lt;/h4&gt;
&lt;p class="tags"&gt;&lt;span class="not-started"&gt;Planned&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;We plan to extend Data Mapping APIs available for DevExpress Blazor TreeView, Accordion, Menu, and Toolbar components. New APIs will allow you to implement more business scenarios using data binding (instead of static Razor markup).&lt;/p&gt;
&lt;p&gt;Use cases include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Build navigation from a shared model (for instance, a sitemap or route list).&lt;/li&gt;
&lt;li&gt;Display/hide items based on permissions/flags.&lt;/li&gt;
&lt;li&gt;Generate hierarchical structures (groups, child items) based on data.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code class="language-ts"&gt;&amp;lt;DxTreeView Data=&amp;quot;@Data&amp;quot;&amp;gt;
    &amp;lt;DataMappings&amp;gt;
        &amp;lt;DxTreeViewDataMapping Text=&amp;quot;Name&amp;quot;
                               Key=&amp;quot;Id&amp;quot;
                               BadgeText=&amp;quot;Badge&amp;quot;
                               ParentKey=&amp;quot;CategoryId&amp;quot;/&amp;gt;
    &amp;lt;/DataMappings&amp;gt;
&amp;lt;/DxTreeView&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id="accordion-cache-collapsed-content"&gt;Accordion — Cache Collapsed Content&lt;/h4&gt;
&lt;p class="tags"&gt;&lt;span class="not-started"&gt;Planned&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The DevExpress Blazor Accordion will allow you to cache collapsed group content. When caching is active, the Accordion retains collapsed content and does not need to recreate it once the group is expanded.&lt;/p&gt;
&lt;p&gt;This feature is useful for groups containing complex UI content that is costly to re-initialize (for instance, Forms with validation, Charts, or Data Grids).&lt;/p&gt;
&lt;h3 id="blazor-pivot-table"&gt;Blazor Pivot Table&lt;/h3&gt;
&lt;h4 id="server-mode"&gt;Server Mode&lt;/h4&gt;
&lt;p class="tags"&gt;&lt;span class="development"&gt;In Development&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;We expect to support Server Mode in the DevExpress Pivot Table component. In this mode, the Pivot Table retrieves data on demand and executes grouping, filtering, and summary calculations on the server. Server‑side data processing optimizes performance when working with large datasets and complex filters. &lt;/p&gt;
&lt;h4 id="drill-down-support"&gt;Drill‑Down Support&lt;/h4&gt;
&lt;p class="tags"&gt;&lt;span class="not-started"&gt;Planned&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;We plan to support drill‑down scenarios in the DevExpress Blazor Pivot Table. Drill‑down allows you to retrieve the underlying records used to calculate a specific summary value. This capability is useful when you need to examine the data behind aggregated results.&lt;/p&gt;
&lt;p&gt;New APIs will include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CellClick — Provides access to the underlying data of the clicked cell.&lt;/li&gt;
&lt;li&gt;CreateDrillDownDataSource(options) — Returns a drill‑down data source.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You will be able to bind underlying data to our Blazor Grid component and allow users to review detailed records within the same page.&lt;/p&gt;
&lt;h3 id="blazor-themes"&gt;Blazor Themes&lt;/h3&gt;
&lt;h4 id="fluent-themes-high-contrast-mode"&gt;Fluent Themes — High Contrast Mode&lt;/h4&gt;
&lt;p class="tags"&gt;&lt;span class="development"&gt;In Development&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;DevExpress Blazor Fluent themes will support high contrast mode in our June release. They will automatically modify colors if Windows &lt;a href="https://support.microsoft.com/en-us/windows/turn-high-contrast-mode-on-or-off-in-windows-909e9d89-a0f9-a3a9-b993-7a6dcee85025"&gt;high contrast mode&lt;/a&gt; is active.&lt;/p&gt;
&lt;h2 id="blazor-reporting"&gt;Blazor Reporting&lt;/h2&gt;
&lt;p&gt;Learn more:&amp;nbsp;&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;/p&gt;
&lt;h2 id="your-feedback"&gt;Your Feedback Matters&lt;/h2&gt;
&lt;div data-survey-id="73a2487e-13ca-41b5-9bc3-3d4f1ef4f317" data-survey-auth-required="false"&gt;&lt;/div&gt;</description>
      <pubDate>Tue, 24 Feb 2026 08:30:00 Z</pubDate>
      <dc:creator>Slava Khudyakov (DevExpress)</dc:creator>
      <dx:excerpt>Thank you for choosing DevExpress and for your on-going support. We value your business. As you will see below, we expect to continue extending the capabilities of individual components — but we also want to invest in larger initiatives that span multiple release cycles.&#xD;
&#xD;
</dx:excerpt>
    </item>
    <item>
      <guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:388277</guid>
      <link>https://community.devexpress.com/Blogs/winforms/archive/2026/02/24/winforms-june-2026-roadmap-v26-1.aspx</link>
      <category domain="https://community.devexpress.com/Tags/2026">2026</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/WinForms">WinForms</category>
      <title>WinForms — June 2026 Roadmap (v26.1)</title>
      <description>&lt;div&gt;First and foremost – thank you for placing your trust in our component suite. We appreciate the opportunity to serve your development needs now and into the future. This blog post outlines some of our WinForms-related development plans for the second half of 2026&amp;nbsp;(v26.2).&amp;nbsp;As always, you can expect other additions across our entire range of WinForms controls and components once we officially ship v26.1.&lt;/div&gt;&lt;div&gt;We welcome your feedback - Please feel&amp;nbsp;free to&amp;nbsp;share your thoughts in the survey at the end of this post  or submit a support ticket&amp;nbsp;via the &lt;a href="https://supportcenter.devexpress.com/" target="_blank"&gt;DevExpress Support Center&lt;/a&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.&lt;/div&gt;&lt;p&gt; &lt;/p&gt;&lt;h2&gt;Security&lt;/h2&gt;&lt;div&gt;Secure code starts with a safe&amp;nbsp;development environment. In addition to static code analysis and on-going security reviews, we are expanding our internal security diagnostics (including custom&amp;nbsp;analyzers)&amp;nbsp;across our engineering workflows to further strengthen our security posture.&amp;nbsp;&lt;/div&gt;&lt;div&gt;While these enhancements are not exposed as standalone features within the DevExpress component suite, they directly contribute to the&amp;nbsp;reliability of our product libraries&amp;nbsp;- a critical priority in today’s threat landscape.&lt;/div&gt;&lt;h2&gt;Fluent Icons&lt;/h2&gt;&lt;p&gt; With v26.1, we expect to introduce a comprehensive set of Fluent icons to our suite. To simplify migration to these new icons, you will be able to switch the icon set across all DevExpress controls via a single global setting.&amp;nbsp;Our new collection will include thousands of Fluent icons which can be used in any UI element with SVG support.&lt;/p&gt;&lt;img src="https://community.devexpress.com/blogs/wpf/20260203-WPF-Roadmap-26_1/Fluent-Icons@2x.png" alt="" style="width:1560px;height:800px;"&gt;&lt;h2&gt;Localization Tool Enhancements&lt;/h2&gt;&lt;p&gt; &lt;/p&gt;&lt;div&gt;&lt;p&gt;In v25.2, we released a new Localization Tool as a Community Technology Preview (CTP). With v26.1, we plan to ship it officially. Our Localization Tool&amp;nbsp;will offer enhanced&amp;nbsp;collaboration capabilities, easier resource navigation and management, AI-powered translation services, support for multiple DevExpress products and platforms, and more.&lt;/p&gt;&lt;p&gt;We also expect&amp;nbsp;to add the following enhancements:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;Filter localization strings based on referenced DevExpress assemblies.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Automatically load base localization resources -&amp;nbsp;you will no longer need to download them from a GitHub repository manually.&amp;nbsp;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;img src="https://www.devexpress.com/subscriptions/i/25.2/25-2-localization-tool.png" alt="" style="width:780px;height:565px;"&gt;&lt;h2&gt;DateTimeOffset Core Support&lt;/h2&gt;&lt;p&gt;We are initiating support for DateTimeOffset across our product line. We will start with core DevExpress classes, including criteria operators and data processing modules.&lt;/p&gt;&lt;p&gt;Our goal is to eliminate manual conversion of DateTimeOffset to DateTime when working with local time zones. You will be able to specify the required time zone, and conversion to a local date will occur automatically. In this mode, users will see a simple&amp;nbsp;date/time&amp;nbsp;value&amp;nbsp;without the offset portion (as if it were a DateTime object).&lt;/p&gt;&lt;p&gt;As a first step, DateTimeOffset support will allow you to use date/time-related functions (such as AddHours, GetDays, DateDiffDays, and others) in filter expressions and unbound columns.&lt;/p&gt;&lt;div class="Note"&gt;We are &lt;strong&gt;not planning&lt;/strong&gt; DateTimeOffset-related updates for UI components as a part of v26.1. Specifically, we do not expect&amp;nbsp;to add date-specific filtering options to column filter popups or enable DateTimeOffset editing in Date Edit.&lt;br&gt;&lt;/div&gt;&lt;p&gt;DateTimeOffset offers the following advantages compared to DateTime:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Local and global time support:&lt;/strong&gt;&amp;nbsp;Suitable for usage scenarios that require both local machine time and UTC (such as logging systems).&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Clear semantics:&lt;/strong&gt;&amp;nbsp;The DateTime.Kind property is not serialized (which can lead to incorrect usage). DateTimeOffset always includes the offset (for example, 6/10/2025 5:30:00 PM &lt;strong&gt;-07:00&lt;/strong&gt;).&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Web service compatibility:&lt;/strong&gt;&amp;nbsp;Many services return dates as DateTimeOffset. Once supported, conversion to DateTime will no longer be required.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;a href="https://learn.microsoft.com/en-us/dotnet/standard/datetime/choosing-between-datetime#the-datetimeoffset-structure" target="_blank"&gt;Microsoft documentation&lt;/a&gt; recommends DateTimeOffset instead of DateTime when representing a single point in time, performing date/time arithmetic, and preserving related times:&lt;/p&gt;&lt;blockquote&gt;These uses for DateTimeOffset values are much more common than those for DateTime values. As a result, consider DateTimeOffset as the default date and time type for application development.&lt;/blockquote&gt;&lt;h2&gt;AI Agents API &lt;/h2&gt;&lt;div&gt;We are building an abstraction layer over multiple AI engine implementations. You&amp;#39;ll be able to use both&amp;nbsp;&lt;span&gt;IChatClient and&amp;nbsp;&lt;/span&gt;&lt;a href="https://learn.microsoft.com/en-us/agent-framework/overview/agent-framework-overview" target="_blank"&gt;Microsoft Agent Framework&lt;/a&gt;&amp;nbsp;with DevExpress&amp;nbsp;AI Chat Control.&amp;nbsp;&lt;/div&gt;&lt;div&gt;Microsoft Agent Framework allows you to define agents with custom rules, instructions, and tools. Agents can then execute multi-step tasks based on user requests.&lt;/div&gt;&lt;h2&gt;AI Chat Enhancements&lt;/h2&gt;&lt;p&gt;We plan to introduce a set of small but useful APIs to help customize the DevExpress AI Chat Control. For example, new properties will allow you to specify the text displayed in an empty chat view and in an empty text input field.&lt;/p&gt;&lt;h2&gt;&lt;/h2&gt;&lt;h2&gt;MemoEdit — Automatic&amp;nbsp;Scrollbar&lt;/h2&gt;&lt;p&gt;The DevExpress MemoEdit control will automatically hide the scrollbar when text height does not exceed control bounds. You will be able to control this behavior via an option.&lt;/p&gt;&lt;img src="https://community.devexpress.com/blogs/winforms/20260211-win-roadmap-26-1/MemoEdit-Auto-Scroll.png" alt=""&gt;&lt;h2&gt;Monaco-Based Code Editor (Example)&lt;/h2&gt;&lt;div&gt;As you may know, &lt;a href="https://github.com/microsoft/monaco-editor" target="_blank"&gt;Monaco Code Editor&lt;/a&gt; is an&amp;nbsp;open-source editor used in Visual Studio Code. It includes IntelliSense, supports multiple built-in languages, allows you to define custom syntax, and more.&lt;/div&gt;&lt;div&gt;We will create a comprehensive example of Monaco Editor integrated into a WinForms application with DevExpress Skins. The example will mirror the most important web APIs at the C# level, so you won&amp;#39;t need to use JavaScript for common usage scenarios.&lt;/div&gt;&lt;img src="https://community.devexpress.com/blogs/winforms/20260211-win-roadmap-26-1/Monaco-Editor_.png" alt=""&gt;&lt;h2&gt;Spreadsheet — New Excel Functions&lt;/h2&gt;&lt;div&gt;We will enhance our Spreadsheet calculation engine by adding support for modern, dynamic array-based Excel functions, including functions like:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;XLOOKUP&lt;/li&gt;&lt;li&gt;XMATCH&lt;/li&gt;&lt;li&gt;SORT&lt;/li&gt;&lt;li&gt;FILTER&lt;/li&gt;&lt;li&gt;UNIQUE&lt;/li&gt;&lt;/ul&gt;&lt;h2 id="reporting"&gt;Reporting&lt;/h2&gt;&lt;h3 id="accessibility--export-compliance"&gt;Accessibility &amp;amp; Export Compliance&lt;/h3&gt;&lt;h4 id="docxhtml-export--accessibledescription-support"&gt;DOCX/HTML Export — AccessibleDescription Support&lt;/h4&gt;&lt;p&gt;Organizations subject to WCAG 2.2 and Section 508 requirements will be able to include meaningful alternative text for all embedded images and graphical elements in exported Word documents and HTML pages. With v26.1, DevExpress Reports will apply a report control&amp;#39;s&amp;nbsp;&lt;code&gt;AccessibleDescription&lt;/code&gt;&amp;nbsp;property value to DOCX and HTML export output. This capability is especially relevant for controls exported as images, such as&amp;nbsp;&lt;strong&gt;XRPictureBox&lt;/strong&gt;,&amp;nbsp;&lt;strong&gt;XRBarCode&lt;/strong&gt;,&amp;nbsp;&lt;strong&gt;XRShape&lt;/strong&gt;, and&amp;nbsp;&lt;strong&gt;XRChart&lt;/strong&gt;, where assistive technologies rely on alternative text to describe visual content.&lt;/p&gt;&lt;p&gt;&lt;img src="https://community.devexpress.com/blogs/reporting/2026/roadmap/reporting-v26.1-roadmap-docx-accessibility-callout.png" alt="DOCX Export — AccessibleDescription Support" style="width:1560px;height:900px;"&gt;&lt;/p&gt;&lt;h4 id="pdfua-export-enhancements"&gt;PDF/UA Export Enhancements&lt;/h4&gt;&lt;p&gt;Government agencies and enterprises that must comply with PDF/UA standards will benefit from extended PDF export capabilities in v26.1:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;XRRichText&lt;/strong&gt;&amp;nbsp;content will use proper semantic tagging and group continuous text into logical paragraphs instead of word-by-word&amp;nbsp;&lt;code&gt;&amp;lt;P&amp;gt;&lt;/code&gt;&amp;nbsp;tags.&lt;/li&gt;&lt;li&gt;The&amp;nbsp;&lt;code&gt;AccessibleDescription&lt;/code&gt;&amp;nbsp;property will apply to PDF signatures and AcroForm controls so that digitally signed or form-enabled PDF documents meet accessibility requirements.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;XRPageInfo&lt;/strong&gt;&amp;nbsp;controls will support paragraph-level semantic markup.&lt;/li&gt;&lt;/ul&gt;&lt;h3 id="data-source-enhancements"&gt;Data Source Enhancements&lt;/h3&gt;&lt;h4 id="datetimeoffset-support"&gt;DateTimeOffset Support&lt;/h4&gt;&lt;p&gt;Applications that store time zone-aware timestamps (such as financial transaction logs, audit trails, and event scheduling systems) require&amp;nbsp;&lt;code&gt;DateTimeOffset&lt;/code&gt;&amp;nbsp;support to preserve the original offset for accurate data representation. With v26.1, our Report Designer&amp;#39;s&amp;nbsp;&lt;strong&gt;Field List&lt;/strong&gt;&amp;nbsp;will display&amp;nbsp;&lt;code&gt;DateTimeOffset&lt;/code&gt;&amp;nbsp;fields and allow data binding, filter, group, and sort operations across&amp;nbsp;&lt;strong&gt;SqlDataSource&lt;/strong&gt;,&amp;nbsp;&lt;strong&gt;EFDataSource,&lt;/strong&gt;&amp;nbsp;and&amp;nbsp;&lt;strong&gt;ObjectDataSource&lt;/strong&gt;.&lt;/p&gt;&lt;h3 id="end-user-experience"&gt;End-User Experience&lt;/h3&gt;&lt;h4 id="winforms-end-user-report-designer--startup-optimization"&gt;WinForms End-User Report Designer — Startup Optimization&lt;/h4&gt;&lt;p&gt;We will optimize the DevExpress&amp;nbsp;&lt;strong&gt;WinForms End-User Report Designer&amp;#39;s&amp;nbsp;&lt;/strong&gt;startup sequence to deliver a smoother and more responsive launch experience. Dock panels and UI elements will appear quickly on initial load, and transitions between the Design and Preview tabs will be rendered seamlessly.&lt;/p&gt;&lt;h4 id="xrlabel--xrpanel--custom-border-styles-example"&gt;XRLabel &amp;amp; XRPanel — Custom Border Styles Example&lt;/h4&gt;&lt;p&gt;Invoice layouts, financial statements, and reports with visually distinct section separators often require independent border configuration per side. We will extend the&amp;nbsp;&lt;a href="https://github.com/DevExpress-Examples/Reporting-Custom-Controls"&gt;How to Create a Custom DevExpress Report Control&lt;/a&gt;&amp;nbsp;GitHub repository with a new example that demonstrates custom&amp;nbsp;&lt;strong&gt;XRLabel&lt;/strong&gt;&amp;nbsp;and&amp;nbsp;&lt;strong&gt;XRPanel&lt;/strong&gt;&amp;nbsp;controls. These custom controls will allow you to define distinct border styles and width&amp;nbsp;for top, bottom, left, and right sides independently.&lt;/p&gt;&lt;p&gt;&lt;img src="https://community.devexpress.com/blogs/reporting/2026/roadmap/reporting-v26.1-roadmap-different-borders-invoice-header@2x.png" alt="Invoice Header — Different border styles for panels" style="width:1538px;height:506px;"&gt;&lt;/p&gt;&lt;h3 id="ide-integration"&gt;IDE Integration&lt;/h3&gt;&lt;h4 id="devexpress-report-designer-for-jetbrains-rider--net-projects-support"&gt;DevExpress Report Designer for JetBrains Rider — .NET Projects Support&lt;/h4&gt;&lt;p&gt;In v25.2, we introduced the DevExpress Report Designer for JetBrains Rider with .NET Framework support. In v26.1, we will extend this integration to .NET-based projects. We also expect to deliver property search and reset in the Properties panel and light/dark theme support to match the JetBrains Rider IDE.&lt;/p&gt;&lt;img src="https://www.devexpress.com/subscriptions/i/25.2/25-2-report-designer-jb-rider@2x.png" alt="DevExpress Report Designer for JetBrains Rider — .NET Projects Support"&gt;&lt;h3 id="ai-powered-enhancements"&gt;AI-powered Enhancements&lt;/h3&gt;&lt;h4 id="ai-prompt-to-report-wizard--optimization"&gt;AI Prompt-to-Report Wizard — Optimization&lt;/h4&gt;&lt;p&gt;We will optimize the&amp;nbsp;&lt;strong&gt;AI Prompt-to-Report Wizard&lt;/strong&gt;&amp;nbsp;to allow users&amp;nbsp;to input shorter prompts and achieve more consistent, production-ready report output. The updated implementation will use a multi-agent workflow and will also reduce token consumption per report generation request.&lt;img src="https://community.devexpress.com/blogs/reporting/2026/roadmap/reporting-v26.1-roadmap-agentic-workflow@2x.png" alt="AI Prompt-to-Report Wizard —Multi-Agentic Workflow" style="width:1560px;height:900px;"&gt;&lt;/p&gt;&lt;h4 id="web-and-wpf-report-designer--ai-powered-chat-assistant"&gt;Report Designer — AI-powered Chat Assistant&lt;/h4&gt;&lt;p id="web-and-wpf-report-designer--ai-powered-chat-assistant"&gt;Our&amp;nbsp;&lt;strong&gt;DevExpress WinForms End-User Report Designer&lt;/strong&gt;&amp;nbsp;includes an&amp;nbsp;&lt;a href="https://docs.devexpress.com/XtraReports/405498/ai-powered-functionality/desktop-reporting/modify-report-in-win-report-designer" target="_blank" title="Modify Report Behavior in the WinForms Report Designer (CTP)"&gt;AI Assistant panel&lt;/a&gt;&amp;nbsp;that allows users to add, remove, and modify report elements, properties, and data bindings using natural language commands. In v26.1, we will extend this capability to our&amp;nbsp;&lt;strong&gt;Web&lt;/strong&gt;&amp;nbsp;and&amp;nbsp;&lt;strong&gt;WPF Report Designer&lt;/strong&gt;&amp;nbsp;components and add the following features:&lt;/p&gt;&lt;span&gt;&lt;ul&gt;&lt;li&gt;Built-in tools that enable AI to search relevant end-user documentation&lt;/li&gt;&lt;li&gt;Wizards that can be launched via AI commands&lt;/li&gt;&lt;li&gt;Enhanced interaction with the designer environment&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Stay tuned for updates as development continues.&lt;/p&gt;&lt;/span&gt;&lt;h4 id="agentsmd-for-ai-coding-assistants"&gt;AGENTS.md for AI Coding Assistants&lt;/h4&gt;&lt;p&gt;Developers who use AI-powered code completion tools will obtain more accurate and context-aware suggestions when they work with DevExpress Reports. We will create an AGENTS.md file that equips AI coding assistants, such as GitHub Copilot and Cursor, with DevExpress Reports expertise. The file will contain API patterns, expression syntax rules, common report creation scenarios, troubleshooting guides, and best practices.&lt;/p&gt;&lt;h2&gt;Your Feedback Matters&lt;/h2&gt;&lt;div data-survey-id="a6b6eba5-cdaf-40a1-82a2-a428a21155e2" data-survey-auth-required="false"&gt;&lt;/div&gt;</description>
      <pubDate>Tue, 24 Feb 2026 04:00:00 Z</pubDate>
      <dc:creator>Alexander Russkov (DevExpress)</dc:creator>
    </item>
    <item>
      <guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:388275</guid>
      <link>https://community.devexpress.com/Blogs/reporting/archive/2026/02/23/reporting-amp-bi-dashboard-june-2026-roadmap-v26-1.aspx</link>
      <category domain="https://community.devexpress.com/Tags/2026">2026</category>
      <category domain="https://community.devexpress.com/Tags/Accessibility">Accessibility</category>
      <category domain="https://community.devexpress.com/Tags/ai">ai</category>
      <category domain="https://community.devexpress.com/Tags/BI+Dashboard">BI Dashboard</category>
      <category domain="https://community.devexpress.com/Tags/Blazor">Blazor</category>
      <category domain="https://community.devexpress.com/Tags/Cards">Cards</category>
      <category domain="https://community.devexpress.com/Tags/Dashboard">Dashboard</category>
      <category domain="https://community.devexpress.com/Tags/PDF">PDF</category>
      <category domain="https://community.devexpress.com/Tags/Reporting">Reporting</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+Report+Designer">Web Report Designer</category>
      <title>Reporting &amp; BI Dashboard — June 2026 Roadmap (v26.1)</title>
      <description>&lt;p&gt;Thank you for choosing &lt;a target="_blank" href="https://www.devexpress.com/subscriptions/reporting/"&gt;DevExpress Reports&lt;/a&gt; and &lt;a target="_blank" href="https://www.devexpress.com/products/net/dashboard/"&gt;DevExpress BI Dashboard&lt;/a&gt; for your software development needs. Our June 2026 release (v26.1) will include features designed to advance AI-powered report design workflows, extend accessibility and export compliance, strengthen security, and enhance BI Dashboard customization and platform integration.&lt;/p&gt;
&lt;p&gt;Once you&amp;#39;ve had the opportunity to review our v26.1 roadmap, please share your feedback, requirements, and/or questions using the DevExpress Support Center discussion links below.&lt;/p&gt;
&lt;div class="Note"&gt;
    &lt;p&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;/p&gt;
&lt;/div&gt;
&lt;h2 id="live-roadmap-updates"&gt;Roadmap Updates&lt;/h2&gt;
&lt;p&gt;Our year-end roadmap will be updated regularly to reflect development progress. As we get closer to the release, we expect to add additional items and modify the status of planned features. Look for the following labels next to every feature:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;p class="tags"&gt;&lt;span class="not-started"&gt;Planned&lt;/span&gt; — Feature is scheduled but not yet in development.&lt;/p&gt;&lt;/li&gt;
    &lt;li&gt;&lt;p class="tags"&gt;&lt;span class="development"&gt;In Development&lt;/span&gt; — Under active development.&lt;/p&gt;&lt;/li&gt;
    &lt;li&gt;&lt;p class="tags"&gt;&lt;span class="completed"&gt;Coming in EAP v26.1&lt;/span&gt; — Will be available in our first v26.1 early access preview.&lt;/p&gt;&lt;/li&gt;
    &lt;li&gt;&lt;p class="tags"&gt;&lt;span class="completed"&gt;Coming in v26.1&lt;/span&gt; — Will be included in the final v26.1 release.&lt;/p&gt;&lt;/li&gt;
    &lt;li&gt;&lt;p class="tags"&gt;&lt;span class="completed"&gt;Released in v26.1&lt;/span&gt; — Fully implemented and available.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="reporting"&gt;Reporting&lt;/h2&gt;
&lt;h3 id="accessibility--export-compliance"&gt;Accessibility &amp;amp; Export Compliance&lt;/h3&gt;
&lt;h4 id="docxhtml-export--accessibledescription-support"&gt;DOCX/HTML Export — AccessibleDescription Support&lt;/h4&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;All Platforms&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="development"&gt;In Development&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;Organizations subject to WCAG 2.2 and Section 508 requirements will be able to include meaningful alternative text for all embedded images and graphical elements in exported Word documents and HTML pages. With v26.1, DevExpress Reports will apply a report control&amp;#39;s &lt;code&gt;AccessibleDescription&lt;/code&gt; property value to DOCX and HTML export output. This capability is especially relevant for controls exported as images, such as &lt;strong&gt;XRPictureBox&lt;/strong&gt;, &lt;strong&gt;XRBarCode&lt;/strong&gt;, &lt;strong&gt;XRShape&lt;/strong&gt;, and &lt;strong&gt;XRChart&lt;/strong&gt;, where assistive technologies rely on alternative text to describe visual content.&lt;/p&gt;&lt;img src="https://community.devexpress.com/blogs/reporting/2026/roadmap/reporting-v26.1-roadmap-docx-accessibility-callout.png" alt="DOCX Export — AccessibleDescription Support" style="width:1560px;height:900px;"&gt;

&lt;h4 id="pdfua-export-enhancements"&gt;PDF/UA Export Enhancements&lt;/h4&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;All Platforms&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="development"&gt;In Development&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;Government agencies and enterprises that must comply with PDF/UA standards will benefit from the following extended PDF export capabilities in v26.1:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;XRRichText&lt;/strong&gt; content will use proper semantic tagging and group continuous text into logical paragraphs instead of word-by-word &lt;code&gt;&amp;lt;P&amp;gt;&lt;/code&gt; tags.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;AccessibleDescription&lt;/code&gt; property will apply to PDF signatures and AcroForm controls so that digitally signed or form-enabled PDF documents meet accessibility requirements.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;XRPageInfo&lt;/strong&gt; controls will support paragraph-level semantic markup.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="web-reporting--accessibility-improvements"&gt;Web Reporting — Accessibility Improvements&lt;/h4&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;Blazor&lt;/span&gt;
    &lt;span class="platform"&gt;ASP.NET Core&lt;/span&gt;
    &lt;span class="platform"&gt;Angular&lt;/span&gt;
    &lt;span class="platform"&gt;React&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="not-started"&gt;Planned&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;We will continue to enhance &lt;strong&gt;keyboard navigation&lt;/strong&gt; and &lt;strong&gt;screen reader support&lt;/strong&gt; in our DevExpress&amp;nbsp;Web Report Viewer. Users who rely on assistive technologies will experience&amp;nbsp;more consistent navigation, predictable focus management, and reliable interaction across DevExpress web-base&amp;nbsp;Reporting components.&lt;/p&gt;
&lt;h3 id="data-source-enhancements"&gt;Data Source Enhancements&lt;/h3&gt;
&lt;h4 id="datetimeoffset-support"&gt;DateTimeOffset Support&lt;/h4&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;All Platforms&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="not-started"&gt;Planned&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;Applications that store time zone-aware timestamps (such as financial transaction logs, audit trails, and event scheduling systems) require &lt;code&gt;DateTimeOffset&lt;/code&gt; support to preserve the original offset for accurate data representation. With v26.1, our Report Designer&amp;#39;s &lt;strong&gt;Field List&lt;/strong&gt; will display &lt;code&gt;DateTimeOffset&lt;/code&gt; fields and allow data binding, filter, group, and sort operations across &lt;strong&gt;SqlDataSource&lt;/strong&gt;, &lt;strong&gt;EFDataSource,&lt;/strong&gt;&amp;nbsp;and &lt;strong&gt;ObjectDataSource&lt;/strong&gt;.&lt;/p&gt;
&lt;h3 id="end-user-experience"&gt;End-User Experience&lt;/h3&gt;
&lt;h4 id="winforms-end-user-report-designer--startup-optimization"&gt;WinForms End-User Report Designer — Startup Optimization&lt;/h4&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;WinForms&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="not-started"&gt;Planned&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;We will optimize the DevExpress&amp;nbsp;&lt;strong&gt;WinForms End-User Report Designer&amp;#39;s&lt;/strong&gt; startup sequence to deliver a responsive launch experience. Dock panels and UI elements will appear quickly on initial load, and transitions between Design and Preview tabs will produce seamless panel rendering.&lt;/p&gt;
&lt;h4 id="xrlabel--xrpanel--custom-border-styles-example"&gt;XRLabel &amp;amp; XRPanel — Custom Border Styles Example&lt;/h4&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;All Platforms&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="not-started"&gt;Planned&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;Invoice layouts, financial statements, and reports with visually distinct section separators often require independent border configuration per side. We will extend the &lt;a href="https://github.com/DevExpress-Examples/Reporting-Custom-Controls"&gt;How to Create a Custom DevExpress Report Control&lt;/a&gt; GitHub repository with a new example that demonstrates custom &lt;strong&gt;XRLabel&lt;/strong&gt; and &lt;strong&gt;XRPanel&lt;/strong&gt; controls. These custom controls will allow you to define distinct border styles and width&amp;nbsp;for top, bottom, left, and right sides independently.&lt;/p&gt;&lt;img src="https://community.devexpress.com/blogs/reporting/2026/roadmap/reporting-v26.1-roadmap-different-borders-invoice-header@2x.png" alt="Invoice Header — Different border styles for panels" style="width:1538px;height:506px;"&gt;

&lt;h3 id="web-report-designer-overhaul"&gt;Web Report Designer Overhaul&lt;/h3&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;Blazor&lt;/span&gt;
    &lt;span class="platform"&gt;ASP.NET Core&lt;/span&gt;
    &lt;span class="platform"&gt;ASP.NET WebForms&lt;/span&gt;
    &lt;span class="platform"&gt;ASP.NET MVC&lt;/span&gt;
    &lt;span class="platform"&gt;Angular&lt;/span&gt;
    &lt;span class="platform"&gt;React&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="development"&gt;In Development&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;We will continue our comprehensive revamp of the DevExpress &lt;strong&gt;Web Report Designer&lt;/strong&gt; to phase out the Knockout.js library and implement a new public API without KO. This transition will enhance performance and maintainability of the control, and aligns with our long-term plan to introduce native Angular and React components for seamless integration with modern web solutions.&lt;/p&gt;
&lt;h3 id="security-enhancements"&gt;Security Enhancements&lt;/h3&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;All Platforms&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="development"&gt;In Development&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;We will continue to strengthen security  across APIs and product components to ensure that both Reporting and BI Dashboard comply with the highest security standards. These updates align with current industry best practices and address evolving security requirements.&lt;/p&gt;
&lt;h3 id="ide-integration"&gt;IDE Integration&lt;/h3&gt;
&lt;h4 id="devexpress-report-designer-for-jetbrains-rider--net-projects-support"&gt;DevExpress Report Designer for JetBrains Rider — .NET Projects Support&lt;/h4&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;JetBrains Rider&lt;/span&gt;
    &lt;span class="platform"&gt;.NET&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="development"&gt;In Development&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;In v25.2, we introduced the DevExpress Report Designer for JetBrains Rider with .NET Framework support. In v26.1, we will extend this integration to .NET-based projects and&amp;nbsp;deliver property search and reset in the Properties panel, along with&amp;nbsp;light/dark theme support to match the JetBrains Rider IDE.&lt;/p&gt;&lt;img src="https://www.devexpress.com/subscriptions/i/25.2/25-2-report-designer-jb-rider@2x.png" alt="DevExpress Report Designer for JetBrains Rider — .NET Projects Support" style="width:1594px;height:950px;"&gt;

&lt;h3 id="ai-powered-enhancements"&gt;AI-powered Enhancements&lt;/h3&gt;
&lt;h4 id="wpf-report-designer--ai-powered-expressions"&gt;WPF Report Designer — AI-powered Expressions&lt;/h4&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;WPF&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="development"&gt;In Development&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;DevExpress &lt;strong&gt;WPF Report Designer&lt;/strong&gt; will support expression generation via natural language queries, and will match the AI-powered expression capabilities already available in our&amp;nbsp;&lt;strong&gt;WinForms&lt;/strong&gt; and &lt;strong&gt;Web Report Designer&lt;/strong&gt;. Report creators can describe the desired logic in plain text, and the AI assistant will generate appropriate expression syntax. This update will deliver AI-powered expression parity across all supported desktop and web platforms.&lt;/p&gt;
&lt;h4 id="ai-prompt-to-report-wizard--optimization"&gt;AI Prompt-to-Report Wizard — Optimization&lt;/h4&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;WinForms&lt;/span&gt;
    &lt;span class="platform"&gt;WPF&lt;/span&gt;
    &lt;span class="platform"&gt;ASP.NET Core&lt;/span&gt;
    &lt;span class="platform"&gt;Blazor&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="development"&gt;In Development&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;We will optimize the &lt;strong&gt;AI Prompt-to-Report Wizard&lt;/strong&gt;&amp;nbsp;so that users can&amp;nbsp;input shorter prompts and produce more consistent, production-ready report output. Our updated implementation will use a multi-agent workflow and  reduce token consumption per report generation request.&lt;/p&gt;&lt;img src="https://community.devexpress.com/blogs/reporting/2026/roadmap/reporting-v26.1-roadmap-agentic-workflow@2x.png" alt="AI Prompt-to-Report Wizard —Multi-Agentic Workflow" style="width:1560px;height:900px;"&gt;&lt;h4 id="web-and-wpf-report-designer--ai-powered-chat-assistant"&gt;Web and WPF Report Designer — AI-powered Chat Assistant&lt;/h4&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;WinForms&lt;/span&gt;
    &lt;span class="platform"&gt;WPF&lt;/span&gt;
    &lt;span class="platform"&gt;ASP.NET Core&lt;/span&gt;
    &lt;span class="platform"&gt;Blazor&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="not-started"&gt;Planned&lt;/span&gt;
&lt;/p&gt;

&lt;span&gt;&lt;p&gt;Our &lt;strong&gt;WinForms End-User Report Designer&lt;/strong&gt; includes an &lt;a href="https://docs.devexpress.com/XtraReports/405498/ai-powered-functionality/desktop-reporting/modify-report-in-win-report-designer" target="_blank" title="Modify Report Behavior in the WinForms Report Designer (CTP)"&gt;AI Assistant panel&lt;/a&gt; that allows users to add, remove, and modify report elements, properties, and data bindings using natural language commands. In v26.1, we will extend this capability to our &lt;strong&gt;Web&lt;/strong&gt; and &lt;strong&gt;WPF Report Designer&lt;/strong&gt; components and add the following new features:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Built-in tools that enable AI to search relevant end-user documentation&lt;/li&gt;&lt;li&gt;Wizards that can be launched via AI commands&lt;/li&gt;&lt;li&gt;Enhanced interaction with the designer environment&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Stay tuned for updates as development continues.&lt;/p&gt;&lt;/span&gt;&lt;h4 id="agentsmd-for-ai-coding-assistants"&gt;AGENT.md for AI Coding Assistants&lt;/h4&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;Visual Studio Code&lt;/span&gt;
    &lt;span class="platform"&gt;Cursor&lt;/span&gt;
    &lt;span class="platform"&gt;GitHub Copilot&lt;/span&gt;
    &lt;span class="platform"&gt;Claude Code&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="not-started"&gt;Planned&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;Developers who use AI-powered code assistant tools will receive more accurate and context-aware answers when they work with DevExpress Reports. We will create an *.agent.md file that equips AI coding assistants, such as &lt;a href="https://devblogs.microsoft.com/visualstudio/custom-agents-in-visual-studio-built-in-and-build-your-own-agents/" target="_blank" title="Custom Agents in Visual Studio: Built in and Build-Your-Own agents"&gt;GitHub Copilot in Visual Studio&lt;/a&gt; and Cursor, with DevExpress Reports expertise. The file will contain API patterns, expression syntax rules, common report design examples, troubleshooting guides, and best practices.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="bi-dashboard"&gt;BI Dashboard&lt;/h2&gt;
&lt;h3 id="accessibility"&gt;Accessibility&lt;/h3&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;ASP.NET Core&lt;/span&gt;
    &lt;span class="platform"&gt;ASP.NET WebForms&lt;/span&gt;
    &lt;span class="platform"&gt;ASP.NET MVC&lt;/span&gt;
    &lt;span class="platform"&gt;Blazor&lt;/span&gt;
    &lt;span class="platform"&gt;Angular&lt;/span&gt;
    &lt;span class="platform"&gt;React&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="not-started"&gt;Planned&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;We will continue to improve accessibility across BI Dashboard components. v26.1 will introduce color-blind friendly palettes for chart visualizations, adjusted spacing between pie/donut elements for better visual separation, and continued fixes for keyboard navigation and screen reader support across dashboard item content, toolbar button states, and interactive elements.&lt;/p&gt;
&lt;h3 id="data-source-enhancements-1"&gt;Data Source Enhancements&lt;/h3&gt;
&lt;h4 id="datetimeoffset-support-1"&gt;DateTimeOffset Support&lt;/h4&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;All Platforms&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="not-started"&gt;Planned&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;DevExpress &lt;strong&gt;BI Dashboard&lt;/strong&gt; will support &lt;code&gt;DateTimeOffset&lt;/code&gt; field types so that dashboard creators can bind widgets to &lt;code&gt;DateTimeOffset&lt;/code&gt; data fields, apply filter, group, and sort operations, and display these values correctly in the &lt;strong&gt;Field List&lt;/strong&gt;. This extends the &lt;code&gt;DateOnly&lt;/code&gt; and &lt;code&gt;TimeOnly&lt;/code&gt; support introduced in v25.1 and makes the BI Dashboard compatible with data sources that store time zone-aware timestamps.&lt;/p&gt;
&lt;h3 id="customization"&gt;Customization&lt;/h3&gt;
&lt;h4 id="cards--text-and-icon-customization"&gt;Cards — Text and Icon Customization&lt;/h4&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;All Platforms&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="not-started"&gt;Planned&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;KPI cards and summary panels will deliver richer visuals with custom text and icon settings. Dashboard creators will be able to customize text appearance within &lt;strong&gt;Card&lt;/strong&gt; items, including font style and size. &lt;strong&gt;Cards&lt;/strong&gt; will also support icon display. For example, a KPI card will be able to display a custom icon alongside a metric value with a specific font size to match organizational branding guidelines.&lt;/p&gt;&lt;img src="https://community.devexpress.com/blogs/reporting/2026/roadmap/bi-dashboard-custom-cards-icons@2x.png" alt="BI Dashboard — Custom Cards" style="width:1560px;height:842px;"&gt;

&lt;h4 id="dashboard-items--margin-and-padding-control"&gt;Dashboard Items — Margin and Padding Control&lt;/h4&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;All Platforms&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="not-started"&gt;Planned&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;Fine-grain spacing control allows dashboard creators to achieve tighter or more spacious layouts for each individual item. We will add item-level padding and margin properties to dashboard items, with support for both uniform and individual side settings. Kiosk displays that require maximum data density and executive dashboards that benefit from generous whitespace can use these controls to achieve the desired layout.&lt;/p&gt;&lt;img src="https://community.devexpress.com/blogs/reporting/2026/roadmap/bi-dashboard-custom-paddings@2x.png.png" alt="BI Dashboard — Custom Padding Between Items" style="width:1180px;height:780px;"&gt;
&lt;h3 id="platform-integration"&gt;Platform Integration&lt;/h3&gt;
&lt;h4 id="blazor-dashboard--signalr-transport"&gt;Blazor Dashboard — SignalR Transport&lt;/h4&gt;
&lt;p class="tags"&gt;
    &lt;span class="platform"&gt;Blazor&lt;/span&gt;
    &lt;br&gt;
    &lt;span class="not-started"&gt;Planned&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;Developers who register custom scoped services (such as multi-tenant data filters or user-specific security providers) will benefit from consistent service lifetimes across both Blazor pages and Dashboard backend operations. We plan to transition the &lt;strong&gt;Blazor Dashboard&lt;/strong&gt; from traditional HTTP requests to SignalR-based transport for server communication. This change will allow scoped Blazor services registered within a SignalR circuit to function correctly with Dashboard controllers.&lt;/p&gt;
&lt;h2 id="your-feedback-counts"&gt;Your Feedback Counts&lt;/h2&gt;
&lt;p&gt;We value your input and encourage you to share your thoughts on these upcoming features. Your feedback will help us prioritize development efforts and ensure that our products continue to meet your evolving needs.&lt;/p&gt;
&lt;p&gt;
    
&lt;/p&gt;&lt;div data-survey-id="1169c90c-c6e2-456e-a94e-782ca03b5ade" data-survey-auth-required="false"&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="https://supportcenter.devexpress.com/"&gt;Contact us via the DevExpress Support Center&lt;/a&gt; at your convenience. We&amp;#39;ll be happy to follow up and discuss how these enhancements can benefit your specific use case.&lt;/p&gt;</description>
      <pubDate>Mon, 23 Feb 2026 23:30:00 Z</pubDate>
      <dc:creator>Dmitry Tokmachev (DevExpress)</dc:creator>
    </item>
    <item>
      <guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:388270</guid>
      <link>https://community.devexpress.com/Blogs/office/archive/2026/02/23/file-amp-document-processing-apis-june-2026-roadmap-v26-1.aspx</link>
      <category domain="https://community.devexpress.com/Tags/Accessibility">Accessibility</category>
      <category domain="https://community.devexpress.com/Tags/Document+Processing">Document Processing</category>
      <category domain="https://community.devexpress.com/Tags/featured">featured</category>
      <category domain="https://community.devexpress.com/Tags/Office">Office</category>
      <category domain="https://community.devexpress.com/Tags/Office+File+API">Office File API</category>
      <category domain="https://community.devexpress.com/Tags/PDF+Document+API">PDF Document API</category>
      <category domain="https://community.devexpress.com/Tags/presentation+api">presentation api</category>
      <category domain="https://community.devexpress.com/Tags/Roadmap">Roadmap</category>
      <category domain="https://community.devexpress.com/Tags/spreadsheet+document+api">spreadsheet document api</category>
      <category domain="https://community.devexpress.com/Tags/v26.1">v26.1</category>
      <category domain="https://community.devexpress.com/Tags/Word+Document+API">Word Document API</category>
      <title>Office File &amp; PDF Document Processing APIs  — June 2026 Roadmap (v26.1)</title>
      <description>&lt;p style="color:#333333;"&gt;We thank you for your continued support and for sharing your document processing needs and requirements with us. In this blog post, I’ll outline our development and release plans for the first half of 2026.&lt;/p&gt;
&lt;p style="color:#333333;"&gt;If you’d like to discuss this roadmap in greater detail or share a business use case that our&amp;nbsp;&lt;a href="https://www.devexpress.com/products/net/office-file-api/" target="_blank" rel="noopener" style="color:#337ab7;"&gt;Office File &amp;amp; PDF API&lt;/a&gt;&amp;nbsp;library does not currently address, feel free to submit your feedback via the DevExpress Support Center. We’ll be happy to follow up.&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&gt;Roadmap Updates&lt;/h2&gt;
&lt;div&gt;Our roadmap will be updated regularly to reflect development progress. As we get closer to the release, we expect to add additional items and modify the status of planned features. Look for the following labels next to every feature:&lt;/div&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;p class="tags"&gt;&lt;span class="not-started"&gt;Planned&lt;/span&gt; — Feature is scheduled but not yet in development.&lt;/p&gt;&lt;/li&gt;
    &lt;li&gt;&lt;p class="tags"&gt;&lt;span class="development"&gt;In Development&lt;/span&gt; — Under active development.&lt;/p&gt;&lt;/li&gt;
    &lt;li&gt;&lt;p class="tags"&gt;&lt;span class="completed"&gt;Coming in EAP v26.1&lt;/span&gt; — Will be available in our first v26.1 early access preview.&lt;/p&gt;&lt;/li&gt;
    &lt;li&gt;&lt;p class="tags"&gt;&lt;span class="completed"&gt;Coming in v26.1&lt;/span&gt; — Will be included in the final v26.1 release.&lt;/p&gt;&lt;/li&gt;
    &lt;li&gt;&lt;p class="tags"&gt;&lt;span class="completed"&gt;Released in v26.1&lt;/span&gt; — Fully implemented and available.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Safe Word &amp;amp; Excel Document Processing&lt;/h2&gt;
&lt;p class="tags"&gt;
	&lt;span class="development"&gt;In Development&lt;/span&gt;
&lt;/p&gt;
&lt;div&gt;Our Office File API libraries will include new APIs to securely load and sanitize Microsoft Office(r) files (Word, Excel). These APIs will ship with the following capabilities:&lt;/div&gt;
&lt;ul&gt;
	&lt;li&gt;Remove potentially harmful or malicious content (macros, embedded objects, links, scripts).&lt;/li&gt;
	&lt;li&gt;Remove sensitive, hidden, or private data (metadata, comments, tracked changes, optional content, and more).&lt;/li&gt;
	&lt;li&gt;Limit file size, complexity, or structure depth when uploading or saving files.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;These enhancements will help ensure documents are safe to share and compliant with internal data protection policies.&lt;/div&gt;
&lt;h2&gt;Document Processing Libraries for JAVA&lt;/h2&gt;
&lt;p class="tags"&gt;
	&lt;span class="development"&gt;In Development&lt;/span&gt;
&lt;/p&gt;
&lt;div&gt;As part of our cross-platform expansion, we are broadening the footprint of DevExpress Office &amp;amp; PDF APIs (moving to the Java platform). &lt;/div&gt;&lt;div&gt;&lt;div class="Note"&gt;&lt;strong&gt;Important note:&lt;/strong&gt; Once our Java Document Processing Library is released, it will be available as a separate/independent subscription. Java libraries will not be included in our .NET Office &amp;amp; PDF File API library.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;The following libraries are expected to be available as an early beta in our&amp;nbsp;v26.1 release cycle (and enhanced incrementally):&lt;/div&gt;
&lt;ul&gt;
	&lt;li&gt;
		&lt;strong&gt;Barcode Generation API&lt;/strong&gt; — A comprehensive library for generating barcodes (1D and 2D formats) within Java applications. This API will support common symbologies and image output formats making it suitable for labeling and scanning.&lt;/li&gt;
	&lt;li&gt;
		&lt;strong&gt;PowerPoint Presentation API&lt;/strong&gt; — A non-visual PowerPoint processing API that parallels our .NET offering and allows Java developers to programmatically create, modify, and export PPTX files. Early support will focus on slide management, text and shape manipulation, and basic chart support.&lt;/li&gt;
	&lt;li&gt;
		&lt;strong&gt;PDF Document API&lt;/strong&gt; — Core PDF file processing capabilities will be extended to Java and enable automated workflows for PDF generation, manipulation, data extraction, and export. Planned features include document creation, merging, form filling, annotating, and text management.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;PDF Processing&lt;/h2&gt;
&lt;h3&gt;New PDF Processing API&lt;/h3&gt;
&lt;p class="tags"&gt;
	&lt;span class="development"&gt;In Development&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;We will introduce new high-level APIs for PDF document generation and content management. These new APIs aim to significantly reduce the complexity of PDF document creation/editing and enable more fluent and flexible text-processing.&lt;/p&gt;
&lt;p&gt;These&amp;nbsp;new capabilities will allow you to:&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Work with high-level document objects such as paragraphs, text fragments, images, shapes, interactive forms, and annotations.&lt;/li&gt;
	&lt;li&gt;Insert, read, search, remove, and format text using semantic PDF elements with full control over font, size, and style properties.&amp;nbsp;&lt;/li&gt;
	&lt;li&gt;Work with RTL documents.&lt;/li&gt;
	&lt;li&gt;Automatically reflow content when text fragments are inserted/deleted. &amp;nbsp;&lt;/li&gt;
	&lt;li&gt;Manually tag document objects.&lt;/li&gt;
	&lt;li&gt;Сopy and reuse high-level objects across PDF documents.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;PDF/UA-2 Export&lt;/h3&gt;
&lt;p class="tags"&gt;
	&lt;span class="not-started"&gt;Planned&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;To further extend accessibility compliance in automated document workflows, we plan to introduce export options that target the PDF/UA-2 accessibility conformance level. With this capability, developers will be able to create PDFs with appropriate tags, semantics, and structural metadata required for accessibility tools (screen readers, assistive technologies).&lt;/p&gt;
&lt;h3&gt;PDF/A-4 Export&lt;/h3&gt;
&lt;p class="tags"&gt;
	&lt;span class="not-started"&gt;Planned&lt;/span&gt;
&lt;/p&gt;
&lt;div&gt;In v26.1, we expect to extend our PDF Document API’s export capabilities with PDF/A-4 compliance so that you can generate archival PDFs that meet current retention and regulatory requirements.&lt;/div&gt;
&lt;h2&gt;Excel Spreadsheet API&lt;/h2&gt;
&lt;h3&gt;Excel to PDF/UA Conversion Enhancements&lt;/h3&gt;
&lt;p class="tags"&gt;
	&lt;span class="not-started"&gt;Planned&lt;/span&gt;
&lt;/p&gt;
&lt;div&gt;We’ll enhance our Excel to PDF/UA conversion engine to address accessibility issues related to graphical object tagging and artifact generation (for decorative content).&lt;/div&gt;
&lt;h3&gt;New Excel Functions&lt;/h3&gt;
&lt;p class="tags"&gt;
	&lt;span class="development"&gt;In Development&lt;/span&gt;
&lt;/p&gt;
&lt;div&gt;We will enhance our Spreadsheet calculation engine by adding support for modern, dynamic array-based Excel functions, including functions like:&lt;/div&gt;
&lt;ul&gt;
	&lt;li&gt;XLOOKUP&lt;/li&gt;
	&lt;li&gt;XMATCH&lt;/li&gt;
	&lt;li&gt;SORT&lt;/li&gt;
	&lt;li&gt;FILTER&lt;/li&gt;
	&lt;li&gt;UNIQUE&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Presentation API&lt;/h2&gt;
&lt;h3&gt;Charts&lt;/h3&gt;
&lt;p class="tags"&gt;
	&lt;span class="development"&gt;In Development&lt;/span&gt;
&lt;/p&gt;
&lt;div&gt;In v26.1, the DevExpress Presentation API library will natively support Office/PowerPoint charts. New APIs will&amp;nbsp;allow you to create, manipulate, and customize chart objects inside PowerPoint presentations (PPTX) programmatically. This includes support for:&lt;/div&gt;
&lt;ul&gt;
	&lt;li&gt;Common MS Office chart types&lt;/li&gt;
	&lt;li&gt;Chart data initialization and binding&lt;/li&gt;
	&lt;li&gt;Data series and axis configuration&lt;/li&gt;
	&lt;li&gt;Visual format settings (titles, legends, colors, and more)&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;You will also be able to open, edit, and export existing PowerPoint presentations that contain charts without content loss.&lt;/div&gt;
&lt;h3&gt;Export Slides to Images&lt;/h3&gt;
&lt;p class="tags"&gt;
	&lt;span class="completed"&gt;Coming in EAP v26.1&lt;/span&gt;
&lt;/p&gt;
&lt;div&gt;v26.1 will add the ability to export individual slides to raster and vector image formats:&lt;/div&gt;
&lt;ul&gt;
	&lt;li&gt;BMP&lt;/li&gt;
	&lt;li&gt;PNG&lt;/li&gt;
	&lt;li&gt;JPEG&lt;/li&gt;
	&lt;li&gt;EMF&lt;/li&gt;
	&lt;li&gt;SVG&lt;/li&gt;
	&lt;li&gt;And more&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;This feature will allow you to generate thumbnail previews, create image-based slide wrappers for web or mobile consumption, and integrate slides into non-PPTX workflows in both Windows and Unix-based systems.&lt;/div&gt;
&lt;h2&gt;Your Feedback Counts&lt;/h2&gt;
&lt;div&gt;We appreciate your continued support. As I mentioned at the beginning of this post, if you have Office/PDF File API-related suggestions or requests, please submit a support ticket via the &lt;a href="https://supportcenter.devexpress.com/"&gt;DevExpress Support Center&lt;/a&gt;&amp;nbsp;— we&amp;#39;ll be happy to review your feedback and follow up.&lt;/div&gt;&lt;div data-survey-id="b7a98d1a-617c-4097-b4a9-d5bc2ad138a5" data-survey-auth-required="false"&gt;&lt;/div&gt;</description>
      <pubDate>Mon, 23 Feb 2026 04:20:00 Z</pubDate>
      <dc:creator>Maria Nikulina (DevExpress)</dc:creator>
    </item>
    <item>
      <guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:388272</guid>
      <link>https://community.devexpress.com/Blogs/wpf/archive/2026/02/23/wpf-june-2026-roadmap-v26-1.aspx</link>
      <category domain="https://community.devexpress.com/Tags/Roadmap">Roadmap</category>
      <category domain="https://community.devexpress.com/Tags/Themes">Themes</category>
      <category domain="https://community.devexpress.com/Tags/v26.1">v26.1</category>
      <category domain="https://community.devexpress.com/Tags/WPF">WPF</category>
      <title>WPF — June 2026 Roadmap (v26.1)</title>
      <description>&lt;p&gt;Thank you for choosing DevExpress and for your on-going support. We value your business.&lt;/p&gt;&lt;p&gt;In this blog post, I’ll highlight WPF-related features/capabilities we expect to ship in our upcoming mid-year release (v26.1, June 2026).&lt;/p&gt;&lt;p&gt;As always, if you have questions or suggestions, feel free to share your thoughts in the survey at the end of this post or submit a ticket via the &lt;a href="https://supportcenter.devexpress.com/ticket/list" target="_blank"&gt;DevExpress Support Center&lt;/a&gt;.&lt;br&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&gt;New WPF Fluent Theme (CTP)&lt;/h2&gt;&lt;p&gt;We are working on a new Fluent Theme built on a flexible design token–based architecture. This foundation is designed to unlock a number of key benefits across our WPF product line, including:&lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt;Enhanced&amp;nbsp;appearance&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;Support for &lt;a href="https://learn.microsoft.com/en-us/windows/apps/design/style/mica" target="_blank"&gt;Mica material&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;Flexible resource management and built-in palette customization&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;Multiple UI density modes&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;System high-contrast support&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;Centralized global font settings&lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;div class="Note"&gt;Not all of the features listed above will be available in v26.1, and final scope may change as development progresses. In v26.1, we plan to introduce the new Fluent Theme for a subset of WPF controls as part of an initial Community Technology Preview (CTP).&lt;/div&gt;&lt;p&gt;By adopting a design token–driven approach, we can deliver new themes more efficiently in the future and ensure a unified visual language across multiple product lines. For example, in DevExpress-powered Blazor Hybrid applications, Blazor and WPF views will share a &amp;quot;common&amp;quot; look and feel based on the same Fluent theme.&lt;/p&gt;&lt;p&gt;&lt;img src="https://community.devexpress.com/blogs/wpf/20260203-WPF-Roadmap-26_1/WPF-Fluent-Theme-@2x.png" alt=""&gt;&lt;br&gt;&lt;/p&gt;&lt;h2&gt;WPF Fluent Icons&lt;/h2&gt;&lt;p&gt;With v26.1, we expect to ship a comprehensive set of Fluent icons. To simplify migration to these new icons, you will be able to switch the icon set across all DevExpress controls using a single global setting.&amp;nbsp;Our new collection will include thousands of Fluent icons which can be used in any UI element with SVG support.&lt;br&gt;&lt;/p&gt;&lt;div&gt;&lt;img src="https://community.devexpress.com/blogs/wpf/20260203-WPF-Roadmap-26_1/Fluent-Icons@2x.png" alt=""&gt;&lt;h2&gt;WPF Grid Control&lt;/h2&gt;&lt;h3&gt;Column Drag &amp;amp; Drop Customization Events&lt;/h3&gt;&lt;p&gt;We expect to introduce a new event to control which drag-and-drop operations are permitted for WPF Grid Control columns. This capability will address the following usage scenarios:&lt;/p&gt; &lt;ul&gt;   &lt;li&gt; &lt;p&gt;Prevent a column from being dropped at specific positions&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Disable column reordering while still allow columns to be dragged out of the Grid or into the Column Chooser&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;Enforce&amp;nbsp;fixed grouping order (for example, ensuring a specific column always has &lt;code&gt;GroupIndex = 0&lt;/code&gt;)&lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;p&gt;You will be able to customize any column drag operation based on comprehensive information about the dragged column and the target area:&lt;/p&gt;&lt;pre&gt;&lt;code class="language-csharp"&gt;private void TableView_ColumnDragOver(object sender, ColumnDragOverEventArgs e) {
    if (e.TargetArea == HeaderArea.ColumnHeader) {
        e.Cancel = true;
    }

    // e.TargetArea
    // e.TargetIndex
    // e.SourceColumn
    // e.SourceIndex
    // e.SourceArea
    // ...
}&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;Expression Editor Support for Custom Format Conditions&lt;/h3&gt;&lt;p&gt;&lt;span style="font-family:&amp;#39;Segoe UI&amp;#39;, &amp;#39;Helvetica Neue&amp;#39;, Helvetica, Arial, sans-serif;font-size:14px;"&gt;With v26.1, users will be able to create advanced conditional formatting rules via custom expressions. This enhancement will allow users to define complex logic (such as&amp;nbsp;&lt;code class="language-csharp"&gt;[Created Date] &amp;gt; AddDays(LocalDateTimeToday(), -3)&lt;/code&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;) as requirements dictate (as you would expect, this feature/capability will offer increased flexibility when constructing formatting rules that rely on calculated values, functions, or advanced comparisons).&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="https://community.devexpress.com/blogs/wpf/20260203-WPF-Roadmap-26_1/expression-editor.gif" alt=""&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;Dependency Injection Enhancements&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;span style="font-family:&amp;#39;Segoe UI&amp;#39;, &amp;#39;Helvetica Neue&amp;#39;, Helvetica, Arial, sans-serif;font-size:14px;"&gt;With v26.1, we hope to enhance Dependency Injection (DI) support in our MVVM framework. We will introduce a new XAML markup extension that instantiates view models using a globally configured DI container:&lt;/span&gt;&lt;/p&gt;&lt;pre&gt;&lt;code class="language-csharp"&gt;var host = RegisterServices().Build();
IocServiceProvider.Default.ConfigureServices(host.Services);&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;pre&gt;&lt;code class="language-xml"&gt;&amp;lt;Window DataContext=&amp;quot;{dxmvvm:Ioc Type={Binding ViewType}}&amp;quot; /&amp;gt;&lt;/code&gt;&lt;/pre&gt;In addition, DevExpress&amp;nbsp;&lt;a href="https://docs.devexpress.com/WPF/17414/mvvm-framework/services" target="_blank"&gt;MVVM services&lt;/a&gt; will automatically resolve views from the DI container during navigation. For example, in code below,&amp;nbsp;&lt;code class="language-csharp"&gt;HomeView&lt;/code&gt;&amp;nbsp;will be created with &lt;code class="language-csharp"&gt;IDataService&lt;/code&gt;&amp;nbsp;and &lt;code class="language-csharp"&gt;ILogger&lt;/code&gt;&amp;nbsp;dependencies if they are registered in the container:&lt;pre&gt;&lt;code class="language-csharp"&gt;public class MainViewModel {
    private INavigationService NavigationService {
        get { return this.GetService&amp;lt;INavigationService&amp;gt;(); }
    }

    public void OnViewLoaded() {
        NavigationService.Navigate(&amp;quot;HomeView&amp;quot;, null, this);
    }
}

public class HomeView {
    public HomeView(IDataService dataService, ILogger logger) {
        //...
    }
}&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;Prompt to Expression in Filter Editor and Expression Editor&lt;/h2&gt;&lt;p&gt;We will add AI-powered expression generation to our WPF controls to help users create filter and unbound column expressions for data-aware WPF controls using natural language prompts. Instead of writing complex expressions, users describe the desired logic in plain text. The system will send&amp;nbsp;the prompt to the configured AI service, which will generate&amp;nbsp;an expression for the control.&lt;/p&gt;&lt;img src="https://community.devexpress.com/blogs/wpf/20260203-WPF-Roadmap-26_1/_ai-prompt-to-expression-demo.gif" alt=""&gt; &lt;h2&gt;WPF Charts –&amp;nbsp;DateOnly / Time Only Support&lt;/h2&gt;&lt;p&gt;The DevExpress WPF Chart Control will support .NET DateOnly and TimeOnly data types. You’ll be able to use these types to specify arguments, values, workday/work time options, strips, constant lines, and scale breaks, as well as to apply data filters, sorting, and summaries.&lt;/p&gt;&lt;img src="https://community.devexpress.com/blogs/wpf/20260203-WPF-Roadmap-26_1/charts-dateonly-support.png" alt=""&gt;&lt;h2&gt;WPF Pivot Grid&lt;/h2&gt;&lt;h3&gt;DateOnly / TimeOnly Support&lt;/h3&gt;&lt;p&gt;The&amp;nbsp;&lt;a href="https://docs.devexpress.com/WPF/7228/controls-and-libraries/pivot-grid" target="_blank"&gt;DevExpress WPF Pivot Grid&lt;/a&gt; will support DateOnly and TimeOnly data types (in .NET applications). You&amp;#39;ll be able to use these types with for all&amp;nbsp;data operations, including: filtering, grouping, calculating summaries etc.&lt;/p&gt;&lt;h3&gt;Filter Panel Navigation&lt;/h3&gt;&lt;p&gt;We plan to enhance the Pivot Grid’s Filter Panel to support keyboard navigation when filters are applied. Users will be able to navigate to the Filter Panel to remove individual filter nodes or modify the entire filter.&lt;/p&gt;&lt;p&gt;&lt;video autoplay="true" loop="true" muted="true"&gt;
&lt;source src="https://community.devexpress.com/blogs/wpf/20260203-WPF-Roadmap-26_1/pivot-grid-filter-panel-navigation.mp4" type="video/mp4"&gt;
&lt;/video&gt;&lt;/p&gt;&lt;div&gt;This enhancement&amp;nbsp;will help applications that use DevExpress Pivot Grid meet &lt;a href="https://www.w3.org/WAI/WCAG21/Understanding/keyboard.html" target="_blank"&gt;WCAG Keyboard (Level A)&lt;/a&gt; accessibility requirements.&lt;/div&gt;&lt;p&gt; &lt;/p&gt;&lt;/div&gt;&lt;h2&gt;Template Kit Enhancements&lt;/h2&gt;&lt;p&gt;We plan to extend DevExpress Template Kit support to include Visual Basic templates:&lt;/p&gt;&lt;div&gt;&lt;img src="https://community.devexpress.com/blogs/wpf/20260203-WPF-Roadmap-26_1/csharp-vb-template-kit.png" alt=""&gt;&lt;p&gt;In addition, we expect to introduce usability updates (such as search) to simplify navigation across our extensive  template library.&lt;/p&gt;&lt;h2&gt;&lt;/h2&gt;&lt;div&gt;&lt;h2&gt;WPF TreeList&amp;nbsp;– Performance Optimization&lt;/h2&gt;&lt;p&gt;The&amp;nbsp;&lt;a href="https://docs.devexpress.com/WPF/9759/controls-and-libraries/tree-list" target="_blank"&gt;DevExpress WPF TreeList&lt;/a&gt; will operate much faster when data is updated with a custom filter applied&amp;nbsp;(via the &lt;code class="language-csharp"&gt;CustomNodeFilter&lt;/code&gt;&amp;nbsp;event). We have identified a performance bottleneck in this usage scenario and found a way to eliminate it. Internal testing demonstrates&amp;nbsp;speed gains of up to ~85%.&lt;/p&gt;&lt;h2&gt;WPF AI Chat Control Enhancements&lt;/h2&gt;&lt;p&gt;We plan to introduce a set of small but useful APIs to help customize the DevExpress AI Chat Control. For example, new properties will allow you to specify the text displayed in an empty chat view and in an empty text input field.&lt;/p&gt;&lt;h2&gt;WPF Spreadsheet&lt;/h2&gt;&lt;h3&gt;Screen Reader Support&lt;/h3&gt;&lt;p&gt;To help meet accessibility standards, we’re beginning work on screen reader for the DevExpress Spreadsheet. As you&amp;#39;d expect, this feature will allow users to access document content via screen readers, such as Narrator and NVDA.&lt;/p&gt;&lt;h3&gt;New Excel Functions&lt;/h3&gt;&lt;p&gt;We will enhance our Spreadsheet calculation engine by adding support for modern, dynamic array-based Excel functions, including functions like:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;XLOOKUP&lt;/li&gt;&lt;li&gt;XMATCH&lt;/li&gt;&lt;li&gt;SORT&lt;/li&gt;&lt;li&gt;FILTER&lt;/li&gt;&lt;li&gt;UNIQUE&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;h2 id="reporting"&gt;WPF Reporting&lt;/h2&gt;&lt;h3 id="accessibility--export-compliance"&gt;Accessibility &amp;amp; Export Compliance&lt;/h3&gt;&lt;h4 id="docxhtml-export--accessibledescription-support"&gt;DOCX/HTML Export — AccessibleDescription Support&lt;/h4&gt;&lt;p&gt;Organizations subject to WCAG 2.2 and Section 508 requirements will be able to include meaningful alternative text for all embedded images and graphical elements in exported Word documents and HTML pages. With v26.1, DevExpress Reports will apply a report control&amp;#39;s&amp;nbsp;&lt;code&gt;AccessibleDescription&lt;/code&gt;&amp;nbsp;property value to DOCX and HTML export output. This capability is especially relevant for controls exported as images, such as&amp;nbsp;&lt;strong&gt;XRPictureBox&lt;/strong&gt;,&amp;nbsp;&lt;strong&gt;XRBarCode&lt;/strong&gt;,&amp;nbsp;&lt;strong&gt;XRShape&lt;/strong&gt;, and&amp;nbsp;&lt;strong&gt;XRChart&lt;/strong&gt;, where assistive technologies rely on alternative text to describe visual content.&lt;/p&gt;&lt;p&gt;&lt;img src="https://community.devexpress.com/blogs/reporting/2026/roadmap/reporting-v26.1-roadmap-docx-accessibility-callout.png" alt="DOCX Export — AccessibleDescription Support" style="width:1560px;height:900px;"&gt;&lt;/p&gt;&lt;h4 id="pdfua-export-enhancements"&gt;PDF/UA Export Enhancements&lt;/h4&gt;&lt;p&gt;Government agencies and enterprises that must comply with PDF/UA standards will benefit from the following PDF export capabilities in v26.1:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;XRRichText&lt;/strong&gt;&amp;nbsp;content will use proper semantic tagging and group continuous text into logical paragraphs instead of word-by-word&amp;nbsp;&lt;code&gt;&amp;lt;P&amp;gt;&lt;/code&gt;&amp;nbsp;tags.&lt;/li&gt;&lt;li&gt;The&amp;nbsp;&lt;code&gt;AccessibleDescription&lt;/code&gt;&amp;nbsp;property will apply to PDF signatures and AcroForm controls so that digitally signed or form-enabled PDF documents meet accessibility requirements.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;XRPageInfo&lt;/strong&gt;&amp;nbsp;controls will support paragraph-level semantic markup.&lt;/li&gt;&lt;/ul&gt;&lt;h3 id="data-source-enhancements"&gt;Data Source Enhancements&lt;/h3&gt;&lt;h4 id="datetimeoffset-support"&gt;DateTimeOffset Support&lt;/h4&gt;&lt;p&gt;Applications that store time zone-aware timestamps, such as financial transaction logs, audit trails, and event scheduling systems, require&amp;nbsp;&lt;code&gt;DateTimeOffset&lt;/code&gt;&amp;nbsp;support to preserve the original offset for accurate data representation. With v26.1, the Report Designer&amp;#39;s&amp;nbsp;&lt;strong&gt;Field List&lt;/strong&gt;&amp;nbsp;will display&amp;nbsp;&lt;code&gt;DateTimeOffset&lt;/code&gt;&amp;nbsp;fields and allow data binding, filter, group, and sort operations across&amp;nbsp;&lt;strong&gt;SqlDataSource&lt;/strong&gt;,&amp;nbsp;&lt;strong&gt;EFDataSource,&lt;/strong&gt;&amp;nbsp;and&amp;nbsp;&lt;strong&gt;ObjectDataSource&lt;/strong&gt;.&lt;/p&gt;&lt;h4 id="xrlabel--xrpanel--custom-border-styles-example"&gt;XRLabel &amp;amp; XRPanel — Custom Border Styles Example&lt;/h4&gt;&lt;p&gt;Invoice layouts, financial statements, and reports with visually distinct section separators often require independent border configuration per side. We will extend the&amp;nbsp;&lt;a href="https://github.com/DevExpress-Examples/Reporting-Custom-Controls"&gt;How to Create a Custom DevExpress Report Control&lt;/a&gt;&amp;nbsp;GitHub repository with a new example that demonstrates custom&amp;nbsp;&lt;strong&gt;XRLabel&lt;/strong&gt;&amp;nbsp;and&amp;nbsp;&lt;strong&gt;XRPanel&lt;/strong&gt;&amp;nbsp;controls. These custom controls will allow you to define distinct border styles and width&amp;nbsp;for top, bottom, left, and right sides independently.&lt;/p&gt;&lt;p&gt;&lt;img src="https://community.devexpress.com/blogs/reporting/2026/roadmap/reporting-v26.1-roadmap-different-borders-invoice-header@2x.png" alt="Invoice Header — Different border styles for panels" style="width:1538px;height:506px;"&gt;&lt;/p&gt;&lt;h3 id="ide-integration"&gt;IDE Integration&lt;/h3&gt;&lt;h4 id="devexpress-report-designer-for-jetbrains-rider--net-projects-support"&gt;DevExpress Report Designer for JetBrains Rider — .NET Projects Support&lt;/h4&gt;&lt;p&gt;In v25.2, we released the DevExpress Report Designer for JetBrains Rider with .NET Framework support. v26.1 will extend this integration to .NET-based projects. We also expect to deliver enhancements such as property search and reset in the Properties panel, along with light/dark theme support to match the Rider IDE.&lt;/p&gt;&lt;img src="https://www.devexpress.com/subscriptions/i/25.2/25-2-report-designer-jb-rider@2x.png" alt="DevExpress Report Designer for JetBrains Rider — .NET Projects Support"&gt;&lt;h3 id="ai-powered-enhancements"&gt;AI-powered Enhancements&lt;/h3&gt;&lt;h4 id="wpf-report-designer--ai-powered-expressions"&gt;WPF Report Designer — AI-powered Expressions&lt;/h4&gt;&lt;p&gt;The DevExpress&amp;nbsp;&lt;strong&gt;WPF Report Designer&lt;/strong&gt;&amp;nbsp;will support expression generation via natural language queries, and will match the AI-powered expression capabilities already available in&amp;nbsp;&lt;strong&gt;WinForms&lt;/strong&gt;&amp;nbsp;and&amp;nbsp;&lt;strong&gt;Web Report Designer&lt;/strong&gt;&amp;nbsp;components. Report creators can describe the desired logic in plain text, and the AI assistant will generate the appropriate expression syntax. This update achieves AI-powered expression parity across all supported desktop and web platforms.&lt;/p&gt;&lt;h4 id="ai-prompt-to-report-wizard--optimization"&gt;AI Prompt-to-Report Wizard — Optimization&lt;/h4&gt;&lt;p&gt;We will optimize the&amp;nbsp;&lt;strong&gt;AI Prompt-to-Report Wizard&lt;/strong&gt;&amp;nbsp;so that users can input shorter prompts and generate more consistent, production-ready report output. Our updated implementation will use a multi-agent workflow and will also reduce token consumption per report generation request.&lt;/p&gt;&lt;p&gt;&lt;img src="https://community.devexpress.com/blogs/reporting/2026/roadmap/reporting-v26.1-roadmap-agentic-workflow@2x.png" alt="AI Prompt-to-Report Wizard —Multi-Agentic Workflow" style="width:1560px;height:900px;"&gt;&lt;/p&gt;&lt;h2&gt;Your Feedback Matters&lt;/h2&gt;&lt;div data-survey-id="057ee579-8d7b-4821-8895-4c34d7cb3556" data-survey-auth-required="false"&gt;&lt;/div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;/div&gt;</description>
      <pubDate>Mon, 23 Feb 2026 02:00:00 Z</pubDate>
      <dc:creator>Alexander Russkov (DevExpress)</dc:creator>
    </item>
    <item>
      <guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:388273</guid>
      <link>https://community.devexpress.com/Blogs/vcl/archive/2026/02/04/vcl-june-2026-roadmap-v26-1.aspx</link>
      <category domain="https://community.devexpress.com/Tags/2026">2026</category>
      <category domain="https://community.devexpress.com/Tags/a11y">a11y</category>
      <category domain="https://community.devexpress.com/Tags/accessibility">accessibility</category>
      <category domain="https://community.devexpress.com/Tags/AI">AI</category>
      <category domain="https://community.devexpress.com/Tags/bi">bi</category>
      <category domain="https://community.devexpress.com/Tags/dashboards">dashboards</category>
      <category domain="https://community.devexpress.com/Tags/desktop">desktop</category>
      <category domain="https://community.devexpress.com/Tags/future">future</category>
      <category domain="https://community.devexpress.com/Tags/highdpi">highdpi</category>
      <category domain="https://community.devexpress.com/Tags/hybrid">hybrid</category>
      <category domain="https://community.devexpress.com/Tags/js">js</category>
      <category domain="https://community.devexpress.com/Tags/localization">localization</category>
      <category domain="https://community.devexpress.com/Tags/productivity">productivity</category>
      <category domain="https://community.devexpress.com/Tags/reports">reports</category>
      <category domain="https://community.devexpress.com/Tags/Roadmap">Roadmap</category>
      <category domain="https://community.devexpress.com/Tags/Survey">Survey</category>
      <category domain="https://community.devexpress.com/Tags/SVG">SVG</category>
      <category domain="https://community.devexpress.com/Tags/template+kit">template kit</category>
      <category domain="https://community.devexpress.com/Tags/v26.1">v26.1</category>
      <category domain="https://community.devexpress.com/Tags/VCL">VCL</category>
      <category domain="https://community.devexpress.com/Tags/windows+11">windows 11</category>
      <title>​VCL – June 2026 Roadmap (v26.1)</title>
      <description>&lt;p&gt;
&lt;/p&gt;&lt;p&gt;The following list outlines features/capabilities we expect to ship for our&amp;nbsp;&lt;a href="https://www.devexpress.com/products/vcl/"&gt;VCL UI Component Libraries -&amp;nbsp;Delphi &amp;amp; C++Builder&lt;/a&gt;&amp;nbsp;(expected release date: June 2026). As you will see, accessibility (A11Y), developer productivity, and blazing fast &lt;span&gt;pixel-perfect rendering for high-resolution displays&amp;nbsp;remain&amp;nbsp;cornerstones of our long‑term VCL &lt;a href="https://community.devexpress.com/blogs/vcl/archive/2023/12/19/vcl-subscription-drawing-engine-performance-enhancements-for-complex-data-forms-and-other-reasons-to-upgrade-to-v23-2.aspx" target="_blank"&gt;product strategy&lt;/a&gt;.&amp;nbsp;As always, our intent is also to reduce friction in day‑to‑day development tasks and help you build and maintain complex VCL applications more efficiently.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Before I detail our VCL Roadmap...if you have not yet done so, please take a moment to review&amp;nbsp;&lt;strong&gt;&lt;a href="https://www.devexpress.com/subscriptions/whats-new/#vcl" target="_blank"&gt;What&amp;#39;s New in v25.2&lt;/a&gt;&amp;nbsp;&lt;/strong&gt;(our last major VCL update)&amp;nbsp;and submit feedback using&amp;nbsp;&lt;strong&gt;&lt;a href="https://www.devexpress.com/subscriptions/whats-new/#vcl-survey" target="_blank"&gt;the inline&amp;nbsp;survey&lt;/a&gt;&lt;/strong&gt;. Your survey responses (both in the What&amp;#39;s New and in Roadmap posts such as this) help us better understand your needs/concerns and allows us to make more informed development decisions. As always, thanks to everyone who has already submitted feedback/suggestions.&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 blog post and the features/products listed within it are subject to change. You should not rely or use this information to help make a purchase decision about Developer Express Inc products.&lt;/div&gt;

&lt;h2&gt;Accessibility, Microsoft UI Automation, and Keyboard Navigation Enhancements&lt;/h2&gt;
&lt;p&gt;
As you may recall from previous announcements, accessibility (A11Y) support remains a primary focus area across all DevExpress product libraries. As you may also know, Embarcadero introduced their own Microsoft UI Automation (UIA)&amp;nbsp;support&amp;nbsp;&lt;a href="https://en.delphipraxis.net/topic/14495-uiautomation-in-delphi-13/" target="_blank"&gt;recently&lt;/a&gt;.&amp;nbsp;DevExpress VCL &lt;span&gt;efforts in this area began in 2024 (&lt;/span&gt;&lt;a href="https://docs.devexpress.com/VCL/405534/ExpressCrossPlatformLibrary/common-features/accessibility-support" target="_blank"&gt;track our current progress&lt;/a&gt;&lt;span&gt;).&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Our accessibility strategy continues to be driven by the following principles:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Make our UI components and related software libraries more accessible to people with visual impairments (via&amp;nbsp;&lt;span style="color:#505050;"&gt;narrator/screen reader apps such as NVDA or Narrator).&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Ensure that applications built with our UI components are easily testable using automated UI testing and enterprise-scale end‑to‑end frameworks powered by UIA (such as Ranorex).&lt;/li&gt;&lt;li&gt;Help our customers comply with existing A11Y-related regulations in regions such as the US and Europe (Section 508, EN 301 549, EAA).&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
Full VCL accessibility support is a large undertaking and requires significant engineering investment. In 2026, we plan to finalize our main accessibility enhancements for the VCL platform. It may include, but is not limited to better accessibility support in the following components:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Remaining Data Editors&amp;nbsp;and Forms (such as Shells, ListBoxes, Printing System dialogs, etc.) and Data Grid use-cases (like summaries)&lt;/li&gt;&lt;li&gt;Spreadsheet, Rich Text Editor, PDF Viewer, Scheduler&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;/li&gt;&lt;li&gt;Designers in the ExpressReports/ExpressDashboards products&lt;/li&gt;&lt;li&gt;Pivot Grid, Vertical/Property Grid,&amp;nbsp;&lt;span&gt;Charts, Maps&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;img src="https://www.devexpress.com/products/net/accessibility/twenty-percent-disabilities.png" alt=""&gt;&lt;/p&gt;

&lt;h2&gt;VCL Reporting&amp;nbsp;and BI Dashboard Enhancements&lt;/h2&gt;
&lt;p&gt;
Following the introduction of the new&amp;nbsp;&lt;a href="https://www.devexpress.com/products/vcl/reports/" target="_blank"&gt;ExpressReports&lt;/a&gt;&amp;nbsp;Suite/&lt;a href="https://community.devexpress.com/Blogs/vcl/archive/2025/07/02/vcl-new-subscription-for-delphi-cpp-builder-developers-to-unlock-modern-web-and-reporting-solutions-v25-1.aspx" target="_blank"&gt;VCL Subscription +&lt;/a&gt; in mid-2025&amp;nbsp;and our&amp;nbsp;&lt;a href="https://docs.devexpress.com/VCL/405642/ExpressDashboards/vcl-dashboards" target="_blank"&gt;ExpressDashboards&lt;/a&gt;&amp;nbsp;Suite preview in v25.2, VCL&amp;nbsp;v26.1 release plans include the following key initiatives for both Delphi and C++Builder developers:&lt;/p&gt;&lt;h3&gt;Expanded Demo&amp;nbsp;and Project Template Coverage&lt;/h3&gt;&lt;p&gt;For our customers, this will help everyone get started and&amp;nbsp;improve confidence for production use. For us, it will&amp;nbsp;reduce regressions via  additional automated tests. For example, imagine &lt;span&gt;using our new predefined templates/wizards&amp;nbsp;&lt;/span&gt;to create a BI-powered application for various data analytics scenarios (master-detail reports, dashboards with charts, gauges, and maps)&amp;nbsp;in a single click. Or you want to create a workflow/scheduled&amp;nbsp;job&amp;nbsp;(a Windows Service or Console application) to export reports to PDF silently, print or&amp;nbsp;email dashboard documents, modify documents (split, merge, filter, Mail Merge, etc.) without any user interaction...&amp;nbsp;We want to&amp;nbsp;have a project template for that too.&lt;/p&gt;&lt;h3&gt;Extended Learning Materials&lt;/h3&gt;&lt;p&gt;We plan to deliver 10+ additional examples/tutorials for our VCL Reports and Dashboards. If you follow our &lt;a href="https://supportcenter.devexpress.com/ticket/details/t1289718/faq-vcl-report-designer-viewer-and-bi-dashboards-expressreports-and-expressdashboards" target="_blank"&gt;FAQ&lt;/a&gt; updates, you might already see multiple new help topics recently. NOTE: our new v26.1 project templates will simplify &lt;a href="https://docs.devexpress.com/VCL/405703/ExpressCrossPlatformLibrary/vcl-backend/vcl-backend-supported-database-systems" target="_blank"&gt;database access&lt;/a&gt;&amp;nbsp;in general and our&amp;nbsp;getting started tutorials in particular (like&amp;nbsp;&lt;a href="https://docs.devexpress.com/VCL/405760/ExpressReports/getting-started/create-table-report-using-report-wizard?utm_source=SupportCenter&amp;amp;utm_medium=website&amp;amp;utm_campaign=docs-feedback&amp;amp;utm_content=T1289718"&gt;VCL Reports - Create a Table Report Using the Report Wizard&lt;/a&gt;).&lt;/p&gt;&lt;h3&gt;Additional AI-Powered Functions&lt;/h3&gt;&lt;p&gt;DevExpress VCL Reports already includes&amp;nbsp;&lt;a href="https://docs.devexpress.com/VCL/405469/ExpressReports/vcl-reports#expressreports-ai-powered-extensions" target="_blank"&gt;multiple smart functions&lt;/a&gt;&amp;nbsp;(like report generation from a prompt). We hope to derive yet more from our DevExpress .NET Reporting and BI Dashboard platforms to VCL.&lt;/p&gt;&lt;h3&gt;Additional Delphi/C++Builder APIs and Related Usability Enhancements&lt;/h3&gt;&lt;p&gt;This will help VCL developers configure/customize dashboards and reports in code easier. A few examples:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Our upcoming v25.2.5 update already includes related enhancements that made non-GUI&amp;nbsp;workflow automation/distributed scenarios possible (a GitHub example: &lt;a href="https://github.com/DevExpress-Examples/vcl-reports-filter-export-report-pdf-in-console-app" target="_blank"&gt;VCL Reports - Generate and Export Report Documents in a Headless / non-GUI Service Application&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Also in v25.2.5+, it is more natural to use TDataSource and its DataSet (a common Delphi-way) with&amp;nbsp;&lt;a href="https://docs.devexpress.com/VCL/dxBackend.ConnectionString.JSON.DataSet.TdxBackendDataSetJSONConnection" style="color:#337ab7;"&gt;TdxBackendDataSetJSONConnection&lt;/a&gt;&amp;nbsp;for ORM-based integrations like RemObjects&amp;#39; Data Abstract (&lt;a href="https://supportcenter.devexpress.com/ticket/details/t1318335/is-it-possible-to-use-tdatasource-in-tdxbackenddatasetjsonconnection" target="_blank"&gt;thanks to customer feedback&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;In v26.1, we will introduce new OnViewer/DesignerFormShow, OnExport, and other events into TdxReport/TdxDashboard to help developers customize the End-User Report Designer and Print Preview forms easier (for example, to resize forms or make forms non-modal for MDI-based apps).&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
Some initiatives (especially AI and distributed/workflow&amp;nbsp;service scenarios) depend on cross-team alignment and technical validation
to ensure the final experience meets DevExpress quality standards.&lt;/p&gt;&lt;p&gt;&lt;img src="https://www.devexpress.com/subscriptions/i/25.2/25-2-vcl-dashboards-tdxdashboardcontrol-example@2x.png" alt=""&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="https://www.devexpress.com/subscriptions/i/25.2/25-2-vcl-reports-subreport-in-report-designer@2x.png" alt=""&gt;&lt;br&gt;&lt;/p&gt;

&lt;h2&gt;High DPI Rendering and Performance Enhancements&lt;/h2&gt;

&lt;p&gt;VCL &lt;strong&gt;v25.2.5+ (and v26.1)&lt;/strong&gt;&amp;nbsp;introduces noticeable performance-related enhancements for VCL apps running on 4K+ displays.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Form resize performance&amp;nbsp;on Windows 11 and WXI Compact is now 30-35% better for&amp;nbsp;TdxRibbonForm (with rounded corners and other default settings).&lt;/li&gt;&lt;li&gt;Other optimizations to skinned forms and vector‑based UI elements. For example, you may notice that our Mail Client demo forms are rendered 10-20% faster.&lt;/li&gt;&lt;li&gt;Form shadow rendering enhancements. We made a new shadow (TdxWindowFrame), which behaves like the native/system OS shadow, but is 10x faster than our shadow. The new shadow also has a bigger &amp;quot;resize zone&amp;quot; and different display for active/inactive forms. The new shadow is always used on Windows 11 (and on Windows 10 when the form has square corners). Once again, we thank you for your&amp;nbsp;&lt;a href="https://supportcenter.devexpress.com/ticket/details/t1292384/form-resize-area-is-too-small-on-monitors-with-a-scale-factor-exceeding-100" target="_blank"&gt;feedback&lt;/a&gt;&amp;nbsp;in this regard.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;img src="https://community.devexpress.com/blogs/vcl/image_5.png" alt=""&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="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:30px;"&gt;&lt;img src="https://community.devexpress.com/blogs/vcl/image_6.png" alt=""&gt;&lt;br&gt;&lt;/span&gt;&lt;/p&gt;

&lt;h2&gt;Fluent UI Support -&amp;nbsp;Replicate Modern Microsoft Outlook and Teams User Interfaces&lt;/h2&gt;

&lt;p&gt;In v26.1, we will start&amp;nbsp;our work on modern  Fluent UI support, bringing VCL applications closer to contemporary Windows UI standards inspired by Microsoft Fluent 2 Design&amp;nbsp;System and &amp;quot;new&amp;quot; Microsoft Outlook and Teams apps.&amp;nbsp;&lt;span&gt;Our goal is to allow VCL developers to adopt a more modern visual language progressively, without forcing large‑scale rewrites or breaking existing UI layouts.&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Our&amp;nbsp;work will likely continue into v26.2 due to its scope  (it also took two majors for our .NET WinForms and WPF platforms - &lt;a href="https://community.devexpress.com/blogs/winforms/archive/2025/02/18/winforms-june-2025-roadmap-v25-1-.aspx" target="_blank"&gt;learn more from the&amp;nbsp;roadmap&lt;/a&gt;).&amp;nbsp;&lt;strong&gt;Planned areas of v26.1 investments include:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Refinements to existing VCL visual elements to better align with Microsoft Fluent UI principles (for example,&amp;nbsp;&lt;span style="font-weight:normal;"&gt;&lt;a href="https://www.devexpress.com/subscriptions/whats-new/#winforms-outlook-side-panel" style="font-weight:normal;"&gt;Outlook-inspired Side Panel&lt;/a&gt;&lt;/span&gt;,&amp;nbsp;&lt;span style="font-weight:normal;"&gt;&lt;a href="https://www.devexpress.com/subscriptions/new-2025-1.xml#winforms-rounded-panel" style="font-weight:normal;"&gt;Rounded Skin Panel&lt;/a&gt;, Ribbon and Layout control enhancements&lt;/span&gt;).&lt;/li&gt;&lt;li&gt;New project and form templates (for the VCL Template Kit)&lt;/li&gt;&lt;li&gt;Updated Mail Client demo or a new Outlook-Inspired Demo (like in WinForms/WPF below).&lt;/li&gt;&lt;li&gt;New Fluent icons with &lt;a href="https://www.devexpress.com/subscriptions/whats-new/#winforms-svg-icon-colorization"&gt;SVG Icon Colorization&lt;/a&gt;&amp;nbsp;support&lt;/li&gt;&lt;li&gt;&lt;/li&gt;&lt;li&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;img src="https://www.devexpress.com/subscriptions/i/25.2/25-2-winforms-ribbon-form-side-pane@2x.gif" alt=""&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="https://community.devexpress.com/blogs/winforms/2025-1-roadmap/ms-new-outlook.png" alt=""&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;

&lt;h2&gt;VCL Template Kit - Cut Time to Market with&amp;nbsp;Project and&amp;nbsp;Form Templates&amp;nbsp;&lt;/h2&gt;

&lt;p&gt;
In v26.1, we will introduce a VCL Template Kit designed to quickly create common VCL application types and frequently used UI forms. This new Template Kit will include both project templates and
form templates, allowing you to scaffold complete applications
or add new forms and modules to existing projects in just a few steps.&amp;nbsp;&lt;span&gt;Very similar to&amp;nbsp;&lt;/span&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=DevExpress.devexpress-template-kit-for-visual-studio" target="_blank"&gt;its DevExpress .NET counterpart&lt;/a&gt;&lt;span&gt;, the VCL Template Kit is intended to address typical business app usage scenarios (such as data‑centric forms, master‑detail layouts, and common navigation patterns) and will evolve over time based on customer feedback throughout 2026.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
&lt;strong&gt;Our goal with this initiative is to:&lt;/strong&gt;
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Reduce time spent on repetitive project and form setup (for example, 1-2 clicks instead of minutes-hours).&lt;/li&gt;&lt;li&gt;Encapsulate DevExpress VCL best practices introduced in recent releases (for example, accessibility, a global Skin Controller and vector skins, a single SVG image list for menu and navigation vs multiple images lists with duplicate images, modern Fluent UI layouts).&lt;/li&gt;&lt;li&gt;Improve onboarding for new VCL developers while boosting productivity for experienced teams (for example, get started with our VCL Reporting and BI Dashboard platforms or DevExpress AI-powered smart functions).&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Initial list of  templates includes, but is not limited to the following:&lt;br&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Outlook-inspired application (powered by our new Fluent UI Design System and inspired by the &amp;quot;new&amp;quot; Microsoft Outlook)&lt;/li&gt;&lt;li&gt;Reporting Application, BI Dashboard application (with options to select Designer, Viewer and also a&amp;nbsp;file system/database/embedded layout storage, whether to use a separate or embedded&amp;nbsp;backend service,&amp;nbsp;whether to enable AI functions, etc); &lt;/li&gt;&lt;li&gt;Ribbon-based and Toolbar-based application (with options to select a Classic or single-lined ribbon, icon size, etc.); &lt;/li&gt;&lt;li&gt;Data-aware application (options to select data grid, treelist, pivot, chart, etc.). &lt;/li&gt;&lt;li&gt;JavaScript Hybrid VCL application (for example, to integrate an &lt;a href="https://github.com/DevExpress-Examples/vcl-hybrid-html-editor-demo-app" target="_blank"&gt;HTML Editor&lt;/a&gt; or &lt;a href="https://microsoft.github.io/monaco-editor/" target="_blank"&gt;Syntax Editor&lt;/a&gt; components using popular DevExpress or free/open-source JS libs).&lt;/li&gt;&lt;li&gt;Tabbed MDI, Tile, and&amp;nbsp;Wizard application&lt;/li&gt;&lt;li&gt;Middle-Tier Security application (no direct database connection) &lt;/li&gt;&lt;li&gt;Office-inspired application (Word Processing, Spreadsheet, PDF Viewer, Scheduling, Mapping component integrations)&lt;/li&gt;&lt;li&gt;Splash Screens/Wait and Overlay Forms/Loading Panels&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://community.devexpress.com/blogs/mobile/wizard-images-for-marketplace/Nav_Types.png" alt=""&gt;&lt;/p&gt;

&lt;h2&gt;VCL Splash Screen Manager - Repeatable and Error-Prone Development Tasks Made Easy&lt;/h2&gt;

&lt;p&gt;
In v26.1, we plan to introduce a VCL Splash Screen Manager&lt;strong&gt; &lt;/strong&gt;(TdxSplashScreenManager)
designed to simplify the creation and management of loading forms (aka&amp;nbsp;splash screens, loading panels, wait and overlay forms). This new component will provide a centralized and consistent way to display
splash screens during application startup or long‑running operations.&amp;nbsp;&lt;span&gt;As you&amp;#39;d expect, TdxSplashScreenManager API and capabilities will be similar to its&amp;nbsp;&lt;/span&gt;&lt;a href="https://docs.devexpress.com/WindowsForms/10826/controls-and-libraries/forms-and-user-controls/splash-screen-manager?p=netframework" target="_blank"&gt;.NET WinForms/WPF counterpart&lt;/a&gt;&lt;span&gt;&amp;nbsp;(see example code below). Of course, our new VCL Template Kit will include  customizable splash form templates,&amp;nbsp;to get started in a few clicks.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;span&gt;The VCL Splash Screen Manager will also&amp;nbsp;reduce boilerplate code and improve maintainability while delivering a polished user experience in data‑centric applications.&amp;nbsp;&lt;/span&gt;Even with AI coding assistants today, generating splash screen screens yourself  across your application can easily go wrong due to Win32 API or known VCL multi-threading quirks (&lt;/span&gt;&lt;a href="https://en.delphipraxis.net/topic/14359-automated-splash-window-with-fully-alive-automated-progress-bar-made-100-with-claude-code/" target="_blank"&gt;a real community example&lt;/a&gt;&lt;span&gt;). With our new component,&amp;nbsp;&lt;/span&gt;VCL developers will no longer&amp;nbsp;deal with low-level window lifecycle (such as main UI thread message loop)&amp;nbsp;and repeatable ad‑hoc logic (such as fade-in and fade-out animations) - they will focus on top-level design and business&amp;nbsp;logic only.&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Key goals for the VCL Splash Screen Manager include:&lt;/strong&gt;
&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Simplified splash screen design, invocation, progress update&amp;nbsp;and shutdown (with&amp;nbsp;support for&amp;nbsp;&lt;span&gt;background&amp;nbsp;operations/threads)&lt;/span&gt;&lt;/li&gt;
  &lt;li&gt;Better integration with modern VCL rendering in high‑DPI environments (vector skins, animations,&amp;nbsp;multiple appearance options)&lt;/li&gt;
  &lt;li&gt;Improved consistency across applications that require startup or progress UI (reusable form templates and&amp;nbsp;&lt;span&gt;RAD Studio&amp;nbsp;integration&lt;/span&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;img src="https://community.devexpress.com/blogs/vcl/image_9.png" alt=""&gt;&lt;img src="https://community.devexpress.com/blogs/vcl/image_10.png" alt=""&gt;


&lt;h2&gt;BBCode-Inspired Rich Text Formatting for Additional UI Elements&lt;/h2&gt;

&lt;p&gt;
In v26.1, we plan to extend &lt;a href="https://docs.devexpress.com/VCL/405219/ExpressCrossPlatformLibrary/common-features/bbcode-inspired-text-formatting-markup#supported-controls" target="_blank"&gt;BBCode support&lt;/a&gt; across a wider range of
VCL UI elements and captions:&lt;/p&gt;



&lt;ul&gt;
  &lt;li&gt;Column headers in Data Grid, TreeList, and PivotGrid controls;&lt;/li&gt;
  &lt;li&gt;Form captions and window headers;&lt;/li&gt;
  &lt;li&gt;Captions and labels in charts, buttons, and other UI elements;&lt;/li&gt;
  &lt;li&gt;Screentips and other tooltip‑style UI surfaces.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
The goal is to improve visual expressiveness and clarity
in data‑centric and information‑dense applications (without introducing
custom drawing logic or breaking existing layouts). As with other BBCode‑enabled features, formatting will remain optional and
fully backward‑compatible with applications that rely on plain text captions.&lt;/p&gt;


&lt;img src="https://docs.devexpress.com/VCL/images/ExpressCrossPlatformLibrary/vcl-editors-formatted-text-editor@2x.png" style="font-family:&amp;#39;Segoe UI&amp;#39;, &amp;#39;Helvetica Neue&amp;#39;, Helvetica, Arial, sans-serif;" alt=""&gt;

&lt;h2&gt;RAD Studio vNEXT Support&lt;/h2&gt;

&lt;p&gt; We will continue to track Embarcadero’s RAD Studio roadmap closely. As new IDE versions and updates become available, v26.1 will include the necessary testing, build pipeline updates, and installer changes required to ensure a smooth development experience for active subscribers. For example, we&amp;#39;ve&amp;nbsp;already researched the new cool features&amp;nbsp;introduced for Windows desktop development in the latest version of RAD Studio 13.1 (Beta).&lt;/p&gt;

&lt;h2&gt;VCL Localization Reimagined - Research DevExpress Localization Tool Integration&lt;/h2&gt;


&lt;p&gt; In v26.1, we will evaluate how modern localization workflows and tooling can be applied to VCL applications. Ideal or final destination is to potentially deprecate the existing &lt;a href="https://docs.devexpress.com/VCL/154039/ExpressCrossPlatformLibrary/how-to/localize-an-application" target="_blank"&gt;VCL Localizer Editor&lt;/a&gt; in favor of a new and better&amp;nbsp;&lt;a href="https://docs.devexpress.com/GeneralInformation/405620/localization/localization-tool" target="_blank"&gt;DevExpress Localization Tool&lt;/a&gt;&amp;nbsp;by v26.2 or so.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Our&amp;nbsp;research goals include:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
 &lt;li&gt;Assess integration scenarios between VCL controls and the new tool&amp;nbsp;&lt;span&gt;(&lt;span&gt;one and better tool to rule/localize all DevExpress platforms)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
 &lt;li&gt;Simplify localization workflows and improve translation accuracy and consistency (reuse strings&amp;nbsp;between similar&amp;nbsp;.NET and&amp;nbsp;VCL UI elements)&lt;/li&gt;
 &lt;li&gt;Ensure long‑term maintainability and backward compatibility for existing&amp;nbsp;customer apps (&lt;span&gt;make an adapter between INI files and the new format)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;VCL Office File API - Research User Demand and Technical Feasibility&lt;/h2&gt;
&lt;p&gt;As you might know, we have a powerful&amp;nbsp;&lt;a href="https://www.devexpress.com/products/net/office-file-api/" target="_blank"&gt;.NET Office File API library&lt;/a&gt; for non-visual PDF, Word, Excel, and PowerPoint document processing.&amp;nbsp;These non‑visual Office file format processing APIs are also at the core of many DevExpress Office-inspired UI components such as .NET Rich Text Editors. &lt;/p&gt;&lt;p&gt;For us (internally),&amp;nbsp;it is interesting to further isolate and enhance non-visual VCL Office File APIs (TdxRichEditDocumentServer, TdxPDFDocument, and&amp;nbsp;something from our VCL Spreadsheet component) based on our existing .NET code. &lt;span&gt;Especially when&amp;nbsp;C# to Delphi conversion is now easier with AI.&amp;nbsp;&lt;/span&gt;This would potentially&amp;nbsp;simplify visual component maintenance (VCL Rich Text Editor, PDF Viewer, Spreadsheet). &lt;/p&gt;&lt;p&gt;For customers (externally), it can help expand support beyond Windows desktop application types&amp;nbsp;to macOS/Linux/mobile/web (&amp;quot;Hi again, FMX!&amp;quot;). Even for Windows OS only, we are aware of multiple customer requests where non-visual document processing APIs would be helpful in non-GUI/service applications (very similar to what we discussed for VCL Reporting/BI Dashboard above). I hope to finalize this research by the end of 2026.&lt;/p&gt;

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

&lt;p&gt;As always, we welcome your feedback. Should you have specific questions related to our v26.1 release, please submit a support ticket via the DevExpress Support Center.&lt;/p&gt;&lt;div data-survey-id="bb83701a-95c4-4930-8262-9781849d124b" 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;</description>
      <pubDate>Wed, 04 Feb 2026 10:22:00 Z</pubDate>
      <dc:creator>Dennis Garavsky (DevExpress)</dc:creator>
    </item>
    <item>
      <guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:388264</guid>
      <link>https://community.devexpress.com/Blogs/aspnet/archive/2026/01/08/devexpress-blazor-ai-chat-agent2agent-a2a-protocol-integration.aspx</link>
      <category domain="https://community.devexpress.com/Tags/A2A">A2A</category>
      <category domain="https://community.devexpress.com/Tags/Agent">Agent</category>
      <category domain="https://community.devexpress.com/Tags/AI">AI</category>
      <category domain="https://community.devexpress.com/Tags/Blazor">Blazor</category>
      <category domain="https://community.devexpress.com/Tags/Chat+UI">Chat UI</category>
      <category domain="https://community.devexpress.com/Tags/LLM">LLM</category>
      <title>DevExpress Blazor AI Chat — Agent2Agent (A2A) Protocol Integration</title>
      <description>&lt;p&gt;Modern AI-powered applications increasingly implement automated functions through specialized AI agents. The statistics show impressive growth: &lt;a href="https://www.index.dev/blog/ai-agents-statistics" target="_blank" title="50+ Key AI Agent Statistics and Adoption Trends in 2025"&gt;in 2025, 85% of organizations have integrated AI agents into at least one workflow&lt;/a&gt;. Users now expect conversational interfaces for various business tasks: customer service automation, personalized shopping assistance, financial transaction management, content creation, and streamlined workflow coordination.&lt;/p&gt;
&lt;p&gt;The key distinction between AI agents and working with standard large language models lies in a simple formula: an agent equals LLM plus instructions and tools it can invoke, representing&amp;nbsp;an autonomous system. &lt;/p&gt;&lt;p&gt;&lt;img src="https://community.devexpress.com/blogs/aspnet/25.2/a2a/a2a-what-is-an-agent.png" alt="What is an AI Agent — Diagram" style="width:2360px;height:1336px;"&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Source/Credit: &lt;a href="https://www.youtube.com/watch?v=DUdRdeUtuZQ" target="_blank" title="Azure AI Foundry: The AI app and Agent Factory | BRK155"&gt;Microsoft Developer YouTube channel&lt;/a&gt;.&amp;nbsp;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;While LLMs can only generate text, agents extend these capabilities into actionable intelligence by integrating external APIs, accessing databases, managing files, and connecting with enterprise systems. This transforms them from passive text generators into autonomous systems capable of executing complex, multi-step tasks. One of the first agents that was introduced in the industry were&amp;nbsp;ChatGPT plugins that added web browsing and code interpreter capabilities (allowing the LLM to search the Web and execute code while replying to a user query).&lt;/p&gt;
&lt;p&gt;In April 2025, Google introduced its&amp;nbsp;&lt;a target="_blank" href="https://a2a-protocol.org/latest"&gt;Agent2Agent (A2A) protocol&lt;/a&gt; — an open standard for standardizing communication between agents. The protocol has gained support from over 150 organizations, including tech giants like Microsoft, Salesforce, SAP, ServiceNow, and Amazon Web Services. The protocol&amp;#39;s advantage lies in enabling agents developed by different teams on various platforms to seamlessly exchange information and coordinate actions, creating essentially an &amp;quot;internet of agents&amp;quot; or &amp;quot;agentic web&amp;quot; — similar to how HTTP allowed websites to interact with each other.&lt;/p&gt;
&lt;p&gt;The benefits notwithstanding, integrating agents with user interface components presents technical challenges. Agents use structured data exchange formats and support complex task lifecycles, while chat components expect simple text messages and streaming responses. In this article, I describe how to connect the &lt;a target="_blank" href="https://docs.devexpress.com/Blazor/405290/components/ai-chat"&gt;DevExpress Blazor AI Chat&lt;/a&gt; component to A2A protocol-compliant agents with a small adapter. The implementation hosts four agents in separate ASP.NET Core servers and switches agents at runtime within a single chat UI. The sample also includes a &lt;em&gt;Researcher&lt;/em&gt; agent from the official &lt;a target="_blank" href="https://github.com/a2aproject/a2a-dotnet"&gt;Microsoft A2A .NET SDK samples&lt;/a&gt; to show compatibility with existing agents.&lt;/p&gt;
&lt;div class="Note"&gt;
    &lt;p&gt;This example focuses on agent connectivity rather than orchestration. The A2A protocol supports advanced inter-agent patterns such as routing, delegation, and task handoffs, but this sample does not implement them. Any A2A-compliant agent can connect to the Blazor AI Chat component with the approach documented here.&lt;/p&gt;
&lt;/div&gt;
&lt;h2 id="architectureoverview"&gt;Architecture Overview&lt;/h2&gt;
&lt;p&gt;The solution uses a distributed layout. A shared library defines all agent classes and base types. Four ASP.NET Core projects host &lt;strong&gt;Poem&lt;/strong&gt;, &lt;strong&gt;Shakespearean Style&lt;/strong&gt;, &lt;strong&gt;Task&lt;/strong&gt;, and &lt;strong&gt;Researcher&lt;/strong&gt; agents. Each server runs on its own port and exposes a single A2A endpoint at &lt;code&gt;/agent&lt;/code&gt;. A Blazor Server app embeds the &lt;strong&gt;DevExpress AI Chat&lt;/strong&gt; component and talks to agents through &lt;code&gt;IChatClient&lt;/code&gt;-based adapters.&lt;/p&gt;
&lt;h2 id="a2acompliantagentsserverapp"&gt;Agent Server Apps&lt;/h2&gt;
&lt;p&gt;Each agent server follows the same pattern. The example below shows a minimal setup that maps the A2A pipeline to &lt;code&gt;/agent&lt;/code&gt; and wires an agent to a task manager.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;using A2A;
using A2A.AspNetCore;
using Azure;
using Azure.AI.OpenAI;
using A2AAgents.Shared;
using A2AAgentsServer.Agents;
using Microsoft.Extensions.AI;

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

TaskManager taskManager = new TaskManager();

var settings = builder.Configuration.GetSection(&amp;quot;AzureOpenAISettings&amp;quot;).Get&amp;lt;AzureOpenAIServiceSettings&amp;gt;();
if (settings == null || string.IsNullOrEmpty(settings.Endpoint) || string.IsNullOrEmpty(settings.Key) || string.IsNullOrEmpty(settings.DeploymentName))
    throw new InvalidOperationException(&amp;quot;Specify Azure OpenAI endpoint, key, and deployment name in appsettings.json.&amp;quot;);
var chatClient = new AzureOpenAIClient(new Uri(settings.Endpoint), new AzureKeyCredential(settings.Key))
    .GetChatClient(settings.DeploymentName)
    .AsIChatClient();

var agent = new PoemAgent(chatClient, taskManager);

app.UseHttpsRedirection();
app.MapA2A(taskManager, &amp;quot;/agent&amp;quot;);
app.Run();
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Shakespearean Style, Task, and Researcher servers use the same structure. They differ by agent type and the port configured in each project&amp;#39;s launch settings.&lt;/p&gt;
&lt;h2 id="protocolcompliancevalidationwitha2ainspector"&gt;Protocol Compliance Validation with a2a-inspector&lt;/h2&gt;
&lt;p&gt;All agents pass validation with the &lt;a target="_blank" href="https://github.com/a2aproject/a2a-inspector" title="a2a-inspector tool – GitHub Repository"&gt;a2a-inspector tool&lt;/a&gt;. The inspector checks Agent Card metadata, message format, and streaming support, task state signaling for task agents, and protocol version compatibility.&lt;/p&gt;
&lt;img src="https://community.devexpress.com/blogs/aspnet/25.2/a2a/a2a-inspector-poem-agent.png" alt="a2a-inspector - The Poem Agent Validation Screenshot" style="width:1616px;height:2400px;"&gt;
&lt;h2 id="bridginga2atoichatclient"&gt;Bridging A2A to IChatClient&lt;/h2&gt;
&lt;p&gt;The key to this integration is a lightweight adapter that translates between A2A protocol messages and the &lt;code&gt;IChatClient&lt;/code&gt; interface used by DevExpress Blazor AI Chat to interact with LLMs. This adapter maintains conversation context, converts chat messages to A2A protocol format, and streams responses back to the UI:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;public sealed class MessageAgentChatClient : DelegatingChatClient {
    private readonly A2AClient _agentClient;
    private readonly string _contextId;

    public MessageAgentChatClient(IChatClient innerClient, A2AClient agentClient, string contextId) 
        : base(innerClient) {
        _agentClient = agentClient ?? throw new ArgumentNullException(nameof(agentClient));
        _contextId = $&amp;quot;{contextId}-{Guid.NewGuid()}&amp;quot;;
    }

    public override async IAsyncEnumerable&amp;lt;ChatResponseUpdate&amp;gt; GetStreamingResponseAsync(
        IEnumerable&amp;lt;ChatMessage&amp;gt; messages, 
        ChatOptions? options = null,
        [EnumeratorCancellation] CancellationToken cancellationToken = default) {

        var sendParams = new MessageSendParams { 
            Message = CreateA2AMessage(messages) 
        };

        await foreach (var item in _agentClient.SendMessageStreamingAsync(sendParams, cancellationToken)) {
            if (item.Data is AgentMessage message &amp;amp;&amp;amp; message.Parts.FirstOrDefault() is TextPart textPart) {
                yield return new ChatResponseUpdate(ChatRole.Assistant, textPart.Text);
            }
        }
    }
    
    private AgentMessage CreateA2AMessage(IEnumerable&amp;lt;ChatMessage&amp;gt; messages) {
            return new AgentMessage() {
                Role = MessageRole.User,
                ContextId = _contextId,
                Parts = [new TextPart() { Text = messages.Last().Text }]
            };
        }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id="runtimeagentselection"&gt;Runtime Agent Selection&lt;/h2&gt;
&lt;p&gt;The app registers each agent as a keyed &lt;code&gt;IChatClient&lt;/code&gt; service and switches between them at runtime through a simple dropdown.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;// Register each A2A agent as a keyed IChatClient service
builder.Services.AddKeyedScoped&amp;lt;IChatClient&amp;gt;(AgentsEndpoints.PoemAgent, (provider, key) =&amp;gt;
    new MessageAgentChatClient(chatClient, 
        new A2AClient(new Uri(AgentsEndpoints.PoemAgent)), 
        AgentsEndpoints.PoemAgent));

builder.Services.AddKeyedScoped&amp;lt;IChatClient&amp;gt;(AgentsEndpoints.ShakespeareanStyleAgent, (provider, key) =&amp;gt;
    new MessageAgentChatClient(chatClient, 
        new A2AClient(new Uri(AgentsEndpoints.ShakespeareanStyleAgent)), 
        AgentsEndpoints.ShakespeareanStyleAgent));

builder.Services.AddKeyedScoped&amp;lt;IChatClient&amp;gt;(AgentsEndpoints.TaskAgent, (provider, key) =&amp;gt;
    new TaskAgentChatClient(chatClient, 
        new A2AClient(new Uri(AgentsEndpoints.TaskAgent)), 
        AgentsEndpoints.TaskAgent));

builder.Services.AddKeyedScoped&amp;lt;IChatClient&amp;gt;(AgentsEndpoints.ResearcherAgent, (provider, key) =&amp;gt;
    new TaskAgentChatClient(chatClient, 
        new A2AClient(new Uri(AgentsEndpoints.ResearcherAgent)), 
        AgentsEndpoints.ResearcherAgent));
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The &lt;a target="_blank" href="https://docs.devexpress.com/Blazor/DevExpress.AIIntegration.Blazor.Chat.DxAIChat.ChatClientServiceKey"&gt;ChatClientServiceKey&lt;/a&gt; property (available with DevExpress v25.1.4) enables runtime switching between multiple &lt;code&gt;IChatClient&lt;/code&gt; services.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-html"&gt;&amp;lt;DxAIChat @ref=&amp;quot;_dxAIChat&amp;quot; 
          UseStreaming=&amp;quot;true&amp;quot; 
          ChatClientServiceKey=&amp;quot;@CurrentServiceKey&amp;quot;
          CssClass=&amp;quot;chat-container&amp;quot; /&amp;gt;

&amp;lt;DxComboBox Data=&amp;quot;@AgentOptions&amp;quot;
            TextFieldName=&amp;quot;nameof(AgentOption.Text)&amp;quot;
            ValueFieldName=&amp;quot;nameof(AgentOption.Value)&amp;quot;
            @bind-Value=&amp;quot;@CurrentServiceKey&amp;quot; /&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id="welcomechatscreen"&gt;Welcome Chat Screen&lt;/h2&gt;
&lt;p&gt;The &lt;code&gt;EmptyMessageAreaTemplate&lt;/code&gt; shows agent descriptions and instructions when the chat is empty. This helps users understand each agent and start a conversation quickly.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-html"&gt;&amp;lt;EmptyMessageAreaTemplate&amp;gt;
        &amp;lt;div class=&amp;quot;empty-message-area&amp;quot;&amp;gt;
            &amp;lt;h4&amp;gt;🤖 Multi-Agent AI Chat&amp;lt;/h4&amp;gt;
            &amp;lt;p&amp;gt;Welcome to the Agent-to-Agent communication platform! Choose your specialized AI agent and start chatting.&amp;lt;/p&amp;gt;

            &amp;lt;div&amp;gt;
                &amp;lt;h5&amp;gt;Available Agents:&amp;lt;/h5&amp;gt;
                &amp;lt;ul class=&amp;quot;agents-list&amp;quot;&amp;gt;
                    &amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;🎭 Poem Agent:&amp;lt;/strong&amp;gt; Enter 2-5 keywords and I&amp;#39;ll generate a short lyrical poem&amp;lt;/li&amp;gt;
                    &amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;📜 Shakespearean Style Agent:&amp;lt;/strong&amp;gt; Transform your text into William Shakespeare&amp;#39;s style&amp;lt;/li&amp;gt;
                    &amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;📋 Task Agent:&amp;lt;/strong&amp;gt; Help plan and execute task descriptions&amp;lt;/li&amp;gt;
                    &amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Researcher Agent:&amp;lt;/strong&amp;gt; Agent from https://github.com/a2aproject/a2a-dotnet/blob/main/samples/AgentServer/ResearcherAgent.cs &amp;lt;/li&amp;gt;
                    &amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;💬 Default Chat Client:&amp;lt;/strong&amp;gt; Standard AI conversation&amp;lt;/li&amp;gt;
                &amp;lt;/ul&amp;gt;
            &amp;lt;/div&amp;gt;

            &amp;lt;div&amp;gt;
                &amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Current Agent:&amp;lt;/strong&amp;gt; &amp;lt;span class=&amp;quot;current-agent-badge&amp;quot;&amp;gt;@AgentOptions.FirstOrDefault(x =&amp;gt; x.Value == CurrentServiceKey)?.Text&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;
            &amp;lt;/div&amp;gt;

            &amp;lt;p class=&amp;quot;help-text&amp;quot;&amp;gt;
                &amp;lt;small&amp;gt;💡 Select an agent from the dropdown above, then type your message to start the conversation!&amp;lt;/small&amp;gt;
            &amp;lt;/p&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/EmptyMessageAreaTemplate&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;img src="https://community.devexpress.com/blogs/aspnet/25.2/a2a/dx-ai-chat-empty-state.png" alt="DevExpress Blazor AI Chat — An Empty State Screen" style="width:1672px;height:1368px;"&gt;
&lt;h2 id="userexperience"&gt;User Experience&lt;/h2&gt;
&lt;p&gt;Users can select Poem, Shakespearean Style, Task, or Researcher agents via a dropdown, utilize manual handoffs by copying output&amp;nbsp;between agents to simulate composition workflows, and enjoy streaming responses that preserve the responsive feel of AI interactions. The video below demonstrates project functionality in action:&lt;/p&gt;
&lt;video controls=""&gt;
    &lt;source src="https://community.devexpress.com/blogs/aspnet/25.2/a2a/dx-ai-chat-agents-in-action.mp4" type="video/mp4"&gt;
    Your browser does not support the video tag.
&lt;/video&gt;
&lt;h2 id="downloadthecompleteexample"&gt;Download the Complete Example&lt;/h2&gt;
&lt;p&gt;To get started with this integration, clone the &lt;a target="_blank" href="https://github.com/DevExpress-Examples/blazor-ai-chat-a2a-mode"&gt;Blazor AI Chat — Communicate with Agents That Implement Agent2Agent (A2A) Protocol&lt;/a&gt; repository from GitHub and configure your AI service provider in &lt;code&gt;appsettings.json&lt;/code&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-json"&gt;{
  &amp;quot;AzureOpenAISettings&amp;quot;: {
    &amp;quot;Endpoint&amp;quot;: &amp;quot;https://your-instance.openai.azure.com/&amp;quot;,
    &amp;quot;Key&amp;quot;: &amp;quot;your-api-key&amp;quot;,
    &amp;quot;DeploymentName&amp;quot;: &amp;quot;your-model-name&amp;quot;
  }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id="configureagentendpoints"&gt;Configure Agent Endpoints&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;AgentsEndpoints&lt;/code&gt; class centralizes agent URLs. The app uses HTTP by default and includes HTTPS alternatives as comments.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;public static class AgentsEndpoints {
    public const string PoemAgent = &amp;quot;http://localhost:5003/agent&amp;quot;;
    public const string ShakespeareanStyleAgent = &amp;quot;http://localhost:5005/agent&amp;quot;;
    public const string TaskAgent = &amp;quot;http://localhost:5007/agent&amp;quot;;
    public const string ResearcherAgent = &amp;quot;http://localhost:5009/agent&amp;quot;;
    // HTTPS alternatives:
    // public const string PoemAgent = &amp;quot;https://localhost:5004/agent&amp;quot;;
    // public const string ShakespeareanStyleAgent = &amp;quot;https://localhost:5006/agent&amp;quot;;
    // public const string TaskAgent = &amp;quot;https://localhost:5008/agent&amp;quot;;
    // public const string ResearcherAgent = &amp;quot;https://localhost:5010/agent&amp;quot;;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Start the four agent servers first (&lt;code&gt;PoemAgentServer&lt;/code&gt; on &lt;i&gt;http://localhost:5003&lt;/i&gt;, &lt;code&gt;ShakespeareanStyleAgentServer&lt;/code&gt; on &lt;i&gt;http://localhost:5005&lt;/i&gt;, &lt;code&gt;TaskAgentServer&lt;/code&gt; on &lt;i&gt;http://localhost:5007&lt;/i&gt;, &lt;code&gt;ResearcherAgentServer&lt;/code&gt; on &lt;i&gt;http://localhost:5009&lt;/i&gt;). Wait until each reports that it is listening on its port. Then start the Blazor Server app, select an agent in the UI, and start chatting. You can switch agents at runtime. The implementation supports Azure OpenAI, OpenAI API, and local runtimes like Ollama with minimal changes.&lt;/p&gt;
&lt;h2 id="yourfeedbackmatters"&gt;Your Feedback Matters&lt;/h2&gt;
&lt;p&gt;We&amp;#39;re gathering feedback to prioritize future enhancements to our AI agent integration capabilities. Please take a moment to share your experience and help us shape future AI integration features:&lt;/p&gt;
&lt;div data-survey-id="417c2966-5bc4-4437-a986-854132e72d76" data-survey-auth-required="false"&gt;&lt;/div&gt;</description>
      <pubDate>Thu, 08 Jan 2026 01:10:00 Z</pubDate>
      <dc:creator>Dmitry Tokmachev (DevExpress)</dc:creator>
    </item>
  </channel>
</rss>