v2.3.14

Published on Jan 12, 2026.

Fixes

  • Fixed Helm chart Dapr sidecars version which is now explicitly configured to match the SDK version used by the ecosystem. (15354)
  • Added daprVersion parameter support in Helm chart, enabling proper Dapr sidecar version alignment when deploying clusters with previous versions. See the documentation for more details. (15354)

v2.3.13

Published on Dec 10, 2025.

Fixes

  • Forward compatibility patch for Reporting service v2.4+. (15178), closes 30643, 30770

v2.3.12

Published on Nov 19, 2025.

Fixes

  • [UserPermissions] Fixed cluster roles not being visible in other clusters when the UserPermissions module was an indirect cluster dependency. (14914), closes 30374

v2.3.11

Published on Nov 12, 2025.

Features

  • Updated Stimulsoft library from version 2025.3.5 to version 2025.4.2 (fixes saving changes after performing the Undo command in the Designer). (14719)

Fixes

  • [User Permissions] Fixed roles cache not updated correctly for tenants on separate database. (14776), closes 29839

v2.3.10

Published on Oct 20, 2025.

Fixes

  • [Security] Fixed CVE-2025-55315 (CVSS CRITICAL 9.9). Please update your backend / task-runner docker images to use at least ASP.NET Core Runtime version 8.0.21 (see this article for backend and this article for task-runner). (14581), closes 29701

v2.3.9

Published on Sep 25, 2025.

Fixes

  • [Helm] Changed Redis bitnami images reposity to use legacy images. Please see this article for more details on Bitnami's policy change regarding its Docker images. (14315)
  • [UICustomization] Disabled a pre-validation rule temporarily to avoid an error when editing a custom view. (14205), closes 27746
  • Updated Stimulsoft library from version 2025.3.4 to version 2025.3.5 (fixes an error when trying to use the Undo feature in the Stimulsoft Designer). (14152), closes 28679

v2.3.8

Published on Sep 05, 2025.

Features

  • Added a cache to improve invalidation of lookup properties to reduce the number of API calls. (13969)

Fixes

  • [Reporting] (Backward compatibility) Fixed the CSV export feature provided by the Reporting service to be able to work with requests emitted from Business clusters based on Neos v2.2. (14101), closes 28747
  • Fixed the position of the datagrid floating bar when actions have conditional visibility. (14035), closes 28638
  • [Neos Studio] Fixed issue on data table edit UI that could execute many API requests to invalidate lookup values. (13969)
  • Fixed filter serialization with Invariant Date/Time value. (13963), closes 28318

v2.3.7

Published on Aug 22, 2025.

Features

  • Updated Stimulsoft library from version 2025.2.5 to version 2025.3.3. (13803)

Fixes

  • [User Permissions] Fixed user roles cache not being updated correctly (race condition when starting multiple backends simultaneously). (13880), closes 28003
  • [User Permissions] Fixed user permissions display on the user account list UI. (13927), closes 28248
  • [User Permissions] Fixed loading of DefaultAllowedFunctions settings (13925), closes 28475
  • [User Permissions] Fixed current permission reset when changing role. (13926), closes 28322
  • Fixed the z-index of the button which was conflicting with the frozen columns of datagrid. (13792)

v2.3.6

Published on Jul 30, 2025.

Fixes

  • Fixed reactivity of the summary row when a property of a item loaded from the server changes. (13759), closes 28216
  • Fixed Jeager installation in neos setup command. (13750), closes 27306
  • Fixed custom views of the lookup modal to prevent saving the user's filter. (13632), closes 27392

v2.3.5

Published on Jul 17, 2025.

Fixes

  • Fixed UI runtime warnings when a context element is inside a repeat. (13605), closes 27924
  • Added missing tooltip on datagrid column headers. (13594)
  • Fixed Could not load file or assembly 'Microsoft.CodeAnalysis, ...' error on generation in Neos Studio. (13595), closes 27687
  • Improved client-side quick search algorithm. (13558), closes 27512
  • Fixed parameter loss occurring when renaming a UI method. (13528), closes 27720

v2.3.4

Published on Jul 03, 2025.

Fixes

  • Pinned version of the sub-dependency @primeuix/styles to prevent visuals regressions. (13516), closes 27714
  • Fixed viewer behavior with regards to dashboard usage : 1. fixes the refresh capability in the viewer, 2. fixes use of buttons (as long as they have explicit styles for their "checked", "hover" and "pressed" states (in which case the Viewer and the default font loading mode ReportingFontsLoadingMode.Embed should work). (13510), closes 27497, 27554
  • Fixed datagrid detail row height calculation. (13503), closes 27254

v2.3.3

Published on Jul 01, 2025.

Features

  • Improved error handling in interservice calls to enable retrieval of detailed error information. See documentation. (13465)
  • Updated Stimulsoft library from version 2025.1.4 to version 2025.2.5. (13400)

Fixes

  • Updated primevue dependency. You can remove the following section from the cluster configuration:
    ClientDependencyOverrides:
      '@primeuix/styles': 1.1.1
    

More details : 13480

  • Fixed handling of manually entered exact values in the lookup field (in "Starts With" and "Quick Search" search modes). (13471), closes 27071
  • [UserPermissions] Fixed permissions tree refresh when selecting a role. (13458), closes 27353
  • Fixed execution of a validation rule dependent on multiple source elements that was running on the first element regardless of which element was modified. (13419), closes 27207
  • Fixed datagrid column auto resizing to occur on the initial data load when data loading on open is disabled (without requiring resize-columns-on-refresh to be set to true). (13403)
  • Improved datagrid performance when resize-columns-on-refresh is true to automatically resize only when the data source has changed. (13403), closes 27556
  • Improved performance during position changes in UI with large data sources. (13398)
  • Fixed input of min and max values defined as expressions in the UI view properties. (13394), closes 26915

v2.3.2

Published on Jun 19, 2025.

Features

  • Added RadioGroup component attributes in the theme. (13338)
  • Added ClientDependencyOverrides section to the cluster configuration file to generate the overrides field in client package.json file for managing sub-dependency breaking changes. (13313)

Fixes

  • Fixed "More filters" button visibility in the "Add filter" button dropdown menu when there are no more filters. (13320), closes 27380
  • Fixed calling of overridden UI view event rule which uses the arguments. (13318), closes 27434
  • Fixed display of the country flags in the UserPermissions and the DataExchange modules (regressions 2.3.0). (13321), closes 27382
  • Fixed display of features, indexes and foreign keys in Neos Studio treeview. (13289), closes 27284
  • Fixed duplicate database migration history in Tenant Management. (13269), closes 27168
  • Fixed the AllAsync and AnyAsync extension methods provided by the framework. The this keyword was missing in their definitions, which prevented them from being used as proper extension methods. (13264), closes 27318
  • Fixed report viewer crash regression when refreshing or navigating a browser window with an opened "by code" report viewer tab that has the focus : the viewer in the reloaded tab would show an error 500. (13253), closes 27244

v2.3.1

Published on Jun 10, 2025.

Fixes

  • Fixed resources in the NeosCore module that were not linked to any function. (13218), closes 27263
  • Fixed client-side code generation when a visibility condition is set on the root element of a UIView template. (13217), closes 27258

v2.3.0

Published on Jun 03, 2025.

Key insights

Welcome to the 2.3 release of Neos. There are many updates in this version that we hope you'll like, some of the key highlights include:

New disposed event on UI view

A new type of event has been added to UI view: disposed. To see more about it, see the documentation.

New UI view action locations

There are two new locations of UI view action:

  • Datagrid row: The action will be visible in a floating bar above the row of datagrid.
  • Datagrid footer: The action will be visible in the footer of datagrid.

Also, you can now define multiple locations on the same action.

New components

Chart

The chart component has been added.

The carousel component has been added.

Progress bar

The progress bar component has been added.

Combobox select-button display mode

A select-button display mode has been added to the combobox.

Avatar

The avatar component has been added.

Datagrid improvements

Row drag & drop

It is now possible to enable row drag & drop by setting the row-drop attribute. See the row drag and drop documentation.

Row detail

It is now possible to add a detail to each row. You can enable it using the <row-detail-template> node.

Hide indicator column

You can now hide the indicator column by setting the indicator-column attribute to false on the datagrid. This can be great for saving space, especially on a read-only grid.

Hide or modify tag of summary types

You can now hide or modify tag of summary types in several ways. See summaries documentation.

Server data export improvement

The default export will be performed according to the client user settings provided by the operating system and/or the browser, in particular:

  • in their language and culture
  • for their time-zone (since v2.3).

The form on the "General" tab of the NeosDataExportUI in the "NeosDataExchange" module is pre-filled accordingly:

Documentation:

Rich text editor improvements

Custom actions

It is now possible to add your own buttons in the toolbar of the rich-text-editor component using attribute custom-actions.

See the documentation for more information.

Speech-to-text

Speech-to-text is now integrated by default in the toolbar of the rich-text-editor component (value speech in the toolbar attribute of the component). You can use it to insert text at the current cursor position or to replace the selected text.
The button is only visible in web browsers that support speech-to-text (Chromium-based browsers for example).

AI writing assistant

Module NeosAICore now provides a new rich text editor UI component enriched with an AI writing assistant.
Provided you reference the module in your cluster, you can add the component in your templates using the <neos-ai-rich-text-editor> tag.

See the documentation for more information.

The AI writing assistant can be used on its own.
See the documentation for more information.

Multi-root UI template

Before version 2.3, only one root element had to be defined in UI template. Now there's no such limitation. The following template is now valid:

<toolbar />
<datagrid />
<pagination-bar />

It is now possible to define the template that will be displayed in the header and footer of a UI view's modal. Example:

<!-- Header -->
<template-modal-header>
    <horizontal-layout align="space-between" vertical-align="center" wrap="false" layout:width="fill">
        <heading>@Title</heading>
        <toolbar layout:width="fill" />
    </horizontal-layout>
</template-modal-header>

<!-- Body -->
<vertical-layout layout:padding="small" layout:height="fill">
    <datagrid layout:height="fill" />
</vertical-layout>

<!-- Footer -->
<template-modal-footer>
    <horizontal-layout align="right" layout:width="fill">
        <button type="action" name="Cancel" />
        <button type="save" />
    </horizontal-layout>
</template-modal-footer>

If the UI view is not opened as a modal, the template-modal-header and template-modal-footer will be ignored.

Improved control over entity view property exposure in APIs

Two new options, Exposed in GET and Load on GET, are now available for entity view properties.

These options allow you to:

  • Enable filtering on collections without loading them, giving users more powerful filtering capabilities without compromising performance.
  • Hide properties from the API that are only needed for internal business logic execution.

See the documentation for more information.

New auto load property on SubUIViews

This new option allows you to prevent a non-embedded collection from being automatically loaded in a screen. Instead, you can load it manually only when needed—for example, when a specific tab is activated:

await SubViews.Addresses.EnsureDataLoadedAsync();

See the documentation for more information.

Additionally, collections are no longer required in PUT requests on the server side. Omitting them or sending null has no effect on existing data. To reduce payload size, the client no longer sends collections that are either unchanged or not loaded. See the documentation for more information.

NuGet package relocation of business assembly test projects

We moved some NuGet package references from .csproj files of business assembly test projects to generated .props files to facilitate Neos version upgrades.

You can remove the following packages from .csproj files of business assembly test projects:

  • Microsoft.Extensions.DependencyInjection
  • Microsoft.NET.Test.Sdk
  • xunit
  • xunit.runner.visualstudio
  • FluentAssertions
  • Moq.AutoMock
  • Microsoft.Extensions.Logging.Abstractions

We've updated most of our C# dependencies, including the Microsoft.Extensions.* packages from version 8.x to version 9.x. You may need to do the same for your business assemblies if these packages are referenced in your projects.

AI

Cluster

A new cluster Neos AI has been added to the framework. This cluster provides a module NeosAICore that contains the LLM settings, common agents, and the AI writing assistant.

This cluster can be deployed in production to monitor the token usage of the AI agents by tenants.
It is also useful for development purposes, as it provides detailed log of the AI agents activity.

  • Treads list

  • Thread detail

  • Token consumptions

See the NeosAiCore module and Neos AI Cluster for more information.

Agent evaluation

It is now possible to evaluate the performance of an AI agent by creating an xUnit test project.

 [Fact]
 public async Task ShouldAnswer_To_HowManyDataObject()
 {
     // Arrange
     _dataObjectRepositoryMock
           .Setup(x => x.GetQuery())
           .Returns(new[] { new DataObject { Name = "D1" }, new DataObject { Name = "D2" } }.AsQueryable());
     AIEvaluationOptions options = new AIEvaluationOptions(
         "How many dataObject?",
         "There are 2 dataobjects."
     ).WithEvaluator(AIEvaluator.Groundedness);

     // Act
     EvaluationResult evalResult = await EvaluateAsync<EntityExplorerAgent>(options, CancellationToken.None);

     // Assert
     NumericMetric groundedness = evalResult.Get<NumericMetric>(GroundednessEvaluator.GroundednessMetricName);
     groundedness.Interpretation!.Failed.Should().BeFalse(groundedness.Reason);
 }

See the documentation for more information.

Tenant-specific module

You can now create a module that is specific to a tenant. This module can override the metadata of a parent module, but only some metadata can be overridden. On runtime, the tenant overrides will be applied only for the tenant that owns the module.

See the documentation for more information about the tenant-specific modules.

Stimulsoft reports portability and interoperability

For usages such as:

  • sending a report as a bug illustration to Stimulsoft
  • or opening a Neos report in the Stimulsoft desktop application,

it is now possible to export a standalone version of the Neos reports.

During this process, the online Neos database (AKA. entity-view endpoint) is replaced by an offline JSON database pointing at an embedded resource and the Neos Designer performs the opposite operation upon import and replaces back the offline Json data by a connection to the live endpoint in the business cluster.

Documentation: Offline Neos database and report portability.

Breaking changes

  • Marked full-height attribute of the horizontal-layout as obsolete. Use layout:height="fill" directive instead. (13083)
  • Changed sort order in lookup suggestion when the filter operator is contains or user input wildcards at beginning and end of text. Suggestions starting with the input text are now displayed first. (12939)
  • In E2E tests, IDatagridComponent.GetActiveCell now returns a non-nullable result. If no cell becomes active within 30 seconds, it now throws an exception instead of returning null. (12831)
  • To check whether there is no active cell, use IDatagridComponent.HasActiveCell, which returns immediately without waiting. (12831)
  • Marked methods that accept a parameter of type AdditionalDataExpressions in the IEntityViewRepository<{TEntityView}> interface as obsolete. You should now set additional data expressions by calling the SetUIViewName method on the IEntityViewRepositoryContext<TEntityView> interface before using the entity view repository. (12526)
  • Helm : Application Insights instrumentationKeySecret for sending Dapr telemetry is deprecated by 31 March 2025, please use connectionStringSecret instead. Please see this article. (12433)
  • Moved NuGet package references from csproj files of business assembly test projects to generated props files to facilitate Neos version upgrades. The following packages no longer need to be referenced: Microsoft.Extensions.DependencyInjection, Microsoft.NET.Test.Sdk, xunit, xunit.runner.visualstudio, FluentAssertions, Moq.AutoMock, Microsoft.Extensions.Logging.Abstractions. (12287)
  • Removed LLamaSharp AI connector (too low-level and not recommended for a production environment). (12236)
  • Updated Microsoft.Extensions.* package from 8.x.x to 9.x.x. (12236)
  • Updated System.Text.Json package (8.0.5 -> 9.0.2). (12236)
  • The interface GroupeIsa.Neos.Application.AI.Chatbot.IChatBotInterceptor is marked obsolete, use the GroupeIsa.Neos.Application.AI.Interceptor.IAgentInterceptor. (11983)

Features

  • Added a new AI agent Gaia to create data. (13161)
  • Added tooltip in the datagrid footer to display the number of loaded items when infinite scroll is enabled. (13139)
  • Added Culture and TimeZone options to the server data export UI provided by the NeosDataExportUI. It is configured to pre-fill the export form with the culture and time-zone of the client navigator on the "General" tab. (13115)
  • Added FilterBarDisplayMode option in UIDefaultBehavior configuration section of the cluster to be able to defines the default display mode of the filter-bar. (13099)
  • Added Text action display mode. (13112)
  • Added advanced-mode attribute on filter-bar component to be able to disable advanced mode. (13102)
  • [Neos Studio] Added filtering of entity, entity view and UI view properties via the search input above the tree view. (13097)
  • Added toggle of action button dropdown via keyboard shortcut. (13095)
  • Added SortProperty on UI view properties. See documentation. (13084)
  • Added capability to hide technical or irrelevant functions/permissions by using a code expression. (13022)
  • Added support for image file overriding. (13055)
  • Added transpilations for some System.String symbols not yet transpiled. (13067)
  • Added Placeholder metadata documentation and changed caption in french. (13044)
  • Added the ability to use a specific pubsub message broker using Helm. See this article. (13011)
  • Added comboboxes to select the properties to link to the key properties of a referenced entity. You can still write the name of a property that does not exist, it will automatically be created when saving. (13051)
  • Added the ability to publish a pub/sub message without the Neos envelope. (13052)
  • Added a specific popup to change the tenant identifier. The tenant identifier cannot be directly modified in the UI view of tenant editing. (13032)
  • Added a new Database migrating state when a database migration is started. (13018)
  • Added Querya agent in NeosAICore module. (13021)
  • Added chabot in license management and tenant management clusters. (13021)
  • Added confirmation message before executing on cross-cluster user accounts synchronization. (13023)
  • [Neos AI] Added a new agent for navigating in natural language. (12863)
  • Added LoadMoreDataAsync() method to the ViewModel to load more data from the server and append it to the datasource, similar to what the infinite scrolling of the datagrid does. (13026)
  • Added speech-to-text in the rich-text-editor component. (13008)
  • Added chart component. (13009)
  • Increased tenant identifier size to support GUID (36 characters) and added a action to create new GUID for the tenant identifier. (13007)
  • Added "Export template with sample business data" and "Import template (.mrt) and restore its Neos data source" actions in the designer for exporting/importing a Stimulsoft .mrt file with an embedded .json resource acting as an offline Neos database. (12910)
  • Added an Auto load property on SubUIViews. See documentation. (13006)
  • Added progress-bar component. (12975)
  • Added white space handling for localizable string. (12958)
  • Added automatic tenant user accounts synchronization when adding a new cluster in tenant management. (12986)
  • Added select-button display mode on the combobox component. (12962)
  • Added avatar component. (12960)
  • [Report Viewer] By default, any fonts used in the report that are installed on the report server will be automatically embedded in the report for display in the viewer when the report is generated. See this article. (12917)
  • Added images, string resources, UI packages and report styles items in Neos Studio Treeview. (12893)
  • Added IViewModel.CurrentId property to access the value of the current element's identifiers when opening a UI. (12893)
  • Added cross-clusters user accounts synchronization feature with tenant management. (12928)
  • Added carousel component. (12946)
  • Added new IResourceLocker.WaitForLockAsync method to wait for the acquisition of a distributed lock. (12943)
  • Added partial transpilation of the System.TimeZoneInfo class. (12913)
  • [Neos Studio] Added filter bar in data table columns, entity properties, entity view properties and UI view properties. (12920)
  • Added short texts for UI validation messages displayed below input fields. (12911)
  • Added a setter to the Icon property of the UI view ViewModel. (12914)
  • Added an "Export sample business data" button in the designer for exporting a JSON file with the data equivalent to the Neos Datasource used by the Stimulsoft report. (12820)
  • Added the ability to deploy a specific actor state store using Helm. See this article. (11954)
  • Added the ability to create partial classes for entities in Neos Studio. See documentation. (12855)
  • Improved the entity view APIs by making collections optional in PUT requests. To clear a collection, an empty array must now be explicitly provided. If a collection property is omitted or set to null, it will remain unchanged. (12887)
  • Added Server-side read only support on collections in entity views. (12878)
  • Added the ability to define annotations properties in Helm values to customize deployed pods for report server, cluster backend, cluster frontend and cluster task-runner. (12877)
  • Added Filterable support on collections and references in entity views. (12864)
  • Added two new options, Exposed in GET and Load on GET, on entity view properties. See documentation. (12825)
  • Added access to the Items property in the UI view action code to retrieve the relevant items. This typically refers to the selected items, except in the case of datagrid floating bar actions, where it will contain a single item corresponding to the row on which the floating bar is. (12779)
  • Added a ReloadAsync method to entity repositories, enabling entities to be refreshed without the need to create a new scope. (12816)
  • Added a border to column headers on hover to improve resizing usability. (12813)
  • Added the UIDefaultBehavior.DatagridEllipsis option, which can be defined either globally for the entire application or per individual UI view, to controls whether text in datagrid cells is truncated with an ellipsis when it exceeds the cell's available width. By default, the option is true and the Ellipsis setting defined at the UI view property level is used. (12799)
  • Added the ability to add custom buttons to the toolbar of a rich text editor. (12776)
  • Added new UI component <neos-ai-rich-text-editor> in module NeosAI that displays a rich text editor with an AI writing assistant. (12776)
  • Added new UI component <neos-ai-writing-assistant> in module NeosAI that displays an AI writing assistant that can make changes to a text, translate it, correct it, improve its style or summarize it. (12776)
  • Added an Ellipsis option on the UI view properties to specify whether text in the property column of the datagrid should be truncated with an ellipsis when it overflows. (12792)
  • Added the ability to create a tenant specific module. (12547)
  • Added a filter feature to the Neos Studio tree to view a module's overloads. (12547)
  • Added content-align attribute on Button component. (12780)
  • Added a typed method IUIView.GetOriginalOrCurrentValue<T>(propertyName) to get the original or current value of property name. (12689)
  • Removed the checkbox from the list of API verbs in the EntityView screen. (12773)
  • Added a confirmation message when selecting all rows in a paginated datagrid without having loaded all the data. (12774)
  • Added metrics to monitor report generation durations (see this article). (12765)
  • Added content-align attribute on Divider component. (12713)
  • Modified [Tenant management] UI/UX to make the screens homogeneous. (12535)
  • Added icon attribute on the tab-item component. (12512)
  • Added PopupPosition property on the designed UI views. Now, it can be set at design time in the Header tab of the UI view. Previously, this could only be set by code via NavigationOptions.WithPopupPosition. (12678)
  • Improved ergonomics for obsolescence data entry. Input now takes place in a dedicated popup. (12687)
  • Renamed Close button to Collapse in the Sidebar. (12686)
  • Added update-mode attribute to the textbox component to emit the new value on each input event when set to immediate. (12681)
  • Added generation control when data object is scoped only on backend. Before, when a backend data object was used in front code, there was error at runtime. Now there will be a generation error. (12629)
  • Added right label position on input components. (12631)
  • Improved UI template to able to define multiple root elements. (12583)
  • Added template-modal-header and template-modal-footer components to override the default template of the modal header and footer of an UI view. (12583)
  • Added customization of the DefaultFilterOperator for properties in a CustomView. (12555)
  • The list of referenced modules of a cluster can now be seen from the tenant management dashboard view. (12569)
  • New neos_cluster_referenced_module metric is available to get the versions of modules referenced by a cluster (see this article). (12569)
  • Added new UI view action location to be able to place it in the datagrid row floating bar. (12484)
  • Improved editable filter bar chip to hide read-only input when operator is is null or is not null. (12608)
  • Added a new Disposed event to UI views. (12592)
  • Upgraded to Entity Framework 9. (12587)
  • Added extension methods AnyAsync, AllAsync and AsSingleQuery on IQueryable. (12586)
  • Added new placeholder metadata on the entity property, The placeholder specifies a short hint that describes the expected value of an input field. The short hint is displayed in the input field before the user enters a value. (12577)
  • Added IEntityViewRepositoryContext<{TEntityView}> interface,which allows setting the context of an entity view repository (e.g, search expression and additional data expressions) via the SetUIViewName method. (12526)
  • Added a service to initialize the display value when an unbound property has a lookup. See documentation. (12224)
  • Added checkbox display mode on the checkbox component to display a checkbox instead of a switch. (12493)
  • Added the ability to force a LLM model or its characteristics in the prompt options. (12514)
  • Added the support of Ollama connector. (12514)
  • Add run button on uiview, like Ctrl+Shift+E (12536)
  • Added possibility to specify if a data object is for (frontend, backend or shared). (12254)
  • Added AI agent evaluation test creation. (12473)
  • Added Sentry Serilog sink to dotnet projects. See this article. (12129)
  • Improved editable chips filter bar for enum properties. It shows a list-box component instead of a multi-select. (12491)
  • Added new UI view action location to be able to place it in the datagrid footer. (12481)
  • Added support for rows grouping capability as part of the custom views configuration. (12426)
  • Improved the editable chips filter bar to automatically focus the input field when the filter chip popover opens. (12436)
  • Improved the editable chips filter bar to apply the filter chip popover value when the Enter key is pressed. (12436)
  • Added automatic removal of notification handlers when UI components are disposed. (12429)
  • Added drag and drop row support in the datagrid component via the new row-dragover and row-drop attributes. (12369)
  • Improved server data export to export the value of the display property of properties with lookup. (12336)
  • Improved editable chips filter bar to be able to reset filter when there are read only filters. (12378)
  • Added row-detail-template component to be enable the row detail of the datagrid and define the template of it. (12301)
  • Added indicator-column attribute to the datagrid component to hide the indicator column. (12301)
  • Added source attribute to the datagrid component to set the source to which the datagrid is bound. (12301)
  • Added row-detail-visibility-mode attribute to the datagrid component to set the visibility mode of the row detail. (12301)
  • [UI Customization] Added an administration screen for viewing and deleting custom views. (12190)
  • Added summary-tag attribute to the datagrid component to hide the tag of summaries. (12355)
  • Added Debian fonts-recommended package to the report server so they can be used to generate a PDF in deployed environment. (12362)
  • Added the ability to create your own reporting service image (e.g.: for including specific fonts). Please see this article for more details. (12362)
  • Added SummaryTypes static class, enabling customization of application summary type captions and tags. (12327)
  • Added SummaryTypes property to the IViewModelProperty interface, enabling customization of summary type captions and tags for a specific property. (12327)
  • Added max-lines attribute on the "Text" component: overflowing text will be hidden and an ellipsis (...) will be shown at the end of the last visible line. This attribute is incompatible with the layout:height directive. (12275)
  • Added free value in lookup suggestions to distinguishes the value entered when the lookup allows free values. (12141)
  • Added the ability to set the maximum number of tokens generated in an AI agent response. (12297)
  • Improved security of the 'EntityQuerier' AI skill. (12274)
  • Added a check to ensure that a database cannot be migrated by another cluster. (12150)
  • Added architecture documentation. (12249)
  • Added Azure AI Inference connector to be able to use models available on Azure AI Foundry (formerly Azure AI Studio) such as DeepSeek, Llama, Phi, ... (12236)
  • Added server-filter-chips attribute on the filter-bar and filter-chips components. This attribute allows you to display additional chips representing the server-side filter. This gives more information to the user. (12187)
  • Added a new cluster for Artificial intelligency. (11983)
  • Added predefined value full for directive style:corner-radius for making circles or ellipses. (12230)
  • Updated recommended .NET SDK version to 8.0.406 (installed by the neos setup comand). (12181)
  • Added style:text-align directive. (12188)
  • Added UI view actions additional locations to be able to place actions in different locations. (12152)
  • [Task Scheduler] Added a button in the execution logs to allow forcing the state when an execution gets stuck. (12162)

Fixes

  • Fixed navigation from a popup to ensure that the target screen consistently opens in a popup as well. (13153), closes 26353
  • Fixed Add button visibility condition in the lookup modal when there is no adding ui view. (13121), closes 27184
  • Fixed non-administrator client user cross-cluster synchronization. (13110), closes 27059
  • Fixed an issue in development mode where two clusters could interfere with each other if one cluster's name was a prefix of the other. (13101), closes 25819
  • Fixed parameter passing in navigation if the frame has not yet been created. (13092), closes 25948
  • Improved caption of columns in datagrid column picker to avoid duplicates. (13066)
  • Fixed client-side sort application of embedded collections on refresh. (13047), closes 27051
  • Fixed change of state of a new cluster on a tenant. Randomly, the new cluster remained in the Initializing state when it should have been in the Running state. (13018), closes 26369
  • Fixed LINQ query generation when multiple collections are involved, no explicit ordering is applied to the main result, and at least one LINQ expression includes a sort operation. (13037), closes 27035
  • Fixed a blocking error during login or email modification checks when saving a user with Azure AD B2C, occurring when there is a difference between the login and email. (12992), closes 26826
  • Fixed one-click expand of datagrid row groups. (12940), closes 26869
  • Fixed OData filter with different operators on a property of a collection. (13016), closes 26996
  • Fixed the filter bar chips popover from closing when the lookup modal opens. (13015), closes 26995
  • Fixed issue where string resources were being incorrectly overridden. (12966), closes 26898
  • Fixed an issue where unsaved input in a multi-line editor was not preserved when triggering save via Ctrl+S without leaving the field. (12983), closes 26968
  • Fixed an issue where the role was unexpectedly changed from Tenant client administrator to Tenants resolution when a user was modified on a cluster and the tenant had more than one cluster. (12970), closes 26373
  • Fixed filtering on a property of a reference of reference. (12971), closes 26966
  • Fix report styles export encoding (Ascii to UTF8). (12893), closes 26880
  • Fixed access to tenants whose identifier starts with api in development mode. (12955), closes 26538
  • Fixed datagrid XLSX export to correctly handle summaries of group rows. (12954), closes 26945
  • Fixed the error message displayed when an entity property uses an invalid converter. (12952), closes 26401
  • Fixed tenant management database migration to add error log to the migration when an unexpected error occurs. (12892), closes 26535
  • Fixed the visibility of filter bar chips for properties that are not visible in the filter bar but to which a filter is applied. (12950), closes 26926
  • Fixed the display and saving of business assembly code containing precompilation directives in Neos Studio. (12942), closes 26322
  • [Task Scheduler] Fixed the ScheduleTask server method in the TaskSchedulerClient module to correctly pass task arguments. (12944), closes 26922
  • Fixed bound value check of attributes in template UI. (12938), closes 26831
  • [Task Scheduler] Fixed 'Daily' and 'Weekly' schedules to correctly account for time zones. (12913)
  • Fixed TabStop on Textbox. (12935), closes 26858
  • Fixed a failure to execute a pre-validation rule on first position change when the rule depends on the entire data source. (12936), closes 26868
  • Fixed as Guid? transpilation. (12929), closes 25564
  • Fixed filter bar property caption to use the datagrid caption if defined. (12916)
  • Fixed transpilation of the GroupeIsa.Neos.Designer.UIAbstractions.IDatasource<TUIView> type. (12915), closes 26891
  • Fixed visual regressions of the filter bar (inputs display-mode). (12907), closes 26854
  • Fixed incorrect 401 status code being returned instead of 403 when an API with a local restriction is called from outside. (12891), closes 26833
  • Fixed incorrect filter generation on navigation properties in smart search feature. (12822), closes 26276
  • Fixed entity view default routes not being visible in Neos Studio on entity views based on a entity with multiple base entity levels. (12866), closes 26790
  • Fixed Metadata Generation : Update of foreign key relationship type when entity association cardinality changes (one-to-one <--> one-to-many). (12861), closes 26323
  • Fixed renaming of an entity view with at least one custom route. (12857), closes 26537
  • Fix of the advanced options modal for server methods so that it can no longer be maximized (which was not supported). (12856), closes 26536
  • Fixed reference property title according to the reference cardinality (one-to-many, one-to-one). (12827), closes 26480
  • Fixed special NaN value that could be emitted by input-number component. null will be emitted instead. (12848), closes 26703
  • Fixed missing tenant selection in the report designer. (12850)
  • Fixed the invalid date format in the Excel export of the datagrid. (12832), closes 26666
  • Fixed number of loaded items in infinite scroll of datagrid. (12809), closes 26683
  • Successful healthcheck (/hc) and metrics (/metrics) requests are not sent to Application Insights anymore by default. See this article for how to filter specific successful endpoints. (12810)
  • Improved the robustness of logout request interception by the proxy. (12782), closes 26626
  • Fixed exception triggered by the GetLocalizableString extension method on a resource with tags ({0}, {1}, ...) but without the corresponding arguments. (12802), closes 26383
  • Fixed attribute height of the RichTextEditor not working. (12776)
  • Fixed attribute tab-stop of the RichTextEditor not working. (12776)
  • Fixed image deletion in Neos Studio that caused elements that used it to also be deleted. (12793), closes 26644
  • Fixed invalid date input with Date/DateTime component. (12788), closes 24962
  • Fixed source of errors and warnings of UI view expressions in Neos Studio. (12784), closes 26629
  • Fixed lookup modal title when opened from a lookup of a datagrid. (12775), closes 26615
  • Fixed resetting the current item to the first one when changing pages. (12748), closes 26565
  • Fixed Tab not setting focus on the next element when the focus is on the last editing cell of a datagrid. (12747), closes 26584
  • Fixed Escape key in the filter bar popover to no longer apply current changes. (12732)
  • Fixed auto sized column with column template. (12722), closes 26305
  • Fixed execution order of ItemAdding and PropertyChanged event rules when editing a cell and focusing the add row of the datagrid. (12719), closes 26563
  • Fixed error on grouping and sorting on a localizable string property. (12717), closes 26560
  • Added OpenTelemetry Serilog sink to dotnet projects. See this article. (11921)
  • Fixed restoration of filter only properties when restoring original view. (12707), closes 26433
  • Fixed focus when opening a UI view with a pagination bar. (12701), closes 26287
  • Fixed property name CommercialModuleId (capital letter i looked like lowercase L in the bad CommerciaIModuleId name) in License Management. (12702), closes 26523
  • Fixed retrieval of the customers list when assigning a license to a tenant. We were only fetching the first 10 entries. (12696), closes 26514
  • Removed the Add button that was appearing in the toolbar of the "Customer identifier" when assigning a license to a tenant: this information is managed by the Licenses cluster and is read-only as far as the Tenants cluster is concerned. (12696), closes 26514
  • Fixed line break handling in CSV and Excel exports of displayed data of the datagrid. (12692)
  • Added the ability to disable font embedding in the report viewer (see this article). (12693), closes 26515
  • Fixed horizontal alignment of group row summaries in the datagrid. (12662), closes 26432
  • Fixed auto row height of the datagrid. (12639), closes 26300
  • Updated License Management's documentation (12602)
  • Fixed persistence of the custom view filter properties caption, visibility and position. They were not identified as modified and were not saved when there was no other changes in the CustomView. (12555)
  • Changed Neos Studio's global search to search via the chatbot even if a conversation is in progress, the conversation is then reset (12626), closes 25933
  • Fixed incorrect display of the "name in the template" field in the Neos Studio UI component edit screen. Values containing numbers were not displayed properly. (12589), closes 25572
  • Fixed filtering on overridden property in Neos Studio. (12598), closes 25739
  • Fixed incorrect overriding of UI view properties. (12594), closes 25212
  • Fixed generation to log error when entity view property is an editable reference based on one to one reference and optional. Only required editable reference are allowed. (12582), closes 24930
  • Fixed errors when changing filter operator with new filter bar. (12556), closes 26283, 26285, 26313
  • Fixed inherited UI view view model type import. (12544), closes 26279
  • Fixed popover toggle by UI view action code. (12549), closes 26284
  • Fixed duplicate and text in filter editable chip popover. (12548), closes 26281
  • Fixed report server viewer not working with multiple replicas in deployed environment. (12534), closes 25971
  • Fixed missing captions in custom view's Filter fields tab. (12525), closes 26244
  • Fixed the quick search expression generated for a property of type Long. (12513), closes 26234
  • Fixed string resource client generation to correctly escape special characters. (12505), closes 25889
  • Fixed the badge displaying the number of applied conditions in the filter bar (inputs display mode) which could be truncated. (12496), closes 26211
  • Fixed error on group-box expand button click on the UI view pre validation rule UI and automation test scenario UI in Neos Studio. (12506), closes 26181
  • Fixed notifications not working in development when cluster name is the same as tenant name. (12469), closes 26176
  • Fixed UI refresh when calling "Back to original view" while being on a custom view. (12482), closes 26186
  • Fixed reference to module UserPermissions in module NeosNotificationCenter. (12486), closes 26201
  • Fixed the generation of the supress warning S107 in a repository on an unbound entity view. (12464), closes 26177
  • Fixed custom views when grouping and sorting capabilities were used in conjunction on distinct properties (the queries should not try to sort collapsed rows have not been retrieved yet; only the content of open groups and the retrieved groups themselves can be sorted). (12439)
  • Fixed database type check that was case sensitive. (12445), closes 25949
  • Fixed report viewer not embedding fonts in the page. (12437)
  • Fixed the issue where the input-number component emitted the previous value instead of the new value when dragging the current value out of the input. (12430), closes 26046
  • Fixed transpiled tuples causing a TypeScript's typecheck error Argument of type 'T1[]' is not assignable to parameter of type '[T1, T1]'. by adding an explicit cast cast<[{T1}, {T2}]>([{0}, {1}]). (12434)
  • Fixed access to main UI view actions when the user has no permissions on the main UI view. (12431), closes 23257
  • Fixed notification handlers automatic removal on sub UI views. (12429)
  • Fixed layout:width directive with fixed value on an action button. (12411), closes 25833
  • Fixed file type validation to be case-insensitive when uploading. (12407), closes 26006
  • Fixed memory leaks in Neos front-end code and updated Primevue to fix a memory leak in their code (https://github.com/primefaces/primevue/pull/6889). (12380)
  • [NEOS STUDIO] Fixed the indicator of the use tab label on the lookup screen. (12341), closes 25826
  • Removed AI agent CSharpEvaluator from Neos Studio. (12314)
  • Fixed the animated split button shifting neighboring elements on hover. (12323), closes 25892
  • Fixed so as not to display the lookup edit button when a free value is entered in a lookup allowing free values. (12141)
  • Fixed tenant access when the first access is in a dynamically instantiated service (by a factory using IServiceProvider for example). (12291), closes 25886
  • Fixed duplicate checking in Open Api model base name to take into account entity views exposed indirectly via references or collections. (12280), closes 24820
  • Fixed display of dependency injection initialization errors in logs. (12283), closes 25494
  • Fixed generation of quick search expressions to avoid warnings in generated C# code. (12242), closes 25824
  • Fixed XLSX export of datagrid when there is the add row. (12266), closes 25831
  • Fixed datagrid columns that could be hidden due to the lack of a minimum width. Added a minimum width to all columns to prevent this issue. (12262)
  • Fix to no longer show dependencies warnings in Neos Studio when they are ignored (see DependenciesWarnings in cluster configuration for more information) (12269), closes 25829
  • Fixed style:corner-radius directive on hovered buttons. (12230)
  • Fixed application of style rules when datagrid is in an if. (12259), closes 25853
  • Fixed untimely display of database migration simulation results when creating a tenant on shared database. (12246), closes 24952
  • Fixed logout button not working after an onAuthenticated method failure. (12142), closes 24973
  • Fixed loading property transpilation of the IViewModel<T> interface. (12247)
  • Fixed @Loading usage in the UI template. (12247), closes 25841
  • Fixed unable to create a technical function in License management (12179), closes 25767
  • Replaced DatagridContextMenuPosition property of the UI view actions by a location. Metadata migration will do the replacement automatically. (12176)
  • Renamed ActionsMenu UI view action location enum member to ChildOf. Metadata migration will do the replacement automatically. (12170)
  • Fixed missing "Open property editor" action in the YAML code editor. (12209), closes 25811
  • Fixed Chatbot textarea height update during speech-to-text. (12192), closes 25570
  • Added missing Calibri (Carlito) and Cambria (Caladea) fonts in report server. See this article. (12204)
  • Fixed NeosTemplateToolbar UI component so that toolbar is always on the right without the quick-search component. (12174), closes 25793
  • [Task Scheduler] Fixed starting a task on a multi-tenant cluster to retry status updates on concurrency errors. (12162), closes 25752

Previous releases

You can find the changelog of previous releases by clicking on the following links :