Releases: axelor/axelor-open-platform
v7.3.0
7.3.0 (2025-01-14)
Feature
-
Add canNew/canEdit/canDelete support for panel-dashlet
-
canEdit param : canEdit="true" is already working for grid view,
which signify editing of dashlet grid is allowed in readonly mode as well.
canEdit="false" will disabled creation/editing of row in grid.
For other data views it will enable/disable edit option. -
canNew/canDelete : it will enable/disable new/delete option for data view.
-
-
Add Barcode widget
This widget provides the ability to display a
string
value as a barcode in readonly mode.
To customize theBarcode
, use optional attributesheight
,x-barcode-width
,x-barcode-line-color
,
x-barcode-display-value
,x-barcode-background-color
andx-barcode-format
.
The barcode is only displayed if the value is accepted by the format.Barcode
is also supported on viewers with the same attributes. -
Add x-step to Integer and Decimal widgets
Add the ability to customize the increment and decrement amount using
x-step
attribute.
Decimal and negative values are accepted. The default value is determined by the scale attribute if it exists, otherwise it is set to 1. -
Add editable support in grid dashlet
The linked grid view should have
editable="true"
to allow edit records in
grids. To disable this behavior, you have to passcanEdit="false"
. -
Improve mail message form
On MailMessage form, render recipient as SelectionTag. Allow to remove recipient
from Tag.When adding followers, validate recipients is filled, else it will display warning
notification. Without any recipients, nothing will be done. The process only send
message to the newest recipients. -
Add QrCode widget
This widget provides the ability to display a
string
value as a QR Code in readonly mode.
To customize the QrCode size in px, useheight
attribute with a number value. Default to 140.QrCode is also supported on viewers with attribute
value
. -
Add support to hide view popup header and footer
Two new view params are added:
popup.show-header
andpopup.show-footer
.This is for advance use cases where we want to show
custom
views
inside a popup with it's own header and footer. -
Introduce help widget
variant
attributeThe help variant is extracted from the
css
attributes values. Now, help widget has a new attributevariant
that
can be used, Accepted values areinfo
,success
,warning
anderror
. Default value isinfo
.
Change
-
Upgrade Gradle from 8.7 to 8.11.1
-
Upgrade backend dependencies
Here is the list of backend dependencies upgraded :
- Upgrade ASM from 9.7 to 9.7.1
- Upgrade byte-buddy from 1.14.17 to 1.15.10
- Upgrade commons-cli from 1.7.0 to 1.9.0
- Upgrade commons-csv from 1.11.0 to 1.12.0
- Upgrade commons-io from 2.16.1 to 2.18.0
- Upgrade GraalJS from 22.0.0.2 to 22.3.5
- Upgrade guava from 33.2.1-jre to 33.3.1-jre
- Upgrade groovy from 3.0.22 to 3.0.23
- Upgrade hazelcast from 5.3.7 to 5.3.8
- Upgrade jackson from 2.17.1 to 2.18.2
- Upgrade hsqldb JDBC from 2.7.3 to 2.7.4
- Upgrade postgresql JDBC from 42.7.3 to 42.7.4
- Upgrade jsoup from 1.17.2 to 1.18.3
- Upgrade junit5 from 5.10.3 to 5.11.3
- Upgrade junit-platform-launcher from 1.10.3 to 1.11.3
- Upgrade pac4j from 5.7.5 to 5.7.7
- Upgrade Quartz from 2.3.2 to 2.4.0
- Upgrade Redisson/Hibernate 5.3.x+ from 3.29.0 to 3.38.1
- Upgrade slf4j from 2.0.13 to 2.0.16
- Upgrade snakeyaml from 2.2 to 2.3
- Upgrade swagger-jaxrs2 from 2.2.22 to 2.2.26
- Upgrade tomcat from 9.0.90 to 9.0.97
- Upgrade undertow from 2.2.33.Final to 2.2.37.Final
- Upgrade woodstox-core from 6.6.2 to 6.7.0
- Upgrade xstream from 1.4.20 to 1.4.21
Deprecate
-
help widget
css
attribute deprecatedThe help variant is extracted from the
css
attributes values. Now, help widget has a new attributevariant
that
can be used,css
attribute usage to determinate the variant is deprecated.
Fix
-
Fix switch select widget selection issue
-
Fix number increment/decrement when changing sign
On number fields, when changing sign, 0.5 was decremented to -1.5 instead of -0.5.
-
Add toolbar support in grid details view
-
Fix lost focus on editable grid discard
-
Translate boolean fields values in mail message email
-
Fix gantt line alignment
The gantt line should be aligned to table task row.
-
Display personal name in recipient field of MailMessage form
-
Fix task sequence support in gantt view
-
Fix fetch editor nested related fields
When any nested field of editor field is defined in form then
it should fetched as editor field instead of form field. -
Fix search emails address in recipient field in MailMessage form by adding current selected emails
-
Format multi-select fields values in mail message
-
Fix focused tab with showIf in panel-tabs
On a form view, when first tab of panel-tabs contains showIf/hideIf expression,
so initially it will be hidden and staring focus will be on tab which doesn't contain
showIf/hideIf expression.
In this case, it should re-focus active tab to starting tab if starting tab is accessible.
v7.2.5
7.2.5 (2025-01-08)
Feature
-
Allow TenantAware to not start transaction by default
Allow TenantAware to not start transaction by default.
This is required when the thread task need to manage
multiple transactions on it's own.
Fix
-
Fix downloading of DMS file with content instead of meta file
This fixes downloading of DMS file with string content, that are not associated with a meta file.
-
Fix default min/max size of json fields
Doesn't provide default min/max size to 0 for json fields. It is up to the user
to define the values. -
Add support for Mayotte in phone widget
-
Fix persist query string params in tab url
When app is opened through url let say search-view url like this {demoURL}/#/ds/sale.search/search?customer=Miss then
query parameters should be persist with url and also when switching between tabs it should also
restored query string url for that associated tab. -
Fix use context for toolbar button for panel-dashlet
It should use context of dashlet action view to evaluate expression like showIf/hideIf/readonlyIf defined on toolbar button instead of tab action view context.
-
Fix X-Forwarded-Host that may contain port
X-Forwarded-Host may contain port number, so server name should strip out the port from X-Forwarded-Host.
It also means that port can either come from X-Forwarded-Host or X-Forwarded-Port.
If both X-Forwarded-Host and X-Forwarded-Port are present, port from X-Forwarded-Port will take precedence. -
Fix search view error when using search-form
-
Fix pass _ids in relational field grid
-
Fix hidden/readonly attr on view toolbar button
When hidden="true" is set on menubar item or toolbar button it should hide the item or
when readonly="true" is set on item, it should make item readonly.
Currently hidden/readonly is only working when any of showIf/hideIf/readonlyIf is also defined on item. -
Fix logout with form submission cases
When extending, some logout (ex, SAML central logout) is typically
not a redirection but returns a form that the front-end needs to submit.Fixed by using full page request for logout instead of AJAX.
-
Pass context to editable grid onNew action
-
Fix skip passing fields in form record save
-
Fix set action attrs on reference field
-
Fix placeholder support in html widget
-
Fix html widget sanitize issue
v7.2.4
7.2.4 (2024-11-29)
Fix
-
Fix SwitchSelect widget overflowing in vertical mode
-
Fix untranslated buttons titles in view switcher toolbar
-
Fix missing support of colors and shades config in charts
Colors and shades config support was not implemented.
This also add missing pre-build set of colors :material
,roma
,chartjs
,
roma
,macarons
. For example :<config name="colors" value="roma" />
-
Fix save record in popup editor for m2o/o2o/m2m(selection)
We can edit the record through popup editor, it will save record as following :
- m2o/o2o/m2m(selection) : It will only save record when form is dirty
- o2m/m2m(grid) : It will save record when any changes (also including non dirty dummy fields) in record
-
Fix exclude duplicate record in data store search
-
Fix cache a view/fields when data is exist
-
Show error when view is not found
-
Allow to generate empty changelog release
If no changelog entries are found, there is no changelog release generated. This
is the default behavior. New propertiesallowNoEntry
anddefaultContent
can
be used to determine if it is allowed to generate changelog without entries and
to specify the changelog release content (for example,No notable changes
). -
Fix Slider tooltip position
The position of the tooltip is now aligned with the slider thumb even after scrolling or zooming.
-
Add server-side view type mismatch check
When a view is requested, check if the requested view type matches.
If not, an error message is logged and no view is returned.
This prevents front-end from processing views with wrong type and causing unexpected errors. -
Fix onSave action in grid details view
-
Fix helper tooltip not accepting html elements
-
Fix Quick Menu dynamic width
Quick menus no longer have a dynamic width so typing on text input is not flipping the menu anymore.
-
Fix rendering of object values in grid
-
Small changes to refine UI
-
Fix dirty record on MetaFile widgets
Some MetaFile widgets, ie Image/Drawing/BinaryLink shouldn't mark
the main record dirty when updating an existing associated file. -
Fix grid resizing lags
-
Enhance Gantt toolbar actions style
-
Fix login popup after expired SSO profile
SSO profile may expire before the session expires, creating a situation where session exists
with no valid profile. In that case, login popup could appear instead of being redirected to SSO.Now, log out subject when profile expires.
Security
- Fix XSS vulnerability
v7.1.11
7.1.11 (2024-11-29)
Fix
-
Fix untranslated buttons titles in view switcher toolbar
-
Fix save record in popup editor for m2o/o2o/m2m(selection)
We can edit the record through popup editor, it will save record as following :
- m2o/o2o/m2m(selection) : It will only save record when form is dirty
- o2m/m2m(grid) : It will save record when any changes (also including non dirty dummy fields) in record
-
Fix helper tooltip not accepting html elements
Security
- Fix XSS vulnerability
v7.2.3
7.2.3 (2024-11-13)
Fix
-
Fix ImageSelect alignment in tree view
-
Fix JS TypeError when action adds rows in one-to-many widget
Page would crash (error 500) in case an action adds rows in one-to-many widget.
v7.1.10
7.1.10 (2024-11-13)
Fix
-
Fix JS TypeError when action adds rows in one-to-many widget
Page would crash (error 500) in case an action adds rows in one-to-many widget.
v7.2.2
7.2.2 (2024-11-12)
Feature
- Expose Rating to be used in template
Fix
-
Fix set action attrs on editor fields
-
Fix handle integer value in selection widgets
When field type is integer/long in case of selection widgets then it should
set value in record as integer. -
Fix onChange not triggered on Rating widget
-
Fix populate changes should reflect into collection grid
-
Fix pass grid name/type in editable grid action context
-
Fix o2m items data conflict issue
When data is reset through action-record or data is updated through popup
then updated data should be merged properly to grid data. -
Fix show
Display process
option in form toolbar menu -
Fix x-bind string case sensitive issue
When x-bind output of string field remains same for same field,
it should reflect the output value instead of skipping value update. -
Exclude cid field in default generated views
-
Disable sorting when we add a row
After manual sort by column, added row could be at the top instead of the bottom.
-
Fix tag height in advance search causing toolbar visual effects
-
Close popup when adding records in o2m edit mode
-
Fix tree-grid empty summary view styles
-
Fix handling 0 valued in selection widgets
-
Fix Stepper clickable in read-only mode
-
Fix missing i18n extract of report-box#label attribute
-
Fix skip translations search for empty value
-
Fix grid customization of fields mentioned several times
On a grid view definition, there may be several instances of the same field
with different "if" conditions.When saving grid view customization, we need to retrieve all the fields with the same name,
not just the first occurrence. -
Fix orderBy for new rows after save/refresh on o2m grid
On o2m grid, order is normally preserved after search request.
Now, search order is applied in case of form save/refresh. -
Fix mark form dirty on editable m2m add
-
Fix SwitchSelect widget not displaying many-to-one values
-
Fix criteria on grid columns search
-
Fix persistence issue during tracking of one-to-one field
Get new and old values without using context in audit tracker.
-
cid field shouldn't be copyable
-
Fix close dropdown on tag click in tag-select
-
Fix empty criteria in advanced search query
When field or operator is empty then that criteria should not send in search query.
-
Fix call onChange on m2m record change
-
Fix pass view attributes in field action context
-
Fix selection-in attribute support in mass update
-
Fix child dialogs shown behind mass update and advanced search
v7.1.9
7.1.9 (2024-11-12)
Fix
-
Fix set action attrs on editor fields
-
Fix onChange not triggered on Rating widget
-
Fix populate changes should reflect into collection grid
-
Fix o2m items data conflict issue
When data is reset through action-record or data is updated through popup
then updated data should be merged properly to grid data. -
Fix x-bind string case sensitive issue
When x-bind output of string field remains same for same field,
it should reflect the output value instead of skipping value update. -
Disable sorting when we add a row
After manual sort by column, added row could be at the top instead of the bottom.
-
Fix handling 0 valued in selection widgets
-
Fix orderBy for new rows after save/refresh on o2m grid
On o2m grid, order is normally preserved after search request.
Now, search order is applied in case of form save/refresh. -
Fix criteria on grid columns search
-
Fix empty criteria in advanced search query
When field or operator is empty then that criteria should not send in search query.
-
Fix call onChange on m2m record change
-
Fix selection-in attribute support in mass update
v7.2.1
7.2.1 (2024-10-17)
Feature
-
Fix search bar value duplicated in other quick menus
-
Always show tenant selection for non-hosts resolved tenants
-
TagSelect x-color-field attribute is now compatible with hexadecimal color values
-
Add /files/data-export?fileName and /files/report?link endpoints
Add files endpoints accepting filename as query param instead of path param.
This ensures URIs are ASCII only, complying with Shiro InvalidRequestFilter.
Files endpoints using filename as path param are kept for backward compatibility and may be removed
in later versions.
Change
-
Re-enable Shiro global filters
Shiro global filters are re-enabled, now that our endpoints comply with
Shiro InvalidRequestFilter (ASCII-only URIs).User endpoints also need to make sure they use ASCII-only characters in URI.
Fix
-
Fix version issue in editable m2m grid
-
Fix ColorPicker popper to work even with invalid values
-
Fix tenant selection at login when hosts are not specified
Session may exist even if user is not logged in.
Tenant specified from login request should override any session tenant. -
Fix data-description not translated on enum/selection
-
Fix restore items state on save in form view
-
Invalidate session when tenant becomes inactive
-
Fix skip view dirty on editable m2m grid changes
Security
-
Always rely on codes when fetching user from profile
Any extends of
com.axelor.auth.pac4j.AuthPac4jUserService.getUser
should takes
care to rely on fetch users by code only (instead of fetching by code and email).In case your application use SSO authentication, a carefully review is needed.
As we now rely on users codes to retrieve users, make sure the users codes match
the user profile username or email provided by the identity provider (we rely on
pac4j user profile mapping for this). For example, OpenID Connect providers commonly
usepreferred_username
claim as username,but for others such as Azure OpenID Connect
provider, it will use theupn
claim as username. As fallback is will use theemail
claim as email. In case of existing users codes not matching identity providers username
or email, it will not retrieve them and users will not be able to log in. Manually change
will be needed, by updating users codes with their email for example.
v7.1.8
7.1.8 (2024-10-17)
Security
-
Always rely on codes when fetching user from profile
Any extends of
com.axelor.auth.pac4j.AuthPac4jUserService.getUser
should takes
care to rely on fetch users by code only (instead of fetching by code and email).In case your application use SSO authentication, a carefully review is needed.
As we now rely on users codes to retrieve users, make sure the users codes match
the user profile username or email provided by the identity provider (we rely on
pac4j user profile mapping for this). For example, OpenID Connect providers commonly
usepreferred_username
claim as username,but for others such as Azure OpenID Connect
provider, it will use theupn
claim as username. As fallback is will use theemail
claim as email. In case of existing users codes not matching identity providers username
or email, it will not retrieve them and users will not be able to log in. Manually change
will be needed, by updating users codes with their email for example.