Daily updates from Odoo
Monday, July 14, 2025
8 changes · saas-18.4
Enhancements to existing features
The website setup guide checks have been updated to work with the redesigned website builder. This helps ensure important page options, including header visibility behavior, continue to work reliably for users.
Original PR description
The `website_page_options` tour was previously broken due to DOM structure changes introduced by the new website builder and was consequently disabled. This commit updates the tour steps to align with the new DOM and re-enables the associated test. Also previously, header visibility was not maintained after clicking header in invisible options. since it maintains visibility now, the tour is adapted accordingly. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update adds a developer option to turn off longpolling so IoT communication can be tested through websockets instead. It helps teams validate fallback behavior during development and debugging without affecting normal business workflows.
Original PR description
In order to ease development/debugging lonpolling=>websocket fallback we added the possibility to disable longpolling calls in order to force the communication via websocket. Task: 4929877 Forward-Port-Of: odoo/odoo#218598 Forward-Port-Of: odoo/odoo#218433
When a user clicks a Livechat Support Channel Report pivot cell that matches only one conversation record, Odoo now opens that record directly instead of showing an intermediate list. This saves time and reduces unnecessary navigation for support reporting users.
Original PR description
**Purpose of this PR**: For Livechat Support Channel Report when a pivot cell is clicked and the resulting domain returns only one record, the form view is now opened directly, bypassing the list view. **task**-[4753032](https://www.odoo.com/odoo/all-tasks/4753032) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#210028
Website form builders can now let dropdown selection fields start with no value when the field is not required. This restores expected flexibility for form visitors and helps businesses collect responses without forcing an unnecessary selection.
Original PR description
Before this commit, users did not have an option to leave the selection field blank in the website form even though it's not set to required. The feature was introduced in commit [1] but was lost when introducing `html_builder`. In this commit, we reintroduce the feature that allows users to choose whether they want the selection field to be required or not. [1]: https://github.com/odoo/odoo/commit/34ddd5dd6a036792c44b865cb7a4671f4ca033cf task-4367641
Bank reconciliation now loads potential journal items much faster by simplifying how company filters are applied. This can significantly reduce waiting time for finance teams working with very large accounting databases.
Original PR description
This fix aims to avoid a subquery in the main query and instead use a
IN clause to improve search performance.
On a database with over 37 million journal items, before the fix, the
query to load the 40 potentials journal items to reconcile in the bank
reconciliation widget took around 50 seconds; after the fix, it take
only 3 seconds (with only 1 company to filter).
Subquery when 'child_of' is used:
```
...
AND (
"account_move_line"."company_id" IN (
SELECT
"res_company"."id"
FROM
"res_company"
WHERE
("res_company"."parent_path" LIKE '1/%')
)
)
```
Query after the fix:
```
...
AND ("account_move_line"."company_id" IN (1))
```
opw-4896863
Forward-Port-Of: odoo/odoo#218700
Forward-Port-Of: odoo/odoo#218034The IoT setup dialog for using a pairing code has been updated with clearer wording. This helps users understand the pairing process more easily when connecting an IoT box.
Original PR description
We improved the "use pairing code" dialog to make it clearer. Task: 4942391 Forward-Port-Of: odoo/enterprise#90164
The production planning screen now reloads only the schedules currently visible to the user instead of every affected schedule in the background. This makes updates much faster in complex manufacturing setups, reducing a benchmarked reload from 31.6 seconds to 3.5 seconds.
Original PR description
Description ----------- Only fetch forecasts for MPS schedules visible in the view rather than all impacted schedules. Schedules not visible due to pagination are skipped when reloading the MPS state. Benchmark --------- Adjusting a quantity for a product, which will impact around 1k+ other schedules (hierarchy is deep with boms), `get_production_schedule_view_state` takes: | Before | After | Speed-up | |--------|-------|----------| | 31.6s | 3.5s | 9x | Reference --------- opw-4778588 Forward-Port-Of: odoo/enterprise#87299
Domestic VAT return names no longer show the country ISO code, reducing unnecessary clutter. ISO codes remain visible for foreign VAT returns, making it easier for users to distinguish cases where the country matters.
Original PR description
Showing ISO codes for every return is unnecessary and should only be shown for foreign VAT returns. This commit removes the ISO code from the return name for domestic return only. task-4783937 Forward-Port-Of: odoo/enterprise#86391