<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: NocoBase</title>
    <description>The latest articles on DEV Community by NocoBase (@nocobase).</description>
    <link>https://dev.to/nocobase</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1349233%2Ffe1061e9-2897-4210-a0b2-a96c044ac3b2.jpg</url>
      <title>DEV Community: NocoBase</title>
      <link>https://dev.to/nocobase</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nocobase"/>
    <language>en</language>
    <item>
      <title>Weekly Updates: Improvements and Bug Fixes</title>
      <dc:creator>NocoBase</dc:creator>
      <pubDate>Fri, 16 Oct 2026 14:15:07 +0000</pubDate>
      <link>https://dev.to/nocobase/weekly-updates-improvements-and-bug-fixes-47bh</link>
      <guid>https://dev.to/nocobase/weekly-updates-improvements-and-bug-fixes-47bh</guid>
      <description>&lt;p&gt;Summarize the weekly product update logs, and the latest releases can be checked on &lt;a href="https://www.nocobase.com/en/blog/timeline" rel="noopener noreferrer"&gt;our blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NocoBase is currently updated across three branches: &lt;code&gt;main&lt;/code&gt;, &lt;code&gt;next&lt;/code&gt;, and &lt;code&gt;develop&lt;/code&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F66qf0fuohv233at2nnzv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F66qf0fuohv233at2nnzv.png" alt="version.png" width="800" height="267"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;main&lt;/code&gt;: The most stable version to date, recommended for installation.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;next&lt;/code&gt;: Beta version, contains upcoming new features and has been preliminarily tested. There might be some known or unknown issues. It is mainly used to collect feedback from test users and further optimize features. Ideal for test users who want to experience new features early and provide feedback.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;develop&lt;/code&gt;: Alpha version, contains the latest feature code, may be incomplete or unstable, and is mainly used for internal development and rapid iteration. Suited for technical users interested in cutting-edge product capabilities, but not recommended for production use.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  main
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjmnc6cb7az5ofw9t1ip.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjmnc6cb7az5ofw9t1ip.png" alt="main.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v2.2.25
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-10-14&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Fixed attachment previews and editor popover visibility in v2 approval form subtables. (&lt;a href="https://github.com/nocobase/nocobase/pull/10586" rel="noopener noreferrer"&gt;#10586&lt;/a&gt;)  by mytharcher&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.2.24
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-10-13&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[server]&lt;/strong&gt; Fix validation and scoping of the application name resolved from a request in the gateway. (&lt;a href="https://github.com/nocobase/nocobase/pull/10548" rel="noopener noreferrer"&gt;#10548&lt;/a&gt;)  by 2013xile&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[AI employees]&lt;/strong&gt; AI conversations now send a stable conversation-specific prompt cache key in both OpenAI API modes, allowing compatible gateways to maintain channel affinity. (&lt;a href="https://github.com/nocobase/nocobase/pull/10788" rel="noopener noreferrer"&gt;#10788&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.2.23
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-10-11&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[undefined]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;V3 workflow entry filenames now use a consistent v3- prefix with documented cross-branch synchronization rules. (&lt;a href="https://github.com/nocobase/nocobase/pull/10590" rel="noopener noreferrer"&gt;#10590&lt;/a&gt;)  by Molunerfinn&lt;/li&gt;
&lt;li&gt;Added manual Actions entry points for the workflows on NocoBase 3’s isolated branches. (&lt;a href="https://github.com/nocobase/nocobase/pull/10587" rel="noopener noreferrer"&gt;#10587&lt;/a&gt;)  by Molunerfinn&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[database]&lt;/strong&gt; Fixed a GROUP BY error on PostgreSQL when filtering by a to-many relation field and sorting by a root field on tables without a primary key constraint (&lt;a href="https://github.com/nocobase/nocobase/pull/10582" rel="noopener noreferrer"&gt;#10582&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[client]&lt;/strong&gt; Fix the issue where block settings disappear in UI Editor mode after the browser window is narrowed and then widened again (&lt;a href="https://github.com/nocobase/nocobase/pull/10583" rel="noopener noreferrer"&gt;#10583&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[undefined]&lt;/strong&gt; Preserved nightly PostgreSQL and MySQL checks after moving NocoBase 3 to its dedicated branches. (&lt;a href="https://github.com/nocobase/nocobase/pull/10589" rel="noopener noreferrer"&gt;#10589&lt;/a&gt;)  by Molunerfinn&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow: Aggregate node]&lt;/strong&gt; Fixed aggregate fields disappearing when reopening workflow Aggregate nodes with associated collections, and reduced unnecessary relation traversal when restoring saved field selections. (&lt;a href="https://github.com/nocobase/nocobase/pull/10578" rel="noopener noreferrer"&gt;#10578&lt;/a&gt;)  by mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Collection field: Many to many (array)]&lt;/strong&gt; Fix the issue where relation fields created in the v2 data source manager could not be configured in blocks (&lt;a href="https://github.com/nocobase/nocobase/pull/10581" rel="noopener noreferrer"&gt;#10581&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[File manager]&lt;/strong&gt; Fixed attachment uploads falling back to default storage by preserving direct-upload field parameters in main and sub-applications and honoring field storage for custom file collections. (&lt;a href="https://github.com/nocobase/nocobase/pull/10577" rel="noopener noreferrer"&gt;#10577&lt;/a&gt;)  by mytharcher&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.2.22
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-10-08&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Fixed empty JS action items becoming inaccessible in the UI editor. (&lt;a href="https://github.com/nocobase/nocobase/pull/10573" rel="noopener noreferrer"&gt;#10573&lt;/a&gt;)  by gchust&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[UI layout]&lt;/strong&gt; Fixed missing popup template options in action settings in the new client. (&lt;a href="https://github.com/nocobase/nocobase/pull/10574" rel="noopener noreferrer"&gt;#10574&lt;/a&gt;)  by gchust&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.2.21
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-10-06&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Fixed empty JS blocks becoming inaccessible in the UI Editor after disabling the block card. (&lt;a href="https://github.com/nocobase/nocobase/pull/10563" rel="noopener noreferrer"&gt;#10563&lt;/a&gt;)  by gchust&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Notification: Email]&lt;/strong&gt; Upgraded nodemailer, hono and moment to patched versions. (&lt;a href="https://github.com/nocobase/nocobase/pull/10569" rel="noopener noreferrer"&gt;#10569&lt;/a&gt;)  by 2013xile&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[UI templates]&lt;/strong&gt; Fixed the internal template collection appearing in block collection choices after deleting a UI template. (&lt;a href="https://github.com/nocobase/nocobase/pull/10561" rel="noopener noreferrer"&gt;#10561&lt;/a&gt;)  by gchust&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  next
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fit0xys8cxci7kol0jjde.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fit0xys8cxci7kol0jjde.png" alt="next.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v2.3.0-beta.15
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-10-15&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Fixed attachment previews and editor popover visibility in v2 approval form subtables. (&lt;a href="https://github.com/nocobase/nocobase/pull/10586" rel="noopener noreferrer"&gt;#10586&lt;/a&gt;)  by mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[server]&lt;/strong&gt; Fix validation and scoping of the application name resolved from a request in the gateway. (&lt;a href="https://github.com/nocobase/nocobase/pull/10548" rel="noopener noreferrer"&gt;#10548&lt;/a&gt;)  by 2013xile&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[AI employees]&lt;/strong&gt; AI conversations now send a stable conversation-specific prompt cache key in both OpenAI API modes, allowing compatible gateways to maintain channel affinity. (&lt;a href="https://github.com/nocobase/nocobase/pull/10788" rel="noopener noreferrer"&gt;#10788&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.3.0-beta.14
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-10-12&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[undefined]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;V3 workflow entry filenames now use a consistent v3- prefix with documented cross-branch synchronization rules. (&lt;a href="https://github.com/nocobase/nocobase/pull/10590" rel="noopener noreferrer"&gt;#10590&lt;/a&gt;)  by Molunerfinn&lt;/li&gt;
&lt;li&gt;Added manual Actions entry points for the workflows on NocoBase 3’s isolated branches. (&lt;a href="https://github.com/nocobase/nocobase/pull/10587" rel="noopener noreferrer"&gt;#10587&lt;/a&gt;)  by Molunerfinn&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed empty JS action items becoming inaccessible in the UI editor. (&lt;a href="https://github.com/nocobase/nocobase/pull/10573" rel="noopener noreferrer"&gt;#10573&lt;/a&gt;)  by gchust&lt;/li&gt;
&lt;li&gt;Fixed empty JS blocks becoming inaccessible in the UI Editor after disabling the block card. (&lt;a href="https://github.com/nocobase/nocobase/pull/10563" rel="noopener noreferrer"&gt;#10563&lt;/a&gt;)  by gchust&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[database]&lt;/strong&gt; Fixed a GROUP BY error on PostgreSQL when filtering by a to-many relation field and sorting by a root field on tables without a primary key constraint (&lt;a href="https://github.com/nocobase/nocobase/pull/10582" rel="noopener noreferrer"&gt;#10582&lt;/a&gt;)  by cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[undefined]&lt;/strong&gt; Preserved nightly PostgreSQL and MySQL checks after moving NocoBase 3 to its dedicated branches. (&lt;a href="https://github.com/nocobase/nocobase/pull/10589" rel="noopener noreferrer"&gt;#10589&lt;/a&gt;)  by Molunerfinn&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[client]&lt;/strong&gt; Fix the issue where block settings disappear in UI Editor mode after the browser window is narrowed and then widened again (&lt;a href="https://github.com/nocobase/nocobase/pull/10583" rel="noopener noreferrer"&gt;#10583&lt;/a&gt;)  by zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[sdk]&lt;/strong&gt; Upgraded axios to 1.20.0 (&lt;a href="https://github.com/nocobase/nocobase/pull/10566" rel="noopener noreferrer"&gt;#10566&lt;/a&gt;)  by 2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[File manager]&lt;/strong&gt; Fixed attachment uploads falling back to default storage by preserving direct-upload field parameters in main and sub-applications and honoring field storage for custom file collections. (&lt;a href="https://github.com/nocobase/nocobase/pull/10577" rel="noopener noreferrer"&gt;#10577&lt;/a&gt;)  by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Aggregate node]&lt;/strong&gt; Fixed aggregate fields disappearing when reopening workflow Aggregate nodes with associated collections, and reduced unnecessary relation traversal when restoring saved field selections. (&lt;a href="https://github.com/nocobase/nocobase/pull/10578" rel="noopener noreferrer"&gt;#10578&lt;/a&gt;)  by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Collection field: Many to many (array)]&lt;/strong&gt; Fix the issue where relation fields created in the v2 data source manager could not be configured in blocks (&lt;a href="https://github.com/nocobase/nocobase/pull/10581" rel="noopener noreferrer"&gt;#10581&lt;/a&gt;)  by zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[UI layout]&lt;/strong&gt; Fixed missing popup template options in action settings in the new client. (&lt;a href="https://github.com/nocobase/nocobase/pull/10574" rel="noopener noreferrer"&gt;#10574&lt;/a&gt;)  by gchust&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[UI templates]&lt;/strong&gt; Fixed the internal template collection appearing in block collection choices after deleting a UI template. (&lt;a href="https://github.com/nocobase/nocobase/pull/10561" rel="noopener noreferrer"&gt;#10561&lt;/a&gt;)  by gchust&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Notification: Email]&lt;/strong&gt; Upgraded nodemailer, hono and moment to patched versions. (&lt;a href="https://github.com/nocobase/nocobase/pull/10569" rel="noopener noreferrer"&gt;#10569&lt;/a&gt;)  by 2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Block: Kanban]&lt;/strong&gt; Fixed Kanban layout flicker when adding an AI employee action. (&lt;a href="https://github.com/nocobase/nocobase/pull/10553" rel="noopener noreferrer"&gt;#10553&lt;/a&gt;)  by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Data source: External NocoBase]&lt;/strong&gt; Fixed the type build failure caused by the axios 1.20.0 upgrade  by 2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt; Fix the issue where hidden field labels reappear and field values are empty in submitted approval details  by zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Data source: External Oracle]&lt;/strong&gt; Fixed a type error surfaced by the axios 1.20.0 upgrade  by 2013xile&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  develop
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fow9jd2rkp6w0rmrzuzwl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fow9jd2rkp6w0rmrzuzwl.png" alt="develop.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v2.4.0-alpha.10
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-10-12&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[undefined]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;V3 workflow entry filenames now use a consistent v3- prefix with documented cross-branch synchronization rules. (&lt;a href="https://github.com/nocobase/nocobase/pull/10590" rel="noopener noreferrer"&gt;#10590&lt;/a&gt;)  by Molunerfinn&lt;/li&gt;
&lt;li&gt;Added manual Actions entry points for the workflows on NocoBase 3’s isolated branches. (&lt;a href="https://github.com/nocobase/nocobase/pull/10587" rel="noopener noreferrer"&gt;#10587&lt;/a&gt;)  by Molunerfinn&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[database]&lt;/strong&gt; Fixed a GROUP BY error on PostgreSQL when filtering by a to-many relation field and sorting by a root field on tables without a primary key constraint (&lt;a href="https://github.com/nocobase/nocobase/pull/10582" rel="noopener noreferrer"&gt;#10582&lt;/a&gt;)  by cgyrock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[client]&lt;/strong&gt; Fix the issue where block settings disappear in UI Editor mode after the browser window is narrowed and then widened again (&lt;a href="https://github.com/nocobase/nocobase/pull/10583" rel="noopener noreferrer"&gt;#10583&lt;/a&gt;)  by zhangzhonghe&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed empty JS blocks becoming inaccessible in the UI Editor after disabling the block card. (&lt;a href="https://github.com/nocobase/nocobase/pull/10563" rel="noopener noreferrer"&gt;#10563&lt;/a&gt;)  by gchust&lt;/li&gt;
&lt;li&gt;Fixed empty JS action items becoming inaccessible in the UI editor. (&lt;a href="https://github.com/nocobase/nocobase/pull/10573" rel="noopener noreferrer"&gt;#10573&lt;/a&gt;)  by gchust&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[undefined]&lt;/strong&gt; Preserved nightly PostgreSQL and MySQL checks after moving NocoBase 3 to its dedicated branches. (&lt;a href="https://github.com/nocobase/nocobase/pull/10589" rel="noopener noreferrer"&gt;#10589&lt;/a&gt;)  by Molunerfinn&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[File manager]&lt;/strong&gt; Fixed attachment uploads falling back to default storage by preserving direct-upload field parameters in main and sub-applications and honoring field storage for custom file collections. (&lt;a href="https://github.com/nocobase/nocobase/pull/10577" rel="noopener noreferrer"&gt;#10577&lt;/a&gt;)  by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Aggregate node]&lt;/strong&gt; Fixed aggregate fields disappearing when reopening workflow Aggregate nodes with associated collections, and reduced unnecessary relation traversal when restoring saved field selections. (&lt;a href="https://github.com/nocobase/nocobase/pull/10578" rel="noopener noreferrer"&gt;#10578&lt;/a&gt;)  by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[UI templates]&lt;/strong&gt; Fixed the internal template collection appearing in block collection choices after deleting a UI template. (&lt;a href="https://github.com/nocobase/nocobase/pull/10561" rel="noopener noreferrer"&gt;#10561&lt;/a&gt;)  by gchust&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Collection field: Many to many (array)]&lt;/strong&gt; Fix the issue where relation fields created in the v2 data source manager could not be configured in blocks (&lt;a href="https://github.com/nocobase/nocobase/pull/10581" rel="noopener noreferrer"&gt;#10581&lt;/a&gt;)  by zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[UI layout]&lt;/strong&gt; Fixed missing popup template options in action settings in the new client. (&lt;a href="https://github.com/nocobase/nocobase/pull/10574" rel="noopener noreferrer"&gt;#10574&lt;/a&gt;)  by gchust&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Notification: Email]&lt;/strong&gt; Upgraded nodemailer, hono and moment to patched versions. (&lt;a href="https://github.com/nocobase/nocobase/pull/10569" rel="noopener noreferrer"&gt;#10569&lt;/a&gt;)  by 2013xile&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>nocode</category>
      <category>news</category>
    </item>
    <item>
      <title>How to Use AI for Business Analysis: Sales, Inventory, and Profit Analysis</title>
      <dc:creator>NocoBase</dc:creator>
      <pubDate>Wed, 14 Oct 2026 07:53:06 +0000</pubDate>
      <link>https://dev.to/nocobase/how-to-use-ai-for-business-analysis-sales-inventory-and-profit-analysis-1hdp</link>
      <guid>https://dev.to/nocobase/how-to-use-ai-for-business-analysis-sales-inventory-and-profit-analysis-1hdp</guid>
      <description>&lt;p&gt;Originally published at &lt;a href="https://www.nocobase.com/en/blog/ai-business-analysis-with-nocobase" rel="noopener noreferrer"&gt;https://www.nocobase.com/en/blog/ai-business-analysis-with-nocobase&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In previous articles, we introduced &lt;a href="https://www.nocobase.com/en/blog/build-production-ready-crm-with-ai-and-nocobase" rel="noopener noreferrer"&gt;how to build a CRM with AI and NocoBase&lt;/a&gt;, &lt;a href="https://www.nocobase.com/en/blog/enterprise-it-asset-management-system-guide" rel="noopener noreferrer"&gt;IT asset management&lt;/a&gt;, and a &lt;a href="https://www.nocobase.com/en/blog/build-production-ready-ticketing-system-with-ai" rel="noopener noreferrer"&gt;ticketing system&lt;/a&gt;, showing how AI can turn business requirements described in natural language into enterprise applications that can actually be used.&lt;/p&gt;

&lt;p&gt;Recently, in Reddit's &lt;a href="https://www.reddit.com/r/AI_Agents/comments/1w311yz/" rel="noopener noreferrer"&gt;r/AI_Agents&lt;/a&gt;, a developer shared a project they were working on: helping a small factory organize attendance and payroll data, with plans to connect an AI Agent so the owner could query employee attendance, overtime, and exception data directly through WhatsApp.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcw4cu2nye7mb109l0wf7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcw4cu2nye7mb109l0wf7.png" alt="intro-ai-agents-reddit-post-pkc444.png" width="637" height="376"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But they also had questions: once the Agent is connected, which features will the client actually need? Which ones only look good in a demo? And when the system is used in real operations, what challenges will data quality, query accuracy, and user habits create?&lt;/p&gt;




&lt;p&gt;💬 Hey, you're reading the NocoBase blog. NocoBase is the most extensible AI-powered no-code/low-code development platform for building enterprise applications, internal tools, and all kinds of systems. It’s fully self-hosted, plugin-based, and developer-friendly. → &lt;a href="https://github.com/nocobase/nocobase" rel="noopener noreferrer"&gt;Explore NocoBase on GitHub&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;The same questions apply to business analysis. When business data spans sales, inventory, procurement, and finance, looking at only one type of data is often not enough to support a complete management decision. If data sources are inconsistent or records are incomplete, AI analysis can also be affected.&lt;/p&gt;

&lt;p&gt;In this article, we use a company that sells multiple categories of electronic devices and office supplies as an example. It built an All-in-one business system with AI and NocoBase, covering sales, inventory, procurement, finance, and other modules.&lt;/p&gt;

&lt;p&gt;Using the business data accumulated in the system, we will show step by step how AI can support business analysis and combine information across different business functions to provide input for decision-making.&lt;/p&gt;

&lt;h2&gt;
  
  
  01 | Define the Business Question and Understand the Available Data
&lt;/h2&gt;

&lt;p&gt;Business decisions often involve multiple departments. Sales teams focus on customer demand and order growth, procurement teams need to plan replenishment in advance, and finance teams are more concerned with costs, collections, and the use of working capital.&lt;/p&gt;

&lt;p&gt;Sometimes sales opportunities keep increasing while inventory is already building up. In other cases, the order outlook may look positive while the company still faces cash pressure.&lt;/p&gt;

&lt;p&gt;We want to use AI to analyze a common business question:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;As sales opportunities increase, should the company keep expanding procurement, or should it prioritize controlling inventory and working-capital usage?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To answer this question, we need to understand how many orders may be coming, whether current inventory can support the expected demand, how much procurement has already been arranged, and whether the company's current financial position can support additional investment.&lt;/p&gt;

&lt;p&gt;The NocoBase All-in-one system used in this example includes sales, inventory, procurement, and finance modules. It records information ranging from customer opportunities and product inventory to purchase orders and accounts receivable.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F88pkdzadi6vlvptqpkc6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F88pkdzadi6vlvptqpkc6.png" alt="01-business-overview-dashboard-l39279.png" width="800" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These modules provide the following data for this analysis:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Business module&lt;/th&gt;
&lt;th&gt;Data in the system&lt;/th&gt;
&lt;th&gt;Role in business decisions&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Sales management&lt;/td&gt;
&lt;td&gt;Customers, sales opportunities, opportunity stages, revenue forecasts&lt;/td&gt;
&lt;td&gt;Understand potential orders and future sales demand&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Inventory management&lt;/td&gt;
&lt;td&gt;Products, inventory quantities, inventory movements, reorder points&lt;/td&gt;
&lt;td&gt;Review current inventory and possible stockout risks&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Procurement management&lt;/td&gt;
&lt;td&gt;Purchase orders, suppliers, purchase amounts, order status&lt;/td&gt;
&lt;td&gt;Understand current procurement plans and funding requirements&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Finance management&lt;/td&gt;
&lt;td&gt;Invoices, accounts receivable, expenses, budgets&lt;/td&gt;
&lt;td&gt;Review collections and operating cash pressure&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;However, simply having data in the system does not mean AI can immediately produce a reliable conclusion.&lt;/p&gt;

&lt;p&gt;💡 Further reading: &lt;a href="https://www.nocobase.com/en/blog/top-3-open-source-erp-with-ai-on-github-nocobase-vs-odoo-vs-erpnext" rel="noopener noreferrer"&gt;Top 3 Open Source ERP with AI on GitHub: NocoBase vs Odoo vs ERPNext&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For example, the expected deal value of a sales opportunity represents potential revenue, but there is still uncertainty about whether the deal will close. Current inventory needs to be assessed together with actual demand and purchase orders that have already been placed. Invoice amounts in the finance module also cannot be treated as cash already collected.&lt;/p&gt;

&lt;p&gt;This information needs to be analyzed together with the underlying business records before it can provide a reliable basis for later decisions.&lt;/p&gt;

&lt;h2&gt;
  
  
  02 | Start with Sales Opportunities to Understand Future Demand
&lt;/h2&gt;

&lt;p&gt;An increase in sales opportunities is usually a positive signal, but the company also needs to understand how likely those opportunities are to become actual orders and how much business demand they may generate.&lt;/p&gt;

&lt;p&gt;In NocoBase's sales management module, users can review customer opportunities, expected deal values, opportunity stages, and expected closing dates.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9rp10nrje7xh0zy9nsy0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9rp10nrje7xh0zy9nsy0.png" alt="02-sales-pipeline-dbtmhm.png" width="800" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Opportunities at different stages have different value for procurement planning.&lt;/p&gt;

&lt;p&gt;For example, one customer may have only just expressed purchase intent, while another is already in quotation or contract negotiation. Both count as potential sales opportunities, but they are at different distances from an actual order.&lt;/p&gt;

&lt;p&gt;For opportunities expected to close soon, the company can start monitoring the relevant products' inventory and fulfillment capacity in advance. For customers still in early-stage discussions, actual demand needs to be evaluated more cautiously to avoid arranging large purchases too early.&lt;/p&gt;

&lt;p&gt;In addition to opportunity progress, NocoBase's revenue forecast page can be used to see how potential revenue is distributed across different time periods.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fn6y9r3hsvwcazl9tnlye.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fn6y9r3hsvwcazl9tnlye.png" alt="02-sales-pipeline-d7xrjd.png" width="800" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Revenue forecasts can inform procurement planning, but final deal values, order quantities, and delivery dates may still change. Specific purchase quantities therefore still need to be determined using actual orders and product demand.&lt;/p&gt;

&lt;p&gt;Next, we continue with inventory and procurement data to see whether current stock and planned purchases can support this potential demand.&lt;/p&gt;

&lt;h2&gt;
  
  
  03 | Combine Inventory and Procurement to Evaluate Replenishment Needs
&lt;/h2&gt;

&lt;h3&gt;
  
  
  3.1 Let AI Help Identify Inventory Risks
&lt;/h3&gt;

&lt;p&gt;In NocoBase's inventory management module, users can review inventory quantities, reorder points, and historical inventory movement records for different products.&lt;/p&gt;

&lt;p&gt;The product list provides an initial view of which products are approaching their reorder points and which still have relatively high inventory. For products with low inventory, recent sales demand and supplier lead times also need to be considered before deciding whether to replenish early.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F49v2tx61kqmkogssnkdd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F49v2tx61kqmkogssnkdd.png" alt="03-product-inventory-list-uuovuz.png" width="800" height="482"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Historical movements also matter. By reviewing receipts, issues, and inventory adjustments, the company can better understand inventory trends. A product may still have plenty of inventory, for example, but if outbound volume has been very low recently, there may be a risk of overstock.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fy2gibs2hef5464w5xyfv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fy2gibs2hef5464w5xyfv.png" alt="03-stock-movement-history-om6a5r.png" width="800" height="477"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When there are many products and inventory records, reviewing them one by one can be time-consuming. We therefore tried asking AI directly from the NocoBase business page to analyze the inventory records and help identify products that may face stockout or overstock risks.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6b0yl8tieev4sayqsdpt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6b0yl8tieev4sayqsdpt.png" alt="03-stock-movement-history-et52lf.png" width="800" height="477"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;During the actual query, AI found that the system contained different inventory data sources and first needed to determine which data should be used before continuing the analysis.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwlegy2vksqw6xtdywffr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwlegy2vksqw6xtdywffr.png" alt="03-ai-inventory-data-source-akr8i9.png" width="800" height="466"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Even within inventory data, some records represent current inventory quantities while others store historical receipts, issues, and inventory adjustments. Using the wrong data source can mix up current inventory with historical movements and affect the analysis that follows.&lt;/p&gt;

&lt;p&gt;Inventory data is also only one part of deciding whether more stock needs to be purchased. The company may already have purchase orders with suppliers even if the products have not yet arrived. We therefore also need to review existing procurement arrangements to understand which needs are already covered and how much funding may be required.&lt;/p&gt;

&lt;h3&gt;
  
  
  3.2 Review Procurement Plans and Future Funding Requirements
&lt;/h3&gt;

&lt;p&gt;In NocoBase's procurement management module, users can review suppliers, purchase amounts, and order status for existing purchase orders, along with purchase commitments and supplier spending.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa7dvxolpkhi289tezfhq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa7dvxolpkhi289tezfhq.png" alt="03-purchase-orders-commitments-zqata0.png" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These records help the company understand which requirements already have procurement arranged.&lt;/p&gt;

&lt;p&gt;For example, a product may currently have low inventory, but if a corresponding purchase order is already being processed, the company should first check the ordered quantity and expected arrival time before placing another order. This helps avoid duplicate purchasing and unnecessary inventory buildup.&lt;/p&gt;

&lt;p&gt;The funding involved in procurement also needs attention. Existing purchase orders reflect the company's current procurement arrangements, but order amounts, purchase commitments, and actual payments may differ. To understand how much more funding will be required, payment records and supplier payment terms should also be considered.&lt;/p&gt;

&lt;p&gt;Combining current inventory, purchase orders, and the sales demand identified earlier helps the company assess whether additional procurement is necessary, avoiding unnecessary stock increases while existing purchases are still pending.&lt;/p&gt;

&lt;p&gt;Procurement decisions are also affected by customer collections and overall working-capital conditions. Next, we turn to the finance data.&lt;/p&gt;

&lt;h2&gt;
  
  
  04 | Review Financial Data to Understand Revenue and Profitability
&lt;/h2&gt;

&lt;p&gt;From a finance perspective, there are three main questions: How has recent revenue performed? What is the status of accounts receivable and collections? And is the available data sufficient to evaluate profitability?&lt;/p&gt;

&lt;h3&gt;
  
  
  4.1 Review Invoices and Accounts Receivable
&lt;/h3&gt;

&lt;p&gt;We first open NocoBase's finance management module and review customer invoices and related accounts-receivable records to understand invoicing, outstanding amounts, and collection progress.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqxezfvu14iyeqz7fc3g9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqxezfvu14iyeqz7fc3g9.png" alt="04-invoices-receivables-mu3cox.png" width="800" height="481"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These records are closely related to day-to-day cash planning.&lt;/p&gt;

&lt;p&gt;For example, a sales order may already have been fulfilled and invoiced, but the customer may not pay until later. If the company needs to pay suppliers at the same time, procurement cash outflows may occur before customer collections.&lt;/p&gt;

&lt;p&gt;That is why financial analysis needs to distinguish between invoice amounts, recognized revenue, accounts receivable, and cash actually collected. For a company considering additional procurement, understanding outstanding receivables and expected collection dates helps evaluate whether more purchasing will create additional cash pressure.&lt;/p&gt;

&lt;h3&gt;
  
  
  4.2 Let AI Analyze Revenue and Profitability
&lt;/h3&gt;

&lt;p&gt;Next, we ask AI to analyze the company's revenue and profitability in more depth.&lt;/p&gt;

&lt;p&gt;On the NocoBase finance page, we asked AI to analyze revenue growth and profitability using the financial data already available in the system, with the goal of understanding recent revenue changes and whether profitability had improved.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbp46m4bmbrzh7ah9r7hv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbp46m4bmbrzh7ah9r7hv.png" alt="04-ai-finance-analysis-cteu81.png" width="800" height="474"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AI queried the data it could currently access and generated a revenue-growth and profitability analysis report.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqm7wxm5qj4zmomai9lri.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqm7wxm5qj4zmomai9lri.png" alt="04-revenue-profitability-report-vcz83c.png" width="800" height="473"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The report provided analysis related to revenue, but when it tried to evaluate profitability further, AI identified a data limitation: &lt;strong&gt;the available data was not sufficient to calculate profit completely, so it could not confirm whether revenue growth had actually improved profitability.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Accurate profit calculation requires not only revenue but also the actual costs associated with the relevant products or orders. Procurement costs, transportation, warehousing, and other related expenses can all affect the final result.&lt;/p&gt;

&lt;p&gt;Even if the procurement module already records purchase-order amounts, those amounts cannot simply be treated as the cost of goods sold. The company still needs to identify which costs correspond to realized sales revenue and how related expenses should be allocated.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ff7osd75qlnqjpeao12bm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ff7osd75qlnqjpeao12bm.png" alt="04-ai-profitability-conclusion-nc0cgz.png" width="800" height="468"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If the company wants to analyze profitability by product or order in more detail, it needs to add the corresponding cost and expense records, define a clear profit-calculation method, and then combine those records with sales data.&lt;/p&gt;

&lt;h2&gt;
  
  
  05 | Combine Business Data and Let AI Support Management Decisions
&lt;/h2&gt;

&lt;p&gt;After the previous analysis, we now have separate views of potential sales demand, inventory, procurement arrangements, revenue, and collections.&lt;/p&gt;

&lt;p&gt;We then ask AI to combine these data points and help identify which business issues should receive the most attention in the next stage.&lt;/p&gt;

&lt;p&gt;💡 Further reading: &lt;a href="https://www.nocobase.com/en/blog/build-interactive-operations-dashboard-with-nocobase" rel="noopener noreferrer"&gt;Build an Interactive Operations Dashboard with NocoBase&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In NocoBase, we asked AI to perform an integrated business analysis using sales opportunities, purchase orders, purchase commitments, accounts receivable, and other available data to evaluate the relationship between future demand and funding arrangements.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9554r3i64alvjt3rf5z6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9554r3i64alvjt3rf5z6.png" alt="05-ai-decision-prompt-jlrdc3.png" width="799" height="469"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AI generated an integrated business analysis report based on the data it could access. Combining sales opportunities, procurement arrangements, and accounts receivable, the report produced three main recommendations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Prioritize customer collections.&lt;/strong&gt; Verify outstanding customer payments and expected collection dates, identify the receivables that need priority follow-up, and improve cash recovery.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Plan additional procurement cautiously.&lt;/strong&gt; Compare potential sales demand with current inventory and purchase orders already submitted to determine which products actually need early replenishment, avoiding duplicate purchasing or premature inventory buildup.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Manage working capital carefully.&lt;/strong&gt; Combine existing purchase commitments, upcoming payment plans, and expected collection dates to evaluate the working capital tied up by new purchases and plan the use of funds more reasonably.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8wxkvctk0yrvct24ww91.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8wxkvctk0yrvct24ww91.png" alt="05-working-capital-report-ozaqv9.png" width="800" height="468"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These recommendations provide a reference for the next round of business planning, but the relevant data still needs to be verified before action is taken. When adjusting procurement plans, for example, the company needs to confirm inventory quantities, inbound orders, and expected sales demand. When following up on customer collections, it needs to confirm receivable amounts, due dates, and current collection progress.&lt;/p&gt;

&lt;p&gt;In NocoBase, companies can also configure corresponding business processes as needed. Outstanding customer collections can be assigned to responsible staff, with communication and collection progress recorded. New purchase requests can use approval workflows, while role permissions define what different users are allowed to do. This allows verified analysis recommendations to be translated into concrete business actions that are then confirmed and executed by the responsible people.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Many business questions cannot be answered with a single metric. Whether sales growth justifies more procurement also depends on inventory, costs, collections, and working-capital planning. Individual indicators can reveal changes in the business, while relationships across different data sources often help teams identify the opportunities and risks that deserve more attention.&lt;/p&gt;

&lt;p&gt;With NocoBase, companies can connect and relate data distributed across different business systems, giving AI a more complete basis for analysis. As business data continues to update, AI can participate in new analyses over time, helping teams detect changes earlier and make better use of existing data in day-to-day management and decision-making.&lt;/p&gt;

&lt;p&gt;💡 &lt;strong&gt;Bring AI into existing business systems:&lt;/strong&gt; Read &lt;a href="https://www.nocobase.com/en/blog/add-ai-to-existing-enterprise-systems-with-nocobase" rel="noopener noreferrer"&gt;How to Add AI to Existing Enterprise Systems with NocoBase&lt;/a&gt; to learn how to reuse existing data and expand AI applications gradually.&lt;/p&gt;

&lt;p&gt;🚀 &lt;strong&gt;Try it yourself:&lt;/strong&gt; &lt;a href="https://demo.nocobase.com/new" rel="noopener noreferrer"&gt;Visit the NocoBase online demo&lt;/a&gt; to explore how AI, business data, and workflows can work together in the same system.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Related reading&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/build-car-rental-management-system-with-ai-and-nocobase" rel="noopener noreferrer"&gt;How to Build a Real-World Business System with AI and NocoBase: A Car Rental Management Example&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/open-source-ai-agent-platforms-for-business" rel="noopener noreferrer"&gt;10 Open-Source AI Agent Platforms for Business: From Automation to Internal Apps&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/build-production-ready-ticketing-system-with-ai" rel="noopener noreferrer"&gt;How to Build a Production-Ready Ticketing System with AI&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/building-inventory-management-system-vibe-coding-vs-nocobase-ai" rel="noopener noreferrer"&gt;Building an Inventory Management System: Vibe Coding vs NocoBase + AI&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/build-it-operations-system-with-ai-nocobase" rel="noopener noreferrer"&gt;How to Build a Production-Ready IT Operations System with AI and NocoBase&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/nocobase-vs-baserow" rel="noopener noreferrer"&gt;NocoBase vs Baserow: Flexible Databases vs Enterprise Systems&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/build-production-ready-crm-with-ai-and-nocobase" rel="noopener noreferrer"&gt;How to Build a Production-Ready CRM with AI and NocoBase&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/enterprise-it-asset-management-system-guide" rel="noopener noreferrer"&gt;How to Design an IT Asset Management System: Data Model, Lifecycle, and Workflows&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/best-smartsheet-alternatives" rel="noopener noreferrer"&gt;How to Choose a Smartsheet Alternative: 7 Tools Compared&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/open-source-ai-no-code-tools-complex-relational-models" rel="noopener noreferrer"&gt;5 Open-Source AI No-Code Tools for Complex Relational Data Models&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/what-is-ai-no-code" rel="noopener noreferrer"&gt;What Is AI No-Code? A Practical Guide to No-Code Platforms in the AI Era&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/open-source-ai-no-code-tools-github-9" rel="noopener noreferrer"&gt;9 Open-Source AI No-Code Tools on GitHub Worth Watching&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/github-open-source-ai-agent-tools-16" rel="noopener noreferrer"&gt;14 Open Source AI Agent Tools with the Most GitHub Stars&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>news</category>
      <category>nocode</category>
      <category>opensource</category>
    </item>
    <item>
      <title>How to Start Using AI Without Replacing Existing Business Systems</title>
      <dc:creator>NocoBase</dc:creator>
      <pubDate>Wed, 07 Oct 2026 08:18:18 +0000</pubDate>
      <link>https://dev.to/nocobase/how-to-start-using-ai-without-replacing-existing-business-systems-bhg</link>
      <guid>https://dev.to/nocobase/how-to-start-using-ai-without-replacing-existing-business-systems-bhg</guid>
      <description>&lt;p&gt;Originally published at &lt;a href="https://www.nocobase.com/en/blog/add-ai-to-existing-enterprise-systems-with-nocobase" rel="noopener noreferrer"&gt;https://www.nocobase.com/en/blog/add-ai-to-existing-enterprise-systems-with-nocobase&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AI capabilities are entering every part of enterprise software, from code generation and data analysis to Agents, automation, and business assistance. We previously reviewed &lt;a href="https://www.nocobase.com/en/blog/open-source-ai-agent-platforms-for-business" rel="noopener noreferrer"&gt;10 Open-Source AI Agent Platforms for Business&lt;/a&gt;, covering automation, Agent building, and internal applications. Enterprises now have more options than ever.&lt;/p&gt;

&lt;p&gt;But for companies that already rely on CRM, ERP, MES, SaaS, or custom-built systems, actually adopting AI is not that simple. Existing systems often have years of operational history, accumulated data, established processes, permission models, integrations, and user habits. Even when a company wants to add AI capabilities, migrating or rebuilding the entire system is rarely easy.&lt;/p&gt;

&lt;p&gt;Recently, in Reddit's &lt;a href="https://www.reddit.com/r/CRMSoftware/comments/1vmymee/7_years_on_salesforce_12_employees_upgrade_quote/" rel="noopener noreferrer"&gt;r/CRMSoftware&lt;/a&gt;, a small-business owner shared a similar experience.&lt;/p&gt;

&lt;p&gt;Their company started using Salesforce in 2019 with only one account and has since grown to a team of 12. Over the past seven years, they have built extensive customizations around their business, and Salesforce has gradually become a core operational system.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fyml0eub2hx05e4ff0tr2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fyml0eub2hx05e4ff0tr2.png" alt="intro-salesforce-reddit-post-wasudu.png" width="800" height="585"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As the business continued to grow, they needed more automation, cross-platform integrations, call logging, financial synchronization, LLM integrations, and forms. They also wanted to explore AI Agents, intelligent analytics, and AI-driven business automation. Continuing with Salesforce would require a plan upgrade and additional budget for APIs, Agentforce, and other third-party tools. Migrating, on the other hand, would mean dealing with custom objects, non-standard workflows, historical data, and the time and cost of the entire transition.&lt;/p&gt;

&lt;p&gt;This situation is common in many companies: there are new, relatively independent requirements, but the business still needs to keep using data from existing systems. A full migration is expensive, while rebuilding everything from scratch creates additional maintenance pressure.&lt;/p&gt;




&lt;p&gt;💬 Hey, you're reading the NocoBase blog. NocoBase is the most extensible AI-powered no-code/low-code development platform for building enterprise applications, internal tools, and all kinds of systems. It’s fully self-hosted, plugin-based, and developer-friendly. → &lt;a href="https://github.com/nocobase/nocobase" rel="noopener noreferrer"&gt;Explore NocoBase on GitHub&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;A more flexible approach is to use &lt;strong&gt;AI with NocoBase&lt;/strong&gt; to turn the new requirement into a separate internal application first. Compared with relying on AI to build everything from scratch, enterprise applications still need stable data relationships, permissions, workflows, and long-term maintainability. NocoBase already provides these foundational capabilities, while AI can help build the new application on top of them and continue using data from the existing system.&lt;/p&gt;

&lt;p&gt;This means the company does not need to solve a full-system migration at the beginning. As the new application matures, more data and business processes can be moved over gradually based on actual needs.&lt;/p&gt;

&lt;p&gt;For example, imagine a manufacturing company that already has an Inventory Management System but wants to add a &lt;strong&gt;mobile inventory counting app&lt;/strong&gt;. Warehouse staff need to scan items, enter actual quantities, and handle discrepancies on site, while continuing to use the existing product, SKU, warehouse, and inventory data. A requirement with a clear scope that still needs to reuse existing data is a good fit for building a separate application with &lt;strong&gt;AI and NocoBase&lt;/strong&gt;, then expanding it gradually based on real usage.&lt;/p&gt;

&lt;p&gt;Next, we will use this scenario to show how AI and NocoBase can turn a relatively independent new requirement into a new internal application, while gradually adding AI analysis and automation capabilities.&lt;/p&gt;

&lt;p&gt;💡 Read more: &lt;a href="https://www.nocobase.com/en/blog/building-inventory-management-system-vibe-coding-vs-nocobase-ai" rel="noopener noreferrer"&gt;Building an Inventory Management System: Vibe Coding vs NocoBase + AI&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  01 | Choose a Business Scenario That Can Be Piloted Independently
&lt;/h2&gt;

&lt;p&gt;Start with a business requirement that has a clear scope, measurable value, and can be piloted independently.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Clear scope&lt;/strong&gt;: the business objects, operating process, and users are relatively well defined, and changing this scenario does not affect multiple core systems at once.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Measurable value&lt;/strong&gt;: after the application is introduced, the team can directly observe metrics such as processing time, manual work, exception volume, and operational efficiency.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Independent pilot&lt;/strong&gt;: the application can first be used by one department, one group of users, or one business process while continuing to reuse data from the existing system.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This manufacturing company already has an Inventory Management System that manages products, SKUs, warehouses, current inventory, and inventory movements.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ft2gpbw2ug8jzg42tpru1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ft2gpbw2ug8jzg42tpru1.png" alt="01-products-inventory-qee4wq.png" width="800" height="474"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The new requirement is to let warehouse staff complete inventory counting on site, including claiming tasks, scanning items, entering actual quantities, recording inventory discrepancies, and reviewing exceptions.&lt;/p&gt;

&lt;p&gt;The division of responsibilities between the old system and the new application can therefore be defined first:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Application&lt;/th&gt;
&lt;th&gt;Responsibilities&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Existing system&lt;/td&gt;
&lt;td&gt;Inventory Management System&lt;/td&gt;
&lt;td&gt;Products, SKUs, warehouses, current inventory, inventory movements&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;New requirement&lt;/td&gt;
&lt;td&gt;Mobile inventory counting app&lt;/td&gt;
&lt;td&gt;Counting tasks, scanning, actual quantities, inventory discrepancies, discrepancy reasons, review status&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The mobile inventory counting process mainly covers task claiming, scanning, quantity entry, and discrepancy review, while continuing to use product and inventory data from the existing Inventory Management System. During the pilot, the company can start with one warehouse, one group of operators, or one inventory-counting cycle, while continuing to call the foundational data from the existing system. After launch, the team can evaluate the pilot using metrics such as counting efficiency, manual workload, and discrepancy-handling time.&lt;/p&gt;

&lt;h2&gt;
  
  
  02 | Use AI and NocoBase to Turn the New Requirement into an Internal Application
&lt;/h2&gt;

&lt;p&gt;Once the business scope is clear, the team can organize the existing system, business rules, and new requirements, then use AI to complete the initial application build.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;We already have an Inventory Management System for products, SKUs, warehouses, and current inventory. We now need a mobile inventory counting app that allows warehouse staff to view counting tasks, scan items, enter actual quantities, record inventory discrepancies, and review exception data.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The Coding Agent can use these requirements to organize the application structure and configure the data model, pages, role permissions, and workflows in NocoBase. Business users are responsible for confirming the specific rules, such as who can claim tasks, how inventory discrepancies should be handled, and who is responsible for review.&lt;/p&gt;

&lt;p&gt;The core mobile inventory counting process can be represented as:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Counting task → Product / SKU → System inventory → Actual quantity → Inventory discrepancy → Discrepancy reason → Processing status&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcbefbtpi283272czwybp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcbefbtpi283272czwybp.png" alt="02-stock-count-flow-innnqy.png" width="800" height="656"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After warehouse staff claim a task, they scan an item to locate the corresponding product and enter the actual quantity. If there is an inventory discrepancy, the record enters a pending-review state, and the responsible person confirms the reason and result. Operators and reviewers have their own pages and permissions, while reminders, pending tasks, and other follow-up actions can be handled through NocoBase workflows.&lt;/p&gt;

&lt;p&gt;After the application is generated, fields, pages, layouts, and later functional changes can continue to be modified in NocoBase through the Coding Agent.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5hapr3l400z33eck8fqo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5hapr3l400z33eck8fqo.png" alt="02-stock-count-app-czqalz.png" width="800" height="670"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  03 | Continue Using Data from the Existing System
&lt;/h2&gt;

&lt;p&gt;Products, SKUs, warehouses, current inventory, and inventory movements continue to be maintained by the original Inventory Management System. NocoBase can read this data through an external database or API and use it directly inside the mobile inventory counting app.&lt;/p&gt;

&lt;p&gt;📃 &lt;a href="https://www.nocobase.com/en/highlights/data-source" rel="noopener noreferrer"&gt;Data Sources - NocoBase&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3xp98r3xm6cqffvscnfs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3xp98r3xm6cqffvscnfs.png" alt="03-nocobase-data-sources-ze3rwy.png" width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For example, when warehouse staff count a “brake pad set,” they can see the &lt;strong&gt;current inventory, safety stock, and recent inventory movements&lt;/strong&gt; from the original system while entering the &lt;strong&gt;actual quantity, inventory discrepancy, discrepancy reason, and processing result&lt;/strong&gt; in the mobile inventory counting app.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Data source&lt;/th&gt;
&lt;th&gt;Information used during counting&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Inventory Management System&lt;/td&gt;
&lt;td&gt;Current inventory, safety stock, recent inventory movements&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mobile inventory counting app&lt;/td&gt;
&lt;td&gt;Actual quantity, inventory discrepancy, discrepancy reason, processing status&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;To avoid inventory changes during counting from affecting the result, the application can record the system inventory and corresponding timestamp at the start of the task as the baseline for that count. Daily inventory continues to be maintained by the existing Inventory Management System.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fptsjxfaznd5pzr2zdw83.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fptsjxfaznd5pzr2zdw83.png" alt="03-stock-count-mobile-context-d55czr.png" width="553" height="894"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If an inventory discrepancy is ultimately confirmed, the team can first complete the reason recording and review in the mobile inventory counting app, then handle the inventory adjustment according to the existing process. Whether the new application writes directly back to the original system depends on the APIs and permissions exposed by that system.&lt;/p&gt;

&lt;p&gt;In this way, the new application only adds inventory-counting data and processes. Foundational data such as products, SKUs, warehouses, and inventory continues to come from the existing system, reducing duplicate maintenance.&lt;/p&gt;

&lt;h2&gt;
  
  
  04 | After Launch, Let AI Participate Further in Inventory Counting
&lt;/h2&gt;

&lt;p&gt;Once the mobile inventory counting app is in use, counting tasks, actual quantities, discrepancy reasons, and review results will continue to create new business data. Beyond checking individual records, managers also need to understand overall counting progress, long-unprocessed tasks, and which SKUs repeatedly show inventory discrepancies.&lt;/p&gt;

&lt;p&gt;During the application-building stage, the Coding Agent mainly helps build and adjust the application. After launch, NocoBase &lt;strong&gt;AI Employees&lt;/strong&gt; can use the accumulated data to participate in day-to-day inventory analysis and related work.&lt;/p&gt;

&lt;p&gt;📃 &lt;a href="https://docs.nocobase.com/ai-employees" rel="noopener noreferrer"&gt;AI Employees - NocoBase Documentation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For example, an AI Employee can generate an inventory-counting overview that summarizes completion rate, accuracy, and inventory discrepancies, while highlighting tasks and products that need priority attention:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F87hwr61jr7arqkcb2loy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F87hwr61jr7arqkcb2loy.png" alt="04-ai-stock-count-summary-mhl82t.png" width="800" height="610"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These results come from actual records in the application, and managers can always return to the corresponding tasks to verify the details.&lt;/p&gt;

&lt;p&gt;For SKUs that repeatedly show discrepancies, AI Employees can also combine actual counting results, discrepancy reasons, and recent inventory movements to organize issues that need further investigation.&lt;/p&gt;

&lt;p&gt;For example, if a “brake pad set” shows discrepancies across several consecutive counts, the team can prioritize checking recent receipts, issues, and transfers, and confirm whether duplicate counting, timing differences, or data-entry errors are involved. Cases where the cause cannot yet be confirmed can remain pending for further review by the responsible person.&lt;/p&gt;

&lt;p&gt;On this basis, AI Employees can also be configured with appropriate &lt;strong&gt;skills and workflows&lt;/strong&gt; to create review tasks, send reminders to responsible users, and generate inventory-counting reports. What data an AI Employee can access and which actions it can perform can also be configured according to actual roles and permissions.&lt;/p&gt;

&lt;p&gt;💡 Read more: &lt;a href="https://www.nocobase.com/en/blog/automate-company-background-research-with-workflows-and-ai-employees" rel="noopener noreferrer"&gt;Automating Company Background Research with Built-in Workflows and AI Employees&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1rohppd5ndxdlmihql86.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1rohppd5ndxdlmihql86.png" alt="04-ai-employees-list-ss28yi.png" width="800" height="388"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This allows the company to start by using AI for summaries and analysis, then gradually expand it into more day-to-day operational work once the business rules and usage patterns become stable.&lt;/p&gt;

&lt;h2&gt;
  
  
  05 | Validate the Pilot Results
&lt;/h2&gt;

&lt;p&gt;After the mobile inventory counting app has been used for a period of time, the company can evaluate whether the approach is worth continuing and decide whether to expand the scope, migrate selected modules from the old system, or keep the existing division of responsibilities.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Has manual recording and repeated data organization decreased?&lt;/li&gt;
&lt;li&gt;Has the time required for each inventory count been reduced?&lt;/li&gt;
&lt;li&gt;Are inventory discrepancies easier to identify and handle?&lt;/li&gt;
&lt;li&gt;Can the existing inventory data be used reliably?&lt;/li&gt;
&lt;li&gt;Can AI Employees already participate in day-to-day business processing?&lt;/li&gt;
&lt;li&gt;Can the new application reliably handle routine inventory-counting work?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If these indicators generally meet expectations, the approach is ready for real business use, and the company can continue in two directions.&lt;/p&gt;

&lt;h3&gt;
  
  
  Extend the Same Approach to New Business Requirements
&lt;/h3&gt;

&lt;p&gt;If the company has other relatively independent requirements that also need to use data from existing systems, it can reuse the same approach: define a clear scenario, build a new internal application with AI and NocoBase, then test and use it.&lt;/p&gt;

&lt;p&gt;Handling one specific requirement at a time keeps the application scope and validation goals clear and makes it easier to judge whether further investment is worthwhile.&lt;/p&gt;

&lt;h3&gt;
  
  
  Evaluate Whether to Migrate Selected Modules from the Existing System
&lt;/h3&gt;

&lt;p&gt;As the new application continues to be used, it will gradually accumulate its own data and business processes. If some functions can already reliably take over work from the existing system, the company can further evaluate whether the corresponding modules still need to remain in the old system.&lt;/p&gt;

&lt;p&gt;If the mobile inventory counting app can reliably cover task assignment, counting, discrepancy handling, and review, the company can further assess whether the inventory-counting data and processes in the original Inventory Management System should be moved to NocoBase.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In the past, when a new business requirement appeared, teams typically had to choose between purchasing SaaS, modifying an existing system, or scheduling custom development. All of these approaches require cost evaluation, resource coordination, and often a waiting period before results can be validated.&lt;/p&gt;

&lt;p&gt;If your company already uses CRM, supply chain management, project management SaaS, or similar systems and has a new requirement that the existing tools do not handle well, AI and NocoBase make it possible to start with a smaller, clearly scoped, confirmed requirement and test it in a more lightweight way.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Try the NocoBase + AI Demo:&lt;/strong&gt; &lt;a href="https://demo.nocobase.com/new" rel="noopener noreferrer"&gt;Request an online demo&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Build it yourself:&lt;/strong&gt; &lt;a href="https://docs.nocobase.com/ai-builder" rel="noopener noreferrer"&gt;View the AI Builder documentation&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Related reading&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/build-car-rental-management-system-with-ai-and-nocobase" rel="noopener noreferrer"&gt;How to Build a Real-World Business System with AI and NocoBase: A Car Rental Management Example&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/open-source-ai-agent-platforms-for-business" rel="noopener noreferrer"&gt;10 Open-Source AI Agent Platforms for Business: From Automation to Internal Apps&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/build-production-ready-ticketing-system-with-ai" rel="noopener noreferrer"&gt;How to Build a Production-Ready Ticketing System with AI&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/building-inventory-management-system-vibe-coding-vs-nocobase-ai" rel="noopener noreferrer"&gt;Building an Inventory Management System: Vibe Coding vs NocoBase + AI&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/build-it-operations-system-with-ai-nocobase" rel="noopener noreferrer"&gt;How to Build a Production-Ready IT Operations System with AI and NocoBase&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/nocobase-vs-baserow" rel="noopener noreferrer"&gt;NocoBase vs Baserow: Flexible Databases vs Enterprise Systems&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/build-production-ready-crm-with-ai-and-nocobase" rel="noopener noreferrer"&gt;How to Build a Production-Ready CRM with AI and NocoBase&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/enterprise-it-asset-management-system-guide" rel="noopener noreferrer"&gt;How to Design an IT Asset Management System: Data Model, Lifecycle, and Workflows&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/best-smartsheet-alternatives" rel="noopener noreferrer"&gt;How to Choose a Smartsheet Alternative: 7 Tools Compared&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/open-source-ai-no-code-tools-complex-relational-models" rel="noopener noreferrer"&gt;5 Open-Source AI No-Code Tools for Complex Relational Data Models&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/what-is-ai-no-code" rel="noopener noreferrer"&gt;What Is AI No-Code? A Practical Guide to No-Code Platforms in the AI Era&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/open-source-ai-no-code-tools-github-9" rel="noopener noreferrer"&gt;9 Open-Source AI No-Code Tools on GitHub Worth Watching&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/github-open-source-ai-agent-tools-16" rel="noopener noreferrer"&gt;14 Open Source AI Agent Tools with the Most GitHub Stars&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>nocode</category>
      <category>news</category>
    </item>
    <item>
      <title>Weekly Updates: AI Employees Now Support Knowledge Base Citations</title>
      <dc:creator>NocoBase</dc:creator>
      <pubDate>Sat, 03 Oct 2026 09:48:47 +0000</pubDate>
      <link>https://dev.to/nocobase/weekly-updates-ai-employees-now-support-knowledge-base-citations-4pfa</link>
      <guid>https://dev.to/nocobase/weekly-updates-ai-employees-now-support-knowledge-base-citations-4pfa</guid>
      <description>&lt;p&gt;Summarize the weekly product update logs, and the latest releases can be checked on &lt;a href="https://www.nocobase.com/en/blog/timeline" rel="noopener noreferrer"&gt;our blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NocoBase is currently updated across three branches: &lt;code&gt;main&lt;/code&gt;, &lt;code&gt;next&lt;/code&gt;, and &lt;code&gt;develop&lt;/code&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F66qf0fuohv233at2nnzv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F66qf0fuohv233at2nnzv.png" alt="version.png" width="800" height="267"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;main&lt;/code&gt;: The most stable version to date, recommended for installation.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;next&lt;/code&gt;: Beta version, contains upcoming new features and has been preliminarily tested. There might be some known or unknown issues. It is mainly used to collect feedback from test users and further optimize features. Ideal for test users who want to experience new features early and provide feedback.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;develop&lt;/code&gt;: Alpha version, contains the latest feature code, may be incomplete or unstable, and is mainly used for internal development and rapid iteration. Suited for technical users interested in cutting-edge product capabilities, but not recommended for production use.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  main
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjmnc6cb7az5ofw9t1ip.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjmnc6cb7az5ofw9t1ip.png" alt="main.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v2.2.20
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-09-30&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🎉 New Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[AI employees]&lt;/strong&gt; AI employee chat responses expose the referenced knowledge base documents (&lt;a href="https://github.com/nocobase/nocobase/pull/10560" rel="noopener noreferrer"&gt;#10560&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt; Resolve referenced knowledge base documents for AI employee chat responses by @cgyrock&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[create-nocobase-app]&lt;/strong&gt; Upgrade &lt;code&gt;js-yaml&lt;/code&gt; and &lt;code&gt;uuid&lt;/code&gt; (&lt;a href="https://github.com/nocobase/nocobase/pull/10555" rel="noopener noreferrer"&gt;#10555&lt;/a&gt;) by @2013xile&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[sdk]&lt;/strong&gt; Upgraded axios to 1.20.0 (&lt;a href="https://github.com/nocobase/nocobase/pull/10566" rel="noopener noreferrer"&gt;#10566&lt;/a&gt;) by @2013xile&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Fix the issue where the "Current popup parent record" variable is missing in quick create popups of association fields in approval forms (&lt;a href="https://github.com/nocobase/nocobase/pull/10554" rel="noopener noreferrer"&gt;#10554&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Block: Kanban]&lt;/strong&gt; Fixed Kanban layout flicker when adding an AI employee action. (&lt;a href="https://github.com/nocobase/nocobase/pull/10553" rel="noopener noreferrer"&gt;#10553&lt;/a&gt;) by @jiannx&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Data source: External NocoBase]&lt;/strong&gt; Fixed the type build failure caused by the axios 1.20.0 upgrade by @2013xile&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Data source: External Oracle]&lt;/strong&gt; Fixed a type error surfaced by the axios 1.20.0 upgrade by @2013xile&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt; Fix the issue where hidden field labels reappear and field values are empty in submitted approval details by @zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.2.19
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-09-29&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🎉 New Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[AI employees]&lt;/strong&gt; Added support for OpenCode Zen / Go as an LLM service by sending the required session headers; DeepSeek Flash models now accept image attachments, and web search is limited to DeepSeek V4 Pro because Flash models silently ignore it (&lt;a href="https://github.com/nocobase/nocobase/pull/10551" rel="noopener noreferrer"&gt;#10551&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Table column quick edit: support setting a data scope for association fields (&lt;a href="https://github.com/nocobase/nocobase/pull/10547" rel="noopener noreferrer"&gt;#10547&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Fix the issue where signing in with another account after signing out shows a 404 page (&lt;a href="https://github.com/nocobase/nocobase/pull/10549" rel="noopener noreferrer"&gt;#10549&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Action: Batch update]&lt;/strong&gt; Prevent bulk update actions from submitting option values that no longer exist in the configured collection field. (&lt;a href="https://github.com/nocobase/nocobase/pull/10540" rel="noopener noreferrer"&gt;#10540&lt;/a&gt;) by @jiannx&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow]&lt;/strong&gt; Fix creation of the jobs status and ID index during database sync. (&lt;a href="https://github.com/nocobase/nocobase/pull/10552" rel="noopener noreferrer"&gt;#10552&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.2.18
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-09-25&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[client]&lt;/strong&gt; Fixed workflow manual node form layouts failing when multiple fields are arranged in one row. (&lt;a href="https://github.com/nocobase/nocobase/pull/10545" rel="noopener noreferrer"&gt;#10545&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Fixed saving attachment and file relation changes inside approval form sub-tables. (&lt;a href="https://github.com/nocobase/nocobase/pull/10544" rel="noopener noreferrer"&gt;#10544&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Block: GridCard]&lt;/strong&gt; Fixed Grid Card pagination switching and aligned simple-pagination page sizes with the configured column count (&lt;a href="https://github.com/nocobase/nocobase/pull/10541" rel="noopener noreferrer"&gt;#10541&lt;/a&gt;) by @jiannx&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow: Aggregate node]&lt;/strong&gt; Fix aggregate field selection for collections selected through to-many associations. (&lt;a href="https://github.com/nocobase/nocobase/pull/10543" rel="noopener noreferrer"&gt;#10543&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Migration manager]&lt;/strong&gt; Updated &lt;code&gt;decompress&lt;/code&gt; to &lt;code&gt;@xhmikosr/decompress&lt;/code&gt; 11.1.4 by @2013xile&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  next
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fit0xys8cxci7kol0jjde.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fit0xys8cxci7kol0jjde.png" alt="next.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v2.3.0-beta.13
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-09-30&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🎉 New Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI employee chat responses expose the referenced knowledge base documents (&lt;a href="https://github.com/nocobase/nocobase/pull/10560" rel="noopener noreferrer"&gt;#10560&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;li&gt;Added support for OpenCode Zen / Go as an LLM service by sending the required session headers; DeepSeek Flash models now accept image attachments, and web search is limited to DeepSeek V4 Pro because Flash models silently ignore it (&lt;a href="https://github.com/nocobase/nocobase/pull/10551" rel="noopener noreferrer"&gt;#10551&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt; Resolve referenced knowledge base documents for AI employee chat responses by @cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Table column quick edit: support setting a data scope for association fields (&lt;a href="https://github.com/nocobase/nocobase/pull/10547" rel="noopener noreferrer"&gt;#10547&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix the issue where the "Current popup parent record" variable is missing in quick create popups of association fields in approval forms (&lt;a href="https://github.com/nocobase/nocobase/pull/10554" rel="noopener noreferrer"&gt;#10554&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix the issue where signing in with another account after signing out shows a 404 page (&lt;a href="https://github.com/nocobase/nocobase/pull/10549" rel="noopener noreferrer"&gt;#10549&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fixed saving attachment and file relation changes inside approval form sub-tables. (&lt;a href="https://github.com/nocobase/nocobase/pull/10544" rel="noopener noreferrer"&gt;#10544&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[create-nocobase-app]&lt;/strong&gt; Upgrade &lt;code&gt;js-yaml&lt;/code&gt; and &lt;code&gt;uuid&lt;/code&gt; (&lt;a href="https://github.com/nocobase/nocobase/pull/10555" rel="noopener noreferrer"&gt;#10555&lt;/a&gt;) by @2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[client]&lt;/strong&gt; Fixed workflow manual node form layouts failing when multiple fields are arranged in one row. (&lt;a href="https://github.com/nocobase/nocobase/pull/10545" rel="noopener noreferrer"&gt;#10545&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt; Fix creation of the jobs status and ID index during database sync. (&lt;a href="https://github.com/nocobase/nocobase/pull/10552" rel="noopener noreferrer"&gt;#10552&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Aggregate node]&lt;/strong&gt; Fix aggregate field selection for collections selected through to-many associations. (&lt;a href="https://github.com/nocobase/nocobase/pull/10543" rel="noopener noreferrer"&gt;#10543&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Block: GridCard]&lt;/strong&gt; Fixed Grid Card pagination switching and aligned simple-pagination page sizes with the configured column count (&lt;a href="https://github.com/nocobase/nocobase/pull/10541" rel="noopener noreferrer"&gt;#10541&lt;/a&gt;) by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Action: Batch update]&lt;/strong&gt; Prevent bulk update actions from submitting option values that no longer exist in the configured collection field. (&lt;a href="https://github.com/nocobase/nocobase/pull/10540" rel="noopener noreferrer"&gt;#10540&lt;/a&gt;) by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Migration manager]&lt;/strong&gt; Updated &lt;code&gt;decompress&lt;/code&gt; to &lt;code&gt;@xhmikosr/decompress&lt;/code&gt; 11.1.4 by @2013xile&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  develop
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fow9jd2rkp6w0rmrzuzwl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fow9jd2rkp6w0rmrzuzwl.png" alt="develop.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v2.4.0-alpha.9
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-09-30&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🎉 New Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI employee chat responses expose the referenced knowledge base documents (&lt;a href="https://github.com/nocobase/nocobase/pull/10560" rel="noopener noreferrer"&gt;#10560&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;li&gt;Added support for OpenCode Zen / Go as an LLM service by sending the required session headers; DeepSeek Flash models now accept image attachments, and web search is limited to DeepSeek V4 Pro because Flash models silently ignore it (&lt;a href="https://github.com/nocobase/nocobase/pull/10551" rel="noopener noreferrer"&gt;#10551&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt; Resolve referenced knowledge base documents for AI employee chat responses by @cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Table column quick edit: support setting a data scope for association fields (&lt;a href="https://github.com/nocobase/nocobase/pull/10547" rel="noopener noreferrer"&gt;#10547&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[sdk]&lt;/strong&gt; Upgraded axios to 1.20.0 (&lt;a href="https://github.com/nocobase/nocobase/pull/10566" rel="noopener noreferrer"&gt;#10566&lt;/a&gt;) by @2013xile&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix the issue where the "Current popup parent record" variable is missing in quick create popups of association fields in approval forms (&lt;a href="https://github.com/nocobase/nocobase/pull/10554" rel="noopener noreferrer"&gt;#10554&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fixed saving attachment and file relation changes inside approval form sub-tables. (&lt;a href="https://github.com/nocobase/nocobase/pull/10544" rel="noopener noreferrer"&gt;#10544&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;Fix the issue where signing in with another account after signing out shows a 404 page (&lt;a href="https://github.com/nocobase/nocobase/pull/10549" rel="noopener noreferrer"&gt;#10549&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[client]&lt;/strong&gt; Fixed workflow manual node form layouts failing when multiple fields are arranged in one row. (&lt;a href="https://github.com/nocobase/nocobase/pull/10545" rel="noopener noreferrer"&gt;#10545&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[create-nocobase-app]&lt;/strong&gt; Upgrade &lt;code&gt;js-yaml&lt;/code&gt; and &lt;code&gt;uuid&lt;/code&gt; (&lt;a href="https://github.com/nocobase/nocobase/pull/10555" rel="noopener noreferrer"&gt;#10555&lt;/a&gt;) by @2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Aggregate node]&lt;/strong&gt; Fix aggregate field selection for collections selected through to-many associations. (&lt;a href="https://github.com/nocobase/nocobase/pull/10543" rel="noopener noreferrer"&gt;#10543&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Block: GridCard]&lt;/strong&gt; Fixed Grid Card pagination switching and aligned simple-pagination page sizes with the configured column count (&lt;a href="https://github.com/nocobase/nocobase/pull/10541" rel="noopener noreferrer"&gt;#10541&lt;/a&gt;) by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt; Fix creation of the jobs status and ID index during database sync. (&lt;a href="https://github.com/nocobase/nocobase/pull/10552" rel="noopener noreferrer"&gt;#10552&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Action: Batch update]&lt;/strong&gt; Prevent bulk update actions from submitting option values that no longer exist in the configured collection field. (&lt;a href="https://github.com/nocobase/nocobase/pull/10540" rel="noopener noreferrer"&gt;#10540&lt;/a&gt;) by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Block: Kanban]&lt;/strong&gt; Fixed Kanban layout flicker when adding an AI employee action. (&lt;a href="https://github.com/nocobase/nocobase/pull/10553" rel="noopener noreferrer"&gt;#10553&lt;/a&gt;) by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Data source: External NocoBase]&lt;/strong&gt; Fixed the type build failure caused by the axios 1.20.0 upgrade by @2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Migration manager]&lt;/strong&gt; Updated &lt;code&gt;decompress&lt;/code&gt; to &lt;code&gt;@xhmikosr/decompress&lt;/code&gt; 11.1.4 by @2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Data source: External Oracle]&lt;/strong&gt; Fixed a type error surfaced by the axios 1.20.0 upgrade by @2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt; Fix the issue where hidden field labels reappear and field values are empty in submitted approval details by @zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>nocode</category>
    </item>
    <item>
      <title>Weekly Updates: Improvements and Bug Fixes</title>
      <dc:creator>NocoBase</dc:creator>
      <pubDate>Sat, 26 Sep 2026 16:10:03 +0000</pubDate>
      <link>https://dev.to/nocobase/weekly-updates-improvements-and-bug-fixes-23hf</link>
      <guid>https://dev.to/nocobase/weekly-updates-improvements-and-bug-fixes-23hf</guid>
      <description>&lt;p&gt;Summarize the weekly product update logs, and the latest releases can be checked on &lt;a href="https://www.nocobase.com/en/blog/timeline" rel="noopener noreferrer"&gt;our blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NocoBase is currently updated across three branches: &lt;code&gt;main&lt;/code&gt;, &lt;code&gt;next&lt;/code&gt;, and &lt;code&gt;develop&lt;/code&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F66qf0fuohv233at2nnzv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F66qf0fuohv233at2nnzv.png" alt="version.png" width="800" height="267"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;main&lt;/code&gt;: The most stable version to date, recommended for installation.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;next&lt;/code&gt;: Beta version, contains upcoming new features and has been preliminarily tested. There might be some known or unknown issues. It is mainly used to collect feedback from test users and further optimize features. Ideal for test users who want to experience new features early and provide feedback.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;develop&lt;/code&gt;: Alpha version, contains the latest feature code, may be incomplete or unstable, and is mainly used for internal development and rapid iteration. Suited for technical users interested in cutting-edge product capabilities, but not recommended for production use.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  main
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjmnc6cb7az5ofw9t1ip.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjmnc6cb7az5ofw9t1ip.png" alt="main.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v2.2.17
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-09-24&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix: sub-table fields were still editable after the field was set to disabled (&lt;a href="https://github.com/nocobase/nocobase/pull/10532" rel="noopener noreferrer"&gt;#10532&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed quick edit popover closing when collapsing a multi-select dropdown, and dropdown options covering the Submit button. (&lt;a href="https://github.com/nocobase/nocobase/pull/10536" rel="noopener noreferrer"&gt;#10536&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Departments]&lt;/strong&gt; Restricted department user directory access to authorized roles (&lt;a href="https://github.com/nocobase/nocobase/pull/10539" rel="noopener noreferrer"&gt;#10539&lt;/a&gt;) by @2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt; Fixed workflow user selection search to query the API instead of filtering only loaded users. (&lt;a href="https://github.com/nocobase/nocobase/pull/10537" rel="noopener noreferrer"&gt;#10537&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Block: Kanban]&lt;/strong&gt; Fixed modern kanban blocks not refreshing after adding records through the toolbar when no filters were active. (&lt;a href="https://github.com/nocobase/nocobase/pull/10525" rel="noopener noreferrer"&gt;#10525&lt;/a&gt;) by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Email manager]&lt;/strong&gt; Prevent circular email reply relationships from blocking mail synchronization by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.2.16
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-09-21&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[Access control]&lt;/strong&gt; Fixed unintended permission changes when clicking the blank space beside system permission checkboxes in the modern client's role settings. (&lt;a href="https://github.com/nocobase/nocobase/pull/10518" rel="noopener noreferrer"&gt;#10518&lt;/a&gt;) by @jiannx&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Block: Comment]&lt;/strong&gt; Fixed comment-specific Edit, Delete, and Quote reply actions incorrectly appearing in the table row action configuration menu. (&lt;a href="https://github.com/nocobase/nocobase/pull/10519" rel="noopener noreferrer"&gt;#10519&lt;/a&gt;) by @jiannx&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt; Fixed data not being saved correctly after a before-save approval is returned, resubmitted, and approved. by @mytharcher&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.2.15
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-09-19&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[Data source manager]&lt;/strong&gt; In the v2 data source manager, the relation field's foreign key can be selected from the existing columns of the owning collection, like v1. (&lt;a href="https://github.com/nocobase/nocobase/pull/10526" rel="noopener noreferrer"&gt;#10526&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[flow-engine]&lt;/strong&gt; Fixed number precision validation in V2 forms accepting values with too many decimal places. (&lt;a href="https://github.com/nocobase/nocobase/pull/10512" rel="noopener noreferrer"&gt;#10512&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Fixed inconsistent v2 subtable row heights before and after adding fields. (&lt;a href="https://github.com/nocobase/nocobase/pull/10520" rel="noopener noreferrer"&gt;#10520&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[File manager]&lt;/strong&gt; Enabled knowledge-base document downloads to use the same file download handling as file-manager. (&lt;a href="https://github.com/nocobase/nocobase/pull/10513" rel="noopener noreferrer"&gt;#10513&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Data source manager]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed submission errors when editing relation fields with existing inverse fields in the v2 data source manager. (&lt;a href="https://github.com/nocobase/nocobase/pull/10521" rel="noopener noreferrer"&gt;#10521&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed empty inverse relationship types when adding an inverse field to an existing relationship in the v2 data source editor. (&lt;a href="https://github.com/nocobase/nocobase/pull/10511" rel="noopener noreferrer"&gt;#10511&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed incorrect duplicate-name validation when recreating deleted fields in v2 data source settings. (&lt;a href="https://github.com/nocobase/nocobase/pull/10509" rel="noopener noreferrer"&gt;#10509&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improved AI conversation prompt-cache reuse after frontend tools finish by keeping the conversation time context stable. (&lt;a href="https://github.com/nocobase/nocobase/pull/10517" rel="noopener noreferrer"&gt;#10517&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;li&gt;Fixed AI employee settings not being saveable when the knowledge base was turned off but its retrieval fields were empty (&lt;a href="https://github.com/nocobase/nocobase/pull/10507" rel="noopener noreferrer"&gt;#10507&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt; Fixed disappearing to-many field assignments when reopening workflow update nodes in v2, and changed association selections to store keys and load record labels by key. (&lt;a href="https://github.com/nocobase/nocobase/pull/10523" rel="noopener noreferrer"&gt;#10523&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt; Improved knowledge-base document deletion with a modal confirmation showing the filename and localized buttons, and unified document download handling with file-manager. by @cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt; Fixed approval tasks not opening from the Related approvals block on native V2 pages. by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[WeCom]&lt;/strong&gt; Fix duplicate slashes in WeCom authorization and callback URLs when Origin has a trailing slash. by @chenzhizdt&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  next
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fit0xys8cxci7kol0jjde.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fit0xys8cxci7kol0jjde.png" alt="next.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v2.3.0-beta.12
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-09-24&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed quick edit popover closing when collapsing a multi-select dropdown, and dropdown options covering the Submit button. (&lt;a href="https://github.com/nocobase/nocobase/pull/10536" rel="noopener noreferrer"&gt;#10536&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Fix: sub-table fields were still editable after the field was set to disabled (&lt;a href="https://github.com/nocobase/nocobase/pull/10532" rel="noopener noreferrer"&gt;#10532&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Block: Kanban]&lt;/strong&gt; Fixed modern kanban blocks not refreshing after adding records through the toolbar when no filters were active. (&lt;a href="https://github.com/nocobase/nocobase/pull/10525" rel="noopener noreferrer"&gt;#10525&lt;/a&gt;) by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt; Fixed workflow user selection search to query the API instead of filtering only loaded users. (&lt;a href="https://github.com/nocobase/nocobase/pull/10537" rel="noopener noreferrer"&gt;#10537&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Departments]&lt;/strong&gt; Restricted department user directory access to authorized roles (&lt;a href="https://github.com/nocobase/nocobase/pull/10539" rel="noopener noreferrer"&gt;#10539&lt;/a&gt;) by @2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Email manager]&lt;/strong&gt; Prevent circular email reply relationships from blocking mail synchronization by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.3.0-beta.11
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-09-20&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[Data source manager]&lt;/strong&gt; In the v2 data source manager, the relation field's foreign key can be selected from the existing columns of the owning collection, like v1. (&lt;a href="https://github.com/nocobase/nocobase/pull/10526" rel="noopener noreferrer"&gt;#10526&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[WeCom]&lt;/strong&gt; Support configurable WeCom sync email types and consistent email mapping for full and incremental synchronization. by @chenzhizdt&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Fixed inconsistent v2 subtable row heights before and after adding fields. (&lt;a href="https://github.com/nocobase/nocobase/pull/10520" rel="noopener noreferrer"&gt;#10520&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[flow-engine]&lt;/strong&gt; Fixed number precision validation in V2 forms accepting values with too many decimal places. (&lt;a href="https://github.com/nocobase/nocobase/pull/10512" rel="noopener noreferrer"&gt;#10512&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[server]&lt;/strong&gt; Prevent secret environment variable exposure in custom request URLs (&lt;a href="https://github.com/nocobase/nocobase/pull/10503" rel="noopener noreferrer"&gt;#10503&lt;/a&gt;) by @2013xile&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[File manager]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Enabled knowledge-base document downloads to use the same file download handling as file-manager. (&lt;a href="https://github.com/nocobase/nocobase/pull/10513" rel="noopener noreferrer"&gt;#10513&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;li&gt;Move the delete button on v2 attachment and Attachment (URL) cards to the top-right corner to reduce accidental deletion during preview. (&lt;a href="https://github.com/nocobase/nocobase/pull/10508" rel="noopener noreferrer"&gt;#10508&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt; Fixed disappearing to-many field assignments when reopening workflow update nodes in v2, and changed association selections to store keys and load record labels by key. (&lt;a href="https://github.com/nocobase/nocobase/pull/10523" rel="noopener noreferrer"&gt;#10523&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Block: Comment]&lt;/strong&gt; Fixed comment-specific Edit, Delete, and Quote reply actions incorrectly appearing in the table row action configuration menu. (&lt;a href="https://github.com/nocobase/nocobase/pull/10519" rel="noopener noreferrer"&gt;#10519&lt;/a&gt;) by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Data source manager]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed submission errors when editing relation fields with existing inverse fields in the v2 data source manager. (&lt;a href="https://github.com/nocobase/nocobase/pull/10521" rel="noopener noreferrer"&gt;#10521&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed empty inverse relationship types when adding an inverse field to an existing relationship in the v2 data source editor. (&lt;a href="https://github.com/nocobase/nocobase/pull/10511" rel="noopener noreferrer"&gt;#10511&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed incorrect duplicate-name validation when recreating deleted fields in v2 data source settings. (&lt;a href="https://github.com/nocobase/nocobase/pull/10509" rel="noopener noreferrer"&gt;#10509&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed AI employee settings not being saveable when the knowledge base was turned off but its retrieval fields were empty (&lt;a href="https://github.com/nocobase/nocobase/pull/10507" rel="noopener noreferrer"&gt;#10507&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;li&gt;Improved AI conversation prompt-cache reuse after frontend tools finish by keeping the conversation time context stable. (&lt;a href="https://github.com/nocobase/nocobase/pull/10517" rel="noopener noreferrer"&gt;#10517&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;li&gt;Fixed AI employee data query tools returning no records when the collection's role permission uses a data scope based on the current user (&lt;a href="https://github.com/nocobase/nocobase/pull/10501" rel="noopener noreferrer"&gt;#10501&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Collection field: Sequence]&lt;/strong&gt; Fix sequence field validation for random character patterns configured with multiple character sets. (&lt;a href="https://github.com/nocobase/nocobase/pull/10504" rel="noopener noreferrer"&gt;#10504&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Access control]&lt;/strong&gt; Fixed unintended permission changes when clicking the blank space beside system permission checkboxes in the modern client's role settings. (&lt;a href="https://github.com/nocobase/nocobase/pull/10518" rel="noopener noreferrer"&gt;#10518&lt;/a&gt;) by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt; Improved knowledge-base document deletion with a modal confirmation showing the filename and localized buttons, and unified document download handling with file-manager. by @cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed data not being saved correctly after a before-save approval is returned, resubmitted, and approved. by @mytharcher&lt;/li&gt;
&lt;li&gt;Hide approval action buttons for queued sequential approvers and show a waiting hint. by @mytharcher&lt;/li&gt;
&lt;li&gt;Fixed approval tasks not opening from the Related approvals block on native V2 pages. by @mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[WeCom]&lt;/strong&gt; Fix duplicate slashes in WeCom authorization and callback URLs when Origin has a trailing slash. by @chenzhizdt&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  develop
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fow9jd2rkp6w0rmrzuzwl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fow9jd2rkp6w0rmrzuzwl.png" alt="develop.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v2.4.0-alpha.8
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-09-24&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix: sub-table fields were still editable after the field was set to disabled (&lt;a href="https://github.com/nocobase/nocobase/pull/10532" rel="noopener noreferrer"&gt;#10532&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed quick edit popover closing when collapsing a multi-select dropdown, and dropdown options covering the Submit button. (&lt;a href="https://github.com/nocobase/nocobase/pull/10536" rel="noopener noreferrer"&gt;#10536&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt; Fixed workflow user selection search to query the API instead of filtering only loaded users. (&lt;a href="https://github.com/nocobase/nocobase/pull/10537" rel="noopener noreferrer"&gt;#10537&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Portal manager]&lt;/strong&gt; Fix the issue where the workflow task center page is missing the top navigation bar (&lt;a href="https://github.com/nocobase/nocobase/pull/10535" rel="noopener noreferrer"&gt;#10535&lt;/a&gt;) by @zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Departments]&lt;/strong&gt; Restricted department user directory access to authorized roles (&lt;a href="https://github.com/nocobase/nocobase/pull/10539" rel="noopener noreferrer"&gt;#10539&lt;/a&gt;) by @2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Block: Kanban]&lt;/strong&gt; Fixed modern kanban blocks not refreshing after adding records through the toolbar when no filters were active. (&lt;a href="https://github.com/nocobase/nocobase/pull/10525" rel="noopener noreferrer"&gt;#10525&lt;/a&gt;) by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Email manager]&lt;/strong&gt; Prevent circular email reply relationships from blocking mail synchronization by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.4.0-alpha.7
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-09-20&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[Data source manager]&lt;/strong&gt; In the v2 data source manager, the relation field's foreign key can be selected from the existing columns of the owning collection, like v1. (&lt;a href="https://github.com/nocobase/nocobase/pull/10526" rel="noopener noreferrer"&gt;#10526&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[WeCom]&lt;/strong&gt; Support configurable WeCom sync email types and consistent email mapping for full and incremental synchronization. by @chenzhizdt&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Fixed inconsistent v2 subtable row heights before and after adding fields. (&lt;a href="https://github.com/nocobase/nocobase/pull/10520" rel="noopener noreferrer"&gt;#10520&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[flow-engine]&lt;/strong&gt; Fixed number precision validation in V2 forms accepting values with too many decimal places. (&lt;a href="https://github.com/nocobase/nocobase/pull/10512" rel="noopener noreferrer"&gt;#10512&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Block: Comment]&lt;/strong&gt; Fixed comment-specific Edit, Delete, and Quote reply actions incorrectly appearing in the table row action configuration menu. (&lt;a href="https://github.com/nocobase/nocobase/pull/10519" rel="noopener noreferrer"&gt;#10519&lt;/a&gt;) by @jiannx&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Access control]&lt;/strong&gt; Fixed unintended permission changes when clicking the blank space beside system permission checkboxes in the modern client's role settings. (&lt;a href="https://github.com/nocobase/nocobase/pull/10518" rel="noopener noreferrer"&gt;#10518&lt;/a&gt;) by @jiannx&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow]&lt;/strong&gt; Fixed disappearing to-many field assignments when reopening workflow update nodes in v2, and changed association selections to store keys and load record labels by key. (&lt;a href="https://github.com/nocobase/nocobase/pull/10523" rel="noopener noreferrer"&gt;#10523&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improved AI conversation prompt-cache reuse after frontend tools finish by keeping the conversation time context stable. (&lt;a href="https://github.com/nocobase/nocobase/pull/10517" rel="noopener noreferrer"&gt;#10517&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;li&gt;Fixed AI employee settings not being saveable when the knowledge base was turned off but its retrieval fields were empty (&lt;a href="https://github.com/nocobase/nocobase/pull/10507" rel="noopener noreferrer"&gt;#10507&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[File manager]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Enabled knowledge-base document downloads to use the same file download handling as file-manager. (&lt;a href="https://github.com/nocobase/nocobase/pull/10513" rel="noopener noreferrer"&gt;#10513&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;li&gt;Move the delete button on v2 attachment and Attachment (URL) cards to the top-right corner to reduce accidental deletion during preview. (&lt;a href="https://github.com/nocobase/nocobase/pull/10508" rel="noopener noreferrer"&gt;#10508&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Data source manager]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed empty inverse relationship types when adding an inverse field to an existing relationship in the v2 data source editor. (&lt;a href="https://github.com/nocobase/nocobase/pull/10511" rel="noopener noreferrer"&gt;#10511&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed submission errors when editing relation fields with existing inverse fields in the v2 data source manager. (&lt;a href="https://github.com/nocobase/nocobase/pull/10521" rel="noopener noreferrer"&gt;#10521&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed incorrect duplicate-name validation when recreating deleted fields in v2 data source settings. (&lt;a href="https://github.com/nocobase/nocobase/pull/10509" rel="noopener noreferrer"&gt;#10509&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Collection field: Sequence]&lt;/strong&gt; Fix sequence field validation for random character patterns configured with multiple character sets. (&lt;a href="https://github.com/nocobase/nocobase/pull/10504" rel="noopener noreferrer"&gt;#10504&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt; Improved knowledge-base document deletion with a modal confirmation showing the filename and localized buttons, and unified document download handling with file-manager. by @cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hide approval action buttons for queued sequential approvers and show a waiting hint. by @mytharcher&lt;/li&gt;
&lt;li&gt;Fixed approval tasks not opening from the Related approvals block on native V2 pages. by @mytharcher&lt;/li&gt;
&lt;li&gt;Fixed data not being saved correctly after a before-save approval is returned, resubmitted, and approved. by @mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[WeCom]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Resolve the merge conflict between &lt;code&gt;develop&lt;/code&gt; and &lt;code&gt;next&lt;/code&gt; while preserving both URL handling changes. by @chenzhizdt&lt;/li&gt;
&lt;li&gt;Fix duplicate slashes in WeCom authorization and callback URLs when Origin has a trailing slash. by @chenzhizdt&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>nocode</category>
      <category>opensource</category>
      <category>news</category>
    </item>
    <item>
      <title>How to Build a Real-World Business System with AI and NocoBase: A Car Rental Management Example</title>
      <dc:creator>NocoBase</dc:creator>
      <pubDate>Sat, 19 Sep 2026 16:07:28 +0000</pubDate>
      <link>https://dev.to/nocobase/how-to-build-a-real-world-business-system-with-ai-and-nocobase-a-car-rental-management-example-1pjd</link>
      <guid>https://dev.to/nocobase/how-to-build-a-real-world-business-system-with-ai-and-nocobase-a-car-rental-management-example-1pjd</guid>
      <description>&lt;p&gt;Originally published at &lt;a href="https://www.nocobase.com/en/blog/build-car-rental-management-system-with-ai-and-nocobase" rel="noopener noreferrer"&gt;https://www.nocobase.com/en/blog/build-car-rental-management-system-with-ai-and-nocobase&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Recently, an iceberg chart titled &lt;strong&gt;“Vibe Coding vs. Production Reality”&lt;/strong&gt; sparked discussion on X and &lt;a href="https://www.reddit.com/r/ClaudeAI/comments/1t3bk3x/vibe_coding_vs_production_reality/" rel="noopener noreferrer"&gt;Reddit&lt;/a&gt;. Above the waterline are today's AI Coding tools. Below it are permissions, payments, data consistency, logs, rollbacks, monitoring, and all the issues that only surface once a system goes live. The original poster noted that a PoC that once took a week can now be built in an afternoon, but a working demo is not the same as a system that can be delivered and maintained continuously.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fblrtpz1lt9udqnazk137.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fblrtpz1lt9udqnazk137.png" alt="0-intro-vibe-coding-vs-production-reality-zbxzta.png" width="676" height="1052"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Business processes and management rules vary significantly from company to company. Even when two businesses are both managing resources, the underlying logic for orders, scheduling, maintenance, settlement, and exceptions can be completely different. AI Coding lowers the cost of implementing these custom requirements, but it does not make the business itself simpler.&lt;/p&gt;

&lt;p&gt;Take car rental as an example. An order does not simply get created and wait to be completed. It occupies vehicle availability, goes through handover, use, and return, and if the customer returns the vehicle late, it can affect later bookings and fleet scheduling.&lt;/p&gt;




&lt;p&gt;💬 Hey, you're reading the NocoBase blog. NocoBase is the most extensible AI-powered no-code/low-code development platform for building enterprise applications, internal tools, and all kinds of systems. It’s fully self-hosted, plugin-based, and developer-friendly. → &lt;a href="https://github.com/nocobase/nocobase" rel="noopener noreferrer"&gt;Explore NocoBase on GitHub&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Enterprise business systems like this need to maintain stable data relationships, permissions, and business rules over the long term. If a Coding Agent builds everything completely from scratch, these common capabilities also need to be implemented and maintained one by one. With an existing application foundation, the Coding Agent can focus more of its effort on modeling, implementing, and validating the specific business.&lt;/p&gt;

&lt;p&gt;NocoBase is built around &lt;strong&gt;App Foundation&lt;/strong&gt;, providing data models, permissions, workflows, UI, APIs, and runtime mechanisms. Coding Agents build and deliver applications on top of these capabilities, while people confirm business goals, make decisions on proposed solutions, accept results, and authorize releases.&lt;/p&gt;

&lt;p&gt;Next, we will use a car rental system as an example. Starting from business modeling, we will see how a Coding Agent can turn a set of realistic, interconnected business requirements into an application that can keep running and evolving on NocoBase.&lt;/p&gt;

&lt;p&gt;💡 Further reading: &lt;a href="https://www.nocobase.com/en/blog/building-inventory-management-system-vibe-coding-vs-nocobase-ai" rel="noopener noreferrer"&gt;Building an Inventory Management System: Vibe Coding vs NocoBase + AI&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Let the Coding Agent Build a Complete Business Model
&lt;/h2&gt;

&lt;p&gt;Before development begins, you can give the core car-rental requirements to the Coding Agent and ask it to organize the data model, business processes, role permissions, and acceptance criteria.&lt;/p&gt;

&lt;p&gt;📃 Related documentation: &lt;a href="https://docs.nocobase.com/ai-builder/data-modeling" rel="noopener noreferrer"&gt;Data Modeling - NocoBase Documentation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;We need to manage vehicles, customers, locations, employees, and rental orders. Vehicles involve insurance, maintenance, and traffic violations, while orders are linked to customers, vehicles, rental periods, and payment information. The rental process includes scheduling, vehicle handover, use, return, inspection, and settlement, while also handling cancellations, late returns, maintenance, violations, and outstanding payments. Please organize the core data relationships, business processes, role permissions, and key acceptance criteria.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Based on this, the Coding Agent can produce a complete system plan:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Establish relationships between vehicles and locations, orders, maintenance records, insurance, and other data;&lt;/li&gt;
&lt;li&gt;Move orders through creation, scheduling, handover, rental, return, and settlement;&lt;/li&gt;
&lt;li&gt;Define explicit handling rules for exceptions and turn them into verifiable conditions, such as preventing the same vehicle from being assigned to overlapping periods, preventing vehicles under maintenance from entering new schedules, and correctly generating receivables after an order is completed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once the plan is confirmed, the Coding Agent can use NocoBase App Foundation to turn these agreed business rules into a working application.&lt;/p&gt;

&lt;p&gt;📃 Related documentation: &lt;a href="https://docs.nocobase.com/ai/quick-start" rel="noopener noreferrer"&gt;How to Connect Claude Code, Codex, Cursor, and Other Coding Agents to NocoBase&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Let the Coding Agent Build the System on NocoBase
&lt;/h2&gt;

&lt;h3&gt;
  
  
  2.1 Turn the Business Model into Working Pages
&lt;/h3&gt;

&lt;p&gt;These business models are then turned into different working pages. In this car rental system, the main pages include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Rental desk&lt;/strong&gt;: handle vehicle handover, return, cancellation, late return, and outstanding balances;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fleet schedule&lt;/strong&gt;: view current and future vehicle occupancy;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vehicle dispatch&lt;/strong&gt;: manage vehicle allocation between locations;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Expiry and compliance management&lt;/strong&gt;: manage upcoming insurance, license, and maintenance deadlines;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Payment management&lt;/strong&gt;: handle rent, deposits, refunds, and receivables;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Operations dashboard&lt;/strong&gt;: view orders, vehicles, exceptions, and business metrics.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These pages all use the same business data and relationships. When an order changes, vehicle status, schedules, payments, and business metrics update accordingly.&lt;/p&gt;

&lt;p&gt;📃 Related documentation: &lt;a href="https://docs.nocobase.com/ai-builder/ui-builder" rel="noopener noreferrer"&gt;UI Builder - NocoBase Documentation&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2.2 Follow One Order Through the Full Business Process
&lt;/h3&gt;

&lt;p&gt;Once the application is built, you can use a single order to verify the main process, focusing on whether the vehicle schedule, vehicle status, and payment records update correctly as the order status changes.&lt;/p&gt;

&lt;p&gt;After an order confirms the vehicle and rental period, the corresponding time slot needs to be added to the &lt;strong&gt;fleet schedule&lt;/strong&gt;. A vehicle already occupied by an order cannot be assigned again during an overlapping period.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6u9stnzt0dyrgqtgrcqb.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6u9stnzt0dyrgqtgrcqb.jpg" alt="2-2-rental-orders-vxut2h.jpg" width="800" height="511"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fraban70uj9hjay7omo5x.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fraban70uj9hjay7omo5x.jpg" alt="2-2-fleet-schedule-phfly8.jpg" width="800" height="521"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At handover time, staff complete the vehicle handover in the &lt;strong&gt;rental desk&lt;/strong&gt;. The order enters the rental stage and the vehicle status updates at the same time. Return, cancellation, late return, and outstanding-balance handling continue from the same workspace.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fp65p61lqxrit8poyo40f.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fp65p61lqxrit8poyo40f.jpg" alt="2-2-rental-desk-0h25wk.jpg" width="800" height="514"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When the vehicle is returned, the system needs to record the actual return time, mileage, and charges. If the return is late, the system calculates the relevant fees according to the defined rules. After vehicle inspection is completed, the vehicle status is updated based on the inspection result.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwjd9vv4yzqyiwy63sgsv.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwjd9vv4yzqyiwy63sgsv.jpg" alt="2-2-vehicle-check-in-gyci2l.jpg" width="800" height="514"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After the order is completed, rent, deposits, and other charges move into &lt;strong&gt;payment management&lt;/strong&gt;, where the amount, payment type, payment method, and current status are retained.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fm34yntw4bpm6dikwafz7.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fm34yntw4bpm6dikwafz7.jpg" alt="2-2-payment-management-ykgikc.jpg" width="800" height="510"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At this point, one rental has completed the full process from order to settlement:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Order → Scheduling → Handover → Rental → Return → Settlement&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2.3 Use Workflows for Automated Rules and Cross-Module Coordination
&lt;/h3&gt;

&lt;p&gt;Some rules do not need to be handled manually each time. They can be executed automatically by workflows when the relevant conditions are met.&lt;/p&gt;

&lt;p&gt;📃 Related documentation: &lt;a href="https://docs.nocobase.com/ai-builder/workflow" rel="noopener noreferrer"&gt;Workflow Management - NocoBase Documentation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This system already includes workflows for late returns, insurance and driver's-license expiry, vehicle maintenance, receivable generation after order completion, and moving an order into the pickup process when the scheduled time arrives.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbtbwj9yhnsbwem5zhmqm.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbtbwj9yhnsbwem5zhmqm.jpg" alt="2-3-workflow-management-m1m1uv.jpg" width="800" height="506"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Take traffic violations as an example. After a violation record is created, the system looks up the rental order that corresponds to the vehicle and the time of the violation. If a match is found, the order is linked automatically, making it easier to identify the actual driver and determine responsibility later.&lt;/p&gt;

&lt;p&gt;This rule can be expressed as:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;New violation → Find corresponding rental order → Check for a match → Link the order automatically&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkvbuizcwlv818j7u35yr.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkvbuizcwlv818j7u35yr.jpg" alt="2-3-violation-workflow-apraux.jpg" width="800" height="505"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Similar reminders, status updates, and cross-module operations can all be configured in workflows using a “trigger condition → business decision → action” structure, so agreed business rules continue to run consistently.&lt;/p&gt;

&lt;h3&gt;
  
  
  2.4 Handle Exceptions, Compliance, and Business Analysis
&lt;/h3&gt;

&lt;p&gt;Once orders can move through the normal process, issues that require human attention also need clear handling paths.&lt;/p&gt;

&lt;p&gt;For example, a late vehicle return can create a pending task; insurance, driver's-license, or maintenance deadlines can enter &lt;strong&gt;expiry and compliance management&lt;/strong&gt;; and unpaid balances or overdue receivables can enter &lt;strong&gt;cash-flow and aging analysis&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fe1z01v0en1p6qit1aw34.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fe1z01v0en1p6qit1aw34.jpg" alt="2-4-expiry-compliance-9gwqd1.jpg" width="800" height="514"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxsp2eua3tlvn1b4v69wy.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxsp2eua3tlvn1b4v69wy.jpg" alt="2-4-overdue-return-details-qss45x.jpg" width="800" height="514"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2eabnzgocoxpi25dh09z.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2eabnzgocoxpi25dh09z.jpg" alt="2-4-cash-flow-aging-ic9xwt.jpg" width="799" height="519"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As this business data accumulates, it can also be used for operational analysis. In &lt;strong&gt;vehicle profitability analysis&lt;/strong&gt;, rental revenue can be combined with maintenance, insurance, and other costs to evaluate the actual return of different vehicles.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcggdsnsrjevf7tv4g1xb.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcggdsnsrjevf7tv4g1xb.jpg" alt="2-4-vehicle-profitability-gnjljt.jpg" width="800" height="514"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Order, vehicle, compliance, and financial data can also be summarized in the &lt;strong&gt;operations dashboard&lt;/strong&gt;, making it easier for managers to see current pending items, exceptions, and key business metrics.&lt;/p&gt;

&lt;p&gt;💡 Further reading: &lt;a href="https://www.nocobase.com/en/blog/build-interactive-operations-dashboard-with-nocobase" rel="noopener noreferrer"&gt;Build an Interactive Operations Dashboard with NocoBase&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fugi0xhkdaqr66kfdk3hi.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fugi0xhkdaqr66kfdk3hi.jpg" alt="2-4-car-rental-dashboard-zmch8c.jpg" width="800" height="508"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2.5 Test, Accept, and Release Against the Acceptance Criteria
&lt;/h3&gt;

&lt;p&gt;Once the system is complete, it can be tested against the acceptance criteria confirmed earlier, checking whether key rules such as vehicle scheduling, status changes, receivable generation, and exception handling behave as expected.&lt;/p&gt;

&lt;p&gt;The Coding Agent runs the tests and fixes the issues it finds, then revalidates the affected processes after each change. Once the key rules pass, people complete acceptance and authorize the release. The Coding Agent then performs the deployment and checks the runtime result.&lt;/p&gt;

&lt;p&gt;📃 Related documentation: &lt;a href="https://docs.nocobase.com/ai-builder/version-control" rel="noopener noreferrer"&gt;Version Control - NocoBase Documentation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Coding Agent implementation and testing → Human acceptance and release authorization → Coding Agent release and runtime verification&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;These acceptance criteria can also be retained. When the system changes later, the same checks can be rerun to confirm whether new functionality affects existing business rules.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Using and Iterating the System After Launch
&lt;/h2&gt;

&lt;p&gt;After the system goes live, AI enters two different work scenarios:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Coding Agent&lt;/strong&gt; continues to handle application changes, testing, and delivery;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Employees&lt;/strong&gt; read business data, call tools, and handle specific tasks inside the running system.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;They can use the same underlying models, but their identities, permissions, and scopes of work need to be managed separately.&lt;/p&gt;

&lt;h3&gt;
  
  
  3.1 Let AI Employees Handle Daily Tasks with Business Context
&lt;/h3&gt;

&lt;p&gt;Once vehicle, order, scheduling, payment, and compliance data are in the system, AI Employees can directly use that business data within the permissions they have been granted.&lt;/p&gt;

&lt;p&gt;💡 Further reading: &lt;a href="https://www.nocobase.com/en/blog/automate-company-background-research-with-workflows-and-ai-employees" rel="noopener noreferrer"&gt;Automating Company Background Research with Built-in Workflows and AI Employees - NocoBase&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For example, from the &lt;strong&gt;operations dashboard&lt;/strong&gt;, an AI Employee can query the orders that need attention today, vehicles with exceptions, or current revenue.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgn6poebk7ypepqyt7q8t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgn6poebk7ypepqyt7q8t.png" alt="3-1-ai-assistant-operations-dashboard-dfy58k.png" width="800" height="509"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3g31k2mi3l942idw04bb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3g31k2mi3l942idw04bb.png" alt="3-1-sales-pipeline-revenue-report-rsbbf0.png" width="799" height="514"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In &lt;strong&gt;vehicle dispatch&lt;/strong&gt;, it can suggest how vehicles should be reallocated based on the vehicles available at each location and current orders, with business staff making the final decision.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Forxlhhyps57hqvvikpsa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Forxlhhyps57hqvvikpsa.png" alt="3-1-dispatch-assistant-9qg1yy.png" width="800" height="504"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fp11xoquecuyjpzkk3vx7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fp11xoquecuyjpzkk3vx7.png" alt="3-1-dispatch-available-vehicles-0jnoz4.png" width="799" height="512"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Which data an AI Employee can read, which tools it can call, and whether it can perform a specific action are all determined by the corresponding business permissions and tool configuration.&lt;/p&gt;

&lt;p&gt;📃 Related documentation: &lt;a href="https://docs.nocobase.com/ai-employees/permission" rel="noopener noreferrer"&gt;How AI Employees Control Usage and Data Access Permissions&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3.2 Keep Iterating on the Existing System
&lt;/h3&gt;

&lt;p&gt;Business rules continue to change after a system goes live. A company may add new locations, adjust pricing, change insurance inspection methods, connect new payment methods, or add new business metrics.&lt;/p&gt;

&lt;p&gt;These requirements can be handed back to the Coding Agent, which can modify the existing data models, pages, permissions, and workflows directly.&lt;/p&gt;

&lt;p&gt;For example, if the business wants to add “dynamic peak-period pricing,” it only needs to provide the applicable conditions, pricing rules, and expected results. The Coding Agent can propose changes based on the existing vehicle, order, and pricing structure, then implement and test them after confirmation, and deliver the update through the same acceptance and release process.&lt;/p&gt;

&lt;p&gt;In this way, later iterations can focus mainly on the parts of the business that have changed, while confirmed data relationships and business rules remain in place.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The use cases for AI + NocoBase are not limited to large enterprise systems. Individuals, small teams, and business departments can also start with smaller requirements, such as an internal tool, approval application, asset register, or simple operations system, and let the Coding Agent build the data model, pages, and workflows on top of the existing application foundation.&lt;/p&gt;

&lt;p&gt;If this article was helpful, feel free to share it with others who are interested in AI Coding, enterprise applications, or business-system development.&lt;/p&gt;

&lt;p&gt;If you also want to build similar enterprise applications with AI and NocoBase, these complete examples may be useful:&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://www.nocobase.com/en/blog/build-production-ready-crm-with-ai-and-nocobase" rel="noopener noreferrer"&gt;Build a CRM with AI + NocoBase&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://www.nocobase.com/en/blog/build-it-operations-system-with-ai-nocobase" rel="noopener noreferrer"&gt;Build an Enterprise IT Operations System with AI + NocoBase&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Related reading&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/open-source-ai-agent-platforms-for-business" rel="noopener noreferrer"&gt;10 Open-Source AI Agent Platforms for Business: From Automation to Internal Apps &lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/build-production-ready-ticketing-system-with-ai" rel="noopener noreferrer"&gt;How to Build a Production-Ready Ticketing System with AI&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/building-inventory-management-system-vibe-coding-vs-nocobase-ai" rel="noopener noreferrer"&gt;Building an Inventory Management System: Vibe Coding vs NocoBase + AI&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/build-it-operations-system-with-ai-nocobase" rel="noopener noreferrer"&gt;How to Build a Production-Ready IT Operations System with AI and NocoBase&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/nocobase-vs-baserow" rel="noopener noreferrer"&gt;NocoBase vs Baserow: Flexible Databases vs Enterprise Systems&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/build-production-ready-crm-with-ai-and-nocobase" rel="noopener noreferrer"&gt;How to Build a Production-Ready CRM with AI and NocoBase&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/enterprise-it-asset-management-system-guide" rel="noopener noreferrer"&gt;How to Design an IT Asset Management System: Data Model, Lifecycle, and Workflows&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/best-smartsheet-alternatives" rel="noopener noreferrer"&gt;How to Choose a Smartsheet Alternative: 7 Tools Compared&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/open-source-ai-no-code-tools-complex-relational-models" rel="noopener noreferrer"&gt;5 Open-Source AI No-Code Tools for Complex Relational Data Models&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/what-is-ai-no-code" rel="noopener noreferrer"&gt;What Is AI No-Code? A Practical Guide to No-Code Platforms in the AI Era&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/open-source-ai-no-code-tools-github-9" rel="noopener noreferrer"&gt;9 Open-Source AI No-Code Tools on GitHub Worth Watching&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/github-open-source-ai-agent-tools-16" rel="noopener noreferrer"&gt;14 Open Source AI Agent Tools with the Most GitHub Stars&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/top-open-source-ai-assistant-tools-github-stars" rel="noopener noreferrer"&gt;Top 8 Open Source AI Assistant Tools by GitHub Stars&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>nocode</category>
      <category>opensource</category>
      <category>systems</category>
    </item>
    <item>
      <title>Weekly Updates : Improvements and Bug Fixes</title>
      <dc:creator>NocoBase</dc:creator>
      <pubDate>Fri, 18 Sep 2026 06:39:19 +0000</pubDate>
      <link>https://dev.to/nocobase/weekly-updates-improvements-and-bug-fixes-126f</link>
      <guid>https://dev.to/nocobase/weekly-updates-improvements-and-bug-fixes-126f</guid>
      <description>&lt;p&gt;Summarize the weekly product update logs, and the latest releases can be checked on &lt;a href="https://www.nocobase.com/en/blog/timeline" rel="noopener noreferrer"&gt;our blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NocoBase is currently updated across three branches: &lt;code&gt;main&lt;/code&gt;, &lt;code&gt;next&lt;/code&gt;, and &lt;code&gt;develop&lt;/code&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F66qf0fuohv233at2nnzv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F66qf0fuohv233at2nnzv.png" alt="version.png" width="800" height="267"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;main&lt;/code&gt;: The most stable version to date, recommended for installation.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;next&lt;/code&gt;: Beta version, contains upcoming new features and has been preliminarily tested. There might be some known or unknown issues. It is mainly used to collect feedback from test users and further optimize features. Ideal for test users who want to experience new features early and provide feedback.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;develop&lt;/code&gt;: Alpha version, contains the latest feature code, may be incomplete or unstable, and is mainly used for internal development and rapid iteration. Suited for technical users interested in cutting-edge product capabilities, but not recommended for production use.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  main
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjmnc6cb7az5ofw9t1ip.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjmnc6cb7az5ofw9t1ip.png" alt="main.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v2.2.14
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-09-16&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[WeCom]&lt;/strong&gt; Support configurable WeCom sync email types and consistent email mapping for full and incremental synchronization. by @chenzhizdt&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[server]&lt;/strong&gt; Prevent secret environment variable exposure in custom request URLs (&lt;a href="https://github.com/nocobase/nocobase/pull/10503" rel="noopener noreferrer"&gt;#10503&lt;/a&gt;) by @2013xile&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Collection field: Sequence]&lt;/strong&gt; Fix sequence field validation for random character patterns configured with multiple character sets. (&lt;a href="https://github.com/nocobase/nocobase/pull/10504" rel="noopener noreferrer"&gt;#10504&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[File manager]&lt;/strong&gt; Move the delete button on v2 attachment and Attachment (URL) cards to the top-right corner to reduce accidental deletion during preview. (&lt;a href="https://github.com/nocobase/nocobase/pull/10508" rel="noopener noreferrer"&gt;#10508&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[AI employees]&lt;/strong&gt; Fixed AI employee data query tools returning no records when the collection's role permission uses a data scope based on the current user (&lt;a href="https://github.com/nocobase/nocobase/pull/10501" rel="noopener noreferrer"&gt;#10501&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt; Hide approval action buttons for queued sequential approvers and show a waiting hint. by @mytharcher&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.2.12
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-09-11&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Fixed the issue where variables nested deeper than three levels cannot be used in workflow query node conditions (&lt;a href="https://github.com/nocobase/nocobase/pull/10494" rel="noopener noreferrer"&gt;#10494&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow]&lt;/strong&gt; Fix workflow list loading parameters under MySQL 8.3+ (&lt;a href="https://github.com/nocobase/nocobase/pull/10486" rel="noopener noreferrer"&gt;#10486&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.2.11
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-09-11&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[Office File Previewer]&lt;/strong&gt; Fixed the issue with incorrect URLs being used for Office file previews (&lt;a href="https://github.com/nocobase/nocobase/pull/10496" rel="noopener noreferrer"&gt;#10496&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  next
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fit0xys8cxci7kol0jjde.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fit0xys8cxci7kol0jjde.png" alt="next.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v2.3.0-beta.10
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-09-15&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Fixed the issue where variables nested deeper than three levels cannot be used in workflow query node conditions (&lt;a href="https://github.com/nocobase/nocobase/pull/10494" rel="noopener noreferrer"&gt;#10494&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow]&lt;/strong&gt; Fix workflow list loading parameters under MySQL 8.3+ (&lt;a href="https://github.com/nocobase/nocobase/pull/10486" rel="noopener noreferrer"&gt;#10486&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Office File Previewer]&lt;/strong&gt; Fixed the issue with incorrect URLs being used for Office file previews (&lt;a href="https://github.com/nocobase/nocobase/pull/10496" rel="noopener noreferrer"&gt;#10496&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  develop
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fow9jd2rkp6w0rmrzuzwl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fow9jd2rkp6w0rmrzuzwl.png" alt="develop.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v2.4.0-alpha.6
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-09-15&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[utils]&lt;/strong&gt; Added an option to block server-side requests and redirects to literal IP addresses (&lt;a href="https://github.com/nocobase/nocobase/pull/10490" rel="noopener noreferrer"&gt;#10490&lt;/a&gt;) by @2013xile&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Improve V2 form QR scanning reliability on iOS. (&lt;a href="https://github.com/nocobase/nocobase/pull/10456" rel="noopener noreferrer"&gt;#10456&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[server]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Prevent secret environment variable exposure in custom request URLs (&lt;a href="https://github.com/nocobase/nocobase/pull/10503" rel="noopener noreferrer"&gt;#10503&lt;/a&gt;) by @2013xile&lt;/li&gt;
&lt;li&gt;Fixed misleading preparing status when a subapp deployment environment is unavailable (&lt;a href="https://github.com/nocobase/nocobase/pull/10485" rel="noopener noreferrer"&gt;#10485&lt;/a&gt;) by @2013xile&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed the issue where variables nested deeper than three levels cannot be used in workflow query node conditions (&lt;a href="https://github.com/nocobase/nocobase/pull/10494" rel="noopener noreferrer"&gt;#10494&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;Fix filter forms not collapsing on mobile (&lt;a href="https://github.com/nocobase/nocobase/pull/10479" rel="noopener noreferrer"&gt;#10479&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix interrupted option value input for custom radio and checkbox fields in filter forms (&lt;a href="https://github.com/nocobase/nocobase/pull/10480" rel="noopener noreferrer"&gt;#10480&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fixed the v2 Update record field settings failing after an assigned field was deleted. (&lt;a href="https://github.com/nocobase/nocobase/pull/10483" rel="noopener noreferrer"&gt;#10483&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Fix full-page reloads when opening settings pages (&lt;a href="https://github.com/nocobase/nocobase/pull/10474" rel="noopener noreferrer"&gt;#10474&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Hide unsupported built-in date variables from workflow create and update field assignments. (&lt;a href="https://github.com/nocobase/nocobase/pull/10442" rel="noopener noreferrer"&gt;#10442&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;Show the standard deleted-field warning for historical V2 field assignments. (&lt;a href="https://github.com/nocobase/nocobase/pull/10484" rel="noopener noreferrer"&gt;#10484&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt; Fixed AI employee data query tools returning no records when the collection's role permission uses a data scope based on the current user (&lt;a href="https://github.com/nocobase/nocobase/pull/10501" rel="noopener noreferrer"&gt;#10501&lt;/a&gt;) by @cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Office File Previewer]&lt;/strong&gt; Fixed the issue with incorrect URLs being used for Office file previews (&lt;a href="https://github.com/nocobase/nocobase/pull/10496" rel="noopener noreferrer"&gt;#10496&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Delay node]&lt;/strong&gt; Fixed delay duration variable validation and report invalid resolved values instead of waiting unexpectedly. (&lt;a href="https://github.com/nocobase/nocobase/pull/10469" rel="noopener noreferrer"&gt;#10469&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt; Fix workflow list loading parameters under MySQL 8.3+ (&lt;a href="https://github.com/nocobase/nocobase/pull/10486" rel="noopener noreferrer"&gt;#10486&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Access control]&lt;/strong&gt; Fix role permissions so selecting a deeply nested menu also selects all parent menus (&lt;a href="https://github.com/nocobase/nocobase/pull/10473" rel="noopener noreferrer"&gt;#10473&lt;/a&gt;) by @zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Data source manager]&lt;/strong&gt; Fixed the inverse-field option not remaining selected when editing a v2 relation field. (&lt;a href="https://github.com/nocobase/nocobase/pull/10482" rel="noopener noreferrer"&gt;#10482&lt;/a&gt;) by @katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Flow engine]&lt;/strong&gt; Fixed non-admin variable resolution in form linkage rules, referenced templates, and scripts. (&lt;a href="https://github.com/nocobase/nocobase/pull/10467" rel="noopener noreferrer"&gt;#10467&lt;/a&gt;) by &lt;a class="mentioned-user" href="https://dev.to/gchust"&gt;@gchust&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt; Fix approval cards showing outdated content after saving an edited draft by @zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[App supervisor]&lt;/strong&gt; Fixed subapp access failures after rolling updates or deployment environment changes by @2013xile&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>nocode</category>
      <category>news</category>
    </item>
    <item>
      <title>Weekly Updates: Improvements and Bug Fixes</title>
      <dc:creator>NocoBase</dc:creator>
      <pubDate>Fri, 11 Sep 2026 09:42:33 +0000</pubDate>
      <link>https://dev.to/nocobase/weekly-updates-improvements-and-bug-fixes-4lg2</link>
      <guid>https://dev.to/nocobase/weekly-updates-improvements-and-bug-fixes-4lg2</guid>
      <description>&lt;p&gt;Summarize the weekly product update logs, and the latest releases can be checked on &lt;a href="https://www.nocobase.com/en/blog/timeline" rel="noopener noreferrer"&gt;our blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NocoBase is currently updated across three branches: &lt;code&gt;main&lt;/code&gt;, &lt;code&gt;next&lt;/code&gt;, and &lt;code&gt;develop&lt;/code&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F66qf0fuohv233at2nnzv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F66qf0fuohv233at2nnzv.png" alt="version.png" width="800" height="267"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;main&lt;/code&gt;: The most stable version to date, recommended for installation.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;next&lt;/code&gt;: Beta version, contains upcoming new features and has been preliminarily tested. There might be some known or unknown issues. It is mainly used to collect feedback from test users and further optimize features. Ideal for test users who want to experience new features early and provide feedback.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;develop&lt;/code&gt;: Alpha version, contains the latest feature code, may be incomplete or unstable, and is mainly used for internal development and rapid iteration. Suited for technical users interested in cutting-edge product capabilities, but not recommended for production use.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  main
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjmnc6cb7az5ofw9t1ip.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjmnc6cb7az5ofw9t1ip.png" alt="main.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v2.2.10
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-09-10&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[utils]&lt;/strong&gt; Added an option to block server-side requests and redirects to literal IP addresses (&lt;a href="https://github.com/nocobase/nocobase/pull/10490" rel="noopener noreferrer"&gt;#10490&lt;/a&gt;) by @2013xile&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Improve V2 form QR scanning reliability on iOS. (&lt;a href="https://github.com/nocobase/nocobase/pull/10456" rel="noopener noreferrer"&gt;#10456&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Hide unsupported built-in date variables from workflow create and update field assignments. (&lt;a href="https://github.com/nocobase/nocobase/pull/10442" rel="noopener noreferrer"&gt;#10442&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[server]&lt;/strong&gt; Fixed misleading preparing status when a subapp deployment environment is unavailable (&lt;a href="https://github.com/nocobase/nocobase/pull/10485" rel="noopener noreferrer"&gt;#10485&lt;/a&gt;) by @2013xile&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow: Delay node]&lt;/strong&gt; Fixed delay duration variable validation and report invalid resolved values instead of waiting unexpectedly. (&lt;a href="https://github.com/nocobase/nocobase/pull/10469" rel="noopener noreferrer"&gt;#10469&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[App supervisor]&lt;/strong&gt; Fixed subapp access failures after rolling updates or deployment environment changes by @2013xile&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.2.9
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-09-09&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed the v2 Update record field settings failing after an assigned field was deleted. (&lt;a href="https://github.com/nocobase/nocobase/pull/10483" rel="noopener noreferrer"&gt;#10483&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Show the standard deleted-field warning for historical V2 field assignments. (&lt;a href="https://github.com/nocobase/nocobase/pull/10484" rel="noopener noreferrer"&gt;#10484&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Fix filter forms not collapsing on mobile (&lt;a href="https://github.com/nocobase/nocobase/pull/10479" rel="noopener noreferrer"&gt;#10479&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Support displaying to-many association fields as read-only subtables in client v2 forms. (&lt;a href="https://github.com/nocobase/nocobase/pull/10478" rel="noopener noreferrer"&gt;#10478&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Fix nested association fields rendering blank in V2 forms when the parent relation uses dropdown selection. (&lt;a href="https://github.com/nocobase/nocobase/pull/10477" rel="noopener noreferrer"&gt;#10477&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed the inverse relationship type being editable in v2 field configuration. (&lt;a href="https://github.com/nocobase/nocobase/pull/10476" rel="noopener noreferrer"&gt;#10476&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Fix interrupted option value input for custom radio and checkbox fields in filter forms (&lt;a href="https://github.com/nocobase/nocobase/pull/10480" rel="noopener noreferrer"&gt;#10480&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix full-page reloads when opening settings pages (&lt;a href="https://github.com/nocobase/nocobase/pull/10474" rel="noopener noreferrer"&gt;#10474&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[cli]&lt;/strong&gt; Restrict legacy local upload URLs to signed-in users by default, with an opt-in compatibility switch for public access. (&lt;a href="https://github.com/nocobase/nocobase/pull/10471" rel="noopener noreferrer"&gt;#10471&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Data source manager]&lt;/strong&gt; Fixed the inverse-field option not remaining selected when editing a v2 relation field. (&lt;a href="https://github.com/nocobase/nocobase/pull/10482" rel="noopener noreferrer"&gt;#10482&lt;/a&gt;) by @katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Flow engine]&lt;/strong&gt; Fixed non-admin variable resolution in form linkage rules, referenced templates, and scripts. (&lt;a href="https://github.com/nocobase/nocobase/pull/10467" rel="noopener noreferrer"&gt;#10467&lt;/a&gt;) by &lt;a class="mentioned-user" href="https://dev.to/gchust"&gt;@gchust&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Access control]&lt;/strong&gt; Fix role permissions so selecting a deeply nested menu also selects all parent menus (&lt;a href="https://github.com/nocobase/nocobase/pull/10473" rel="noopener noreferrer"&gt;#10473&lt;/a&gt;) by @zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Block: Kanban]&lt;/strong&gt; Fixed an issue where newly created records were not immediately visible in the Kanban block. (&lt;a href="https://github.com/nocobase/nocobase/pull/10463" rel="noopener noreferrer"&gt;#10463&lt;/a&gt;) by @gaurangagar&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt; Fix approval cards showing outdated content after saving an edited draft by @zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.2.8
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-09-08&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[WeCom]&lt;/strong&gt; Improved type safety and unified the notification recipient selector in the WeCom plugin. by @chenzhizdt&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[server]&lt;/strong&gt; Fixed applications unexpectedly starting in environments where they were not deployed (&lt;a href="https://github.com/nocobase/nocobase/pull/10464" rel="noopener noreferrer"&gt;#10464&lt;/a&gt;) by @2013xile&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Notification: In-app message]&lt;/strong&gt; Allow all workflow variable types in in-app notification titles and detail links. (&lt;a href="https://github.com/nocobase/nocobase/pull/10470" rel="noopener noreferrer"&gt;#10470&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[File manager]&lt;/strong&gt; Prevent file redirects from reusing expired signed storage URLs. (&lt;a href="https://github.com/nocobase/nocobase/pull/10475" rel="noopener noreferrer"&gt;#10475&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Data source manager]&lt;/strong&gt; Added current user and current role variable selection to v2 permission data scopes (&lt;a href="https://github.com/nocobase/nocobase/pull/10472" rel="noopener noreferrer"&gt;#10472&lt;/a&gt;) by @jiannx&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow: JavaScript]&lt;/strong&gt; Fixed an issue where a timed-out JavaScript workflow node could incorrectly abort the workflow instead of respecting "Continue when exception thrown". (&lt;a href="https://github.com/nocobase/nocobase/pull/10461" rel="noopener noreferrer"&gt;#10461&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[AI employees]&lt;/strong&gt; Fixed AI employees repeatedly querying knowledge bases when the Knowledge Base Prompt omitted the retrieved-content placeholder, and added clear validation guidance when saving the configuration. (&lt;a href="https://github.com/nocobase/nocobase/pull/10413" rel="noopener noreferrer"&gt;#10413&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt; Fixed PGVector connection testing, ZIP import result display, document segment-setting inheritance, and validation for chunk overlap values in AI knowledge bases. by @cgyrock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[App supervisor]&lt;/strong&gt; Fixed exposure of sub-application authentication secrets in application management responses by @2013xile&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[DingTalk]&lt;/strong&gt; Unified the DingTalk notification recipient selector. by @chenzhizdt&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.2.7
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-09-05&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🎉 New Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt; Added an authenticated knowledge base retrieval API and a built-in provider for connecting remote NocoBase knowledge bases. by @cgyrock&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[undefined]&lt;/strong&gt; Corrected the root package license metadata to Apache-2.0 and raised the Node.js requirement to version 22 (&lt;a href="https://github.com/nocobase/nocobase/pull/10448" rel="noopener noreferrer"&gt;#10448&lt;/a&gt;) by @hongboji&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Notification: In-app message]&lt;/strong&gt; Fixed frontend freezing after selecting an in-app message or email channel in workflow v2 notification nodes (&lt;a href="https://github.com/nocobase/nocobase/pull/10445" rel="noopener noreferrer"&gt;#10445&lt;/a&gt;) by @jiannx&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[DingTalk]&lt;/strong&gt; DingTalk ActionCard button links can now be configured to open in an external browser. by @chenzhizdt&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[Collection: SQL]&lt;/strong&gt; Restricted SQL collections from querying PostgreSQL system objects or executing multiple statements (&lt;a href="https://github.com/nocobase/nocobase/pull/10455" rel="noopener noreferrer"&gt;#10455&lt;/a&gt;) by @2013xile&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Block: Comment]&lt;/strong&gt; Fixed the record comments block to display the commenter's nickname when using the Last modified by field (&lt;a href="https://github.com/nocobase/nocobase/pull/10446" rel="noopener noreferrer"&gt;#10446&lt;/a&gt;) by @jiannx&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Prevented Bedrock errors caused by aborted AI responses leaving tool calls without matching tool results. (&lt;a href="https://github.com/nocobase/nocobase/pull/10447" rel="noopener noreferrer"&gt;#10447&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;li&gt;Fixed an error that prevented business analysis reports containing charts from opening. (&lt;a href="https://github.com/nocobase/nocobase/pull/10440" rel="noopener noreferrer"&gt;#10440&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Collection field: Markdown(Vditor)]&lt;/strong&gt; Fix Vditor detail fields to use HTML preview by default so Markdown images can be displayed. (&lt;a href="https://github.com/nocobase/nocobase/pull/10459" rel="noopener noreferrer"&gt;#10459&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Data source manager]&lt;/strong&gt; Fix the missing record unique key setting in the v2 collection editor. (&lt;a href="https://github.com/nocobase/nocobase/pull/10453" rel="noopener noreferrer"&gt;#10453&lt;/a&gt;) by @katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt; Fixed workflow user selection when a user-related collection uses its primary key as the user foreign key (&lt;a href="https://github.com/nocobase/nocobase/pull/10354" rel="noopener noreferrer"&gt;#10354&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[File manager]&lt;/strong&gt; Fixed AI employee workflow nodes failing to access NocoBase permanent file URLs and unnecessarily copying internal files to AI storage. (&lt;a href="https://github.com/nocobase/nocobase/pull/10408" rel="noopener noreferrer"&gt;#10408&lt;/a&gt;) by @cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt; Knowledge base uploads now allow all document formats supported by the backend by @cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Template print]&lt;/strong&gt; Fix dynamic image rendering for stable file URLs in template printing. by @hongboji&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  next
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fit0xys8cxci7kol0jjde.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fit0xys8cxci7kol0jjde.png" alt="next.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v2.3.0-beta.9
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-09-10&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[utils]&lt;/strong&gt; Added an option to block server-side requests and redirects to literal IP addresses (&lt;a href="https://github.com/nocobase/nocobase/pull/10490" rel="noopener noreferrer"&gt;#10490&lt;/a&gt;) by @2013xile&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Improve V2 form QR scanning reliability on iOS. (&lt;a href="https://github.com/nocobase/nocobase/pull/10456" rel="noopener noreferrer"&gt;#10456&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[WeCom]&lt;/strong&gt; Improved type safety and unified the notification recipient selector in the WeCom plugin. by @chenzhizdt&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hide unsupported built-in date variables from workflow create and update field assignments. (&lt;a href="https://github.com/nocobase/nocobase/pull/10442" rel="noopener noreferrer"&gt;#10442&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;Fix full-page reloads when opening settings pages (&lt;a href="https://github.com/nocobase/nocobase/pull/10474" rel="noopener noreferrer"&gt;#10474&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fixed the v2 Update record field settings failing after an assigned field was deleted. (&lt;a href="https://github.com/nocobase/nocobase/pull/10483" rel="noopener noreferrer"&gt;#10483&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Show the standard deleted-field warning for historical V2 field assignments. (&lt;a href="https://github.com/nocobase/nocobase/pull/10484" rel="noopener noreferrer"&gt;#10484&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Fix interrupted option value input for custom radio and checkbox fields in filter forms (&lt;a href="https://github.com/nocobase/nocobase/pull/10480" rel="noopener noreferrer"&gt;#10480&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;li&gt;Support displaying to-many association fields as read-only subtables in client v2 forms. (&lt;a href="https://github.com/nocobase/nocobase/pull/10478" rel="noopener noreferrer"&gt;#10478&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Fix nested association fields rendering blank in V2 forms when the parent relation uses dropdown selection. (&lt;a href="https://github.com/nocobase/nocobase/pull/10477" rel="noopener noreferrer"&gt;#10477&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed the inverse relationship type being editable in v2 field configuration. (&lt;a href="https://github.com/nocobase/nocobase/pull/10476" rel="noopener noreferrer"&gt;#10476&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Fix filter forms not collapsing on mobile (&lt;a href="https://github.com/nocobase/nocobase/pull/10479" rel="noopener noreferrer"&gt;#10479&lt;/a&gt;) by @zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[server]&lt;/strong&gt; Fixed misleading preparing status when a subapp deployment environment is unavailable (&lt;a href="https://github.com/nocobase/nocobase/pull/10485" rel="noopener noreferrer"&gt;#10485&lt;/a&gt;) by @2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[cli]&lt;/strong&gt; Restrict legacy local upload URLs to signed-in users by default, with an opt-in compatibility switch for public access. (&lt;a href="https://github.com/nocobase/nocobase/pull/10471" rel="noopener noreferrer"&gt;#10471&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Delay node]&lt;/strong&gt; Fixed delay duration variable validation and report invalid resolved values instead of waiting unexpectedly. (&lt;a href="https://github.com/nocobase/nocobase/pull/10469" rel="noopener noreferrer"&gt;#10469&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Data source manager]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed the inverse-field option not remaining selected when editing a v2 relation field. (&lt;a href="https://github.com/nocobase/nocobase/pull/10482" rel="noopener noreferrer"&gt;#10482&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Added current user and current role variable selection to v2 permission data scopes (&lt;a href="https://github.com/nocobase/nocobase/pull/10472" rel="noopener noreferrer"&gt;#10472&lt;/a&gt;) by @jiannx&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Notification: In-app message]&lt;/strong&gt; Allow all workflow variable types in in-app notification titles and detail links. (&lt;a href="https://github.com/nocobase/nocobase/pull/10470" rel="noopener noreferrer"&gt;#10470&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Access control]&lt;/strong&gt; Fix role permissions so selecting a deeply nested menu also selects all parent menus (&lt;a href="https://github.com/nocobase/nocobase/pull/10473" rel="noopener noreferrer"&gt;#10473&lt;/a&gt;) by @zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Block: Kanban]&lt;/strong&gt; Fixed an issue where newly created records were not immediately visible in the Kanban block. (&lt;a href="https://github.com/nocobase/nocobase/pull/10463" rel="noopener noreferrer"&gt;#10463&lt;/a&gt;) by @gaurangagar&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[File manager]&lt;/strong&gt; Prevent file redirects from reusing expired signed storage URLs. (&lt;a href="https://github.com/nocobase/nocobase/pull/10475" rel="noopener noreferrer"&gt;#10475&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Flow engine]&lt;/strong&gt; Fixed non-admin variable resolution in form linkage rules, referenced templates, and scripts. (&lt;a href="https://github.com/nocobase/nocobase/pull/10467" rel="noopener noreferrer"&gt;#10467&lt;/a&gt;) by &lt;a class="mentioned-user" href="https://dev.to/gchust"&gt;@gchust&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt; Fix approval cards showing outdated content after saving an edited draft by @zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[App supervisor]&lt;/strong&gt; Fixed subapp access failures after rolling updates or deployment environment changes by @2013xile&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.3.0-beta.8
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-09-07&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🎉 New Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt; Added an authenticated knowledge base retrieval API and a built-in provider for connecting remote NocoBase knowledge bases. by @cgyrock&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[Notification: In-app message]&lt;/strong&gt; Fixed frontend freezing after selecting an in-app message or email channel in workflow v2 notification nodes (&lt;a href="https://github.com/nocobase/nocobase/pull/10445" rel="noopener noreferrer"&gt;#10445&lt;/a&gt;) by @jiannx&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[server]&lt;/strong&gt; Fixed applications unexpectedly starting in environments where they were not deployed (&lt;a href="https://github.com/nocobase/nocobase/pull/10464" rel="noopener noreferrer"&gt;#10464&lt;/a&gt;) by @2013xile&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed AI employees repeatedly querying knowledge bases when the Knowledge Base Prompt omitted the retrieved-content placeholder, and added clear validation guidance when saving the configuration. (&lt;a href="https://github.com/nocobase/nocobase/pull/10413" rel="noopener noreferrer"&gt;#10413&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;li&gt;Prevented Bedrock errors caused by aborted AI responses leaving tool calls without matching tool results. (&lt;a href="https://github.com/nocobase/nocobase/pull/10447" rel="noopener noreferrer"&gt;#10447&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Collection field: Markdown(Vditor)]&lt;/strong&gt; Fix Vditor detail fields to use HTML preview by default so Markdown images can be displayed. (&lt;a href="https://github.com/nocobase/nocobase/pull/10459" rel="noopener noreferrer"&gt;#10459&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Collection: SQL]&lt;/strong&gt; Restricted SQL collections from querying PostgreSQL system objects or executing multiple statements (&lt;a href="https://github.com/nocobase/nocobase/pull/10455" rel="noopener noreferrer"&gt;#10455&lt;/a&gt;) by @2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Block: Comment]&lt;/strong&gt; Fixed the record comments block to display the commenter's nickname when using the Last modified by field (&lt;a href="https://github.com/nocobase/nocobase/pull/10446" rel="noopener noreferrer"&gt;#10446&lt;/a&gt;) by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt; Fixed workflow user selection when a user-related collection uses its primary key as the user foreign key (&lt;a href="https://github.com/nocobase/nocobase/pull/10354" rel="noopener noreferrer"&gt;#10354&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Data source manager]&lt;/strong&gt; Fix the missing record unique key setting in the v2 collection editor. (&lt;a href="https://github.com/nocobase/nocobase/pull/10453" rel="noopener noreferrer"&gt;#10453&lt;/a&gt;) by @katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: JavaScript]&lt;/strong&gt; Fixed an issue where a timed-out JavaScript workflow node could incorrectly abort the workflow instead of respecting "Continue when exception thrown". (&lt;a href="https://github.com/nocobase/nocobase/pull/10461" rel="noopener noreferrer"&gt;#10461&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Knowledge base uploads now allow all document formats supported by the backend by @cgyrock&lt;/li&gt;
&lt;li&gt;Fixed PGVector connection testing, ZIP import result display, document segment-setting inheritance, and validation for chunk overlap values in AI knowledge bases. by @cgyrock&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Template print]&lt;/strong&gt; Fix dynamic image rendering for stable file URLs in template printing. by @hongboji&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[App supervisor]&lt;/strong&gt; Fixed exposure of sub-application authentication secrets in application management responses by @2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[DingTalk]&lt;/strong&gt; Unified the DingTalk notification recipient selector. by @chenzhizdt&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  develop
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fow9jd2rkp6w0rmrzuzwl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fow9jd2rkp6w0rmrzuzwl.png" alt="develop.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v2.4.0-alpha.5
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-09-09&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[WeCom]&lt;/strong&gt; Improved type safety and unified the notification recipient selector in the WeCom plugin. by @chenzhizdt&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Support displaying to-many association fields as read-only subtables in client v2 forms. (&lt;a href="https://github.com/nocobase/nocobase/pull/10478" rel="noopener noreferrer"&gt;#10478&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed the inverse relationship type being editable in v2 field configuration. (&lt;a href="https://github.com/nocobase/nocobase/pull/10476" rel="noopener noreferrer"&gt;#10476&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;Fix nested association fields rendering blank in V2 forms when the parent relation uses dropdown selection. (&lt;a href="https://github.com/nocobase/nocobase/pull/10477" rel="noopener noreferrer"&gt;#10477&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[cli]&lt;/strong&gt; Restrict legacy local upload URLs to signed-in users by default, with an opt-in compatibility switch for public access. (&lt;a href="https://github.com/nocobase/nocobase/pull/10471" rel="noopener noreferrer"&gt;#10471&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: JavaScript]&lt;/strong&gt; Fixed an issue where a timed-out JavaScript workflow node could incorrectly abort the workflow instead of respecting "Continue when exception thrown". (&lt;a href="https://github.com/nocobase/nocobase/pull/10461" rel="noopener noreferrer"&gt;#10461&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[File manager]&lt;/strong&gt; Prevent file redirects from reusing expired signed storage URLs. (&lt;a href="https://github.com/nocobase/nocobase/pull/10475" rel="noopener noreferrer"&gt;#10475&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Notification: In-app message]&lt;/strong&gt; Allow all workflow variable types in in-app notification titles and detail links. (&lt;a href="https://github.com/nocobase/nocobase/pull/10470" rel="noopener noreferrer"&gt;#10470&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Data source manager]&lt;/strong&gt; Added current user and current role variable selection to v2 permission data scopes (&lt;a href="https://github.com/nocobase/nocobase/pull/10472" rel="noopener noreferrer"&gt;#10472&lt;/a&gt;) by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Block: Kanban]&lt;/strong&gt; Fixed an issue where newly created records were not immediately visible in the Kanban block. (&lt;a href="https://github.com/nocobase/nocobase/pull/10463" rel="noopener noreferrer"&gt;#10463&lt;/a&gt;) by @gaurangagar&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[DingTalk]&lt;/strong&gt; Unified the DingTalk notification recipient selector. by @chenzhizdt&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.4.0-alpha.4
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-09-06&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🎉 New Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt; Added an authenticated knowledge base retrieval API and a built-in provider for connecting remote NocoBase knowledge bases. by @cgyrock&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[Notification: In-app message]&lt;/strong&gt; Fixed frontend freezing after selecting an in-app message or email channel in workflow v2 notification nodes (&lt;a href="https://github.com/nocobase/nocobase/pull/10445" rel="noopener noreferrer"&gt;#10445&lt;/a&gt;) by @jiannx&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[server]&lt;/strong&gt; Fixed applications unexpectedly starting in environments where they were not deployed (&lt;a href="https://github.com/nocobase/nocobase/pull/10464" rel="noopener noreferrer"&gt;#10464&lt;/a&gt;) by @2013xile&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Collection field: Markdown(Vditor)]&lt;/strong&gt; Fix Vditor detail fields to use HTML preview by default so Markdown images can be displayed. (&lt;a href="https://github.com/nocobase/nocobase/pull/10459" rel="noopener noreferrer"&gt;#10459&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed AI employees repeatedly querying knowledge bases when the Knowledge Base Prompt omitted the retrieved-content placeholder, and added clear validation guidance when saving the configuration. (&lt;a href="https://github.com/nocobase/nocobase/pull/10413" rel="noopener noreferrer"&gt;#10413&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;li&gt;Prevented Bedrock errors caused by aborted AI responses leaving tool calls without matching tool results. (&lt;a href="https://github.com/nocobase/nocobase/pull/10447" rel="noopener noreferrer"&gt;#10447&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Block: Comment]&lt;/strong&gt; Fixed the record comments block to display the commenter's nickname when using the Last modified by field (&lt;a href="https://github.com/nocobase/nocobase/pull/10446" rel="noopener noreferrer"&gt;#10446&lt;/a&gt;) by @jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Data source manager]&lt;/strong&gt; Fix the missing record unique key setting in the v2 collection editor. (&lt;a href="https://github.com/nocobase/nocobase/pull/10453" rel="noopener noreferrer"&gt;#10453&lt;/a&gt;) by @katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt; Fixed workflow user selection when a user-related collection uses its primary key as the user foreign key (&lt;a href="https://github.com/nocobase/nocobase/pull/10354" rel="noopener noreferrer"&gt;#10354&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Collection: SQL]&lt;/strong&gt; Restricted SQL collections from querying PostgreSQL system objects or executing multiple statements (&lt;a href="https://github.com/nocobase/nocobase/pull/10455" rel="noopener noreferrer"&gt;#10455&lt;/a&gt;) by @2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed PGVector connection testing, ZIP import result display, document segment-setting inheritance, and validation for chunk overlap values in AI knowledge bases. by @cgyrock&lt;/li&gt;
&lt;li&gt;Knowledge base uploads now allow all document formats supported by the backend by @cgyrock&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Template print]&lt;/strong&gt; Fix dynamic image rendering for stable file URLs in template printing. by @hongboji&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[App supervisor]&lt;/strong&gt; Fixed exposure of sub-application authentication secrets in application management responses by @2013xile&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>nocode</category>
      <category>opensource</category>
      <category>news</category>
    </item>
    <item>
      <title>10 Open-Source AI Agent Platforms for Business: From Automation to Internal Apps</title>
      <dc:creator>NocoBase</dc:creator>
      <pubDate>Sat, 05 Sep 2026 14:07:48 +0000</pubDate>
      <link>https://dev.to/nocobase/10-open-source-ai-agent-platforms-for-business-from-automation-to-internal-apps-3n08</link>
      <guid>https://dev.to/nocobase/10-open-source-ai-agent-platforms-for-business-from-automation-to-internal-apps-3n08</guid>
      <description>&lt;p&gt;Originally published at &lt;a href="https://www.nocobase.com/en/blog/open-source-ai-agent-platforms-for-business" rel="noopener noreferrer"&gt;https://www.nocobase.com/en/blog/open-source-ai-agent-platforms-for-business&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;These 10 platforms can be roughly grouped into three categories:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;NocoBase, Activepieces, Kestra, and Windmill are better suited to connecting AI with enterprise data, automation, and business processes.&lt;/li&gt;
&lt;li&gt;Coze Studio, Langflow, and Dify are better suited to visually building Agents and AI applications.&lt;/li&gt;
&lt;li&gt;MaxKB, AnythingLLM, and RAGFlow are better suited to enterprise knowledge bases and RAG.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If a company needs to manage structured business data, permissions, and internal applications, NocoBase is worth considering first. If the main goal is to connect multiple SaaS tools and automate tasks, Activepieces is a strong option. If the focus is building Agents and AI workflows, Dify, Langflow, or Coze Studio are good starting points. If private document Q&amp;amp;A and complex knowledge retrieval matter most, MaxKB, AnythingLLM, or RAGFlow are more suitable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;More companies are starting to bring AI Agents into everyday work. Customer follow-up, email organization, task reminders, and data summaries are all examples of repetitive work that can increasingly be handed over to AI.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5r3o0c19v9q78yek2e9k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5r3o0c19v9q78yek2e9k.png" alt="Reddit-uemixv.png" width="606" height="291"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On Reddit's &lt;a href="https://www.reddit.com/r/smallbusiness/comments/1vkc911/small_business_owner_using_chatgpt_where_should_i/" rel="noopener noreferrer"&gt;r/smallbusiness&lt;/a&gt;, one small-business owner explained that they already use ChatGPT and want to go further by letting AI handle customer follow-up, email classification, proposal reminders, and weekly summaries. As they researched further, they came across n8n, Zapier, APIs, MCP, and various Agent-building tools. They do not have a development background and do not want to learn an entire technical stack just for a few automation workflows. What made the decision even harder was the maintenance question: if it takes several weeks to build these applications, will they then need constant upkeep and eventually become more complicated than the original way of working?&lt;/p&gt;

&lt;p&gt;This is a common problem when businesses choose AI Agent tools. A simple search for “AI Agent” brings up very different types of products: developer frameworks such as LangChain, CrewAI, and Haystack; Agent-building platforms; automation tools; RAG platforms; and enterprise application platforms that can manage business data, pages, permissions, and workflows in the same system.&lt;/p&gt;




&lt;p&gt;💬 Hey, you're reading the NocoBase blog. NocoBase is the most extensible AI-powered no-code/low-code development platform for building enterprise applications, internal tools, and all kinds of systems. It’s fully self-hosted, plugin-based, and developer-friendly. → &lt;a href="https://github.com/nocobase/nocobase" rel="noopener noreferrer"&gt;Explore NocoBase on GitHub&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Based on practical business use cases, this article collects 10 &lt;strong&gt;open-source AI Agent projects that support self-hosting and already provide visual applications, workflows, knowledge bases, or business-system capabilities&lt;/strong&gt;. For each project, we look at the basics, notable AI Agent capabilities, business use cases, and the types of teams it is best suited for.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;To keep the scope clear, the projects included here need to meet several basic criteria: &lt;strong&gt;the core code is public and actively maintained, self-hosting is supported, Agent, tool-calling, or AI workflow capabilities are already available, and the project provides at least one of the following: visual applications, automation, knowledge bases, or enterprise business systems.&lt;/strong&gt; Project information and selection guidance are based mainly on official websites, GitHub repositories, and official documentation. This is not a benchmark under a unified test environment or a complete ranking.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;💡 If you are more interested in development frameworks such as LangChain and CrewAI and want to compare different Agent frameworks and development platforms, see our earlier article: &lt;a href="https://www.nocobase.com/en/blog/8-open-source-ai-agent-platforms-for-internal-tools" rel="noopener noreferrer"&gt;8 Open-Source AI Agent Platforms for Internal Tools&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Before going through the projects one by one, you can first scan the list below to understand how their positioning, use cases, and technical requirements differ.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Enterprise Applications and Business Automation
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. NocoBase
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Website&lt;/strong&gt;: &lt;a href="https://www.nocobase.com/" rel="noopener noreferrer"&gt;https://www.nocobase.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub&lt;/strong&gt;: &lt;a href="https://github.com/nocobase/nocobase" rel="noopener noreferrer"&gt;https://github.com/nocobase/nocobase&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Stars&lt;/strong&gt;: 23.9K&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Related documentation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI Employees&lt;/strong&gt;: &lt;a href="https://docs.nocobase.com/ai-employees/quick-start" rel="noopener noreferrer"&gt;https://docs.nocobase.com/ai-employees/quick-start&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI Builder&lt;/strong&gt;: &lt;a href="https://docs.nocobase.com/ai-builder" rel="noopener noreferrer"&gt;https://docs.nocobase.com/ai-builder&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;NocoBase is an open-source, self-hosted AI no-code platform for enterprise applications. It is mainly used to build CRM systems, ticketing systems, IT management systems, approval workflows, and other internal business applications. It provides the foundational capabilities required by enterprise applications, including data models, pages, permissions, and workflows, while also allowing AI to participate in both application building and later adjustments. AI Employees can also be configured inside the system so AI can combine current business data, tools, and processes to perform analysis, information processing, and task execution.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0gu7fx8enyc9965jk84f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0gu7fx8enyc9965jk84f.png" alt="NocoBase1-d3zdlw.png" width="799" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Core AI Capabilities
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AI + no-code application building&lt;/strong&gt;: Users can describe business requirements in natural language, and AI can create data tables and relationships, pages, workflows, and role permissions. NocoBase provides both a no-code portal and an AI portal. The no-code portal makes it easier for business users to continue adjusting the application visually, while the AI portal is better suited to complex interactions and highly customized pages.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 &lt;a href="https://docs.nocobase.com/ai-builder/ai-portal/" rel="noopener noreferrer"&gt;AI Portal Quick Start - NocoBase Documentation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AI Portal:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fp5ca97citlxdmc7yngtu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fp5ca97citlxdmc7yngtu.png" alt="NocoBase2-fbd2y1.png" width="800" height="512"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;No-code Portal:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb2qtesynk37igi7qylqw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb2qtesynk37igi7qylqw.png" alt="NocoBase3-hyg550.png" width="800" height="471"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AI Employees and business execution&lt;/strong&gt;: AI can participate in daily work as a specific role, handling tasks such as data analysis, email organization, and information extraction. It can also use system tools and workflows to query data, fill forms, or trigger business processes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 &lt;a href="https://docs.nocobase.com/ai-employees/features/tools" rel="noopener noreferrer"&gt;AI Employees: Using Tools - NocoBase Documentation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fd8i9tlk76i9ctusiko6j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fd8i9tlk76i9ctusiko6j.png" alt="NocoBase4-xxuvt5.png" width="799" height="505"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Enterprise knowledge base&lt;/strong&gt;: AI Employees can retrieve enterprise knowledge automatically or on demand, with accessible content filtered according to the current user's role. This allows customer service, sales, or internal assistants to work with the company's own knowledge.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 &lt;a href="https://docs.nocobase.com/ai-employees/knowledge-base/knowledge-base" rel="noopener noreferrer"&gt;NocoBase AI Knowledge Base Documentation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwqtvr2wq3u4aeka424pv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwqtvr2wq3u4aeka424pv.png" alt="NocoBase5-xtr048.png" width="800" height="474"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Enterprise permissions and execution control&lt;/strong&gt;: AI Employees inherit the current user's data permissions. Important operations such as modifying data can also require confirmation before execution, helping prevent an Agent from gaining access beyond the user's own permission scope.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 &lt;a href="https://docs.nocobase.com/ai-employees/permission" rel="noopener noreferrer"&gt;AI Employee Roles and Permissions - NocoBase Documentation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsgpn60ihx7fhhijz9zll.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsgpn60ihx7fhhijz9zll.png" alt="NocoBase6-2n7cas.png" width="799" height="431"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Business Use Cases
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CRM&lt;/strong&gt;: Organize communication details from customer emails or meeting notes, generate follow-up suggestions, and assist sales using customer, contact, and opportunity data.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;💡 Read more: &lt;a href="https://www.nocobase.com/en/blog/build-production-ready-crm-with-ai-and-nocobase" rel="noopener noreferrer"&gt;How to Build a Production-Ready CRM with AI and NocoBase&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F20ykegwag2vwfq67uwhc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F20ykegwag2vwfq67uwhc.png" alt="NocoBase7-rhk2ez.png" width="800" height="472"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Customer support and ticketing&lt;/strong&gt;: Analyze submitted customer issues, determine category and priority, generate response suggestions using the knowledge base, and participate in ticket-handling workflows.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhuzbojwv61cuoc5su9ew.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhuzbojwv61cuoc5su9ew.png" alt="NocoBase8-12xpon.png" width="799" height="473"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;IT management&lt;/strong&gt;: Identify IT request types, priorities, and handling suggestions from employees' natural-language descriptions, then work with asset, maintenance, approval, and related business data.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;💡 Read more: &lt;a href="https://www.nocobase.com/en/blog/build-it-operations-system-with-ai-nocobase" rel="noopener noreferrer"&gt;How to Build an Enterprise IT Operations System with AI and NocoBase in 2 Hours&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcszbs1d8o0sedo6uf2cc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcszbs1d8o0sedo6uf2cc.png" alt="NocoBase9-1b5gyk.png" width="800" height="476"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Internal business applications&lt;/strong&gt;: Configure AI Employees for different roles in procurement, approval, project management, operations, and other systems, allowing them to use business data and workflows to complete routine tasks.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Selection Guidance
&lt;/h4&gt;

&lt;p&gt;NocoBase is a good fit for teams with clearly defined business needs such as CRM, customer support ticketing, IT management, or approvals, especially when they want AI to accelerate application building without asking AI to create an entire business system from scratch. Core capabilities such as data models, permissions, and workflows are already provided by the platform. Business teams can complete most of the setup with no-code tools and AI, then extend the system further through APIs and plugins. It is especially suitable for teams building internal systems that are expected to be used and iterated over the long term.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Activepieces
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Website&lt;/strong&gt;: &lt;a href="https://www.activepieces.com/" rel="noopener noreferrer"&gt;https://www.activepieces.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub&lt;/strong&gt;: &lt;a href="https://github.com/activepieces/activepieces" rel="noopener noreferrer"&gt;https://github.com/activepieces/activepieces&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Stars&lt;/strong&gt;: 24.0K&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Related documentation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MCP&lt;/strong&gt;: &lt;a href="https://www.activepieces.com/docs/mcp/overview" rel="noopener noreferrer"&gt;https://www.activepieces.com/docs/mcp/overview&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Product Overview
&lt;/h4&gt;

&lt;p&gt;Activepieces is an open-source, self-hosted AI automation platform mainly used to connect the applications, data, and business processes a company already relies on. It brings AI Agents, automation workflows, and data into the same environment and is well suited to sales, customer support, operations, and other work that spans multiple tools.&lt;/p&gt;

&lt;p&gt;💡 Read more: &lt;a href="https://www.nocobase.com/en/blog/workbuddy-open-source-tools" rel="noopener noreferrer"&gt;6 Open-Source Tools to Use with WorkBuddy&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3nam0ecosocfdfj8slol.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3nam0ecosocfdfj8slol.png" alt="Activepieces1-p5mhpr.png" width="800" height="404"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Core AI Capabilities
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Visual AI Agent creation&lt;/strong&gt;: Users can define an Agent's task, model, and available tools, then place the Agent directly inside automation workflows. Existing workflows can also be reused as Agent tools.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqbepc96uhh6you73lz3c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqbepc96uhh6you73lz3c.png" alt="Activepieces2-usoav3.png" width="799" height="249"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Natural-language automation building&lt;/strong&gt;: Users can describe what they want to accomplish and let AI generate an Agent or automation workflow. They can then continue editing visually by adding conditions, loops, and code execution.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Connect business tools&lt;/strong&gt;: The platform can connect more than 700 applications, including CRM systems, email, collaboration tools, spreadsheets, and other commonly used services. Through MCP, tools and workflows built in the platform can also be exposed to other AI clients that support MCP.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjuznw2rivk94nzqziqay.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjuznw2rivk94nzqziqay.png" alt="Activepieces3-beqsn8.png" width="799" height="492"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Business Use Cases
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Sales lead processing&lt;/strong&gt;: Capture new leads from email or forms, let AI classify customer type and priority, update the CRM, and generate follow-up content.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Customer support workflows&lt;/strong&gt;: Automatically read customer issues, classify and summarize them, assign tickets, and synchronize information between customer support systems and CRM.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Daily operations automation&lt;/strong&gt;: Organize email, extract information, synchronize spreadsheets or databases, and automatically generate daily reports, weekly reports, and business notifications from data across multiple systems.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Selection Guidance
&lt;/h4&gt;

&lt;p&gt;Activepieces is better suited to small and midsize teams or business departments that already use several SaaS tools but have limited development resources. Sales, marketing, customer support, and operations teams that frequently move data, send messages, and follow up across multiple systems can start with visual workflows and later add APIs or custom integrations as requirements become more complex.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Kestra
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Website&lt;/strong&gt;: &lt;a href="https://kestra.io/" rel="noopener noreferrer"&gt;https://kestra.io/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub&lt;/strong&gt;: &lt;a href="https://github.com/kestra-io/kestra" rel="noopener noreferrer"&gt;https://github.com/kestra-io/kestra&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Stars&lt;/strong&gt;: 28.0K&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Related documentation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI Copilot&lt;/strong&gt;: &lt;a href="https://kestra.io/docs/ai-tools/ai-copilot" rel="noopener noreferrer"&gt;https://kestra.io/docs/ai-tools/ai-copilot&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Product Overview
&lt;/h4&gt;

&lt;p&gt;Kestra is an open-source, self-hosted workflow orchestration platform mainly used to manage automation across data, AI, and infrastructure. AI Agents can run directly as tasks inside workflows, calling tools, executing other tasks, or triggering existing flows based on their goals.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0vjl053ouckexhh9wlpm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0vjl053ouckexhh9wlpm.png" alt="Kestra1-qepx6c.png" width="800" height="393"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Core AI Capabilities
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AI Agents working with workflows&lt;/strong&gt;: AI Copilot can generate or modify workflows from natural-language instructions. Agents can also be placed directly inside existing workflows, where they can use models, memory, tools, and existing Kestra tasks and flows, then decide the next step based on execution results.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fm02jca0c94a0fwams12w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fm02jca0c94a0fwams12w.png" alt="Kestra2-un0lak.png" width="800" height="389"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Visual and code-based development&lt;/strong&gt;: Workflows can be created and adjusted through the visual interface, while more complex requirements can be extended with YAML, Python, Docker, and custom scripts.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fflctzeb084xnlmpk0vvd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fflctzeb084xnlmpk0vvd.png" alt="Kestra3-favk4g.png" width="800" height="391"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Traceable execution&lt;/strong&gt;: Agents and regular tasks share the same runtime system, making it possible to inspect execution status, logs, and failure records in one place for easier troubleshooting and maintenance.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Business Use Cases
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Data-processing automation&lt;/strong&gt;: Choose next steps based on data state and call existing workflows to complete cleaning, analysis, and aggregation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;IT and operations workflows&lt;/strong&gt;: Analyze alerts or system events, then execute checks, notifications, or other follow-up tasks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Complex business and AI workflows&lt;/strong&gt;: Combine models, tools, approvals, data processing, and cross-system tasks to handle workflows that require multiple steps and dynamic decisions.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Selection Guidance
&lt;/h4&gt;

&lt;p&gt;Kestra is better suited to teams that already have some automation foundation and have developers, data engineers, or operations specialists involved. Its orchestration capabilities become more valuable when workflows grow longer and need task dependencies, retries, execution-state tracking, and multi-step AI decisions. If a small team only wants to build a few simple business automations quickly, it may not need such a complete workflow system.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Windmill
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Website&lt;/strong&gt;: &lt;a href="https://www.windmill.dev/" rel="noopener noreferrer"&gt;https://www.windmill.dev/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub&lt;/strong&gt;: &lt;a href="https://github.com/windmill-labs/windmill" rel="noopener noreferrer"&gt;https://github.com/windmill-labs/windmill&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Stars&lt;/strong&gt;: 17.7K&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Related documentation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI Agent applications&lt;/strong&gt;: &lt;a href="https://www.windmill.dev/use-cases/ai-agents" rel="noopener noreferrer"&gt;https://www.windmill.dev/use-cases/ai-agents&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Product Overview
&lt;/h4&gt;

&lt;p&gt;Windmill is an open-source, self-hosted development and automation platform that can run scripts, APIs, workflows, and internal applications in one environment. It supports both visual orchestration and code in Python, TypeScript, Go, SQL, and other languages, making it more suitable for teams with some technical expertise.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6ekmry4ajrtxiegfloqg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6ekmry4ajrtxiegfloqg.png" alt="Windmill1-u4c2db.png" width="800" height="514"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Core AI Capabilities
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Add Agents to workflows&lt;/strong&gt;: AI Agents can run directly as workflow steps and be combined with conditions, approvals, error handling, and other nodes to handle tasks that require AI judgment.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F78wthg9si4u1f6b42xdf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F78wthg9si4u1f6b42xdf.png" alt="Windmill2-86jcks.png" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Use existing technical resources&lt;/strong&gt;: Agents can use scripts, databases, APIs, and other workflows already available in Windmill. They can also connect to MCP tools, allowing teams to reuse existing code and internal services directly inside Agent workflows.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkl39kghyvkyaw611po62.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkl39kghyvkyaw611po62.png" alt="Windmill3-jejm47.png" width="800" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Permissions, approvals, and execution records&lt;/strong&gt;: Teams can limit which resources an Agent can access and execute, require human confirmation before important actions, and inspect tool calls, inputs and outputs, logs, and execution status for each run.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Business Use Cases
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;IT and operations automation&lt;/strong&gt;: Analyze problems based on alerts or system state, then call scripts to perform checks, remediation, and notifications.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data processing and analysis&lt;/strong&gt;: Query databases or run existing data scripts, let an Agent analyze the results, and trigger subsequent workflows.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Internal AI tools&lt;/strong&gt;: Combine Agents, backend scripts, and internal app interfaces to build data assistants, operations tools, and other internal applications.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Selection Guidance
&lt;/h4&gt;

&lt;p&gt;Windmill is more suitable for teams that already have developers, data specialists, or operations engineers. If a company has accumulated many scripts, databases, APIs, and internal services and wants to reuse those existing resources for Agents and automation, Windmill can be a natural fit. For teams without technical staff that mainly want to build a few simple workflows visually, its development-platform orientation may feel heavier.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Visual AI Agent Building Platforms
&lt;/h2&gt;

&lt;h3&gt;
  
  
  5. Coze Studio
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Website&lt;/strong&gt;: &lt;a href="https://www.coze.cn/home" rel="noopener noreferrer"&gt;https://www.coze.cn/home&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub&lt;/strong&gt;: &lt;a href="https://github.com/coze-dev/coze-studio" rel="noopener noreferrer"&gt;https://github.com/coze-dev/coze-studio&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Stars&lt;/strong&gt;: 21.5K&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI Agent documentation&lt;/strong&gt;: &lt;a href="https://github.com/coze-dev/coze-studio/wiki/1.-What-is-Coze-Studio" rel="noopener noreferrer"&gt;https://github.com/coze-dev/coze-studio/wiki/1.-What-is-Coze-Studio&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Product Overview
&lt;/h4&gt;

&lt;p&gt;Coze Studio is an open-source, all-in-one AI Agent development platform from ByteDance. Its main focus is visually creating, debugging, and deploying Agents. Users can combine models, knowledge, and tools directly, making it suitable for quickly building customer-service assistants, knowledge Q&amp;amp;A, content assistants, and other AI applications.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhf31efg2syp84td6njbc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhf31efg2syp84td6njbc.png" alt="Coze1-x3ltv6.png" width="800" height="411"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Core AI Capabilities
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Visual Agent and workflow building&lt;/strong&gt;: Configure models, prompts, and tools through the interface, or orchestrate multi-step workflows on a canvas with conditions, data processing, and other logic.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwz8mxqmdw3tdxqn9u2x6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwz8mxqmdw3tdxqn9u2x6.png" alt="Coze2-tarjfy.png" width="800" height="305"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;RAG and knowledge bases&lt;/strong&gt;: Connect enterprise documents and knowledge data so Agents can answer questions and handle tasks based on specified content.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Plugins and external tools&lt;/strong&gt;: Agents can call external services through plugins, bringing search, queries, data processing, and other capabilities into the execution process.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvt0ruyem0pg53v20a7kr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvt0ruyem0pg53v20a7kr.png" alt="Coze3-abbyw4.png" width="800" height="501"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Development, debugging, and deployment&lt;/strong&gt;: Agents can be created, tested, and deployed within the same platform, reducing the need to switch between multiple tools.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Business Use Cases
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AI customer support&lt;/strong&gt;: Use knowledge bases to answer product, service, and after-sales questions, while plugins query additional business information.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enterprise knowledge assistants&lt;/strong&gt;: Provide employee Q&amp;amp;A, document lookup, and information organization based on internal documents and knowledge bases.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Content and marketing assistants&lt;/strong&gt;: Combine search, content generation, and workflows for research, content organization, and first-draft creation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Selection Guidance
&lt;/h4&gt;

&lt;p&gt;Coze Studio is a good fit for teams that are just starting to experiment with AI Agents and want to quickly build customer-service assistants, knowledge Q&amp;amp;A, or content assistants without dedicated AI developers. Product, operations, or business teams can validate ideas visually first, then add knowledge bases, plugins, and more complex workflows as needed.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Langflow
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Website&lt;/strong&gt;: &lt;a href="https://www.langflow.org/" rel="noopener noreferrer"&gt;https://www.langflow.org/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub&lt;/strong&gt;: &lt;a href="https://github.com/langflow-ai/langflow" rel="noopener noreferrer"&gt;https://github.com/langflow-ai/langflow&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Stars&lt;/strong&gt;: 153.9K&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Related documentation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Agents&lt;/strong&gt;: &lt;a href="https://docs.langflow.org/agents" rel="noopener noreferrer"&gt;https://docs.langflow.org/agents&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Product Overview
&lt;/h4&gt;

&lt;p&gt;Langflow is an open-source visual AI application development platform mainly used to build Agents and AI workflows. It combines models, tools, data, and other Agents through modular components while retaining Python extensibility, making it suitable for AI application scenarios that require frequent experimentation and iteration.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F24q0vk3ocqo0rfjc7zbs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F24q0vk3ocqo0rfjc7zbs.png" alt="Langflow1-dbxpex.png" width="799" height="548"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Core AI Capabilities
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Drag-and-drop building and multi-Agent composition&lt;/strong&gt;: Configure Agents on a visual canvas and connect models, prompts, tools, and other components into complete workflows. Components and flows can also be used as Agent tools, and multiple Agents can divide work such as retrieval, analysis, and organization.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MCP support&lt;/strong&gt;: Connect external MCP services or expose workflows built in Langflow to other AI applications that support MCP.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ff84pqdmjlmxcrd30njyk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ff84pqdmjlmxcrd30njyk.png" alt="Langflow2-p8b1dx.png" width="800" height="522"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Models and Python extensions&lt;/strong&gt;: Freely combine different models and data sources. When built-in components do not cover a requirement, custom Python components can connect enterprise APIs and processing logic.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Business Use Cases
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Knowledge and document applications&lt;/strong&gt;: Combine internal documents, retrieval, models, and Agents for knowledge Q&amp;amp;A, document analysis, and information extraction.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-Agent workflows&lt;/strong&gt;: Let different Agents handle retrieval, analysis, organization, and other tasks, then connect them into one complete process.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI application prototypes&lt;/strong&gt;: Quickly validate ideas such as customer support assistants, research assistants, and content-generation tools, then connect them to existing products through APIs.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Selection Guidance
&lt;/h4&gt;

&lt;p&gt;Langflow is better suited to teams with some technical involvement that need to experiment frequently with different models and Agent structures. Product or data teams can first build workflows visually, while developers add more complex functionality through Python, custom components, and APIs. It is well suited to prototyping and continuous experimentation. For teams with no technical staff that only want to launch fixed business workflows quickly, later-stage maintenance may depend more heavily on developers.&lt;/p&gt;

&lt;h3&gt;
  
  
  7. Dify
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Website&lt;/strong&gt;: &lt;a href="https://dify.ai/" rel="noopener noreferrer"&gt;https://dify.ai/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub&lt;/strong&gt;: &lt;a href="https://github.com/langgenius/dify" rel="noopener noreferrer"&gt;https://github.com/langgenius/dify&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Stars&lt;/strong&gt;: 154.0K&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Related documentation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Official documentation&lt;/strong&gt;: &lt;a href="https://docs.dify.ai/" rel="noopener noreferrer"&gt;https://docs.dify.ai/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Dify is an open-source AI application development platform for building Agents, knowledge assistants, and more complex AI workflows. It covers the full lifecycle from application creation and debugging to publishing and ongoing runtime management, making it suitable for teams that want to develop multiple AI applications continuously within one platform.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ff6puvjbntlpw7pkje7di.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ff6puvjbntlpw7pkje7di.png" alt="Dify1-835tx4.png" width="800" height="623"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Core AI Capabilities
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Agent and workflow building&lt;/strong&gt;: Configure Agent models, instructions, tools, and knowledge bases through the visual interface, or use the canvas to orchestrate multi-step workflows with conditions, knowledge retrieval, tool calls, and human input.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsr7kx5enbjvuqsblbd2j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsr7kx5enbjvuqsblbd2j.png" alt="Dify2-9eaiyv.png" width="800" height="150"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;RAG and knowledge processing&lt;/strong&gt;: Build knowledge bases from PDF, PPT, and other documents, with content cleaning, chunking, indexing, and retrieval testing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7f1tolyop9taa0no92u4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7f1tolyop9taa0no92u4.png" alt="Dify3-xs0trk.png" width="800" height="413"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Model and plugin extensions&lt;/strong&gt;: Connect multiple model providers and add new tools, data sources, triggers, and Agent capabilities through plugins.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Publishing and runtime management&lt;/strong&gt;: Publish completed applications as web apps or APIs, while monitoring logs, feedback, latency, and usage.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Business Use Cases
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AI customer support and knowledge assistants&lt;/strong&gt;: Combine enterprise knowledge bases and external tools to handle customer inquiries or internal employee knowledge searches.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Business information processing&lt;/strong&gt;: Connect extraction, classification, analysis, generation, and tool calls into complete workflows.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rapid AI application launch&lt;/strong&gt;: Publish completed Agents or workflows as applications or APIs, then integrate them with existing products and business systems.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Selection Guidance
&lt;/h4&gt;

&lt;p&gt;Dify is a good fit when a team has moved beyond experimenting with a single Agent and plans to keep building customer support, knowledge assistants, content-processing tools, and other AI applications. Business and product teams can complete most configuration visually, while developers can add plugins, APIs, and deeper integrations when needed. For small and midsize businesses or product teams that want to manage multiple AI projects on one platform, it can be easier than maintaining several separate tools.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Enterprise Knowledge and RAG Agents
&lt;/h2&gt;

&lt;h3&gt;
  
  
  8. MaxKB
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Website&lt;/strong&gt;: &lt;a href="https://maxkb.cn/" rel="noopener noreferrer"&gt;https://maxkb.cn/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub&lt;/strong&gt;: &lt;a href="https://github.com/1Panel-dev/MaxKB" rel="noopener noreferrer"&gt;https://github.com/1Panel-dev/MaxKB&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Stars&lt;/strong&gt;: 22.6K&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Related documentation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Official documentation&lt;/strong&gt;: &lt;a href="https://maxkb.cn/docs/v2/index.html" rel="noopener noreferrer"&gt;https://maxkb.cn/docs/v2/index.html&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Product Overview
&lt;/h4&gt;

&lt;p&gt;MaxKB is an open-source, self-hosted enterprise Agent platform that is well suited to starting with enterprise knowledge bases and knowledge Q&amp;amp;A. In addition to basic RAG, it provides visual workflows and tool-calling capabilities that can be extended into customer support, office assistants, and similar scenarios.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjdze8ah0x4mtfwfbionn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjdze8ah0x4mtfwfbionn.png" alt="MaxKB1-fgub0k.png" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Core AI Capabilities
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Enterprise knowledge bases and RAG&lt;/strong&gt;: Upload documents or crawl online content, then perform chunking, vectorization, and knowledge retrieval for internal materials and professional Q&amp;amp;A.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Visual workflows and tool calling&lt;/strong&gt;: Combine AI conversation, knowledge retrieval, conditions, forms, document extraction, and other nodes on a canvas. MCP services can also be connected so models can call external tools.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multiple models and local deployment&lt;/strong&gt;: Connect public models such as OpenAI, Claude, Gemini, DeepSeek, and Qwen, as well as local models through Ollama, vLLM, and similar tools.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Integration with existing systems&lt;/strong&gt;: Completed Agents can be embedded into websites and internal applications through public links, embed code, or APIs.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Business Use Cases
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AI customer support&lt;/strong&gt;: Connect product knowledge bases, FAQs, and business materials to an Agent for handling customer inquiries.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Professional knowledge applications&lt;/strong&gt;: Use industry materials for search, organization, and analysis in finance, education, research, and other specialized scenarios.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Selection Guidance
&lt;/h4&gt;

&lt;p&gt;MaxKB is particularly suitable for &lt;strong&gt;teams that already have a large amount of enterprise documentation and knowledge material and want to build knowledge-focused AI Agents relatively quickly&lt;/strong&gt;. Its visual workflows and knowledge-base capabilities have a relatively low entry barrier, while local deployment and local models make it a good fit for organizations with requirements around internal knowledge use, data control, and third-party system integration.&lt;/p&gt;

&lt;h3&gt;
  
  
  9. AnythingLLM
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Website&lt;/strong&gt;: &lt;a href="https://anythingllm.com/" rel="noopener noreferrer"&gt;https://anythingllm.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub&lt;/strong&gt;: &lt;a href="https://github.com/Mintplex-Labs/anything-llm" rel="noopener noreferrer"&gt;https://github.com/Mintplex-Labs/anything-llm&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Stars&lt;/strong&gt;: 65.4K&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Related documentation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Agent Flow&lt;/strong&gt;: &lt;a href="https://docs.anythingllm.com/agent-flows/overview" rel="noopener noreferrer"&gt;https://docs.anythingllm.com/agent-flows/overview&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Product Overview
&lt;/h4&gt;

&lt;p&gt;AnythingLLM is an open-source, local-first AI application mainly used to build AI assistants based on private documents and internal knowledge. It offers both desktop and self-hosted versions with a relatively complete graphical interface, so teams can start without first setting up a complex development environment.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdpyz7apmu0mzebiv93n4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdpyz7apmu0mzebiv93n4.png" alt="AnythingLLM1-5fia5p.png" width="800" height="415"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Core AI Capabilities
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Private documents and RAG&lt;/strong&gt;: Add PDF, Word, text, and other files to separate workspaces so AI can answer questions based on selected content while preserving citations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fs8r5o9yun5wo6fq08lz2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fs8r5o9yun5wo6fq08lz2.png" alt="AnythingLLM2-4h817b.png" width="799" height="324"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Agent Flow&lt;/strong&gt;: Visually combine web scraping, API calls, model instructions, file reading and writing, and other steps into repeatable processing flows.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-user and permissions&lt;/strong&gt;: The self-hosted version supports multiple users and permission management, allowing teams to separate workspaces and knowledge access by user or group.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Business Use Cases
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Internal knowledge and document assistants&lt;/strong&gt;: Answer questions, summarize information, and extract data from company policies, product materials, training documents, contracts, and reports.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Research and document organization&lt;/strong&gt;: Combine internal documents, web information, and tool calls to collect, organize, and analyze information.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Selection Guidance
&lt;/h4&gt;

&lt;p&gt;AnythingLLM is better suited to individuals, small teams, or companies that want to pilot a private AI assistant within a department first. Even without dedicated AI developers, teams can start quickly with document Q&amp;amp;A and information organization. If the main goal is to let AI use internal knowledge securely rather than build complex business workflows, it is a lighter-weight option.&lt;/p&gt;

&lt;h3&gt;
  
  
  10. RAGFlow
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Website&lt;/strong&gt;: &lt;a href="https://ragflow.io/" rel="noopener noreferrer"&gt;https://ragflow.io/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub&lt;/strong&gt;: &lt;a href="https://github.com/infiniflow/ragflow" rel="noopener noreferrer"&gt;https://github.com/infiniflow/ragflow&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Stars&lt;/strong&gt;: 89.7K&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Related documentation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Agent guide&lt;/strong&gt;: &lt;a href="https://github.com/infiniflow/ragflow/tree/main/docs/guides/agent" rel="noopener noreferrer"&gt;https://github.com/infiniflow/ragflow/tree/main/docs/guides/agent&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Product Overview
&lt;/h4&gt;

&lt;p&gt;RAGFlow is an open-source RAG and AI Agent platform focused on complex document processing and enterprise knowledge retrieval. Compared with simpler knowledge-Q&amp;amp;A tools, it is better suited to scenarios with complex document types, large knowledge volumes, and stronger requirements for retrieval accuracy and source traceability.&lt;/p&gt;

&lt;p&gt;💡 Read more: &lt;a href="https://www.nocobase.com/en/blog/openclaw-open-source-enterprise-tools" rel="noopener noreferrer"&gt;How Can OpenClaw Be Used in Real Business? 5 Recommended Open-Source Tools&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fznsadan4ckspj9hmyewm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fznsadan4ckspj9hmyewm.png" alt="AnythingLLM2-lvcqjv.png" width="799" height="324"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Core AI Capabilities
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Complex document understanding&lt;/strong&gt;: Process PDF, Word, PPT, spreadsheets, images, and long documents, extracting information that can be used for retrieval and analysis.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;High-accuracy RAG&lt;/strong&gt;: Combine vector retrieval, keyword search, reranking, and metadata filtering to improve retrieval accuracy and traceability.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agent workflows&lt;/strong&gt;: Use a visual canvas to combine retrieval, models, conditions, loops, classification, and other steps. More complex patterns such as multi-Agent workflows, planning, and reflection are also supported.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4tm3dr896sx2uljxzpmr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4tm3dr896sx2uljxzpmr.png" alt="RAGFlow2-3r2pqb.png" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tools and data-source integration&lt;/strong&gt;: Agents can call external tools and support MCP. Enterprise knowledge can also be synchronized from Confluence, S3, Notion, Google Drive, and other sources.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnisfl95up3erwkvgx6de.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnisfl95up3erwkvgx6de.png" alt="RAGFlow3-tlomcm.png" width="800" height="656"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Business Use Cases
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Complex enterprise knowledge bases&lt;/strong&gt;: Build a unified knowledge retrieval system across large collections of policies, technical manuals, reports, and professional materials.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Legal and compliance analysis&lt;/strong&gt;: Retrieve supporting evidence from regulations, contracts, cases, and internal materials, then generate analysis with sources.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Research and decision support&lt;/strong&gt;: Combine internal data and external materials so Agents can retrieve, analyze, and generate reports.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Selection Guidance
&lt;/h4&gt;

&lt;p&gt;RAGFlow is suitable for teams with large knowledge volumes, complex documents, and some technical resources. In legal, manufacturing, technical support, research, and similar settings, it has stronger advantages when materials contain many long documents, tables, images, or specialized content and when retrieval accuracy and source evidence matter significantly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Many AI Agent products are beginning to overlap in functionality. Visual workflows, knowledge bases, MCP, and tool calling are now available on more and more platforms. In practice, teams need to consider whether these capabilities can fit smoothly into existing work and how much additional operational and maintenance overhead they will introduce.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Hopefully, this article helps narrow down the options. Feel free to share it with friends or teams that are also looking for AI Agent tools.&lt;/p&gt;

&lt;p&gt;If you want to build similar enterprise applications with AI and NocoBase, these complete examples may be useful:&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://www.nocobase.com/en/blog/build-production-ready-crm-with-ai-and-nocobase" rel="noopener noreferrer"&gt;Build a CRM with AI + NocoBase&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://www.nocobase.com/en/blog/build-it-operations-system-with-ai-nocobase" rel="noopener noreferrer"&gt;Build an Enterprise IT Operations System with AI + NocoBase&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Related reading&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/build-production-ready-ticketing-system-with-ai" rel="noopener noreferrer"&gt;How to Build a Production-Ready Ticketing System with AI&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/building-inventory-management-system-vibe-coding-vs-nocobase-ai" rel="noopener noreferrer"&gt;Building an Inventory Management System: Vibe Coding vs NocoBase + AI&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/build-it-operations-system-with-ai-nocobase" rel="noopener noreferrer"&gt;How to Build a Production-Ready IT Operations System with AI and NocoBase&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/nocobase-vs-baserow" rel="noopener noreferrer"&gt;NocoBase vs Baserow: Flexible Databases vs Enterprise Systems&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/build-production-ready-crm-with-ai-and-nocobase" rel="noopener noreferrer"&gt;How to Build a Production-Ready CRM with AI and NocoBase&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/enterprise-it-asset-management-system-guide" rel="noopener noreferrer"&gt;How to Design an IT Asset Management System: Data Model, Lifecycle, and Workflows&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/best-smartsheet-alternatives" rel="noopener noreferrer"&gt;How to Choose a Smartsheet Alternative: 7 Tools Compared&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/open-source-ai-no-code-tools-complex-relational-models" rel="noopener noreferrer"&gt;5 Open-Source AI No-Code Tools for Complex Relational Data Models&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/what-is-ai-no-code" rel="noopener noreferrer"&gt;What Is AI No-Code? A Practical Guide to No-Code Platforms in the AI Era&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/open-source-ai-no-code-tools-github-9" rel="noopener noreferrer"&gt;9 Open-Source AI No-Code Tools on GitHub Worth Watching&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/github-open-source-ai-agent-tools-16" rel="noopener noreferrer"&gt;14 Open Source AI Agent Tools with the Most GitHub Stars&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/top-open-source-ai-assistant-tools-github-stars" rel="noopener noreferrer"&gt;Top 8 Open Source AI Assistant Tools by GitHub Stars&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/workbuddy-open-source-tools" rel="noopener noreferrer"&gt;6 Open Source Tools to Use with WorkBuddy&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>agents</category>
      <category>nocode</category>
    </item>
    <item>
      <title>Weekly Updates: Improvements and Bug Fixes</title>
      <dc:creator>NocoBase</dc:creator>
      <pubDate>Fri, 04 Sep 2026 08:33:13 +0000</pubDate>
      <link>https://dev.to/nocobase/weekly-updates-improvements-and-bug-fixes-4f64</link>
      <guid>https://dev.to/nocobase/weekly-updates-improvements-and-bug-fixes-4f64</guid>
      <description>&lt;p&gt;Summarize the weekly product update logs, and the latest releases can be checked on &lt;a href="https://www.nocobase.com/en/blog/timeline" rel="noopener noreferrer"&gt;our blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NocoBase is currently updated across three branches: &lt;code&gt;main&lt;/code&gt;, &lt;code&gt;next&lt;/code&gt;, and &lt;code&gt;develop&lt;/code&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F66qf0fuohv233at2nnzv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F66qf0fuohv233at2nnzv.png" alt="version.png" width="800" height="267"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;main&lt;/code&gt;: The most stable version to date, recommended for installation.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;next&lt;/code&gt;: Beta version, contains upcoming new features and has been preliminarily tested. There might be some known or unknown issues. It is mainly used to collect feedback from test users and further optimize features. Ideal for test users who want to experience new features early and provide feedback.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;develop&lt;/code&gt;: Alpha version, contains the latest feature code, may be incomplete or unstable, and is mainly used for internal development and rapid iteration. Suited for technical users interested in cutting-edge product capabilities, but not recommended for production use.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  main
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjmnc6cb7az5ofw9t1ip.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjmnc6cb7az5ofw9t1ip.png" alt="main.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v2.2.6
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-09-02&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[Migration manager]&lt;/strong&gt; Displayed migration file sizes with readable binary units instead of raw byte counts by @hongboji&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[utils]&lt;/strong&gt; Prevent stored XSS in rich-text fields written through APIs and rendered in display or edit mode. (&lt;a href="https://github.com/nocobase/nocobase/pull/10425" rel="noopener noreferrer"&gt;#10425&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[database]&lt;/strong&gt; Fixed SQL Server string filters failing to match literal square brackets and other &lt;code&gt;LIKE&lt;/code&gt; wildcard characters (&lt;a href="https://github.com/nocobase/nocobase/pull/10436" rel="noopener noreferrer"&gt;#10436&lt;/a&gt;) by @hongboji&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Collection field: Markdown(Vditor)]&lt;/strong&gt; Restore table actions in V2 Markdown Vditor fields. (&lt;a href="https://github.com/nocobase/nocobase/pull/10438" rel="noopener noreferrer"&gt;#10438&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[File manager]&lt;/strong&gt; Fixed the missing file storage selector in v2 file collection create and edit forms. (&lt;a href="https://github.com/nocobase/nocobase/pull/10439" rel="noopener noreferrer"&gt;#10439&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[File storage: S3(Pro)]&lt;/strong&gt; Fix S3 Pro multipart upload failures for backup files larger than 5 MB. by @mytharcher&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.2.5
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-08-31&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improve workflow task detail handling on mobile by using a full-width Drawer and responsive task-center presentation. (&lt;a href="https://github.com/nocobase/nocobase/pull/10428" rel="noopener noreferrer"&gt;#10428&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;Optimized pending workflow job recovery by adding a composite index on job status and ID. (&lt;a href="https://github.com/nocobase/nocobase/pull/10427" rel="noopener noreferrer"&gt;#10427&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;Fix schedule workflows in static mode running one more time after &lt;code&gt;endsOn&lt;/code&gt; (&lt;a href="https://github.com/nocobase/nocobase/pull/10411" rel="noopener noreferrer"&gt;#10411&lt;/a&gt;) by @Tespera&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Notification manager]&lt;/strong&gt; Fix workflow user recipient variables displaying &lt;code&gt;Variable parsing failed&lt;/code&gt; and unify user selectors across workflow nodes. (&lt;a href="https://github.com/nocobase/nocobase/pull/10432" rel="noopener noreferrer"&gt;#10432&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Adapted approval task details and remote forms to narrow mobile viewports. by @mytharcher&lt;/li&gt;
&lt;li&gt;Fix approval assignee variables displaying &lt;code&gt;Variable parsing failed&lt;/code&gt; and reuse the shared workflow user selector. by @mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.2.4
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-08-28&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt; Fixed AI employees incorrectly reporting no knowledge-base access for root users by @hongboji&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt; Fixed the approval trigger-variable form not rendering for subflow nodes on v1 workflow pages. by @mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[DingTalk]&lt;/strong&gt; Fixed an issue where DingTalk Stream mode synchronization sources could not be submitted in the v1 client. by @chenzhizdt&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  next
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fit0xys8cxci7kol0jjde.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fit0xys8cxci7kol0jjde.png" alt="next.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v2.3.0-beta.6
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-08-31&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Optimized pending workflow job recovery by adding a composite index on job status and ID. (&lt;a href="https://github.com/nocobase/nocobase/pull/10427" rel="noopener noreferrer"&gt;#10427&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;li&gt;Fix schedule workflows in static mode running one more time after &lt;code&gt;endsOn&lt;/code&gt; (&lt;a href="https://github.com/nocobase/nocobase/pull/10411" rel="noopener noreferrer"&gt;#10411&lt;/a&gt;) by @Tespera&lt;/li&gt;
&lt;li&gt;Improve workflow task detail handling on mobile by using a full-width Drawer and responsive task-center presentation. (&lt;a href="https://github.com/nocobase/nocobase/pull/10428" rel="noopener noreferrer"&gt;#10428&lt;/a&gt;) by @mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Notification manager]&lt;/strong&gt; Fix workflow user recipient variables displaying &lt;code&gt;Variable parsing failed&lt;/code&gt; and unify user selectors across workflow nodes. (&lt;a href="https://github.com/nocobase/nocobase/pull/10432" rel="noopener noreferrer"&gt;#10432&lt;/a&gt;) by @mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix approval assignee variables displaying &lt;code&gt;Variable parsing failed&lt;/code&gt; and reuse the shared workflow user selector. by @mytharcher&lt;/li&gt;
&lt;li&gt;Adapted approval task details and remote forms to narrow mobile viewports. by @mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[DingTalk]&lt;/strong&gt; Fixed an issue where DingTalk Stream mode synchronization sources could not be submitted in the v1 client. by @chenzhizdt&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  develop
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fow9jd2rkp6w0rmrzuzwl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fow9jd2rkp6w0rmrzuzwl.png" alt="develop.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v2.4.0-alpha.3
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-09-02&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[AI employees]&lt;/strong&gt; Removed the persisted AI context data source settings and selector while keeping direct data source query capabilities. (&lt;a href="https://github.com/nocobase/nocobase/pull/10450" rel="noopener noreferrer"&gt;#10450&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.4.0-alpha.2
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-09-02&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[undefined]&lt;/strong&gt; Corrected the root package license metadata to Apache-2.0 and raised the Node.js requirement to version 22 (&lt;a href="https://github.com/nocobase/nocobase/pull/10448" rel="noopener noreferrer"&gt;#10448&lt;/a&gt;) by @hongboji&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[DingTalk]&lt;/strong&gt; DingTalk ActionCard button links can now be configured to open in an external browser. by @chenzhizdt&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[File manager]&lt;/strong&gt; Fixed AI employee workflow nodes failing to access NocoBase permanent file URLs and unnecessarily copying internal files to AI storage. (&lt;a href="https://github.com/nocobase/nocobase/pull/10408" rel="noopener noreferrer"&gt;#10408&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[AI employees]&lt;/strong&gt; Fixed an error that prevented business analysis reports containing charts from opening. (&lt;a href="https://github.com/nocobase/nocobase/pull/10440" rel="noopener noreferrer"&gt;#10440&lt;/a&gt;) by @cgyrock&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.4.0-alpha.1
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-09-02&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[Migration manager]&lt;/strong&gt; Displayed migration file sizes with readable binary units instead of raw byte counts by @hongboji&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[database]&lt;/strong&gt; Fixed SQL Server string filters failing to match literal square brackets and other &lt;code&gt;LIKE&lt;/code&gt; wildcard characters (&lt;a href="https://github.com/nocobase/nocobase/pull/10436" rel="noopener noreferrer"&gt;#10436&lt;/a&gt;) by @hongboji&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[utils]&lt;/strong&gt; Prevent stored XSS in rich-text fields written through APIs and rendered in display or edit mode. (&lt;a href="https://github.com/nocobase/nocobase/pull/10425" rel="noopener noreferrer"&gt;#10425&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Collection field: Markdown(Vditor)]&lt;/strong&gt; Restore table actions in V2 Markdown Vditor fields. (&lt;a href="https://github.com/nocobase/nocobase/pull/10438" rel="noopener noreferrer"&gt;#10438&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[File manager]&lt;/strong&gt; Fixed the missing file storage selector in v2 file collection create and edit forms. (&lt;a href="https://github.com/nocobase/nocobase/pull/10439" rel="noopener noreferrer"&gt;#10439&lt;/a&gt;) by @katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[File storage: S3(Pro)]&lt;/strong&gt; Fix S3 Pro multipart upload failures for backup files larger than 5 MB. by @mytharcher&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>nocode</category>
      <category>news</category>
    </item>
    <item>
      <title>How to Build a Production-Ready Ticketing System with AI</title>
      <dc:creator>NocoBase</dc:creator>
      <pubDate>Thu, 03 Sep 2026 07:49:25 +0000</pubDate>
      <link>https://dev.to/nocobase/how-to-build-a-production-ready-ticketing-system-with-ai-3f0n</link>
      <guid>https://dev.to/nocobase/how-to-build-a-production-ready-ticketing-system-with-ai-3f0n</guid>
      <description>&lt;p&gt;Originally published at &lt;a href="https://www.nocobase.com/en/blog/build-production-ready-ticketing-system-with-ai" rel="noopener noreferrer"&gt;https://www.nocobase.com/en/blog/build-production-ready-ticketing-system-with-ai&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;AI can build a ticketing system quickly, but “the features have been generated” does not mean “the system is ready for production.”&lt;/p&gt;

&lt;p&gt;A system that a team can actually use needs at least clear data relationships, inspectable role permissions, and workflows whose execution results can be traced. This article uses a NocoBase ticketing system as an example to show how AI can turn natural-language requirements into an application and how to verify these core business foundations.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Build a Production-Ready Ticketing System with AI
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Building a ticketing system with AI may not seem difficult. But can it really be used in production?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;On &lt;a href="https://www.reddit.com/r/nocode/comments/1uysnen/building_internal_tools_without_engineering_and/" rel="noopener noreferrer"&gt;Reddit&lt;/a&gt; in the r/nocode community, one user described a problem their team had encountered. They tried several AI + no-code tools. The applications looked good at first, but once real business data was added, problems started appearing one after another, and it was often difficult to tell what had gone wrong.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1wst59z6bd3ga1bndkf7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1wst59z6bd3ga1bndkf7.png" alt="reddit1-ygpeth.png" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One reply in the comments pointed to the core issue: many AI-built systems start to fail in more complex business scenarios because they do not &lt;strong&gt;maintain a complete internal model of the application, including who is using the system, what permissions different roles have, how work moves through the process, and what users ultimately need to accomplish.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8efno0pvaexp4o4mrior.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8efno0pvaexp4o4mrior.png" alt="reddit2-b67anb.png" width="800" height="327"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AI can generate pages and features quickly, but for an application to run reliably over the long term, the underlying platform still needs clear data models, relationships, permissions, and workflow capabilities. Otherwise, as business complexity grows, the features generated by AI become increasingly difficult to keep working correctly.&lt;/p&gt;




&lt;p&gt;💬 Hey, you're reading the NocoBase blog. NocoBase is the most extensible AI-powered no-code/low-code development platform for building enterprise applications, internal tools, and all kinds of systems. It’s fully self-hosted, plugin-based, and developer-friendly. → &lt;a href="https://github.com/nocobase/nocobase" rel="noopener noreferrer"&gt;Explore NocoBase on GitHub&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;In this article, I will use a ticketing system as an example to show how AI and NocoBase can be used together to build a system with the foundations required for production use.&lt;/p&gt;

&lt;p&gt;In this process, NocoBase provides the underlying capabilities for data relationships, permission control, and workflows. AI is responsible for understanding business requirements, converting natural language into data structures, pages, and features, and continuing to adjust the system as requirements evolve.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Describe the Business Requirements and Let AI Design the System
&lt;/h2&gt;

&lt;p&gt;Before building anything, start from the actual work. Clarify the problems the team is facing and what the system needs to solve, then describe those requirements to AI in natural language so it can build the required ticketing system on NocoBase.&lt;/p&gt;

&lt;p&gt;If you are not sure how to describe the requirements, start from a few angles. For a ticketing system, for example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;How customer issues enter the system&lt;/strong&gt;: which channels they usually come from and how they are currently collected and handled;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What happens after an issue comes in&lt;/strong&gt;: who takes ownership, how follow-up works, and when the issue is considered resolved;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Which situations require special attention&lt;/strong&gt;: for example, urgent issues, tickets that remain unassigned for too long, or tickets that have been open for an extended period.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once these points are clear, they can be turned directly into a natural-language requirement for AI. Below is the actual requirement we used in this build:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;We are a small software company with four customer support agents. Customers mainly report issues through email and the support entry point on our website.&lt;/p&gt;

&lt;p&gt;We currently handle these issues through a shared inbox. As the volume grows, issues are sometimes missed. People may assume someone else has already replied, only to find that no one handled the issue. Some tickets go through several rounds of communication, but it becomes unclear who currently owns them. Urgent issues can also remain unresolved for too long.&lt;/p&gt;

&lt;p&gt;I want to build a customer support ticketing system. Each customer issue should be recorded separately and assigned to a specific support agent. Agents should be able to continuously update progress until the issue is resolved. For urgent issues, tickets that remain unassigned for too long, or tickets that are close to breaching their deadline, the system should remind the team to take action.&lt;/p&gt;

&lt;p&gt;We also want an overview page that quickly shows how many issues are still open, which issues need priority attention, and how many issues have recently been resolved.&lt;/p&gt;

&lt;p&gt;Please design and build this system based on these actual business requirements.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;AI first breaks the requirements down into a data structure. In NocoBase, it creates tables for tickets, customers, support agents, communication records, SLA rules, and related data, then defines the relationships between them.&lt;/p&gt;

&lt;p&gt;On top of the data model, AI continues building the pages.&lt;/p&gt;

&lt;p&gt;In the end, AI creates a ticket list, ticket detail pages, and a support workspace, covering the basic scenarios of ticket recording, assignment, follow-up, and overview.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fr7oyo634bd13adh6oroh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fr7oyo634bd13adh6oroh.png" alt="Tickets en-v1b1s0.png" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmum8nrg5v9e2q4vojatl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmum8nrg5v9e2q4vojatl.png" alt="Customer satisfaction en-709uw1.png" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F820w74yv7itolm7u5zxd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F820w74yv7itolm7u5zxd.png" alt="SLA &amp;amp; escalations en-0zfn5p.png" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fuie65lon9j1at4yb10ub.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fuie65lon9j1at4yb10ub.png" alt="Queue workload en-z7he21.png" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At this point, we have turned a business description into a working ticketing system. But “the features have been built” and “the system is ready for production” are not the same thing.&lt;/p&gt;

&lt;p&gt;Once the whole team starts using the system, three questions still need to be verified: &lt;strong&gt;Are the data relationships accurate? Can different team members collaborate according to their permissions? Can assignment, reminders, SLA breaches, and escalation rules execute reliably?&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Solve Three Core Problems for Production Use
&lt;/h2&gt;

&lt;p&gt;The Reddit comment mentioned earlier pointed out that many AI-built applications begin to fail once real data is added because they do not maintain a complete internal model of the application: who uses the system, what roles different members have, how the data is related, and which rules govern the flow of work.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F362kl9rsp9ad43k9b88g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F362kl9rsp9ad43k9b88g.png" alt="reddit3-09lu3o.png" width="800" height="97"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The ticketing system now has data tables and pages, but when four support agents start working with real customer issues, we still need to validate three core areas.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Are the Data Relationships Accurate?
&lt;/h3&gt;

&lt;p&gt;A ticket is not an isolated record.&lt;/p&gt;

&lt;p&gt;Each ticket needs to be associated with the customer who submitted it, the current owner, historical communication records, and the applicable SLA rule. When the ticket status changes, statistics and pending items on the workspace also need to update accordingly.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhfue84qyfzngmqilxdcs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhfue84qyfzngmqilxdcs.png" alt="数据之间的关系1 en-pax4na.png" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If these relationships are not defined clearly, the system may still look complete while failing in actual use. After changing the owner, previous handling records may become difficult to find. A ticket may be matched to the wrong response deadline, or numbers on the overview page may no longer match reality.&lt;/p&gt;

&lt;p&gt;In NocoBase, these relationships are not temporary pieces of logic written by AI into a specific page. They are defined directly in the data model. Using the ticket table as an example, the SLA policy, queue, ticket type, and submitter are defined as many-to-one relationships. One ticket can be linked to multiple satisfaction records, attachments, followers, and other tickets. Parent-child ticket relationships are also explicitly defined in field configuration.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F95647f127xb4zupc4rf6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F95647f127xb4zupc4rf6.png" alt="数据之间的关系2 en-cknbzn.png" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These relationships become part of the NocoBase data model and are shared by pages, permissions, workflows, and reporting features. Users can inspect each field type and relationship directly in the data source interface and continue adjusting them as business requirements change.&lt;/p&gt;

&lt;p&gt;This is different from a Vibe Coding approach that starts from generated code. In a code-generated application, data relationships usually need to be implemented across the database structure, backend models, APIs, and page queries. If a relationship is incomplete or only one layer is updated later, data inconsistencies can occur. Manual inspection also requires developers to look into both code and database structures to verify the actual implementation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffl9b5mhf3ta1ws1z3lqn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffl9b5mhf3ta1ws1z3lqn.png" alt="数据之间的关系3 en-fhk0oy.png" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;NocoBase already provides data modeling capabilities. AI only needs to translate business requirements into tables, fields, and relationships instead of building the entire data layer from scratch. After the system is generated, people can inspect and modify the model directly in the same interface.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Can Different Roles Collaborate According to the Rules?
&lt;/h3&gt;

&lt;p&gt;When only one person uses a system, permissions are usually not a major issue. Once an entire team starts collaborating, it becomes necessary to define who can see what and who can change what.&lt;/p&gt;

&lt;p&gt;In this ticketing system, AI can configure the corresponding roles and data permissions directly in NocoBase.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbgohzeiabx4ubimr8qxw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbgohzeiabx4ubimr8qxw.png" alt="规则协作1 en-mi39un.png" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is another important difference between building with NocoBase and using a Vibe Coding approach. In an AI-generated application, permission rules often need to be implemented separately across pages, APIs, and data queries. As the number of roles and rules increases, configuration becomes more complex. During manual review, teams often need to return to the code or test the application directly to confirm whether permissions are actually taking effect.&lt;/p&gt;

&lt;p&gt;NocoBase already provides permission management capabilities. AI does not need to rebuild a permission system. It only needs to configure which data different roles can view and operate on according to the business requirements. The result is also clearly visible in the administration interface, where users can inspect the permission scope for each role and switch identities to validate the result.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa6qu18xhs55pny15bezd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa6qu18xhs55pny15bezd.png" alt="规则协作2 en-qqc7b4.png" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Can Business Rules Execute Reliably?
&lt;/h3&gt;

&lt;p&gt;Many rules in a ticketing system need to be monitored continuously and triggered automatically by the system.&lt;/p&gt;

&lt;p&gt;In the workflow management interface, users can directly inspect how each rule is triggered, its execution mode, whether it is enabled, and how many times it has run. There is no need to enter the codebase to confirm which rules are active, what conditions trigger them, and whether they have actually executed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fydst3pd6svlrvlk61be2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fydst3pd6svlrvlk61be2.png" alt="可靠执行1 en-ql1blo.png" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Execution results can also be inspected in detail. Take the “escalate overdue urgent tickets” workflow as an example. The system iterates through tickets that meet the condition, processes their deadlines, and runs the notification node. In the execution record shown in the screenshot, the escalation notification to the current owner has completed successfully, and the node status is shown as complete.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F88efjfjbiik40urzg9w7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F88efjfjbiik40urzg9w7.png" alt="可靠执行2 en-1qjkl8.png" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This means business rules are no longer hidden pieces of code. AI can configure them directly using NocoBase's existing workflow capabilities, while people can inspect the workflow structure, runtime status, and individual execution records from the interface.&lt;/p&gt;

&lt;p&gt;This is exactly what an internal application needs before being used in real operations: it is not enough to define a business process. Teams also need to know whether it was triggered, how far it progressed, and whether it ultimately completed successfully.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Add AI Capabilities to the System
&lt;/h2&gt;

&lt;p&gt;Another advantage of building on NocoBase is that AI does not only help during the application-building stage. Once the core system is ready, AI Employees and workflows can allow AI to participate directly in ticket handling.&lt;/p&gt;

&lt;p&gt;In the current ticketing system, we use AI in two specific parts of the process.&lt;/p&gt;

&lt;p&gt;The first is ticket creation.&lt;/p&gt;

&lt;p&gt;Support agents do not need to fill in every ticket field manually from the start. They can simply describe the customer's issue in natural language. AI Smart Form Fill first turns that description into a ticket title and issue description. Once the basic information is filled in, AI Smart Triage can review the ticket and suggest a category and priority.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1ewjubaqfkuehco6vc8p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1ewjubaqfkuehco6vc8p.png" alt="AI 能力1 en-zu7ek6.png" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here, AI is responsible for converting the customer's natural-language description into structured information, but it does not bypass the form and submit the ticket automatically. The support agent can still review and edit the generated content before confirming and creating the ticket.&lt;/p&gt;

&lt;p&gt;The second part is ticket handling.&lt;/p&gt;

&lt;p&gt;On the ticket detail page, a support agent can ask AI to draft the next customer reply based on the current ticket. AI reads the customer's issue, handling progress, and communication history, then refers to the help articles matched by the system. It summarizes the ticket situation and response strategy before generating a reply draft.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fyfayzhw1lcy2ox20qrk1.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fyfayzhw1lcy2ox20qrk1.gif" alt="AI 能力2 en-rh0v12.gif" width="760" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;More importantly, AI does not operate outside the system's permission model. NocoBase can control which users are allowed to use which AI Employees based on role. When an AI Employee calls the built-in data query tools, the system applies the current user's data permissions and only returns data that the user is allowed to access.&lt;/p&gt;

&lt;p&gt;Related documentation: &lt;a href="https://docs.nocobase.com/ai-employees/permission" rel="noopener noreferrer"&gt;AI Employee Roles and Permissions - NocoBase Documentation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fz29rw7481izq55gjyu6d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fz29rw7481izq55gjyu6d.png" alt="AI 能力3en-0z3kdr.png" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This means that when a regular support agent uses AI, AI does not automatically gain access to data that only a supervisor is allowed to see. What AI can access is still constrained by the original permission boundaries of the business system.&lt;/p&gt;

&lt;p&gt;This is also what distinguishes NocoBase's AI capabilities from temporarily calling a large language model outside the application. AI is not just an extra chat entry point. It operates inside the existing data, permission, and workflow system. It can participate in the business process without bypassing the application's existing management rules.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Back to the question at the beginning: can an AI-built ticketing system really be used in production?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It depends on whether the system has a clear, inspectable business structure underneath it.&lt;/p&gt;

&lt;p&gt;In this case, we first describe the business problems and requirements to AI. AI then uses NocoBase's existing data model, permission, and workflow capabilities to turn those requirements into a working ticketing system.&lt;/p&gt;

&lt;p&gt;That is the value of combining AI with NocoBase: AI understands the requirements and improves building efficiency, while NocoBase provides a manageable and inspectable system foundation. The final business rules and go-live results are still confirmed by people.&lt;/p&gt;

&lt;p&gt;If you have an internal process that still depends on spreadsheets, a shared inbox, or manual reminders, start with four questions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Who will use the system?&lt;/li&gt;
&lt;li&gt;What business information does the system need to record?&lt;/li&gt;
&lt;li&gt;What can different roles view and operate on?&lt;/li&gt;
&lt;li&gt;Which rules need to be executed automatically by the system?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once these questions are described clearly, AI has a much better starting point for building the business system.&lt;/p&gt;

&lt;p&gt;If you want to try this approach, first connect your Coding Agent to NocoBase AI Builder, then describe your business requirements in natural language.&lt;/p&gt;

&lt;p&gt;During initialization, you can give AI the following instruction:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Help me install the NocoBase CLI and complete initialization:
https://docs.nocobase.com/ai/ai-quick-start.md
(Please open and read the linked documentation directly.)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After initialization is complete, continue with the specific business requirements and ask AI to build on NocoBase's existing data model, permissions, workflows, and related capabilities. You can then keep modifying the same application as the requirements evolve.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Try the NocoBase + AI Demo:&lt;/strong&gt; &lt;a href="https://www.nocobase.com/" rel="noopener noreferrer"&gt;Request an online demo&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Build it yourself:&lt;/strong&gt; &lt;a href="https://docs.nocobase.com/ai-builder" rel="noopener noreferrer"&gt;View the AI Builder documentation&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Related reading&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/building-inventory-management-system-vibe-coding-vs-nocobase-ai" rel="noopener noreferrer"&gt;Building an Inventory Management System: Vibe Coding vs NocoBase + AI &lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/build-it-operations-system-with-ai-nocobase" rel="noopener noreferrer"&gt;How to Build a Production-Ready IT Operations System with AI and NocoBase&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/nocobase-vs-baserow" rel="noopener noreferrer"&gt;NocoBase vs Baserow: Flexible Databases vs Enterprise Systems&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/build-production-ready-crm-with-ai-and-nocobase" rel="noopener noreferrer"&gt;How to Build a Production-Ready CRM with AI and NocoBase&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/enterprise-it-asset-management-system-guide" rel="noopener noreferrer"&gt;How to Design an IT Asset Management System: Data Model, Lifecycle, and Workflows&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/best-smartsheet-alternatives" rel="noopener noreferrer"&gt;How to Choose a Smartsheet Alternative: 7 Tools Compared&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/open-source-ai-no-code-tools-complex-relational-models" rel="noopener noreferrer"&gt;5 Open-Source AI No-Code Tools for Complex Relational Data Models&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/what-is-ai-no-code" rel="noopener noreferrer"&gt;What Is AI No-Code? A Practical Guide to No-Code Platforms in the AI Era&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/open-source-ai-no-code-tools-github-9" rel="noopener noreferrer"&gt;9 Open-Source AI No-Code Tools on GitHub Worth Watching&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/github-open-source-ai-agent-tools-16" rel="noopener noreferrer"&gt;14 Open Source AI Agent Tools with the Most GitHub Stars&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/top-open-source-ai-assistant-tools-github-stars" rel="noopener noreferrer"&gt;Top 8 Open Source AI Assistant Tools by GitHub Stars&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/workbuddy-open-source-tools" rel="noopener noreferrer"&gt;6 Open Source Tools to Use with WorkBuddy&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.nocobase.com/en/blog/6-github-top-open-source-ai-tools-for-ai-agents" rel="noopener noreferrer"&gt;Top 6 Open Source AI Tools by GitHub Stars for Stronger AI Agents&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>opensource</category>
      <category>ai</category>
      <category>nocode</category>
      <category>news</category>
    </item>
    <item>
      <title>Weekly Updates: Added DeepSeek V4 Flash with Reasoning Continuation and Web Search</title>
      <dc:creator>NocoBase</dc:creator>
      <pubDate>Fri, 28 Aug 2026 15:57:41 +0000</pubDate>
      <link>https://dev.to/nocobase/weekly-updates-added-deepseek-v4-flash-with-reasoning-continuation-and-web-search-5h18</link>
      <guid>https://dev.to/nocobase/weekly-updates-added-deepseek-v4-flash-with-reasoning-continuation-and-web-search-5h18</guid>
      <description>&lt;p&gt;Summarize the weekly product update logs, and the latest releases can be checked on &lt;a href="https://www.nocobase.com/en/blog/timeline" rel="noopener noreferrer"&gt;our blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NocoBase is currently updated across three branches: &lt;code&gt;main&lt;/code&gt;, &lt;code&gt;next&lt;/code&gt;, and &lt;code&gt;develop&lt;/code&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F66qf0fuohv233at2nnzv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F66qf0fuohv233at2nnzv.png" alt="version.png" width="800" height="267"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;main&lt;/code&gt;: The most stable version to date, recommended for installation.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;next&lt;/code&gt;: Beta version, contains upcoming new features and has been preliminarily tested. There might be some known or unknown issues. It is mainly used to collect feedback from test users and further optimize features. Ideal for test users who want to experience new features early and provide feedback.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;develop&lt;/code&gt;: Alpha version, contains the latest feature code, may be incomplete or unstable, and is mainly used for internal development and rapid iteration. Suited for technical users interested in cutting-edge product capabilities, but not recommended for production use.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  main
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjmnc6cb7az5ofw9t1ip.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjmnc6cb7az5ofw9t1ip.png" alt="main.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v2.2.3
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-08-26&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[client-v2]&lt;/strong&gt; Fix a render error when switching a v2 association field to popup record selection. (&lt;a href="https://github.com/nocobase/nocobase/pull/10419" rel="noopener noreferrer"&gt;#10419&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Public forms]&lt;/strong&gt; Fix duplicate Submit actions in V2 regular form configuration when Public Forms is enabled. (&lt;a href="https://github.com/nocobase/nocobase/pull/10417" rel="noopener noreferrer"&gt;#10417&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[AI LLM: GigaChat]&lt;/strong&gt; Fixed an application startup error on iOS 15.6 and earlier when the GigaChat AI provider is enabled (&lt;a href="https://github.com/nocobase/nocobase/pull/10418" rel="noopener noreferrer"&gt;#10418&lt;/a&gt;) by cgyrock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[WeCom]&lt;/strong&gt; Fixed WeCom automatic login lifecycle and notification form compatibility in client-v2. by chenzhizdt&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.2.2
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-08-25&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[undefined]&lt;/strong&gt; Clarified how to use public NocoBase file URLs in Markdown, external pages, and third-party services (&lt;a href="https://github.com/nocobase/nocobase/pull/10406" rel="noopener noreferrer"&gt;#10406&lt;/a&gt;) by mytharcher
Reference: &lt;a href="https://docs.nocobase.com/file-manager/storage/" rel="noopener noreferrer"&gt;Storage engine overview&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[Access control]&lt;/strong&gt; Fixed an ACL bypass that allowed &lt;code&gt;firstOrCreate&lt;/code&gt; or &lt;code&gt;updateOrCreate&lt;/code&gt; to read or modify existing records without the required view or update permission. (&lt;a href="https://github.com/nocobase/nocobase/pull/10403" rel="noopener noreferrer"&gt;#10403&lt;/a&gt;) by mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix option fields being unable to select configured values in v2 workflow Create record and Update record nodes. (&lt;a href="https://github.com/nocobase/nocobase/pull/10414" rel="noopener noreferrer"&gt;#10414&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;li&gt;Fix the extra trigger at &lt;code&gt;startsOn&lt;/code&gt; for schedule workflows repeating on a cron expression (&lt;a href="https://github.com/nocobase/nocobase/pull/10410" rel="noopener noreferrer"&gt;#10410&lt;/a&gt;) by Tespera&lt;/li&gt;
&lt;li&gt;Fixed workflow task center menus so the active menu can be collapsed by clicking it again while retaining its selected highlight (&lt;a href="https://github.com/nocobase/nocobase/pull/10404" rel="noopener noreferrer"&gt;#10404&lt;/a&gt;) by mytharcher&lt;/li&gt;
&lt;li&gt;Fixed collection event as sub-workflows failing when called with a record ID and no preload associations configured (&lt;a href="https://github.com/nocobase/nocobase/pull/10407" rel="noopener noreferrer"&gt;#10407&lt;/a&gt;) by mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[UI templates]&lt;/strong&gt; Fix the error when closing an approval task containing a referenced block (&lt;a href="https://github.com/nocobase/nocobase/pull/10415" rel="noopener noreferrer"&gt;#10415&lt;/a&gt;) by zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.2.1
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-08-24&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[UI layout]&lt;/strong&gt; Fix the issue where desktop routes may be empty after upgrading (&lt;a href="https://github.com/nocobase/nocobase/pull/10405" rel="noopener noreferrer"&gt;#10405&lt;/a&gt;) by zhangzhonghe&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Action: Export records Pro]&lt;/strong&gt; Fix a crash when changing and drag-sorting Pro export fields. by katherinehhh&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.2.0
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-08-22&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🎉 New Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tabs on pages, subpages and pop-ups support the configuration of linkage rules (&lt;a href="https://github.com/nocobase/nocobase/pull/10099" rel="noopener noreferrer"&gt;#10099&lt;/a&gt;) by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Added configurable App and Portal entry support for V2 action panels and the left-top app switcher. (&lt;a href="https://github.com/nocobase/nocobase/pull/9893" rel="noopener noreferrer"&gt;#9893&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;li&gt;Add an environment variable to configure legacy and modern route entry modes. (&lt;a href="https://github.com/nocobase/nocobase/pull/9891" rel="noopener noreferrer"&gt;#9891&lt;/a&gt;) by Molunerfinn&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[undefined]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added configurable App and Portal entries for the V2 action panel and app switcher. by katherinehhh&lt;/li&gt;
&lt;li&gt;Add Multi-Portal plugin by zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added configurable automatic or on-demand knowledge-base retrieval for AI employees, with role-based knowledge-base access filtering. (&lt;a href="https://github.com/nocobase/nocobase/pull/10362" rel="noopener noreferrer"&gt;#10362&lt;/a&gt;) by cgyrock&lt;/li&gt;
&lt;li&gt;Added DeepSeek V4 Flash and V4 Pro Responses API support with reasoning continuity, native web search, citations, and model-aware web search controls (&lt;a href="https://github.com/nocobase/nocobase/pull/10337" rel="noopener noreferrer"&gt;#10337&lt;/a&gt;) by cgyrock&lt;/li&gt;
&lt;li&gt;AI employees can now be assigned skills from the employee settings page. Skills are built from plugins. (&lt;a href="https://github.com/nocobase/nocobase/pull/10237" rel="noopener noreferrer"&gt;#10237&lt;/a&gt;) by cgyrock&lt;/li&gt;
&lt;li&gt;Added UI navigation for supported LLM service CLI commands, including provider preselection when creating a service. (&lt;a href="https://github.com/nocobase/nocobase/pull/10210" rel="noopener noreferrer"&gt;#10210&lt;/a&gt;) by cgyrock&lt;/li&gt;
&lt;li&gt;Added an embeddable AI chat box block that supports scoped conversations, AI employee tasks, and shared chat runtime behavior. (&lt;a href="https://github.com/nocobase/nocobase/pull/10125" rel="noopener noreferrer"&gt;#10125&lt;/a&gt;) by cgyrock&lt;/li&gt;
&lt;li&gt;Added frontend AI tools for JS blocks (&lt;a href="https://github.com/nocobase/nocobase/pull/10121" rel="noopener noreferrer"&gt;#10121&lt;/a&gt;) by 2013xile&lt;/li&gt;
&lt;li&gt;Added RunJS APIs for triggering AI employee tasks from JS blocks. (&lt;a href="https://github.com/nocobase/nocobase/pull/10061" rel="noopener noreferrer"&gt;#10061&lt;/a&gt;) by cgyrock&lt;/li&gt;
&lt;li&gt;Added structured AI usage records for usage statistics (&lt;a href="https://github.com/nocobase/nocobase/pull/10004" rel="noopener noreferrer"&gt;#10004&lt;/a&gt;) by 2013xile&lt;/li&gt;
&lt;li&gt;Added an external vector store configuration form for AI knowledge bases. (&lt;a href="https://github.com/nocobase/nocobase/pull/9723" rel="noopener noreferrer"&gt;#9723&lt;/a&gt;) by cgyrock&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[WEB client]&lt;/strong&gt; Reduced application language responses to requested resource namespaces (&lt;a href="https://github.com/nocobase/nocobase/pull/10175" rel="noopener noreferrer"&gt;#10175&lt;/a&gt;) by 2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Public forms]&lt;/strong&gt; In the v1 public form, support creating v2 forms and prohibit creating v1 forms (&lt;a href="https://github.com/nocobase/nocobase/pull/10045" rel="noopener noreferrer"&gt;#10045&lt;/a&gt;) by zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Block: Comment]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improved comment block settings with data scope, default sorting, selectable page size, optional last-page jumping, and scalar owner field mapping. (&lt;a href="https://github.com/nocobase/nocobase/pull/9954" rel="noopener noreferrer"&gt;#9954&lt;/a&gt;) by jiannx&lt;/li&gt;
&lt;li&gt;Added a comments block. (&lt;a href="https://github.com/nocobase/nocobase/pull/9916" rel="noopener noreferrer"&gt;#9916&lt;/a&gt;) by jiannx&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Notification: Email]&lt;/strong&gt; Migrated the workflow notification node client to v2, restored channel-specific notification forms, and kept legacy workflow route compatibility for migrated notification configuration. (&lt;a href="https://github.com/nocobase/nocobase/pull/9817" rel="noopener noreferrer"&gt;#9817&lt;/a&gt;) by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: mailer node]&lt;/strong&gt; Added v2 client support for configuring the workflow mailer node. (&lt;a href="https://github.com/nocobase/nocobase/pull/9825" rel="noopener noreferrer"&gt;#9825&lt;/a&gt;) by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[UI layout]&lt;/strong&gt; Add support for mobile layout (&lt;a href="https://github.com/nocobase/nocobase/pull/9641" rel="noopener noreferrer"&gt;#9641&lt;/a&gt;) by zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added workflow database transaction scope support. (&lt;a href="https://github.com/nocobase/nocobase/pull/9742" rel="noopener noreferrer"&gt;#9742&lt;/a&gt;) by mytharcher
Reference: &lt;a href="//docs/docs/en/workflow/nodes/transaction.md"&gt;Database Transaction&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Migrate the Workflow settings page to the v2 client and share a reusable draggable category-tabs component via &lt;code&gt;@NocoBase/client-v2&lt;/code&gt;. (&lt;a href="https://github.com/nocobase/nocobase/pull/9645" rel="noopener noreferrer"&gt;#9645&lt;/a&gt;) by Molunerfinn&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Multi-space]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added default-space configuration so newly created users automatically join the selected default space. by jiannx&lt;/li&gt;
&lt;li&gt;Added debounced display-name search to space switchers and space management in both v1 and v2 by jiannx&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added UI navigation for creating and editing vector databases from CLI commands, with provider preselection for new databases. by cgyrock&lt;/li&gt;
&lt;li&gt;Added role-based read-only and read/write permissions for knowledge-base management, including creator ownership and read-only management views. by cgyrock&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow: Database transaction node]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added the database transaction workflow node plugin. by mytharcher&lt;/li&gt;
&lt;li&gt;Added a client-v2 implementation for the workflow database transaction node while preserving the legacy client entry. by katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Record history]&lt;/strong&gt; Added client v2 support for the record history plugin. by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added usage instructions and card-style workflow selection to the approval initiation list in client v2 by mytharcher&lt;/li&gt;
&lt;li&gt;Added usage instructions and card-style workflow selection to the approval initiation list by mytharcher&lt;/li&gt;
&lt;li&gt;Add approval initiation and todo blocks for v2 pages by zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Email manager]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Email synchronization now uses recoverable background jobs with status history and safer full-resync cleanup, including Gmail Spam and Trash. by jiannx&lt;/li&gt;
&lt;li&gt;Migrated the email manager client to v2. by jiannx&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Auth: LDAP]&lt;/strong&gt; Add LDAP user synchronization configuration support for client v2. by chenzhizdt&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[undefined]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;File URLs now use stable NocoBase access URLs so permissions can be checked before redirecting to storage. (&lt;a href="https://github.com/nocobase/nocobase/pull/10103" rel="noopener noreferrer"&gt;#10103&lt;/a&gt;) by mytharcher&lt;/li&gt;
&lt;li&gt;Refined Russian documentation translation for improved wording, readability, and terminology consistency. (&lt;a href="https://github.com/nocobase/nocobase/pull/9942" rel="noopener noreferrer"&gt;#9942&lt;/a&gt;) by sembaev-a-a&lt;/li&gt;
&lt;li&gt;Refined Russian documentation translation for improved wording, readability, and terminology consistency. (&lt;a href="https://github.com/nocobase/nocobase/pull/9816" rel="noopener noreferrer"&gt;#9816&lt;/a&gt;) by sembaev-a-a&lt;/li&gt;
&lt;li&gt;Improved AI knowledge base retrieval and documentation. (&lt;a href="https://github.com/nocobase/nocobase/pull/9765" rel="noopener noreferrer"&gt;#9765&lt;/a&gt;) by cgyrock&lt;/li&gt;
&lt;li&gt;Refined Russian documentation translation for improved wording, readability, and terminology consistency. (&lt;a href="https://github.com/nocobase/nocobase/pull/9754" rel="noopener noreferrer"&gt;#9754&lt;/a&gt;) by sembaev-a-a&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[cli]&lt;/strong&gt; &lt;code&gt;nb api resource create&lt;/code&gt; now accepts a JSON array for &lt;code&gt;--values&lt;/code&gt; to create multiple records in a single request. (&lt;a href="https://github.com/nocobase/nocobase/pull/10325" rel="noopener noreferrer"&gt;#10325&lt;/a&gt;) by Molunerfinn&lt;br&gt;
Reference: &lt;a href="https://github.com/nocobase/nocobase/blob/fix/cli-resource-create-array-values/docs/docs/en/api/cli/api/resource/create.md" rel="noopener noreferrer"&gt;nb api resource create&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Refactor Markdown Vditor into a unified plugin-backed Markdown engine with compatibility bridges for existing Markdown block and Vditor field plugins. (&lt;a href="https://github.com/nocobase/nocobase/pull/9998" rel="noopener noreferrer"&gt;#9998&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;li&gt;Refactor Markdown Vditor into a unified plugin-backed Markdown engine with compatibility bridges for existing Markdown block and Vditor field plugins. (&lt;a href="https://github.com/nocobase/nocobase/pull/9998" rel="noopener noreferrer"&gt;#9998&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;li&gt;Adjusted the v2 System settings menu order and page panel height to match the standard settings layout. (&lt;a href="https://github.com/nocobase/nocobase/pull/9849" rel="noopener noreferrer"&gt;#9849&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed missing Settings entries for Client V2 plugin manager cards when a plugin uses a shared or legacy settings path. (&lt;a href="https://github.com/nocobase/nocobase/pull/9852" rel="noopener noreferrer"&gt;#9852&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Grouped task-center items by workflow in the new client and kept workflow filters consistent across task types. (&lt;a href="https://github.com/nocobase/nocobase/pull/10374" rel="noopener noreferrer"&gt;#10374&lt;/a&gt;) by mytharcher&lt;/li&gt;
&lt;li&gt;Workflow create and update nodes now support combining text with variables when assigning string and text fields (&lt;a href="https://github.com/nocobase/nocobase/pull/10238" rel="noopener noreferrer"&gt;#10238&lt;/a&gt;) by mytharcher&lt;/li&gt;
&lt;li&gt;Workflow tasks can now be filtered and navigated by workflow, with per-workflow pending counts (&lt;a href="https://github.com/nocobase/nocobase/pull/10173" rel="noopener noreferrer"&gt;#10173&lt;/a&gt;) by mytharcher&lt;/li&gt;
&lt;li&gt;Improved workflow pending task handling by persisting start, resume, and rerun tasks in the event queue. (&lt;a href="https://github.com/nocobase/nocobase/pull/9846" rel="noopener noreferrer"&gt;#9846&lt;/a&gt;) by mytharcher&lt;/li&gt;
&lt;li&gt;Unsupported workflow v2 canvas nodes now keep the normal node card actions while showing the node type as unsupported. (&lt;a href="https://github.com/nocobase/nocobase/pull/10054" rel="noopener noreferrer"&gt;#10054&lt;/a&gt;) by mytharcher&lt;/li&gt;
&lt;li&gt;Simplified workflow v2 create/update field assignment, improved selected variable display, and avoided generating unused assign-form model data. (&lt;a href="https://github.com/nocobase/nocobase/pull/9887" rel="noopener noreferrer"&gt;#9887&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;li&gt;Exported workflow v2 canvas extension APIs for downstream workflow node plugins. (&lt;a href="https://github.com/nocobase/nocobase/pull/9834" rel="noopener noreferrer"&gt;#9834&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;li&gt;Migrate the workflow output node configuration to v2 and align v2 workflow result viewers with the legacy display behavior for string results. (&lt;a href="https://github.com/nocobase/nocobase/pull/9813" rel="noopener noreferrer"&gt;#9813&lt;/a&gt;) by Molunerfinn&lt;/li&gt;
&lt;li&gt;Migrate the workflow end node to the v2 implementation. (&lt;a href="https://github.com/nocobase/nocobase/pull/9795" rel="noopener noreferrer"&gt;#9795&lt;/a&gt;) by Molunerfinn&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simplified AI knowledge base vector configuration (&lt;a href="https://github.com/nocobase/nocobase/pull/10178" rel="noopener noreferrer"&gt;#10178&lt;/a&gt;) by cgyrock&lt;/li&gt;
&lt;li&gt;Improved AI employee reliability across validation, data permissions, record context, attachments, workflow tasks, conversation recovery, and coding editor lifecycle handling. (&lt;a href="https://github.com/nocobase/nocobase/pull/10162" rel="noopener noreferrer"&gt;#10162&lt;/a&gt;) by cgyrock&lt;/li&gt;
&lt;li&gt;Fixed AI employee model settings persistence, disabled employee conversation creation, and mobile chatbox layout behavior. (&lt;a href="https://github.com/nocobase/nocobase/pull/10120" rel="noopener noreferrer"&gt;#10120&lt;/a&gt;) by cgyrock&lt;/li&gt;
&lt;li&gt;Improved AI employee tool settings, data-query guardrails, relation field querying, and malformed tool call diagnostics. (&lt;a href="https://github.com/nocobase/nocobase/pull/10042" rel="noopener noreferrer"&gt;#10042&lt;/a&gt;) by cgyrock&lt;/li&gt;
&lt;li&gt;Improved AI employee web search to reduce unnecessary model reasoning and better use provider-specific thinking controls. (&lt;a href="https://github.com/nocobase/nocobase/pull/9996" rel="noopener noreferrer"&gt;#9996&lt;/a&gt;) by cgyrock&lt;/li&gt;
&lt;li&gt;Removed the deprecated Datasource entry from AI employee settings and context selection in the v2 UI. (&lt;a href="https://github.com/nocobase/nocobase/pull/9988" rel="noopener noreferrer"&gt;#9988&lt;/a&gt;) by cgyrock&lt;/li&gt;
&lt;li&gt;Migrated the AI employee plugin to client-v2. (&lt;a href="https://github.com/nocobase/nocobase/pull/9794" rel="noopener noreferrer"&gt;#9794&lt;/a&gt;) by cgyrock&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[File manager]&lt;/strong&gt; Added independent storage settings for returning original file URLs and allowing public access to file URLs (&lt;a href="https://github.com/nocobase/nocobase/pull/10160" rel="noopener noreferrer"&gt;#10160&lt;/a&gt;) by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Manual node]&lt;/strong&gt; Show manual workflow tasks in the V2 task center and guide users to the legacy page for processing (&lt;a href="https://github.com/nocobase/nocobase/pull/10085" rel="noopener noreferrer"&gt;#10085&lt;/a&gt;) by zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Flow engine]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Support multi portals for ui build apis. (&lt;a href="https://github.com/nocobase/nocobase/pull/10072" rel="noopener noreferrer"&gt;#10072&lt;/a&gt;) by gchust&lt;/li&gt;
&lt;li&gt;Open runjs browser globals. (&lt;a href="https://github.com/nocobase/nocobase/pull/9841" rel="noopener noreferrer"&gt;#9841&lt;/a&gt;) by gchust&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Collection: SQL]&lt;/strong&gt; Not user-facing; added client-v2 unit test coverage for migrated plugins. (&lt;a href="https://github.com/nocobase/nocobase/pull/9967" rel="noopener noreferrer"&gt;#9967&lt;/a&gt;) by katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Data visualization]&lt;/strong&gt; Improved chart event scripts so custom event handlers can clean up safely (&lt;a href="https://github.com/nocobase/nocobase/pull/10034" rel="noopener noreferrer"&gt;#10034&lt;/a&gt;) by 2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Data source manager]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hide deprecated v2 main data source collection templates from the create collection menu. (&lt;a href="https://github.com/nocobase/nocobase/pull/10009" rel="noopener noreferrer"&gt;#10009&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;li&gt;Display unsupported external data source fields in V2 Configure fields, and align backup restore form label styles. (&lt;a href="https://github.com/nocobase/nocobase/pull/9983" rel="noopener noreferrer"&gt;#9983&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Block: Comment]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improved comment submit actions and fixed related comment/user form submission issues. (&lt;a href="https://github.com/nocobase/nocobase/pull/10002" rel="noopener noreferrer"&gt;#10002&lt;/a&gt;) by jiannx&lt;/li&gt;
&lt;li&gt;Added the new comment block plugin to the NocoBase preset and marked the legacy comments plugin as deprecated. (&lt;a href="https://github.com/nocobase/nocobase/pull/9936" rel="noopener noreferrer"&gt;#9936&lt;/a&gt;) by jiannx&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Users]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improve client-v2 test coverage for the users plugin. (&lt;a href="https://github.com/nocobase/nocobase/pull/9975" rel="noopener noreferrer"&gt;#9975&lt;/a&gt;) by jiannx&lt;/li&gt;
&lt;li&gt;Improved the Users &amp;amp; Permissions v2 page layout and department tree behavior. (&lt;a href="https://github.com/nocobase/nocobase/pull/9780" rel="noopener noreferrer"&gt;#9780&lt;/a&gt;) by jiannx&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow: JavaScript]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Aligned v2 workflow request and mailer node configuration fields with legacy layout and attachment variable behavior. (&lt;a href="https://github.com/nocobase/nocobase/pull/9952" rel="noopener noreferrer"&gt;#9952&lt;/a&gt;) by jiannx&lt;/li&gt;
&lt;li&gt;Migrated the JavaScript workflow node to client-v2 (&lt;a href="https://github.com/nocobase/nocobase/pull/9805" rel="noopener noreferrer"&gt;#9805&lt;/a&gt;) by jiannx&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[UI layout]&lt;/strong&gt; Improved the v2 mobile tab bar so crowded tabs scroll horizontally instead of overlapping. (&lt;a href="https://github.com/nocobase/nocobase/pull/9949" rel="noopener noreferrer"&gt;#9949&lt;/a&gt;) by katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Aggregate node]&lt;/strong&gt; Improved v2 workflow field selection for update and aggregate query nodes, including safer associated collection selection in aggregate query nodes. (&lt;a href="https://github.com/nocobase/nocobase/pull/9938" rel="noopener noreferrer"&gt;#9938&lt;/a&gt;) by katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Logger]&lt;/strong&gt; Added the Logger settings page to the client v2 runtime. (&lt;a href="https://github.com/nocobase/nocobase/pull/9933" rel="noopener noreferrer"&gt;#9933&lt;/a&gt;) by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Form drafts]&lt;/strong&gt; Migrate plugin form drafts to client v2. (&lt;a href="https://github.com/nocobase/nocobase/pull/9910" rel="noopener noreferrer"&gt;#9910&lt;/a&gt;) by gchust&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: JSON calculation]&lt;/strong&gt; Migrated the workflow JSON calculation node configuration UI to the v2 workflow canvas while preserving v1 canvas compatibility. (&lt;a href="https://github.com/nocobase/nocobase/pull/9902" rel="noopener noreferrer"&gt;#9902&lt;/a&gt;) by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[User data synchronization]&lt;/strong&gt; Added modern UI support for user data synchronization settings (&lt;a href="https://github.com/nocobase/nocobase/pull/9837" rel="noopener noreferrer"&gt;#9837&lt;/a&gt;) by 2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Public forms]&lt;/strong&gt; Separated v1 and v2 public form lists and fixed the v2 Configure page to open a configurable form detail page. (&lt;a href="https://github.com/nocobase/nocobase/pull/9851" rel="noopener noreferrer"&gt;#9851&lt;/a&gt;) by katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Backup manager]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improved backup manager table styling and long file name display. (&lt;a href="https://github.com/nocobase/nocobase/pull/9864" rel="noopener noreferrer"&gt;#9864&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;li&gt;Tables whose collection &lt;code&gt;dataCategory&lt;/code&gt; is marked as &lt;code&gt;'runtime'&lt;/code&gt; are now excluded from backups automatically. (&lt;a href="https://github.com/nocobase/nocobase/pull/9804" rel="noopener noreferrer"&gt;#9804&lt;/a&gt;) by cgyrock&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Custom action event]&lt;/strong&gt; Migrated workflow triggers and bind-workflow settings to client-v2, including action trigger, custom action trigger, request interception trigger, and submit/update action workflow binding settings. (&lt;a href="https://github.com/nocobase/nocobase/pull/9845" rel="noopener noreferrer"&gt;#9845&lt;/a&gt;) by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: HTTP request node]&lt;/strong&gt; Migrated the workflow HTTP request node to client-v2. (&lt;a href="https://github.com/nocobase/nocobase/pull/9806" rel="noopener noreferrer"&gt;#9806&lt;/a&gt;) by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Locale tester]&lt;/strong&gt; Added a client v2 settings page for the locale tester. (&lt;a href="https://github.com/nocobase/nocobase/pull/9744" rel="noopener noreferrer"&gt;#9744&lt;/a&gt;) by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Access control]&lt;/strong&gt; Aligned the v2 Users &amp;amp; Permissions settings pages with v1 behavior, including pagination totals, department tree behavior, selected styles, and internal permissions-panel scrolling. (&lt;a href="https://github.com/nocobase/nocobase/pull/9810" rel="noopener noreferrer"&gt;#9810&lt;/a&gt;) by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Aligned the vector database list styling with other settings tables by cgyrock&lt;/li&gt;
&lt;li&gt;Vector database and embedding settings can now be configured directly for each AI knowledge base by cgyrock&lt;/li&gt;
&lt;li&gt;Migrated the AI knowledge base settings pages to the v2 client and fixed layout and loading issues in knowledge base and vector store pages. by cgyrock&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[HTTP request encryption]&lt;/strong&gt; Added v2 client support for HTTP request encryption so query parameters continue to be encrypted in the v2 client. by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Database transaction node]&lt;/strong&gt; Improved the v2 workflow database transaction node layout so branch labels and the commit marker have better spacing. by katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Subflow]&lt;/strong&gt; Change pending queue strategy based on workflow engine refactored by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[File storage: S3(Pro)]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;S3 Pro uploads now return the created file record with permanent file URLs. by mytharcher&lt;/li&gt;
&lt;li&gt;Added independent S3 Pro settings for original URLs, public file URL access, and unsigned URLs by mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Updated approval task grouping and timelines in the new client to match the legacy experience. by mytharcher&lt;/li&gt;
&lt;li&gt;Approval application and todo tasks can now be filtered by workflow with per-workflow pending counts by mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Email manager]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Moved the department-based mail viewing option to the V1 general mail settings page, prevented service credential saves from overwriting it, and placed V2 General settings before Service provider settings. by jiannx&lt;/li&gt;
&lt;li&gt;Moved the department-based mail viewing option to the general mail settings page. by jiannx&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[App supervisor]&lt;/strong&gt; Hid the standalone V2 Applications block while keeping its settings page available internally. by katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[WeCom]&lt;/strong&gt; Added modern UI support for WeCom authentication, sync, and notification settings by 2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[DingTalk]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Complete DingTalk client v2 support, including Stream synchronization, notification configuration, and automatic login improvements. by chenzhizdt&lt;/li&gt;
&lt;li&gt;Added modern UI support for DingTalk authentication, sync, and notification settings by 2013xile&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[undefined]&lt;/strong&gt; Fix &lt;code&gt;nb plugin import&lt;/code&gt; failing on plugin tarballs built by &lt;code&gt;yarn build --tar&lt;/code&gt;, and correct example code and scaffold structure in the plugin development docs. (&lt;a href="https://github.com/nocobase/nocobase/pull/10351" rel="noopener noreferrer"&gt;#10351&lt;/a&gt;) by Molunerfinn&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed relationship picker labels when association form values contain only a related record ID. (&lt;a href="https://github.com/nocobase/nocobase/pull/10386" rel="noopener noreferrer"&gt;#10386&lt;/a&gt;) by cgyrock&lt;/li&gt;
&lt;li&gt;Fixed a false DatePicker missing-component error in v2 table filters. (&lt;a href="https://github.com/nocobase/nocobase/pull/10392" rel="noopener noreferrer"&gt;#10392&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed false missing-component console errors when opening v2 table filters. (&lt;a href="https://github.com/nocobase/nocobase/pull/10389" rel="noopener noreferrer"&gt;#10389&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed an error that prevented filter conditions from being cleared in workflow settings. (&lt;a href="https://github.com/nocobase/nocobase/pull/10388" rel="noopener noreferrer"&gt;#10388&lt;/a&gt;) by Molunerfinn&lt;/li&gt;
&lt;li&gt;Fixed missing frontend response notifications on Client V2 pages, including errors returned by pre-action workflows (&lt;a href="https://github.com/nocobase/nocobase/pull/10376" rel="noopener noreferrer"&gt;#10376&lt;/a&gt;) by mytharcher&lt;/li&gt;
&lt;li&gt;Fix Chinese text appearing when searching mobile select fields in English (&lt;a href="https://github.com/nocobase/nocobase/pull/10367" rel="noopener noreferrer"&gt;#10367&lt;/a&gt;) by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fixed pages under &lt;code&gt;/v&lt;/code&gt; remaining in UI editing mode after switching to a role without page configuration permission (&lt;a href="https://github.com/nocobase/nocobase/pull/10359" rel="noopener noreferrer"&gt;#10359&lt;/a&gt;) by jiannx&lt;/li&gt;
&lt;li&gt;Show a retryable localized fallback in v2 blocks when an external data source is unavailable. (&lt;a href="https://github.com/nocobase/nocobase/pull/10336" rel="noopener noreferrer"&gt;#10336&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;li&gt;Redirect users without Settings access to the first available page (&lt;a href="https://github.com/nocobase/nocobase/pull/10331" rel="noopener noreferrer"&gt;#10331&lt;/a&gt;) by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Automatically redirect to an accessible Settings tab when the current tab is unavailable (&lt;a href="https://github.com/nocobase/nocobase/pull/10332" rel="noopener noreferrer"&gt;#10332&lt;/a&gt;) by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix incorrect editing and display of large decimal values in V2 fields. (&lt;a href="https://github.com/nocobase/nocobase/pull/10330" rel="noopener noreferrer"&gt;#10330&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed Kanban column quick create records not inheriting the selected group value (&lt;a href="https://github.com/nocobase/nocobase/pull/10321" rel="noopener noreferrer"&gt;#10321&lt;/a&gt;) by jiannx&lt;/li&gt;
&lt;li&gt;Fixed automatic SSO redirect providers failing to preserve authentication order in production builds (&lt;a href="https://github.com/nocobase/nocobase/pull/10100" rel="noopener noreferrer"&gt;#10100&lt;/a&gt;) by jiannx&lt;/li&gt;
&lt;li&gt;Workflow filters now preserve workflow variable expressions and show a clear parsing error when variable metadata cannot be resolved. (&lt;a href="https://github.com/nocobase/nocobase/pull/10088" rel="noopener noreferrer"&gt;#10088&lt;/a&gt;) by Molunerfinn&lt;/li&gt;
&lt;li&gt;Fix an error in v2 workflow value editors when a collection field is named nodeName. (&lt;a href="https://github.com/nocobase/nocobase/pull/10067" rel="noopener noreferrer"&gt;#10067&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed workflow v2 variable editors to preserve saved variable pills, disabled states, and operator labels consistently across trigger, filter, and field assignment forms. (&lt;a href="https://github.com/nocobase/nocobase/pull/10041" rel="noopener noreferrer"&gt;#10041&lt;/a&gt;) by Molunerfinn&lt;/li&gt;
&lt;li&gt;Fixed an issue where v2 workflow assigned fields could still be edited in read-only executed workflow versions. (&lt;a href="https://github.com/nocobase/nocobase/pull/10014" rel="noopener noreferrer"&gt;#10014&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;li&gt;Fix the issue where opening an empty V2 Group menu item shows 404 (&lt;a href="https://github.com/nocobase/nocobase/pull/9896" rel="noopener noreferrer"&gt;#9896&lt;/a&gt;) by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix workflow execution revision navigation so creating a new version after manual execution opens the correct workflow page in both legacy and modern shells. (&lt;a href="https://github.com/nocobase/nocobase/pull/9955" rel="noopener noreferrer"&gt;#9955&lt;/a&gt;) by Molunerfinn&lt;/li&gt;
&lt;li&gt;Fixed V2 admin group routes showing 404 when the group has no available child menu page. (&lt;a href="https://github.com/nocobase/nocobase/pull/9932" rel="noopener noreferrer"&gt;#9932&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed link actions becoming invisible on mobile embedded pages when icon-only mode is enabled but no icon is configured. (&lt;a href="https://github.com/nocobase/nocobase/pull/9919" rel="noopener noreferrer"&gt;#9919&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed a brief no-pages prompt flash when refreshing in UI Editor mode. (&lt;a href="https://github.com/nocobase/nocobase/pull/9918" rel="noopener noreferrer"&gt;#9918&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[flow-engine]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix issue where RunJS resource create actions could not create associated sub-table records (&lt;a href="https://github.com/nocobase/nocobase/pull/10355" rel="noopener noreferrer"&gt;#10355&lt;/a&gt;) by gchust&lt;/li&gt;
&lt;li&gt;Fix dropdown menus being cut off in short browser windows (&lt;a href="https://github.com/nocobase/nocobase/pull/10379" rel="noopener noreferrer"&gt;#10379&lt;/a&gt;) by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fixed an issue where users could type extra text after selecting a variable in single-value variable inputs. (&lt;a href="https://github.com/nocobase/nocobase/pull/10050" rel="noopener noreferrer"&gt;#10050&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;li&gt;Fix the issue where mobile popups with long content cannot scroll (&lt;a href="https://github.com/nocobase/nocobase/pull/9871" rel="noopener noreferrer"&gt;#9871&lt;/a&gt;) by zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[client]&lt;/strong&gt; Fix incomplete long sidebar menu titles and misaligned configuration toolbars (&lt;a href="https://github.com/nocobase/nocobase/pull/10380" rel="noopener noreferrer"&gt;#10380&lt;/a&gt;) by zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[auth]&lt;/strong&gt; Fixed occasional &lt;code&gt;Invalid CSRF token&lt;/code&gt; errors on API requests in cross-origin deployments (&lt;a href="https://github.com/nocobase/nocobase/pull/10245" rel="noopener noreferrer"&gt;#10245&lt;/a&gt;) by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[server]&lt;/strong&gt; Fixed custom portals missing when multi-application plugins are disabled (&lt;a href="https://github.com/nocobase/nocobase/pull/10055" rel="noopener noreferrer"&gt;#10055&lt;/a&gt;) by 2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix V2 Import drag-and-drop being blocked by the AI attachment overlay. (&lt;a href="https://github.com/nocobase/nocobase/pull/10384" rel="noopener noreferrer"&gt;#10384&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed AI employee chat streaming long responses causing other idle browser tabs to balloon to multiple gigabytes of memory (&lt;a href="https://github.com/nocobase/nocobase/pull/10352" rel="noopener noreferrer"&gt;#10352&lt;/a&gt;) by cgyrock&lt;/li&gt;
&lt;li&gt;Fixed the untranslated Settings tab in the AI plugin's client-v2 settings pages (&lt;a href="https://github.com/nocobase/nocobase/pull/10234" rel="noopener noreferrer"&gt;#10234&lt;/a&gt;) by cgyrock&lt;/li&gt;
&lt;li&gt;Fixed frontend Tools asking for confirmation in chat instead of using runtime approval (&lt;a href="https://github.com/nocobase/nocobase/pull/10166" rel="noopener noreferrer"&gt;#10166&lt;/a&gt;) by 2013xile&lt;/li&gt;
&lt;li&gt;Fix unnecessary login-required requests on V2 public form pages (&lt;a href="https://github.com/nocobase/nocobase/pull/10013" rel="noopener noreferrer"&gt;#10013&lt;/a&gt;) by zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Disable workflow execution mode selection until a trigger type is selected. (&lt;a href="https://github.com/nocobase/nocobase/pull/10296" rel="noopener noreferrer"&gt;#10296&lt;/a&gt;) by Molunerfinn&lt;/li&gt;
&lt;li&gt;Fixed workflow execution page titles and added a workflow-list link for missing workflows (&lt;a href="https://github.com/nocobase/nocobase/pull/10360" rel="noopener noreferrer"&gt;#10360&lt;/a&gt;) by mytharcher&lt;/li&gt;
&lt;li&gt;Improved regression coverage for permanent file URLs, attachment thumbnails, preview downloads, and local storage security headers (&lt;a href="https://github.com/nocobase/nocobase/pull/10148" rel="noopener noreferrer"&gt;#10148&lt;/a&gt;) by mytharcher&lt;/li&gt;
&lt;li&gt;Workflow form controls now correctly inherit the disabled state when viewing executed workflows. (&lt;a href="https://github.com/nocobase/nocobase/pull/10079" rel="noopener noreferrer"&gt;#10079&lt;/a&gt;) by Molunerfinn&lt;/li&gt;
&lt;li&gt;Refresh the workflow canvas after updating trigger configuration (&lt;a href="https://github.com/nocobase/nocobase/pull/10068" rel="noopener noreferrer"&gt;#10068&lt;/a&gt;) by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fixed workflow v2 condition operands to stay on one row by default and wrap correctly when selected variable paths are too long. (&lt;a href="https://github.com/nocobase/nocobase/pull/10033" rel="noopener noreferrer"&gt;#10033&lt;/a&gt;) by Molunerfinn&lt;/li&gt;
&lt;li&gt;Fix display and detail loading issues in the workflow v2 task center (&lt;a href="https://github.com/nocobase/nocobase/pull/10001" rel="noopener noreferrer"&gt;#10001&lt;/a&gt;) by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix untranslated workflow result labels and oversized CC configuration dialogs (&lt;a href="https://github.com/nocobase/nocobase/pull/9977" rel="noopener noreferrer"&gt;#9977&lt;/a&gt;) by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix workflow context mismatches across bundles so branches and some variable pickers work correctly in legacy workflow pages. (&lt;a href="https://github.com/nocobase/nocobase/pull/9951" rel="noopener noreferrer"&gt;#9951&lt;/a&gt;) by Molunerfinn&lt;/li&gt;
&lt;li&gt;Fix issues after migrated client to v2 (&lt;a href="https://github.com/nocobase/nocobase/pull/9929" rel="noopener noreferrer"&gt;#9929&lt;/a&gt;) by mytharcher&lt;/li&gt;
&lt;li&gt;Fix the issue where in-app message content cannot be configured in v2 workflows (&lt;a href="https://github.com/nocobase/nocobase/pull/9885" rel="noopener noreferrer"&gt;#9885&lt;/a&gt;) by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Restored debounced remote search for workflow collection trigger manual execution and aligned the selector with the v1 200-record fetch behavior. (&lt;a href="https://github.com/nocobase/nocobase/pull/9870" rel="noopener noreferrer"&gt;#9870&lt;/a&gt;) by Molunerfinn&lt;/li&gt;
&lt;li&gt;Fixed the workflow v2 add-node menu so unavailable node types are disabled according to workflow and branch rules (&lt;a href="https://github.com/nocobase/nocobase/pull/9855" rel="noopener noreferrer"&gt;#9855&lt;/a&gt;) by mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Notification: In-app message]&lt;/strong&gt; Fixed the in-app message template form showing workflow canvas variables instead of the variables provided by the page. (&lt;a href="https://github.com/nocobase/nocobase/pull/10180" rel="noopener noreferrer"&gt;#10180&lt;/a&gt;) by Molunerfinn&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Block: Map]&lt;/strong&gt; Fixed region selection not finishing on double-click when map point data is displayed, and fixed AMap remaining in a loading state (&lt;a href="https://github.com/nocobase/nocobase/pull/10373" rel="noopener noreferrer"&gt;#10373&lt;/a&gt;) by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[UI layout]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix mobile pages appearing in the desktop navigation (&lt;a href="https://github.com/nocobase/nocobase/pull/10375" rel="noopener noreferrer"&gt;#10375&lt;/a&gt;) by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Hide the mobile UI Editor when the current role cannot configure the interface (&lt;a href="https://github.com/nocobase/nocobase/pull/10341" rel="noopener noreferrer"&gt;#10341&lt;/a&gt;) by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix desktop pages using mobile styles on narrow screens (&lt;a href="https://github.com/nocobase/nocobase/pull/10229" rel="noopener noreferrer"&gt;#10229&lt;/a&gt;) by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix the Mobile settings link losing the current sub-application path (&lt;a href="https://github.com/nocobase/nocobase/pull/10078" rel="noopener noreferrer"&gt;#10078&lt;/a&gt;) by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fixed the Mobile settings link opening the main application from a sub-application. (&lt;a href="https://github.com/nocobase/nocobase/pull/10075" rel="noopener noreferrer"&gt;#10075&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[File manager]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed local storage files such as logos failing to load in sub-applications after stable URL redirects (&lt;a href="https://github.com/nocobase/nocobase/pull/10358" rel="noopener noreferrer"&gt;#10358&lt;/a&gt;) by mytharcher&lt;/li&gt;
&lt;li&gt;Fixed shared attachments such as the system logo not loading for authenticated member users (&lt;a href="https://github.com/nocobase/nocobase/pull/10268" rel="noopener noreferrer"&gt;#10268&lt;/a&gt;) by mytharcher&lt;/li&gt;
&lt;li&gt;Fixed 404 errors when uploading files to attachment URL fields in external data sources (&lt;a href="https://github.com/nocobase/nocobase/pull/9809" rel="noopener noreferrer"&gt;#9809&lt;/a&gt;) by 2013xile&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Users]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed required-field validation being skipped when submitting forms in UI editor mode (&lt;a href="https://github.com/nocobase/nocobase/pull/10371" rel="noopener noreferrer"&gt;#10371&lt;/a&gt;) by jiannx&lt;/li&gt;
&lt;li&gt;Show backend errors when adding a user or changing a password in V2. (&lt;a href="https://github.com/nocobase/nocobase/pull/10364" rel="noopener noreferrer"&gt;#10364&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Block: Tree]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed tree filter permissions and connected tree-table expansion state, and corrected details pagination totals after filtering. (&lt;a href="https://github.com/nocobase/nocobase/pull/10361" rel="noopener noreferrer"&gt;#10361&lt;/a&gt;) by jiannx&lt;/li&gt;
&lt;li&gt;Fixed Tree block searches showing placeholder nodes when no business-field records matched (&lt;a href="https://github.com/nocobase/nocobase/pull/10323" rel="noopener noreferrer"&gt;#10323&lt;/a&gt;) by jiannx&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Action: Import records]&lt;/strong&gt; Fixed an issue where files could not be imported by dragging them into the v2 Import dialog. (&lt;a href="https://github.com/nocobase/nocobase/pull/10350" rel="noopener noreferrer"&gt;#10350&lt;/a&gt;) by katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Action: Print]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix the missing print action model registration on V1 pages. (&lt;a href="https://github.com/nocobase/nocobase/pull/10347" rel="noopener noreferrer"&gt;#10347&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed v2 detail block printing so empty detail blocks no longer print the whole page. (&lt;a href="https://github.com/nocobase/nocobase/pull/9832" rel="noopener noreferrer"&gt;#9832&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Verification]&lt;/strong&gt; Add a refresh button to the Verification list (&lt;a href="https://github.com/nocobase/nocobase/pull/10340" rel="noopener noreferrer"&gt;#10340&lt;/a&gt;) by zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Notification manager]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed locale tester errors when no saved locale record exists, and allowed notification channel identifiers to be customized when creating channels (&lt;a href="https://github.com/nocobase/nocobase/pull/10311" rel="noopener noreferrer"&gt;#10311&lt;/a&gt;) by jiannx&lt;/li&gt;
&lt;li&gt;Fix receiver selection saving user IDs as text (&lt;a href="https://github.com/nocobase/nocobase/pull/10093" rel="noopener noreferrer"&gt;#10093&lt;/a&gt;) by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix incorrect workflow variables shown in CC configuration (&lt;a href="https://github.com/nocobase/nocobase/pull/9937" rel="noopener noreferrer"&gt;#9937&lt;/a&gt;) by zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Block: Gantt]&lt;/strong&gt; Fixed custom record colors not being applied to short Gantt task bars (&lt;a href="https://github.com/nocobase/nocobase/pull/10322" rel="noopener noreferrer"&gt;#10322&lt;/a&gt;) by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Localization]&lt;/strong&gt; Fixed a crash when opening Localization settings with the Lina AI assistant entry. (&lt;a href="https://github.com/nocobase/nocobase/pull/10293" rel="noopener noreferrer"&gt;#10293&lt;/a&gt;) by cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Backup manager]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Prevent repeated V2 backup restore submissions while a restore request is in progress. (&lt;a href="https://github.com/nocobase/nocobase/pull/10262" rel="noopener noreferrer"&gt;#10262&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;li&gt;Improved the stability and accuracy of backup plugin frontend tests. (&lt;a href="https://github.com/nocobase/nocobase/pull/10184" rel="noopener noreferrer"&gt;#10184&lt;/a&gt;) by cgyrock&lt;/li&gt;
&lt;li&gt;Fixed inconsistent bold labels on the v2 Backup manager settings page. (&lt;a href="https://github.com/nocobase/nocobase/pull/9908" rel="noopener noreferrer"&gt;#9908&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Variables and secrets]&lt;/strong&gt; Fix validation feedback for v2 environment variable bulk imports and fix Type filtering failures. (&lt;a href="https://github.com/nocobase/nocobase/pull/10154" rel="noopener noreferrer"&gt;#10154&lt;/a&gt;) by katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Authentication]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed declaration generation errors in the v2 authenticator management page (&lt;a href="https://github.com/nocobase/nocobase/pull/10095" rel="noopener noreferrer"&gt;#10095&lt;/a&gt;) by jiannx&lt;/li&gt;
&lt;li&gt;Fixed missing saved Authenticator settings when editing authenticators in the v2 authentication manager. (&lt;a href="https://github.com/nocobase/nocobase/pull/10091" rel="noopener noreferrer"&gt;#10091&lt;/a&gt;) by jiannx&lt;/li&gt;
&lt;li&gt;Fixed incorrect redirects after SSO login in v2 sub applications (&lt;a href="https://github.com/nocobase/nocobase/pull/9927" rel="noopener noreferrer"&gt;#9927&lt;/a&gt;) by 2013xile&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: JSON variable mapping]&lt;/strong&gt; Fix an error when selecting loop scope variables in the JSON variable mapping workflow node. (&lt;a href="https://github.com/nocobase/nocobase/pull/10094" rel="noopener noreferrer"&gt;#10094&lt;/a&gt;) by Molunerfinn&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Delay node]&lt;/strong&gt; Fix delay node duration input and prevent values below the minimum from being saved. (&lt;a href="https://github.com/nocobase/nocobase/pull/10056" rel="noopener noreferrer"&gt;#10056&lt;/a&gt;) by Molunerfinn&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Aggregate node]&lt;/strong&gt; Fix validation rule to allow null filter (&lt;a href="https://github.com/nocobase/nocobase/pull/10053" rel="noopener noreferrer"&gt;#10053&lt;/a&gt;) by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Public forms]&lt;/strong&gt; Fix the issue where public forms can still be configured when UI Editor is off (&lt;a href="https://github.com/nocobase/nocobase/pull/10036" rel="noopener noreferrer"&gt;#10036&lt;/a&gt;) by zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Embed NocoBase]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed an issue where tokens could be polluted when embedding NocoBase pages. (&lt;a href="https://github.com/nocobase/nocobase/pull/9948" rel="noopener noreferrer"&gt;#9948&lt;/a&gt;) by gchust&lt;/li&gt;
&lt;li&gt;Fixed v2 embed pages losing token-based access after the URL token is removed and the page is refreshed. (&lt;a href="https://github.com/nocobase/nocobase/pull/9857" rel="noopener noreferrer"&gt;#9857&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Action: Export records]&lt;/strong&gt; Fixed a crash when dragging v2 exportable fields after selecting relation fields. (&lt;a href="https://github.com/nocobase/nocobase/pull/9995" rel="noopener noreferrer"&gt;#9995&lt;/a&gt;) by katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Block: Comment]&lt;/strong&gt; Adjusted the default action order for new Comment blocks. (&lt;a href="https://github.com/nocobase/nocobase/pull/9976" rel="noopener noreferrer"&gt;#9976&lt;/a&gt;) by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Flow engine]&lt;/strong&gt; Fixed the issue where mobile page can't be created by flow surface api. (&lt;a href="https://github.com/nocobase/nocobase/pull/9911" rel="noopener noreferrer"&gt;#9911&lt;/a&gt;) by gchust&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: mailer node]&lt;/strong&gt; Fixed workflow v2 test failures caused by missing mocks for trigger workflow action registration. (&lt;a href="https://github.com/nocobase/nocobase/pull/9863" rel="noopener noreferrer"&gt;#9863&lt;/a&gt;) by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Data source manager]&lt;/strong&gt; Added a warning and quick setup for v2 data source collections without a primary key or record unique key. (&lt;a href="https://github.com/nocobase/nocobase/pull/9872" rel="noopener noreferrer"&gt;#9872&lt;/a&gt;) by katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: JavaScript]&lt;/strong&gt; Fixed JavaScript workflow node registration failure in the legacy workflow client. (&lt;a href="https://github.com/nocobase/nocobase/pull/9826" rel="noopener noreferrer"&gt;#9826&lt;/a&gt;) by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Response message]&lt;/strong&gt; Migrated the workflow response message node to the v2 canvas and fixed unsupported workflow types being able to add it. (&lt;a href="https://github.com/nocobase/nocobase/pull/9830" rel="noopener noreferrer"&gt;#9830&lt;/a&gt;) by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[API documentation]&lt;/strong&gt; Fixed the API documentation package declaration build failure. (&lt;a href="https://github.com/nocobase/nocobase/pull/9752" rel="noopener noreferrer"&gt;#9752&lt;/a&gt;) by katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[AI: Knowledge base]&lt;/strong&gt; Added an overwrite option for AI knowledge base workflow document creation, allowing workflows to replace existing documents with the same key. by cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Data source: External PostgreSQL]&lt;/strong&gt; Automatically load collections when editing an external relational data source in client v2. by katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[plugin-service-platform]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Restored licensed plugin downloads from the service platform. by jiannx&lt;/li&gt;
&lt;li&gt;Disabled the service platform plugin download endpoint. by jiannx&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Verification: TOTP authenticator]&lt;/strong&gt; Fixed TOTP authenticator bindings so temporary setup secrets are removed and previously verified codes cannot be reused. by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Data source: External NocoBase]&lt;/strong&gt; Fixed file preview, permanent URL handling, and upload routing for external NocoBase file collections, including S3 Pro uploads by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Multi-space]&lt;/strong&gt; Fixed authentication recovery requests being blocked by stale multi-space headers. by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Auth: SAML 2.0]&lt;/strong&gt; Fixed SAML automatic sign-in redirects for unauthenticated users in the modern client while preserving the original destination path by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[App SSO]&lt;/strong&gt; Fixed incorrect App SSO redirects in v2 sub applications by 2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Subflow]&lt;/strong&gt; Fixed workflow title search in the subflow node configuration selector. by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Migration manager]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed duplicate migration creation on repeated submission and improved v2 migration log and process drawer display. by katherinehhh&lt;/li&gt;
&lt;li&gt;Improve v2 migration error feedback, prevent duplicate migration rule names, and fix environment check modal overflow. by katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Auth: OIDC]&lt;/strong&gt; Fixed OIDC automatic login redirects in production builds and retained the original modern-client path after login by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Invalid approval workflows in the new to-do center are now disabled and display a configuration warning. by mytharcher&lt;/li&gt;
&lt;li&gt;Fixed related approval blocks failing to load on Client V2 record detail pages by mytharcher&lt;/li&gt;
&lt;li&gt;Fix workflow form action buttons responding in configuration dialogs by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix Approval blocks not refreshing after withdrawal or return by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Guide users to V1 pages when approval interfaces cannot be used in V2 by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix blank approval forms and missing or incorrect action buttons by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Allow users to view approval interfaces and cards after a workflow has been executed by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fixed premature applicant validation and untranslated role labels in the approval workflow manual execution dialog. by Molunerfinn&lt;/li&gt;
&lt;li&gt;Fix the error when configuring approval workflow conditions by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix the approval workflow task title remaining editable in executed workflow configurations after production builds. by Molunerfinn&lt;/li&gt;
&lt;li&gt;Close the Apply new drawer when opening an approval form by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix empty approval interfaces and fixed assignee IDs by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix the error when opening CC node settings by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix v2 approval subtables not displaying correctly in details by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix approval assignee sorting and hide unsupported legacy configuration entries by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix missing approval data on approval task cards by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix missing processed approval details in v2 task detail popups by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix approval task form and action issues in the workflow v2 task center by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix issues involved by migrating to client v2 by mytharcher&lt;/li&gt;
&lt;li&gt;Fix display and action issues in approval initiator interfaces by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix the issue where approval tables appear in the block data source list by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix an error that could prevent V2 pages from opening when approval and notification plugins are enabled by zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Collection field: Signature]&lt;/strong&gt; Fix client-v2 signature field file collection selector localization and option filtering. by katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Audit logs]&lt;/strong&gt; Fixed raw translation expressions appearing in the client V2 audit log Role column. by katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[App supervisor]&lt;/strong&gt; Fixed app visit links losing the v2 path in sub applications by 2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[WeCom]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed WeCom notification channels not saving the selected authenticator. by jiannx&lt;/li&gt;
&lt;li&gt;Fixed a blank flash when switching route menu items with the WeCom plugin enabled in Client V2 by 2013xile&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[DingTalk]&lt;/strong&gt; Fixed DingTalk notification channels losing the selected authenticator when saved from the v2 channel form by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.1.44
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-08-21&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🎉 New Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[Multi-space]&lt;/strong&gt; Added search to space switchers and space management in both v1 and v2 by jiannx&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[DingTalk]&lt;/strong&gt; Fixed DingTalk internal auto-login retaining the previous user's session after switching accounts. by chenzhizdt&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.1.43
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-08-19&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[app]&lt;/strong&gt; Added runtime polyfills for modern JavaScript APIs in supported older browsers (&lt;a href="https://github.com/nocobase/nocobase/pull/10385" rel="noopener noreferrer"&gt;#10385&lt;/a&gt;) by mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[undefined]&lt;/strong&gt; Fixed customized external database field display names being reset when selected tables are reloaded by cgyrock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Data source manager]&lt;/strong&gt; Fixed customized external database field display names being reset when a data source is submitted or its selected tables are changed (&lt;a href="https://github.com/nocobase/nocobase/pull/10387" rel="noopener noreferrer"&gt;#10387&lt;/a&gt;) by cgyrock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt; Fixed approval workflows configured to return to any previous approval node only allowing the nearest upstream node by mytharcher&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.1.42
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-08-18&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[undefined]&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Added LDAP and DingTalk user data synchronization guides, including permissions, event modes, synchronized fields, department owners, and troubleshooting. (&lt;a href="https://github.com/nocobase/nocobase/pull/10377" rel="noopener noreferrer"&gt;#10377&lt;/a&gt;) by chenzhizdt
Reference: &lt;a href="https://github.com/chenzhizdt/nocobase/blob/docs/ldap-dingtalk/docs/docs/en/users-permissions/sync/sources/dingtalk.md" rel="noopener noreferrer"&gt;DingTalk synchronization&lt;/a&gt;, &lt;a href="https://github.com/chenzhizdt/nocobase/blob/docs/ldap-dingtalk/docs/docs/en/users-permissions/sync/sources/ldap.md" rel="noopener noreferrer"&gt;LDAP synchronization&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Improve LDAP and DingTalk user synchronization documentation and add all supported translations. (&lt;a href="https://github.com/nocobase/nocobase/pull/10382" rel="noopener noreferrer"&gt;#10382&lt;/a&gt;) by chenzhizdt
Reference: &lt;a href="//docs/docs/en/users-permissions/sync/sources/dingtalk.md"&gt;DingTalk&lt;/a&gt; / &lt;a href="//docs/docs/en/users-permissions/sync/sources/ldap.md"&gt;LDAP&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow: JavaScript]&lt;/strong&gt; Fixed JavaScript workflow task recovery repeatedly enqueueing jobs whose executions have ended or expired. (&lt;a href="https://github.com/nocobase/nocobase/pull/10366" rel="noopener noreferrer"&gt;#10366&lt;/a&gt;) by mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Action: Export records Pro]&lt;/strong&gt; Fix export errors when using complex filters with the Export Pro plugin by zhangzhonghe&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Action: Import records Pro]&lt;/strong&gt; Fixed asynchronous imports not respecting field-level import permissions by mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[App supervisor]&lt;/strong&gt; Fixed Kingbase connections when creating supervised applications by 2013xile&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  next
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fit0xys8cxci7kol0jjde.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fit0xys8cxci7kol0jjde.png" alt="next.png" width="800" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  v2.3.0-beta.4
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-08-25&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[undefined]&lt;/strong&gt; Clarified how to use public NocoBase file URLs in Markdown, external pages, and third-party services (&lt;a href="https://github.com/nocobase/nocobase/pull/10406" rel="noopener noreferrer"&gt;#10406&lt;/a&gt;) by mytharcher
Reference: &lt;a href="https://docs.nocobase.com/file-manager/storage/" rel="noopener noreferrer"&gt;Storage engine overview&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[UI layout]&lt;/strong&gt; Fix the issue where desktop routes may be empty after upgrading (&lt;a href="https://github.com/nocobase/nocobase/pull/10405" rel="noopener noreferrer"&gt;#10405&lt;/a&gt;) by zhangzhonghe&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Workflow]&lt;/strong&gt; Fixed workflow task center menus so the active menu can be collapsed by clicking it again while retaining its selected highlight (&lt;a href="https://github.com/nocobase/nocobase/pull/10404" rel="noopener noreferrer"&gt;#10404&lt;/a&gt;) by mytharcher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;[Action: Export records Pro]&lt;/strong&gt; Fix a crash when changing and drag-sorting Pro export fields. by katherinehhh&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  v2.2.0-beta.18
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Release date: 2026-08-20&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🎉 New Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;[AI employees]&lt;/strong&gt; Added DeepSeek V4 Flash and V4 Pro Responses API support with reasoning continuity, native web search, citations, and model-aware web search controls (&lt;a href="https://github.com/nocobase/nocobase/pull/10337" rel="noopener noreferrer"&gt;#10337&lt;/a&gt;) by cgyrock&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Multi-space]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added search to space switchers and space management in both v1 and v2 by jiannx&lt;/li&gt;
&lt;li&gt;Added debounced display-name search to space switchers and space management in both v1 and v2 by jiannx&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Email manager]&lt;/strong&gt; Email synchronization now uses recoverable background jobs with status history and safer full-resync cleanup, including Gmail Spam and Trash. by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Auth: LDAP]&lt;/strong&gt; Add LDAP user synchronization configuration support for client v2. by chenzhizdt&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🚀 Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[undefined]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improve LDAP and DingTalk user synchronization documentation and add all supported translations. (&lt;a href="https://github.com/nocobase/nocobase/pull/10382" rel="noopener noreferrer"&gt;#10382&lt;/a&gt;) by chenzhizdt
Reference: &lt;a href="//docs/docs/en/users-permissions/sync/sources/dingtalk.md"&gt;DingTalk&lt;/a&gt; / &lt;a href="//docs/docs/en/users-permissions/sync/sources/ldap.md"&gt;LDAP&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Added LDAP and DingTalk user data synchronization guides, including permissions, event modes, synchronized fields, department owners, and troubleshooting. (&lt;a href="https://github.com/nocobase/nocobase/pull/10377" rel="noopener noreferrer"&gt;#10377&lt;/a&gt;) by chenzhizdt
Reference: &lt;a href="https://github.com/chenzhizdt/nocobase/blob/docs/ldap-dingtalk/docs/docs/en/users-permissions/sync/sources/dingtalk.md" rel="noopener noreferrer"&gt;DingTalk synchronization&lt;/a&gt;, &lt;a href="https://github.com/chenzhizdt/nocobase/blob/docs/ldap-dingtalk/docs/docs/en/users-permissions/sync/sources/ldap.md" rel="noopener noreferrer"&gt;LDAP synchronization&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[lock-manager]&lt;/strong&gt; Added renewable local lock leases and ensured try-acquired locks are released safely across reuse and errors (&lt;a href="https://github.com/nocobase/nocobase/pull/10368" rel="noopener noreferrer"&gt;#10368&lt;/a&gt;) by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[cli]&lt;/strong&gt; &lt;code&gt;nb api resource create&lt;/code&gt; now accepts a JSON array for &lt;code&gt;--values&lt;/code&gt; to create multiple records in a single request. (&lt;a href="https://github.com/nocobase/nocobase/pull/10325" rel="noopener noreferrer"&gt;#10325&lt;/a&gt;) by Molunerfinn&lt;br&gt;
Reference: &lt;a href="https://github.com/nocobase/nocobase/blob/fix/cli-resource-create-array-values/docs/docs/en/api/cli/api/resource/create.md" rel="noopener noreferrer"&gt;nb api resource create&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt; Grouped task-center items by workflow in the new client and kept workflow filters consistent across task types. (&lt;a href="https://github.com/nocobase/nocobase/pull/10374" rel="noopener noreferrer"&gt;#10374&lt;/a&gt;) by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Block: Tree]&lt;/strong&gt; Tree filter blocks now support configurable default sorting. (&lt;a href="https://github.com/nocobase/nocobase/pull/10339" rel="noopener noreferrer"&gt;#10339&lt;/a&gt;) by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Redis lock adapter]&lt;/strong&gt; Added renewable Redis lock leases and made reusable lock handles release safely during contention and errors by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt; Updated approval task grouping and timelines in the new client to match the legacy experience. by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[DingTalk]&lt;/strong&gt; Complete DingTalk client v2 support, including Stream synchronization, notification configuration, and automatic login improvements. by chenzhizdt&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Bug Fixes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[client-v2]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed relationship picker labels when association form values contain only a related record ID. (&lt;a href="https://github.com/nocobase/nocobase/pull/10386" rel="noopener noreferrer"&gt;#10386&lt;/a&gt;) by cgyrock&lt;/li&gt;
&lt;li&gt;Fixed a false DatePicker missing-component error in v2 table filters. (&lt;a href="https://github.com/nocobase/nocobase/pull/10392" rel="noopener noreferrer"&gt;#10392&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed false missing-component console errors when opening v2 table filters. (&lt;a href="https://github.com/nocobase/nocobase/pull/10389" rel="noopener noreferrer"&gt;#10389&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed an error that prevented filter conditions from being cleared in workflow settings. (&lt;a href="https://github.com/nocobase/nocobase/pull/10388" rel="noopener noreferrer"&gt;#10388&lt;/a&gt;) by Molunerfinn&lt;/li&gt;
&lt;li&gt;Fixed missing frontend response notifications on Client V2 pages, including errors returned by pre-action workflows (&lt;a href="https://github.com/nocobase/nocobase/pull/10376" rel="noopener noreferrer"&gt;#10376&lt;/a&gt;) by mytharcher&lt;/li&gt;
&lt;li&gt;Fix Chinese text appearing when searching mobile select fields in English (&lt;a href="https://github.com/nocobase/nocobase/pull/10367" rel="noopener noreferrer"&gt;#10367&lt;/a&gt;) by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix filter forms refreshing automatically in UI edit mode (&lt;a href="https://github.com/nocobase/nocobase/pull/10356" rel="noopener noreferrer"&gt;#10356&lt;/a&gt;) by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Use Cascader by default for tree-structured relation fields in v2 filter forms (&lt;a href="https://github.com/nocobase/nocobase/pull/10357" rel="noopener noreferrer"&gt;#10357&lt;/a&gt;) by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix JS items incorrectly appearing in form field linkage rule actions (&lt;a href="https://github.com/nocobase/nocobase/pull/10363" rel="noopener noreferrer"&gt;#10363&lt;/a&gt;) by gchust&lt;/li&gt;
&lt;li&gt;Fixed pages under &lt;code&gt;/v&lt;/code&gt; remaining in UI editing mode after switching to a role without page configuration permission (&lt;a href="https://github.com/nocobase/nocobase/pull/10359" rel="noopener noreferrer"&gt;#10359&lt;/a&gt;) by jiannx&lt;/li&gt;
&lt;li&gt;Automatically redirect to an accessible Settings tab when the current tab is unavailable (&lt;a href="https://github.com/nocobase/nocobase/pull/10332" rel="noopener noreferrer"&gt;#10332&lt;/a&gt;) by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix mobile single-select relation fields not clearing when the selected record is tapped again (&lt;a href="https://github.com/nocobase/nocobase/pull/10346" rel="noopener noreferrer"&gt;#10346&lt;/a&gt;) by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix the issue where China region fields cannot be added directly to filter forms (&lt;a href="https://github.com/nocobase/nocobase/pull/10333" rel="noopener noreferrer"&gt;#10333&lt;/a&gt;) by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fixed an issue where ctx.form.submit could not correctly submit form data. (&lt;a href="https://github.com/nocobase/nocobase/pull/10063" rel="noopener noreferrer"&gt;#10063&lt;/a&gt;) by gchust&lt;/li&gt;
&lt;li&gt;Redirect users without Settings access to the first available page (&lt;a href="https://github.com/nocobase/nocobase/pull/10331" rel="noopener noreferrer"&gt;#10331&lt;/a&gt;) by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix incorrect editing and display of large decimal values in V2 fields. (&lt;a href="https://github.com/nocobase/nocobase/pull/10330" rel="noopener noreferrer"&gt;#10330&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;li&gt;Show a retryable localized fallback in v2 blocks when an external data source is unavailable. (&lt;a href="https://github.com/nocobase/nocobase/pull/10336" rel="noopener noreferrer"&gt;#10336&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[app]&lt;/strong&gt; Added runtime polyfills for modern JavaScript APIs in supported older browsers (&lt;a href="https://github.com/nocobase/nocobase/pull/10385" rel="noopener noreferrer"&gt;#10385&lt;/a&gt;) by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[flow-engine]&lt;/strong&gt; Fix dropdown menus being cut off in short browser windows (&lt;a href="https://github.com/nocobase/nocobase/pull/10379" rel="noopener noreferrer"&gt;#10379&lt;/a&gt;) by zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[client]&lt;/strong&gt; Fix incomplete long sidebar menu titles and misaligned configuration toolbars (&lt;a href="https://github.com/nocobase/nocobase/pull/10380" rel="noopener noreferrer"&gt;#10380&lt;/a&gt;) by zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[undefined]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix &lt;code&gt;nb plugin import&lt;/code&gt; failing on plugin tarballs built by &lt;code&gt;yarn build --tar&lt;/code&gt;, and correct example code and scaffold structure in the plugin development docs. (&lt;a href="https://github.com/nocobase/nocobase/pull/10351" rel="noopener noreferrer"&gt;#10351&lt;/a&gt;) by Molunerfinn&lt;/li&gt;
&lt;li&gt;Fixed customized external database field display names being reset when selected tables are reloaded by cgyrock&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[database]&lt;/strong&gt; Fixed prefix indexes on camel-case fields when underscored database naming is enabled (&lt;a href="https://github.com/nocobase/nocobase/pull/10329" rel="noopener noreferrer"&gt;#10329&lt;/a&gt;) by 2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Data source manager]&lt;/strong&gt; Fixed customized external database field display names being reset when a data source is submitted or its selected tables are changed (&lt;a href="https://github.com/nocobase/nocobase/pull/10387" rel="noopener noreferrer"&gt;#10387&lt;/a&gt;) by cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: JavaScript]&lt;/strong&gt; Fixed JavaScript workflow task recovery repeatedly enqueueing jobs whose executions have ended or expired. (&lt;a href="https://github.com/nocobase/nocobase/pull/10366" rel="noopener noreferrer"&gt;#10366&lt;/a&gt;) by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed workflow execution page titles and added a workflow-list link for missing workflows (&lt;a href="https://github.com/nocobase/nocobase/pull/10360" rel="noopener noreferrer"&gt;#10360&lt;/a&gt;) by mytharcher&lt;/li&gt;
&lt;li&gt;Disable workflow execution mode selection until a trigger type is selected. (&lt;a href="https://github.com/nocobase/nocobase/pull/10296" rel="noopener noreferrer"&gt;#10296&lt;/a&gt;) by Molunerfinn&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Notification: In-app message]&lt;/strong&gt; Fixed the in-app message template form showing workflow canvas variables instead of the variables provided by the page. (&lt;a href="https://github.com/nocobase/nocobase/pull/10180" rel="noopener noreferrer"&gt;#10180&lt;/a&gt;) by Molunerfinn&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Block: Map]&lt;/strong&gt; Fixed region selection not finishing on double-click when map point data is displayed, and fixed AMap remaining in a loading state (&lt;a href="https://github.com/nocobase/nocobase/pull/10373" rel="noopener noreferrer"&gt;#10373&lt;/a&gt;) by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Collection field: Markdown(Vditor)]&lt;/strong&gt; Fix Markdown HTML previews in v2 details blocks under dark themes. (&lt;a href="https://github.com/nocobase/nocobase/pull/10370" rel="noopener noreferrer"&gt;#10370&lt;/a&gt;) by katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[UI layout]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix mobile pages appearing in the desktop navigation (&lt;a href="https://github.com/nocobase/nocobase/pull/10375" rel="noopener noreferrer"&gt;#10375&lt;/a&gt;) by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Hide the mobile UI Editor when the current role cannot configure the interface (&lt;a href="https://github.com/nocobase/nocobase/pull/10341" rel="noopener noreferrer"&gt;#10341&lt;/a&gt;) by zhangzhonghe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[AI employees]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix V2 Import drag-and-drop being blocked by the AI attachment overlay. (&lt;a href="https://github.com/nocobase/nocobase/pull/10384" rel="noopener noreferrer"&gt;#10384&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed AI employee chat streaming long responses causing other idle browser tabs to balloon to multiple gigabytes of memory (&lt;a href="https://github.com/nocobase/nocobase/pull/10352" rel="noopener noreferrer"&gt;#10352&lt;/a&gt;) by cgyrock&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: JSON calculation]&lt;/strong&gt; Fixed JSON Query jobs losing structured parser errors and displaying &lt;code&gt;[object Object]&lt;/code&gt; (&lt;a href="https://github.com/nocobase/nocobase/pull/10344" rel="noopener noreferrer"&gt;#10344&lt;/a&gt;) by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Users]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Show backend errors when adding a user or changing a password in V2. (&lt;a href="https://github.com/nocobase/nocobase/pull/10364" rel="noopener noreferrer"&gt;#10364&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;li&gt;Fixed required-field validation being skipped when submitting forms in UI editor mode (&lt;a href="https://github.com/nocobase/nocobase/pull/10371" rel="noopener noreferrer"&gt;#10371&lt;/a&gt;) by jiannx&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[File manager]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix the extra submit step when selecting an existing file in a single-value field (&lt;a href="https://github.com/nocobase/nocobase/pull/10372" rel="noopener noreferrer"&gt;#10372&lt;/a&gt;) by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fixed local storage files such as logos failing to load in sub-applications after stable URL redirects (&lt;a href="https://github.com/nocobase/nocobase/pull/10358" rel="noopener noreferrer"&gt;#10358&lt;/a&gt;) by mytharcher&lt;/li&gt;
&lt;li&gt;Fixed video previews not updating when switching between files (&lt;a href="https://github.com/nocobase/nocobase/pull/10345" rel="noopener noreferrer"&gt;#10345&lt;/a&gt;) by mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Action: Import records]&lt;/strong&gt; Fixed an issue where files could not be imported by dragging them into the v2 Import dialog. (&lt;a href="https://github.com/nocobase/nocobase/pull/10350" rel="noopener noreferrer"&gt;#10350&lt;/a&gt;) by katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Action: Print]&lt;/strong&gt; Fix the missing print action model registration on V1 pages. (&lt;a href="https://github.com/nocobase/nocobase/pull/10347" rel="noopener noreferrer"&gt;#10347&lt;/a&gt;) by katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Block: Tree]&lt;/strong&gt; Fixed tree filter permissions and connected tree-table expansion state, and corrected details pagination totals after filtering. (&lt;a href="https://github.com/nocobase/nocobase/pull/10361" rel="noopener noreferrer"&gt;#10361&lt;/a&gt;) by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Verification]&lt;/strong&gt; Add a refresh button to the Verification list (&lt;a href="https://github.com/nocobase/nocobase/pull/10340" rel="noopener noreferrer"&gt;#10340&lt;/a&gt;) by zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Block: Kanban]&lt;/strong&gt; Fixed configured content disappearing after reopening a kanban card's detail drawer (&lt;a href="https://github.com/nocobase/nocobase/pull/10334" rel="noopener noreferrer"&gt;#10334&lt;/a&gt;) by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Action: Export records]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix table export errors after filtering by multiple relation fields (&lt;a href="https://github.com/nocobase/nocobase/pull/10342" rel="noopener noreferrer"&gt;#10342&lt;/a&gt;) by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fixed a page crash when sorting an edited relation field in Export V2. (&lt;a href="https://github.com/nocobase/nocobase/pull/10335" rel="noopener noreferrer"&gt;#10335&lt;/a&gt;) by katherinehhh&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Notification manager]&lt;/strong&gt; Fixed locale tester errors when no saved locale record exists, and allowed notification channel identifiers to be customized when creating channels (&lt;a href="https://github.com/nocobase/nocobase/pull/10311" rel="noopener noreferrer"&gt;#10311&lt;/a&gt;) by jiannx&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Action: Duplicate record]&lt;/strong&gt; Improve direct duplication failure feedback in v2 without duplicate API error messages. (&lt;a href="https://github.com/nocobase/nocobase/pull/10327" rel="noopener noreferrer"&gt;#10327&lt;/a&gt;) by katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Data source: External PostgreSQL]&lt;/strong&gt; Automatically load collections when editing an external relational data source in client v2. by katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Collection field: Encryption]&lt;/strong&gt; Fixed bulk import failing with &lt;code&gt;model.changed is not a function&lt;/code&gt; when the collection contains an encryption field by cgyrock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Action: Export records Pro]&lt;/strong&gt; Fix export errors when using complex filters with the Export Pro plugin by zhangzhonghe&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Action: Import records Pro]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed asynchronous imports not respecting field-level import permissions by mytharcher&lt;/li&gt;
&lt;li&gt;Fixed asynchronously imported records not being associated with the current space by jiannx&lt;/li&gt;
&lt;li&gt;Clarified import results by showing the number of newly created records separately from updated records by mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Workflow: Webhook]&lt;/strong&gt; Fixed a 400 error when manually executing a webhook workflow without request headers by mytharcher&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Record history]&lt;/strong&gt; Improved record history write performance for collections with large snapshot tables by 2013xile&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;[Workflow: Approval]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed approval workflows configured to return to any previous approval node only allowing the nearest upstream node by mytharcher&lt;/li&gt;
&lt;li&gt;Add data scope filtering to Client V2 related approval blocks by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fix Approval blocks not refreshing after withdrawal or return by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Invalid approval workflows in the new to-do center are now disabled and display a configuration warning. by mytharcher&lt;/li&gt;
&lt;li&gt;Fix inconsistent subtable column widths in approval details by zhangzhonghe&lt;/li&gt;
&lt;li&gt;Fixed related approval blocks failing to load on Client V2 record detail pages by mytharcher&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[Audit logs]&lt;/strong&gt; Fixed raw translation expressions appearing in the client V2 audit log Role column. by katherinehhh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;[App supervisor]&lt;/strong&gt; Fixed Kingbase connections when creating supervised applications by 2013xile&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>nocode</category>
      <category>news</category>
    </item>
  </channel>
</rss>
