Wednesday, July 9, 2025
9 changes · master
Enhancements to existing features
The IoT Box discovery dialog has been updated to make the setup flow easier for users to understand and complete. This should reduce confusion when connecting an IoT Box and improve the overall onboarding experience.
Original PR description
We updated the IoT Box found dialog in order to ease user experience. Task: 4922620 Forward-Port-Of: odoo/enterprise#89608
The Colombian localization now supports retrieving required customer name and email information directly from DIAN using the customer's identification type and number. This helps businesses comply with Colombian rules that limit what customer information they can request while keeping invoicing data complete.
Original PR description
The Colombian government restricts the information a company can ask from their customers to only their identification type and number. The other data (name and email) is required to be fetched from the DIAN service. task: 4796355 Forward-Port-Of: odoo/enterprise#86172
This update adds support for a mobile-style bottom sheet experience and adjusts related automated tests. It helps users access actions and options on smaller screens without leaving their current context.
Original PR description
A BottomSheet is a UI component in mobile apps that slides up from the bottom of the screen to display additional content or options. It can be partially or fully expanded and is commonly used for actions, menus, or forms. BottomSheets provide a non-intrusive way to show relevant information without leaving the current screen. This commit fixes JS tests task-4551522
Contract templates now show more of the information that was previously lost after HR and contract records were merged. The template form has been reorganized across payroll and localized payroll modules, making it easier for teams to configure contracts consistently.
Original PR description
Since the merge of hr and contract, we only have a form view for contracts for templates. Thus, during the merge, a lot of info has been lost on contract template form view. This commit, reintroduce fields that were present in saas-18.3 and re-organize them. task-4904024
The tree editor now supports building more complex rules with repeated AND and OR conditions. This makes it easier for users configuring views, spreadsheets, and filters to express advanced criteria without workarounds.
Signer names in the Sign app are now loaded once per request instead of repeatedly. This reduces unnecessary database work and makes templates with many roles open and respond more smoothly.
Original PR description
Currently, the application retrieves signer names multiple times from the database, leading to unnecessary overhead and delays. By modifying the logic to fetch signer names only once per request, we significantly reduce the number of database calls. This change will result in a smoother and faster user experience, especially when dealing with templates that contain many roles. task-4841694
The printer test button in IoT now works more like regular receipt or report printing, improving consistency for users. If the usual connection method fails, the system automatically falls back to another method, making printer testing more dependable.
Original PR description
The "test" button on printer devices should behave exactly as printing a receipt/report in other apps. We now use the IoT http service to handle longpolling call then websocket if longpolling fails. We also updated all other calls to use this service instead of simple longpolling service. Community PR: odoo/odoo#217932 Task: 4922613 Forward-Port-Of: odoo/enterprise#89638
AI tools can now be declared in a cleaner, more maintainable way, reducing setup complexity for future AI capabilities. The change also adds checks that tool definitions and inputs are valid, helping prevent misconfigured AI actions from running incorrectly.
Original PR description
*: ai_calendar,test_ai Remove the need for server action records when declaring AI tools. Tools are now defined by decorating methods with @register_ai_tool, making declarations cleaner and more…
*: ai_calendar,test_ai Remove the need for server action records when declaring AI tools. Tools are now defined by decorating methods with @register_ai_tool, making declarations cleaner and more maintainable. Schema validators are introduced to support basic parameters schema. These validators are used at app loading via _register_hook to ensure tool parameters are properly defined. More complicated schemas will be supported in the future if necessary. Input validation is also introduced. Whenever a tool is called, the input is tested against the schema declared for the called tool, raising a validation error if the input doesn't match the tool schema. Important note: It's not enough to decorate a method to register it as an AI tool. A corresponding `ai.tool` record has to be created. It has to be done this way to avoid auto-generation of `ai.tool` records. Moreover, `ai.tool` records have to be created for finer control since the tools are linked to the `ai.topic` records. task-4791949 Co-authored-by: Joseph (jcb) <jcb@odoo.com>
The Point of Sale IoT scale integration now applies the latest weighing behavior in Enterprise as well as Community. This helps avoid duplicate weighing actions at checkout, reducing operator mistakes and improving reliability when using connected scales.
Original PR description
The main changes are in the community PR odoo/odoo#213537. This commit simply adds a call in the `scale_service.js` override to ensure the new behaviour is also enabled in Enterprise. task-4859589 Forward-Port-Of: odoo/enterprise#89763 Forward-Port-Of: odoo/enterprise#87296