CUBA Platform Changelog
- LookupPickerField with the Clear action is now used for parameters.
- OrderedContainer has been introduced. BoxLayout, GroupBoxLayout, ScrollBoxLayout, IFrame implement it.
Bug fixes, including:
- Sequential filters applying and full-text search in a filter fail on Oracle database.
- "Change password on login" doesn't work.
- Keyboard navigation in the options dialog.
- UniqueConstraintViolationHandler does not catch some exceptions related to the situation.
- @OnDeleteInverse in a mapped superclass doesn't work.
- Exception in Filter after clearing its name.
- FieldGroup tab order breaks after making an invisible field visible.
- Setting style to LinkButton removes its 'link' style.
- Tooltips do not disappear after quick mouse movement.
- [Reporting] RunReportAction ignores screen visibility rules.
- Roles browser now contains the Default Role editable column.
- Saving of settings can be disabled for any component implementing the
HasSettings interface by using its
- Screen captions of security editors have been changed.
Bug fixes, including:
- Exception while loading data with security constraints.
- Main window is not redrawn after switching to a substituted user.
- Error when selecting value of dynamic attribute of Enumeration type.
- When changing the dynamic attribute from empty to some value in edit screen, it is shown
in the browser only after refresh.
- Exception in Filter if it is contained in a frame opened via the
- [Charts and Maps] Error while removing and adding markers to the map.
This is the first public release of platform version 5.5. All significant changes from version 5.4 are listed
In web client, the application main window is now built on
technology. It consists of the XML descriptor and Java controller, can contain standard GUI components and
datasources, as well as some specific components. You can customize your main window layout by extending from
com/haulmont/cuba/web/app/mainwindow/mainwindow.xml descriptor, or create a window from scratch.
See documentation for details.
mechanism was greatly improved:
- A dynamic attribute can be added to any entity. The
Categorized interface is optional and
should be used only if you want to create several categories for an entity and use
RuntimePropertiesFrame to select a category for a particular entity instance.
- A dynamic attribute can be automatically displayed in any
component bound to a datasource containing the entity, for which the dynamic attribute was created.
The attribute editor allows you to specify screens and components that should show the attribute.
- The security role editor enables assigning permissions to dynamic attributes.
- Dynamic attributes can be loaded and saved through REST API in the same way as regular attributes.
- Dynamic attributes are easily accessible in the application code via entity's reflective
setValue() methods. They accept a dynamic attribute code
with "+" prefix.
The Performance Statistics mechanism gathers some runtime information and displays it on the screen
available in the Administration menu. For each parameter, the following values are shown:
The set of parameters includes JVM-related information like memory and CPU consumption, as well as
application-specific values like request and transaction rates. The screen also allows a user to view all
current threads with their CPU consumption and stack traces.
- the current value
- the average for the time while the screen is open
- the average for the whole server uptime
mechanism now works on Generic UI level, so the handler classes are shared between web and
desktop clients. Client-specific handlers work as before for some special cases and for backward compatibility.
The localized messages search procedure has been improved. If a message is not found in the message packs chain, it is
searched in the main message pack. So you can directly reference messages located in the main message pack, for
primaryKey parameter of the
EntityManager.find() method is now generic and must
conform to the entity key type.
CollectionDatasource has been improved for better support of sorting non-persistent and reference
Table. Now it can sort on the database level using
@NamePattern entity annotaions.
Table can be customized with a class implementing the
component has been simplified: items are added to the list right after selecting them in the drop-down list,
without the Add button.
Saving settings on screen close can be disabled for any UI component implementing
Added a convenient method for checking specific permissions:
AccessDeniedException if the user has no permission with the provided name.
RemoveAction has been improved: you can
provide handlers to intercept "after" events instead of subclassing the whole action and overriding its
"after" methods. See JavaDocs for details.
now creates only one record for a transaction commit, regardless of number of
application properties for the middleware connection timeouts control.
- Added the
application property for hiding the breadcrumbs panel which appears on top of the main window working area.
cuba.restApi.enabled specific permission for explicit control of the access to
[Report Generator] Report wizard can create reports with JPQL queries.
- Vaadin 7.4
- Spring Framework 3.2.13
- Spring Security 3.2.7
- Tomcat 7.0.62
- org.json 20140107
Vaadin 6 web modules are not supported anymore.
Various fixes of
- Over 70 other bug fixes and improvements.
Upgrading projects from 5.4 to 5.5
- For automatic upgrade using Studio see this
For manual upgrade do the following:
- (Optional) Change CUBA XSD from 5.4 to 5.5 in all
*.xml files by searching
http://schemas.haulmont.com/cuba/5.4/ string and replacing it with
- Run update database scripts either in Studio by executing Run > Update database, or in command
line by executing
updateDb Gradle task.