Friday, July 18, 2025
6 changes · master
Enhancements to existing features
This update removes unnecessary formatting code in several JavaScript screens and uses the platform's built-in translation handling instead. Users should see no functional change, but the code becomes easier to maintain and less prone to translation-related issues.
Original PR description
On the JavaScript side, the main use case for sprintf used to be interpolating values inside translated strings. However, ever since version 17.0, this has been handled directly by _t. This commit gets rid of occurrences of sprintf that can easily be simplified to either a call to _t or a template string. Community: https://github.com/odoo/odoo/pull/216373
This change introduces a new HR access group and applies it across employee-related features such as payroll, appraisals, referrals, documents, and work entries. It helps standardize who can view or manage HR information across these apps, improving consistency and control for HR operations.
Online banking synchronization no longer stores or sends the old encrypted connection data because that information is now managed in Odoofin. This reduces duplicated sensitive data handling while keeping the synchronization flow aligned with the external service.
Original PR description
provider_data contains the encrypted info about the connection. It's not used anymore, as the information is stored on Odoofin. We remove the field and the data passed through the requests. task-4619128 Odoofin PR: https://github.com/odoo/odoofin/pull/409
The Sign app now lets administrators set a default validity period in days for new signature requests. This reduces repetitive manual setup and helps ensure requests expire consistently across the business.
Original PR description
Added a setting in the Sign app to define a default validity period (in days) for sign requests. This improves the user experience by eliminating the need to manually set an expiration date for each new request. task-4942996
Odoo now remembers when a local IoT Box connection method has recently failed and temporarily skips retrying it. This avoids repeated waiting periods and helps affected users connect faster through the fallback method on networks where local requests are unreliable.
Original PR description
To contact an IoT Box, if longpolling fails, we fallback to websocket. We use this logic on every call: if the longpolling fails once, there is chance that it fails on the next call. We now avoid contacting via longpolling if it has failed during the last 20 minutes. We then avoid 6 seconds timeout on every call on networks where local requests fail (clients with DNS for example). Task: 4922624 Forward-Port-Of: odoo/enterprise#89733 Forward-Port-Of: odoo/enterprise#89598
This change updates the Avatax sales test coverage so it stays aligned with new section line behavior on sales orders and invoices. It helps ensure down payment calculations continue to work correctly when section totals and print detail controls are used.
Original PR description
Section lines on Sale order and Invoice lines now support: - a `total`column that displays the total of the lines under the section - print details toggle to control whether the section appears on the backend, reports, and portal. See also: https://github.com/odoo/odoo/pull/208515 Task-4669991