Friday, July 18, 2025
8 changes · 18.0
Enhancements to existing features
This update improves Odoo's internal Hoot testing tools so automated tests run more reliably, start faster, and use less memory in headless environments. It also makes test filtering and result handling clearer, helping development and quality teams diagnose issues with less friction while keeping changes limited to the testing ecosystem.
Original PR description
## Pull Request HOOT (PRHOOT) 35 This pull requests brings various improvements and fixes to Hoot and the Odoo unit test ecosystem. See the different commit messages for more details. Note: these changes are made in stable to avoid having to support multiple versions of the HOOT API. As such, these changes are intended to be strictly limited to unit tests as to not put the rest of the code base at risk. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Resolved issues and error corrections
This change makes automated website tours more stable when they navigate to another page. It helps reduce inconsistent test behavior, improving confidence in quality checks without changing normal user workflows.
Original PR description
In this commit, we add expectUloadPage to goToUrl util. This util redirect to another page an involves a unload event so we need to add this key to this util to avoid undeterministic behaviors in tours that use it. Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix makes an automated mail test more reliable by shortening the simulated reconnect timing so the warning appears within the expected window. It helps prevent false test failures in busy environments without changing the user-facing product behavior.
Original PR description
The "show warning when bus connection encounters issues" test simulates a disconnected WebSocket that fails to reconnect. In this scenario, an alert is shown to warn the user that some features may…
The "show warning when bus connection encounters issues" test simulates a disconnected WebSocket that fails to reconnect. In this scenario, an alert is shown to warn the user that some features may be unavailable or slow. However, the websocket worker’s initial reconnect delay is 1.5s, with an added random jitter up to 1 second which means the first reconnect attempt can take up to 2.5s. The test waits up to 2.5s for the alert to show, which is not always enough. The reconnect attempt alone may be that long, and under high CPU load, processing the resulting event can take even longer. This commit reduces the initial reconnect delay and the jitter during this test, ensuring that the reconnect attempt fails and the alert is shown within the expected time. fixes runbot-226443 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Electronic invoice exports now include the product barcode in the same field already used when importing invoices. This improves consistency between incoming and outgoing UBL/CII documents and helps partners identify products more reliably.
Original PR description
[FIX] account_edi_ubl_cii: export product barcode too Currently we use the `Item/StandardItemIdentification` as the barcode when importing a product. But we do not export the same information. In 18.0+ the `Item/StandardItemIdentification` was added to the UBL XML (for exporting) in commit 72e312815f372de88388c47c612bb5f44b4d8b4e. But there it is only used in `l10n_co_dian`. After this commit we export and fill the tag "by default". task-4941855 Forward-Port-Of: odoo/odoo#218779
Automatic invoice sending now reports its scheduled job progress using the correct number of invoices processed and still pending. This avoids misleading logs that previously suggested no records were processed, making monitoring clearer for administrators.
Original PR description
The scheduled action for the automatic sending of invoices currently does not explictly use the `_notify_progress` method introduced since Odoo 18 to track the progress of CRON jobs. This means that implicitly, by default the CRON will log `processed 0 records, 0 records remaining` at each run. This can be confusing, as the automatic invoice sending CRON is batched, and might run multiple times in sucession, reporting each time that it processed 0 records (which might not be true). ## Proposed fix: We correctly count the total account moves that need to be processed (using a `search_count`) and calculate the number of processed records and the remaining ones. opw-4926541 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix prevents an error that could occur while editing a website header and pressing the Tab key when no text area was selected. It improves editing stability by safely handling cases where the cursor selection is missing.
Original PR description
This PR fixes traceback issue: Steps to Reproduce for 1st traceback: 1. Go to Website in edit mode. 2. Click on the menu in the header such a way that the cursor is not placed inside. 3. Press the tab key. 4. You will receive the traceback. Issue: When the selection is null, the anchorNode also becomes null, resulting in closestUnbreakable being null. Therefore, we should avoid accessing nodeName on a null element to prevent errors. Fix: Safely access elements using optional chaining to prevent errors when elements are not found. task-4577864
This update makes an internal mail suggestion helper available for customizations. It helps partners and developers apply targeted custom patches more reliably without changing the standard mail behavior for everyday users.
Original PR description
Useful for custom patches.
This fix removes an incorrect default setting in the Swiss payroll ELM transmission configuration. It helps ensure payroll transmission settings use the proper company configuration instead of applying an unintended preset value.
Original PR description
…lated field Forward-Port-Of: odoo/enterprise#90425