Release notes - September 2026.19
List of release notes from September 15, 2026
Our team has focused on delivering a range of platform enhancements over the last two weeks. In this update, you’ll find a clear overview of the latest feature additions, changes, and resolved issues. For a comprehensive breakdown, be sure to review the full release notes.
Pages
New features
1. Store a custom collection of objects before sending to an action
In Genius-pages, a new custom collection page variable type lets you build up an array of objects in state — for example, answers to a set of dynamic questions — before sending it to an action in one go. This enables use cases like dynamic questionnaires or multi-item forms where the shape of the data isn't known in advance. Data entered across multiple, dynamically generated inputs can be collected and submitted together, instead of one field at a time.
2. Toggle item in collection
In Genius-pages, a new Toggle item in collection interaction is added that allows you to add or remove a collection item's ID from a Custom Collection variable with a single click, without affecting other rows. This unlocks use cases like:
-
Users are able to select multiple rows in a table — for example to update several records' status at once — using a checkbox per row.
-
Users are reviewing records and want to compare multiple entries side by side. The records are displayed as a list (collection of updates). Each row is displayed with minimum information and record details. You can expand each row with more details simultaneously.
3. Show or hide Icon components with display logic
The Icon component in the Genius set now supports display logic, so icons can be shown or hidden based on conditions you define. You can build interfaces where icons appear only when relevant, matching the conditional behaviour already available for other components.
Improvements & fixes
Genius AI - Pages generation
1. More reliable Genius plan applies
Fixed several causes of 'Apply plan' failures in Genius: plan data getting corrupted when a follow-up proposal was accepted, and plans that referenced reserved names (like 'Request') being rejected without a clear reason. Failed applies are now also logged server-side so future issues are easier to diagnose.
2. Fixed broken links in Genius Chat
Genius Chat previously linked to pages and layouts using the wrong URL structure, and sometimes recommended creating a page that already existed while pointing at broken or duplicate links. Links now resolve correctly, and existing pages are recognised and reused instead of duplicated.
3. Fixed a persistent drawer blocking pages at runtime
A drawer that Genius added inside a page layout could get stuck open at runtime with no way to close it, blocking use of the app. Pages generated with a drawer in the layout now behave correctly and can be closed as expected.
Page builder - Genius Pages
1. Fixed unwanted actions firing when a page loads
Input components (Checkbox, Switch, Select, Autocomplete and others) with a default value could trigger their 'On change" interaction the moment a page rendered, before a user touched anything — for example silently adding items to a collection, or running a form action with stale data. A related issue also caused an edit form to briefly show the previous record's values after switching rows, then save them over the newly selected record. Both are fixed, so change interactions now only run when a value genuinely changes.
2. Fixed a runtime error in collection filters
Collection page variables filtered on a combination of an object variable and a page variable or component state could throw a runtime error caused by the compiler generating variable declarations in the wrong order. Collections filtered on a combination of conditions now load correctly instead of crashing.
3. Fixed relative date display logic
Display logic using relative dates, such as 'before today', could return incorrect results. Conditions based on relative dates now evaluate correctly.
4. Fixed a 500 error when deleting a Genius page
Deleting a page, or a component, generated by Genius could result in a 500 error. Pages and components can now be deleted without triggering a server error. This is resolved now.
5. Fixed application language not carrying over on merge
An application's default language setting wasn't reliably applied after merging a sandbox into an upper environment, and unsupported locale values (such as nl-NL) generated excess log noise in MetaAPI. Language settings configured in a sandbox now merge through correctly, and the compiled page's language attribute reflects the merged value.
6. Extended the "Item to toggle" field to more data types
The "Item to toggle" option in the toggle-item-in-collection interaction previously only accepted the Serial kind (for ID properties); it now also accepts numbers and text.
Up next
1. Betty Genius: AI page editing to Genius Chat
Betty Genius AI is getting a major upgrade, rolling out in three releases as capabilities move from the current experience into the new Genius AI experience. This 2nd release focuses entirely on: enabling the AI page-editing capability via Genius chat sessions.
What's included in this release?
- Sidebar prompt box removed: The page-edit prompt box in the page builder's left sidebar is being phased out and consolidated into Genius Chat sessions.
- New chat mode: Genius Chat introduces a new 'Think · Plan · Preview' mode.
- Live preview on canvas: In Preview mode, page changes made via Genius Chat appear directly on the canvas — you can accept or reject them before they're applied.
- Smarter context awareness: Genius Chat now recognizes whether you're editing a page, action, model, etc. This improves the UX and gives Genius AI higher-quality context, leading to better results.
Timeframe: September '26
2. Betty Genius: Single-page generation to Genius Chat
Betty Genius AI is getting a major upgrade, rolling out in three releases as capabilities move from the current experience into the new Genius AI experience. This 3rd and last release of the transition focuses entirely on step 3: enabling single-page generation via Genius chat sessions.
What's included in this release?
- Single-page creation moves to chat: The "Create single-page" prompt will now connect directly to Genius Chat — starting a new prompt for a new page kicks off a new session.
- Image upload support: Use a screenshot or design mockup as input to generate your page.
- Generic file upload in chat: Beyond images, you can now upload files like text or CSV documents — for example, requirements docs or process flows — to kick off a proposal generation in a Chat session.
Timeframe: September '26
3. New 'Add or remove items in collection' interaction
Genius-pages will support a new 'Add or remove items in collection' interaction, letting you add or remove every visible row's ID to/from a custom collection variable. This unlocks use cases like:
- Select all rows on the current page — Add a 'Select All' checkbox to a Data Table or Data List to select every row on the current page with one click; checking it adds that page's row IDs to your selection (unchecking removes only those, leaving other pages untouched), the checkbox always accurately reflects whether all visible rows are selected, and this makes bulk actions like delete, export, or status updates much faster to set up.
Timeframe: September '26
4. Betty Genius: automated Form action step syncing
We are introducing automated syncing between Forms and their associated action steps in Genius-generated Pages. Today, when forms in Genius-generated Pages are modified, related action steps (such as Create or Update Record steps) do not automatically reflect those changes, requiring manual updates.
With this upcoming enhancement, any changes made to a Form (such as adding, removing, or updating inputs) will automatically be synchronized with the corresponding action steps. Field mappings will stay aligned without additional configuration.
This will make working with Genius-generated Pages more seamless and consistent with classic Pages, significantly reducing manual maintenance and ensuring form-driven workflows remain accurate as they evolve.
Timeframe: September '26
5. App-level Genius component set configuration (for custom sets)
We are introducing the ability to use a custom Genius component to be used within Genius Pages as well as with Genius AI. Configure a custom Genius component set at the app level (via a new an app configuration) so Page Builder and Genius AI surface only the components and interactions relevant to your project instead of the platform default. The IDE's components sidebar, interaction functions dropdown, and Genius AI page generation all respect the custom set when configured. This enables building apps against a specific component sets instead of the Betty Blocks' default component set.
This is a first release of the capability — support for using multiple component sets within a single Betty Blocks application, governed at the MyBB level, is planned as a next step.
Timeframe: September '26
6. Betty Genius: new Text filter predicates – Is empty & Is not empty
In Genius-generated Pages, page variable filtering and display logic filtering will be supported with two new Text filter predicates: Is empty and Is not empty. These predicates make it easier to query or control content visibility based on whether a Text property has a value.
Example use cases:
- Show the Last Name text field only if First Name has a value (Is not empty).
- Display an information panel only if Email has no value (Is empty).
Expected behavior of is empty and exists on Text fields compared:
- Is empty / Is not empty – Checks whether a Text field has content.
""orNull→ Is empty"Hello"→ Is not empty
- Exists / Does not exist – Checks whether a Text field is defined (not null).
""or"Hello"→ ExistsNull→ Does not exist
Timeframe: September '26
7. Betty Genius: Use multi input component on 'belongs to' relations
In Genius-pages, filters on a 'belongs to' relation (e.g. Jurisdiction) will support "In" and "Not in" predicates. This will allow users to filter a list by several related values simultaneously — for example, legislation updates linked to either the EU or Brazil jurisdiction — using a single multi-select input instead of being limited to one value at a time.
Timeframe: September '26
8. Betty Genius: Display rich text
In Genius-pages, Text components will be able to display rich text properties (paragraphs, line breaks, links) as properly formatted content instead of showing the raw HTML tags. This allows users to render content stored as rich text — such as imported summaries or descriptions — to show up formatted and readable on the page, including clickable links, instead of exposing raw markup to end users.
Timeframe: September '26
9. Betty Genius: new Genius components supported
Genius-generated Pages will include the following new components in the Genius set
- Stepper component – guides users through a multi-step process in a defined sequence, displaying progress and allowing navigation between steps such as form wizards, onboarding flows, or checkout processes.
- Responsive layout components - a set that automatically adapts to different screen sizes and viewports, enabling consistent and fluid designs across different screens.
- Progress bar component - visually communicates the completion status of a task or process, showing users how far along they are as a filled bar that advances from 0% to 100%.
Timeframe: October '26
10. Betty Genius: store a custom collection of objects before submitting to an Action
In Genius-pages, a new variable type is supported: custom collection variable. We will unlock the following use case by using this variable type: Build forms that store a collection of objects in local page state before submitting them to an action. For example, an event registration form where users can add one or more visitors as part of a single form submission.
Timeframe: October '26
Wasm Actions
New features
1. Overall improvements of the stability of Wasm Actions
Continued work on the reliability of the Wasm Actions in design time and in runtime, addressing the root causes behind compile failures and backend/runtime unavailability.
- Value: Fewer 'not healthy' / back-end unavailable errors and compile failures for builders working with Wasm Actions, resulting in a more predictable and dependable actions runtime.
- Impact: Stable compiling of actions and runtime performance.
2. Compiling Next-gen (JS) Actions to Wasm for Betty Blocks Open
Next-gen (JavaScript) Actions can be compiled towards the same WebAssembly-based runtime already used for Wasm actions.
- Value: Makes JS Actions run on open, standards-based technology instead of a closed, proprietary one, reducing vendor lock-in and bringing it in line with the rest of the actions platform.
- Impact: Rolled out behind a feature flag, initially for customers using JS Actions. If you want the feature flag, reach out to support.
More information: Compiling a JavaScript action to Wasm runtime
3. Search the Block Store directly from the Wasm action builder
We brought back the Block Store searchability within the Wasm actions IDE. Now users are able to use the wasm components from our public Block Store in their app.
- Value: Builders can find and reuse pre-built Block Store action steps (functions) without leaving the action builder, cutting duplicate work and boosting visibility of Block Store content.
- Impact: Extends the existing search — everything that was already there still works, Block Store content is simply included now.
Improvements & fixes
1. Clearer action canvas: steps, connections and loops
The action canvas has been reworked for readability. Renamed steps show the original function name on hover, unfinished steps get a clear yellow 'Unset' badge instead of looking like an error, connections inside conditions are color-coded yellow, loop bodies sit on a soft blue lane, and arrowheads only appear where the flow direction isn't obvious.
- Value: Builders can understand and navigate a complex action at a glance, without opening every step.
- Impact: Automatically visible in the IDE's action canvas for any action you open.
2. See which original step an action step is based on
Steps that were renamed (for example, by Genius) now show a reference to the original step they're based on, including its version or source block.
- Value: No more guessing whether a renamed step is a native, custom, or specific version of a step.
- Impact: Hover over or select any step in the action canvas.
Bug fixes:
-
Search icon overlapping placeholder text. The search icon in the authentication profile browser no longer overlaps the placeholder text.
-
Confusing error messages in Wasm actions — When something went wrong in a Wasm action, you'd see a cryptic 'WasmCloud' error instead of the actual cause. Now you see the real error message, so you can tell what actually went wrong.
-
Missing user info — When a Wasm action was called directly from a Genius component, or as a sub-action from ActionJS, it had no idea who the logged-in user was. That's now fixed, so you can use current-user data no matter how the action gets triggered.
-
Compile error from a version mismatch — Actions sometimes failed to compile because of a version clash somewhere in the build process. That clash has been resolved.
-
Getting stuck on large files — An action pulling in large files through an HTTP step (like a multi-megabyte PDF as text) would hang and time out. That now works fine, even with bigger files.
-
Wasm actions wouldn't compile at all — An outdated dependency in the build process broke compiling for Wasm actions entirely. That's fixed, so compiling works again.
-
Errors with linked data — A Wasm action pulling in data through a relation (e.g. "get the linked record for this invoice") would throw an error. That now works correctly.
-
System slowdowns from cleanup — In the background, servers would sometimes get stuck at nearly 100% CPU usage when a task was being wound down. This could make new actions start slowly or hang. That's fixed, leading to more stable performance overall.
Genius Actions
Improvements & fixes
Bug fixes:
-
Genius used variables too early. Sometimes Genius picked a variable that wasn't ready yet at that point in the action, causing errors. That's now fixed — it only uses variables that actually exist at that step.
-
Actions stuck "generating" forever. If Genius got stuck or failed while building an action, it used to just spin forever with no explanation. Now it shows a clear "failed" message and lets you try again.
-
Genius sometimes created empty actions. Occasionally Genius would finish "building" an action but leave it completely empty, with no steps inside. The underlying causes of that are fixed now.
-
Various small Genius glitches. A bunch of smaller issues found during testing have been cleaned up — things like compile errors, loops missing a name, dead-end "error" steps that always crashed the action, missing fields, and empty condition steps.
Up next
1. Optimize the Genius generated actions
- Value: Tweak Genius to build wasm actions that perfectly fit the use case described in the Genius Chat. As well as the ability to set up a scheduled action with Genius.
- Impact: More reliable actions.
- Timeframe: Within the upcoming 2 weeks.
2. OAuth for MCP servers
- Value: Lets MCP clients authenticate against your app using its existing login methods (username/password, FusionAuth) instead of a separate MCP-specific login flow.
- Impact: Will apply to any application exposing an MCP server; no action needed from builders once released.
- Timeframe: Within the upcoming 4 weeks.
My Betty Blocks
New features
1. Company AI provider
Value: Company admins can now set up an AI provider at company level, so every app in the company uses the same AI connection.
Impact:
- Configure your AI provider once, in one place.
- No more per-app setup or duplicated API keys.
- Lays the groundwork for the upcoming AI agent features.
Note: AI Agents is behind a feature flag, currently under heavy development
2. Archived application status and automated clean-up
Value: Applications now have a clear 'Archived' status, and archived apps are cleaned up automatically after a set period.
Impact:
- Archived apps are easy to spot in your application list.
- Unused apps no longer pile up and consume resources.
- A confirmation prompt makes sure nothing is cleaned up by accident.
Note: This is behind a feature flag, can be configured by requesting support
3. Admin notifications for inactive and archived apps
Value: Admins get notified when an app goes inactive or is archived, so they can act before it is cleaned up.
Impact:
- No surprises: you hear about it before an app disappears.
- Helps keep your app portfolio tidy without manual checking.
Improvements & fixes
1. Faster block listing for large customers
-
Value: The block list loads reliably, even for customers with many blocks.
-
Impact: Loading the list of blocks for a customer could time out. The query has been optimised so the list now loads without errors.
2. Correct app status without a build
-
Value: App status only changes to 'Development' when a build actually happens.
-
Impact: Some apps switched to 'Development' status without any build activity. This is fixed, so status now reflects what really happened.
3. Clearer wording for branches and sandboxes
-
Value: The interface now says 'branch' or 'sandbox' where it used to say 'application'.
-
Impact: Labels adapt to the context you are in. This removes confusion about what you are looking at or about to change.
4. Platform reliability and monitoring
-
Value: Better logging and clean-up jobs behind the scenes make the platform more stable.
-
Impact: Logging standards were updated across several core services, so issues are detected and resolved faster. A new background job also retries clean-up of apps that previously failed to delete.
Up next
1. AI Agents overview and canvas
-
Value: Browse all AI agents in one list and open each one on a canvas to see how it works.
-
Impact: Gives you a single place to find and manage the AI agents in your app.
-
Timeframe: September 2026
2. AI provider option in action functions
-
Value: Pick your company's AI provider directly from an action function.
-
Impact: Call your configured AI provider from actions without extra setup.
-
Timeframe: September 2026
3. Native AI agent function
-
Value: Build and run a basic AI agent as a native function step inside your actions.
-
Impact: Adds AI agent logic to your flows without external tooling. Includes compiling the agent step so it runs in your app.
-
Timeframe: September 2026
Note: AI Agents is behind a feature flag, currently under heavy development
Education
New
1. Set values interaction | Genius
Core interaction in Pages for assigning a value to a variable when a trigger fires — for example when a page loads, a button is clicked, an input changes, or an action returns a response. This article gives an overview of the interaction and three ways to use it on the page.
2. Compiling a JavaScript action to Wasm runtime
Move a JavaScript action to the Wasm runtime without rebuilding it: find out what happens during the conversion, and what to check before you switch
Improvements & fixes
Updated the overview of settings that control your application: from its name and domain to language, home page, and security settings, etc.
Up next
1. New environment for Betty Blocks Documentation
We're working on a new, updated docs format powered by AI – giving you instant answers instead of manual searching.
Timeframe: September '26
2. Registration request for Academy
A new flow for business users without a Betty Blocks account yet. They'll be able to request access to Academy and building tools through a form right inside Academy.
Timeframe: September '26