All articles
B2B CRM application preview

Production-ready
enterprise
CRM app with AI

Explore the code

Jmix 3.1 Is Released

Jmix 3.1 brings two new add-ons and several UI components that previously had to be built by hand, takes the Dynamic Model add-on out of experimental status, and adds a command-line tool that creates projects without an IDE. Under the hood, Spring Boot is updated to 4.1 and Vaadin to 25.3.

Below is a brief overview of the main new features. The complete list of changes, including all breaking changes, is available in the What's New section of the documentation.

New Features and Improvements

  • Jmix CLI
    Jmix CLI is a new command-line tool that creates Jmix projects without an IDE: in a terminal, in a script, or by an AI coding agent. It uses the same project templates as Studio and adds the Jmix Agent Toolkit to the new project.
  • AI Chat Add-on
    The new AI Chat add-on provides UI components for building chat interfaces: a complete aiChat with streaming answers, Markdown messages and file attachments, plus aiMessageList and aiMessageInput for building your own layout. Answers come from an LLMProvider you implement, so it works with Spring AI, a vendor SDK, or your own service.
  • UI Recovery Add-on
    The new UI Recovery add-on saves unsaved changes in views as drafts while the user works. If the server restarts, the session expires, or the browser closes, the user can restore the draft when opening the view again.
  • Dynamic Model Is Production-Ready
    The Dynamic Model add-on is no longer experimental. It adds UI handlers for view behavior, full-text search for dynamic attributes, cluster support, model history, and a role that allows only changes that cannot lose stored data.
  • Read Views
    New read views show an entity instance that users cannot edit. You can create them with the Studio view wizard or generate them at runtime with @ReadViewTemplate, and the list_read action opens them automatically.
  • Streaming and AI-Generated Reports
    Report bands can now be streaming. A streaming band reads rows from a database cursor and writes them to XLSX one by one instead of loading them all into memory, which makes it possible to generate reports of virtually unlimited size. The new AI-generated JPQL dataset type lets you describe band data in natural language and stores the generated query in the report definition.
  • Popover Component and Renderer
    The new popover component is an overlay that opens next to a target component on click, hover or focus, and can contain any components. A matching popoverRenderer for dataGrid shows long cell text in full on click.
  • Slider, Badge and SVG Components
    New integerSlider and decimalSlider components select a value, and their range counterparts select a range. The badge component shows a status, count or label and can be bound to an entity attribute, and the svg component renders SVG markup directly in a view.
  • Resizable Side Panel
    Users can now resize the sidePanelLayout by dragging its inner edge, and the settings facet remembers the chosen size.
  • Lookup Field Annotation
    The new @LookupField annotation defines how a reference is selected across the framework: with a drop-down entityComboBox or an entityPicker with a lookup view. It applies to filters, editable grid cells and runtime view templates, and can load drop-down items page by page while the user types.
  • BPMN Modeler Improvements
    The BPMN modeler now supports escalation events, a per-process history level, and asynchronous execution attributes for most elements.
  • Simpler OAuth2 for Email
    The Email Sending add-on has a new Email connection view that connects a Google or Microsoft mailbox, stores the refresh token and tests the connection.
  • Studio Productivity Improvements
    The view creation wizard has a new step for choosing how users filter data. The entity designer gets a Views with Attribute action, and new actions copy a view and generate the files of a custom UI component.

Future Plans

The next feature release is planned for February 2027. We're working on the following:

  • An admin console for the Search add-on
  • Audit of user actions
  • Localized text attributes for entities
  • A stepper (wizard) component
  • Security: state-based attribute access and an improved UI for runtime roles
  • An AI builder for the Dynamic Model and a translator from the dynamic model to the static one
  • Studio features: improvements in the Entity Designer UX and a view template for input dialogs

Our current roadmap is available on GitHub.

Conclusion

We hope you enjoy working with Jmix 3.1! We'd love to hear what you build with it, so share your questions, feedback and projects on the forum.

Jmix is an open-source platform for building enterprise applications in Java

Recommended Reading