2.0.16
-
cxbox/intellij-plugin 2.0.1 Jetbrains Marketplace, cxbox repo (recommended)
Key updates October, November 2025
CXBOX (Demo)
Added: CalendarList - NEW widget type!
We’ve added a new CalendarList widget that allows you to view and manage events in three display modes: month, week, and day.
The widget supports switching between display modes, scrolling through dates, and automatically changing from month/week to day view when clicking on a specific date.
Key functionality includes:
Full support for actions (of all scope types) is provided. Edit events right in the Calendar!

Filtration (+ additional fields' filtration) is supported.

You can navigate through months/weeks/days.

drillDown feature is available.

You can switch between Calendar and Table modes to analyze the data in table display.

Warning
We recommend not to transmit long values for optimal display.
Info
A detailed article on CalendarList will be available soon in our official documentation – stay tuned!
Added: CalendarYearList - NEW widget type!
We've introduced the CalendarYearList widget - designed to display events in a yearly overview.
It's recommended to group backend data by the number of events per day for optimal display.
Key functionality is the same as for CalendarList and includes:
- full support for actions (all scope types)
- filtering (+ additional fields' filtering)
- navigation between years
- drillDown support
- calendar-table switch
Info
A detailed article on CalendarYearList will be available soon in our official documentation – stay tuned!
Added: fileUpload field - audio preview support
We have added support for audio file preview in the fileUpload field. Users can now upload and play audio files (mp3, wav, m4a) directly in the interface without downloading them. The built-in player supports all standard features, including play/pause, rewind, and playback speed control.

Added: showMessage postAction - timeout support
We have added the ability to set a timeout for the showMessage postAction. After the specified timeout, the message automatically disappears. If no timeout is defined, the message remains visible until the user closes it manually.


Added: Unified field display (+disabled state display)
We have unified the display of all field types. The unification covered font size, font color, paddings, disabled state display, etc. By default, the font color of disabled fields is now set to black, but it can be changed for all fields by adjusting the opacity constant.


Info
For projects upgrading to version 2.0.16!
If you prefer to keep the gray text color for disabled fields, set the following frontend constant: WHEN_EDITABLE_FIELD_IS_DISABLED_THEN_FONT_OPACITY = 0.35.
Added: Numeric fields - right alignment and improved icon layout
We have updated the alignment for numeric field types (money, number, percent). Both the header and the field values are now right-aligned, while other field types remain left-aligned. Additionally, filter and sort icons for numeric fields are now displayed to the left of the field header, ensuring consistent alignment between headers and values across field types.


Added: StatsBlock widget – border highlight
We have added a border highlight to the StatsBlock widget for consistency with Pie1D. The border appears on hover and when a block is selected in a parent–child relationship, making it easier to identify the active block.
Added: improved logic for dynamic setHidden field visibility
We have clarified how the setHidden parameter works depending on the widget type.
Behavior by widget type:
- Form and Form-like widgets (displaying a single record): setHidden is applied as expected, allowing fields to be dynamically hidden.
- List and List-like widgets (displaying multiple records): setHidden is not applied.
Info
Dynamic setHidden only affects the currently selected row, so it is only supported in widgets showing a single record (e.g., Form, Info, etc.). For multi-row widgets (List, GroupingHierarchy, etc.), setHidden is not applied to prevent fields from disappearing or reappearing unexpectedly when switching pages or selecting different rows.
Added: Unified sorting behavior
Sorting behavior has been updated to match filtering behavior. Now, when you navigate through drilldowns or switch between screens, your applied sorting remains active. The sorting will only reset if you refresh the page.
Fixed: Action group - focus reset after action
We have fixed the issue where an action inside an action group remained visually focused after being executed. Now, the focus state is correctly reset once the action completes.


Added: New inline-edit widget validation
Added a check to ensure that an inline editing widget belongs to the same business component as its parent PickList or Assoc widget. If this rule is violated, an error message is logged to the browser console.
Fixed: File preview and deletion behavior
We have improved the file preview and deletion logic for a more consistent user experience. Now, when switching between files in preview mode, if a file is missing for a specific row, a clear message "There is no file in this row" is displayed. We've also refined the file deletion behavior - once a file is removed, it's fully cleared from the interface and can no longer be downloaded.
Other Changes
CXBOX (Core Ui)
We have released a new 2.7.1 CORE UI version.
Added: improved clarity of validation messages for hidden or disabled required fields
In a previous release, we introduced validation messages for cases when required fields were empty because they were hidden or disabled. In this update, we’ve made these messages even more informative — now they also include the keys of the affected fields, making it easier to understand which required values are missing.

Fixed: Lazy loading for picklists
Lazy loading for picklists has been implemented.
Data is now fetched only upon:
- Opening the pop-up
- Performing CRUD operations on its contents


The count() function is no longer called when an inline picklist is opened.


Other Changes
CXBOX 4.0.0-M20 (Core)
We have released a new 4.0.0-M20 CORE version.
Fixed: Update dependencies version spring-boot
spring-boot.version : 3.3.11 -> 3.3.13
Fixed: The mechanism for logging business errors has been updated
A constant was added to control the logging level of business errors.
1) If the constant is defined:
- The logging level specified in the constant is used.
- If the logging output level is lower than the level from the constant, the error is not logged.
- If the logging output level is higher or equal, the error is logged using the level defined in the constant.
2) If the constant is not defined:
- The default project-wide logging level is used.
Other Changes
See cxbox 4.0.0-M20 changelog.
CXBOX plugin
Added: Simple field generation for AnySourceVersionAwareResponseService
Added the ability to create simple fields for AnySourceVersionAwareResponseService.
Supported simple field types:
- input
- text
- date
- dateTime
- dateTimeWithSeconds
- hint
- multifield
- number
- percent
- money
- radio
- checkbox
- fileUpload
- hidden
- dictionary

Added: Generator bc and related classes. Added choose folder.
We added the ability to choose the folder where the code will be generated.
In addition, we improved the logic for searching the folder in which service, DTO and entity will be created.

Example choose folder:

Other Changes
see plugin changelog
CXBOX documentation
Added: Support for truncating long values
We have provided a description of Support for truncating long values.
Added: Highlighting Functionality for the Current Item (Tile)
We added a description of Highlighting Functionality for the Current Item (Tile).
Added: Description Widget Header
We added a description of Widget Header.
Added: Description Frontend - Backend Interaction
Frontend - Backend Interaction
CXBox provides a standardized and unified API mechanism for frontend–backend communication. In this article, we'll examine how this mechanism is structured and explore the fundamental API methods that make it work.
This page provides an understanding of the correspondence between UI elements and REST calls.