Skip to content

Releases: axelor/axelor-open-platform

v7.3.0

14 Jan 15:47
2ad777c
Compare
Choose a tag to compare

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 the Barcode, use optional attributes height, x-barcode-width, x-barcode-line-color,
    x-barcode-display-value, x-barcode-background-color and x-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 pass canEdit="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, use height 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 and popup.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 attribute

    The help variant is extracted from the css attributes values. Now, help widget has a new attribute variant that
    can be used, Accepted values are info, success, warning and error. Default value is info.

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 deprecated

    The help variant is extracted from the css attributes values. Now, help widget has a new attribute variant 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

08 Jan 10:19
0d62e31
Compare
Choose a tag to compare

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

29 Nov 16:13
d92dee4
Compare
Choose a tag to compare

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 properties allowNoEntry and defaultContent 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

29 Nov 15:59
bca9caa
Compare
Choose a tag to compare

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

13 Nov 11:06
47d7e6d
Compare
Choose a tag to compare

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

13 Nov 11:00
eb3b5d3
Compare
Choose a tag to compare

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

12 Nov 14:26
2ead4c6
Compare
Choose a tag to compare

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

12 Nov 14:16
a022080
Compare
Choose a tag to compare

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

17 Oct 12:54
4383d1d
Compare
Choose a tag to compare

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
    use preferred_username claim as username,but for others such as Azure OpenID Connect
    provider, it will use the upn claim as username. As fallback is will use the email
    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

17 Oct 13:43
d6cdda5
Compare
Choose a tag to compare

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
    use preferred_username claim as username,but for others such as Azure OpenID Connect
    provider, it will use the upn claim as username. As fallback is will use the email
    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.