Friday, August 15, 2025
3 changes · saas-18.4
Enhancements to existing features
The Saudi Arabia e-invoicing certificate request now includes the exact Odoo software version, including both major and minor version details. This improves accuracy and traceability when generating certificates for compliance processes.
Original PR description
Make sure we user the exact software version from which the certificate is being generated, which should include the major and minor version, instead of just the major version. task-4985629 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#222604
Resolved issues and error corrections
This fix makes an internal bus testing helper more reliable by preventing a timing issue that could cause automated tests to fail unexpectedly. It also corrects how test errors are reported, helping teams identify real problems more clearly and keeping release validation stable.
Original PR description
This change addresses two issues in the `waitForChannels` test utility: - Fixes a race condition. The `failTimeout` variable was sometimes accessed before its `setTimeout` declaration had been executed. This happens when a fast bus event triggers the `onWebsocketEvent` handler, resulting in a reference error. The variable is now declared at the beginning of the function, making it available before any access (fixes runbot-223252). - Corrects error in def.reject. `message` only takes one param, and a string does not have a join method. Forward-Port-Of: odoo/odoo#222967
French tax reports now compare calculated totals with proper rounding, avoiding false mismatches caused by hidden decimal precision. This helps prevent incorrect warnings or validation issues when displayed amounts are effectively the same.
Original PR description
Currently, the code was checking for a strict equality between two sums. However, it may happen that there are many decimals that aren't displayed on the UI, hence the strict equality check fails. For instance `30201.63 != 30201.629999999997`. Instead, we now use the `float_compare` which takes care of rounding issues. opw-5000147 Forward-Port-Of: odoo/enterprise#92405 Forward-Port-Of: odoo/enterprise#92356