What is AOP ?



AOP is the technical framework on which our Axelor ERP, CRM and BPM solution is based. For more information, you can consult our online technical documentation






Axelor Open Platform 5.4






Improved keyboard shortcuts



Ctrl + F and Ctrl + G shortcuts conflicted with browser shortcuts. They have therefore been changed to Alt + F and Alt + G respectively.A dialog window listing all keyboard shortcuts has been added to the user menu.






Replacing hashKey with equalsInclude for equality testing



The equalsInclude attribute is used to mark a field as to be used in equality tests. The hashKey attribute is no longer used for this purpose.






Toolbar and menubar on dashlet widgets and multi-relational fields



In these widgets, the first three buttons of the toolbar and the first menu of the list view menu bar are now displayed.









New arrivals



Fonction JPQL json_set



This function allows you to change JSON attributes and complements json_extract which allows you to extract a JSON attribute.






Attribut help sur les widgets panel



Allows you to display help text on mouse over, as is already possible on many other widgets.






Material Design colors for list view hilites



In addition to the current Bootstrap styles, Material Design colors have been added (the same colors as for MultiSelect, SingleSelect et TagSelect).






Attribute x-popup-maximized=”all|editor|selector” on relational fields



Maximize pop-ups to edit, select, or both.






Information about views in context



The context contains new attributes : _viewName, _viewType, _views et _source.






Response signalrefresh-tab



While the refresh-app signal triggers the browser-level refresh, the new refresh-tab signal refreshes only the current tab in the app






Research on the value of translatable fields



When performing a search on a marked field translatable, the search is now done on the translation of values according to the language of the logged in user, and not on the original key



Indexes on entity tables MailMessage et MetaHelp



Advanced search reset button



Displaying process status as a tag in form view






Menu in the form view to display the linked process (axelor-bpm module)



Formatting of date fields and numeric fields according to the browser language / country



Formatting of date / datetime and numeric fields (integer, long, decimal) on different types of views, including graphics. The currency, percent, number and date template filters have also been redefined to take into account the browser language / country.r.



Customizing top-level list views



Ability to add, delete and reorder the columns of a list view via a dialog box



Automatic switch to edit mode on multiline controls of editable lists



Previously, you had to go through the pencil. This concerns multiline controls and those using the html widget.



External attributes via the menu Administration → View management → View attributes



Css attribute on list view buttons






X-show-icons attribute on multi-relational fields



This attribute which allows you to choose the icons to display in the widget and which only worked on editors now also works on multirelational fields.






Tooltip element in fields



In addition to the editor and viewer elements in the fields, the tooltip element allows you to specify a template for a tooltip.








Axelor Open Platform 6



Java 8 → Java 11



Java 11 is the current LTS version with public updates until at least September 2026.



Migration guide






Watch out for the long type removed from Nashhorn (JavaScript engine)






Google Guice 4.2 → Weld 3.1



Guice hasn’t seen any major updates for over two years.



Weld is the reference implementation for CDI 2.0, largely inspired by Guice.






The most important differences from Guice: :



  • No chain binding. Instead, we use annotations @Alternative et @Priority on classes.
  • @Transactional annotations are discovered at the injection poin














Authentication system rewritten to allow free mixing of systems (for example, it was not possible to enable both OAuth 2.0 and OpenID Connect) and to add external implementations to the platform



Authentication systems implemented in the platform:



  • Formulaire (par défaut)
  • OAuth 2.0
  • OpenID Connect
  • SAML 2.0
  • LDAP
  • CAS
  • Basic Auth



Definition of an authentication system external to the platform in



application.properties :



auth.provider.myprovider.client = MyClientClassName



auth.provider.myprovider.configuration = MyConfigClassName



auth.provider.myprovider.title = My Client Title



auth.provider.myprovider.icon = path/to/my.icon.png



Other notable updates



  • Gradle 6.x
  • Hibernate 5.4
  • Groovy 2.5
  • Support MySQL 8
  • JUnit 5
  • Node.js intégré



For all your technical, and even functional, questions, please use our forum.






support our community and make your contribution, there is our Github