Skip to content

2.0.16

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.
CalendarListBasic.png Key functionality includes:

Full support for actions (of all scope types) is provided. Edit events right in the Calendar! CalendarListEdit.gif

Filtration (+ additional fields' filtration) is supported. CalendarListFilter.gif

You can navigate through months/weeks/days. CalendarListNav.gif

drillDown feature is available. CalendarListDrillDown.gif

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

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.
CalendarYearListBasic.PNG

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.
audioSupport.jpg

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.

timeoutAfter.gif

timeoutBefore.gif

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.

unificationAfter.png

unificationBefore.png

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.

numberRightAfter.png

numberRightBefore.png

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.

StatsBorder.gif

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.

v2.0.16/focusResetAfter.jpg

focusResetBefore.jpg

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.

valid_CXBOX-1069.png

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

see cxbox-demo changelog

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.

hiddenWarningAfter.png

hiddenWarningBefore.png

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

after_save_CXBOX-1069.gif

before_save_CXBOX-1069.gif

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

after_CXBOX-1069.png

before_CXBOX-1069.png

Other Changes

See cxbox-ui 2.7.1 changelog.

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.
logging:
    global-handler:
        business-exception:
            log-level: debug

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

generatesimplefield.gif

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.

generate_bc_CXBOX-1031.png

Example choose folder:

choose_folder_CXBOX-1031.gif

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.