Daily updates from Odoo
Wednesday, December 24, 2025
4 changes · saas-18.2
Resolved issues and error corrections
This update restores the intended behavior for the Knowledge composer by hiding the GIF and canned response actions. These features were previously visible after a recent update, but this change ensures they are hidden when creating content in Knowledge, streamlining the user experience.
Original PR description
The GIF picker was previously hidden in Knowledge, but became visible again after the composer actions refactor. Commit that introduced the change: https://github.com/odoo/odoo/commit/5e1daafeac231c333ea13369fc208627213d67d4 This commit restores the intended behavior by hiding the GIF action again and also hides the canned response action, as neither feature is relevant when composing content in Knowledge, by applying conditions on the corresponding composer actions. Task-5163888
This update corrects a technical issue within the Web Studio report editor, ensuring accurate data display in reports. The fix resolves a discrepancy in how the system identifies report headers and footers, leading to a more reliable and consistent user experience. This improves the overall quality of reports generated through Web Studio.
Original PR description
Issue: getQwebVariables returns isEditingFooterHeader, but isInHeaderFooter was read from it Cause of the issue: e2eed2b71647de29905bcc1a40c3c540d2a87e47 Forward-Port-Of: odoo/enterprise#102693 Forward-Port-Of: odoo/enterprise#102543
This update resolves a stability issue in our database tests related to sign item roles. By using the record's creation date instead of modification date, the test now consistently identifies and removes outdated roles, ensuring more reliable test results. This improves the overall quality and predictability of our sign functionality.
Original PR description
This PR updates the test_gc_removes_orphan_roles_and_dummy_items test to rely on the create date instead of the write date, ensuring records are treated as old and making the test more deterministic. task-4971485
This update significantly speeds up the generation of budget reports by optimizing how data is filtered. Previously, a slow process required generating a large table, but now the filtering is applied directly within the queries, reducing the amount of data processed and dramatically improving report loading times. This results in a much more responsive user experience.
Original PR description
Previously, generating the budget.report table was necessary to trigger _compute_all for budget.line fields. This table was built using three separate queries with a UNION operator. Because of the…
Previously, generating the budget.report table was necessary to trigger _compute_all for budget.line fields. This table was built using three separate queries with a UNION operator. Because of the UNION, any filtering (like on specific budget_line_ids) happened after the full, unfiltered table was generated. This post-filtering caused slowness, especially in nested loop joins with large tables like account.analytic.line. This commit optimizes performance by pushing the filter condition (using specific budget_line_ids) directly down into the three underlying queries. This reduces the number of budget.line records processed, speeding up joins and overall computation. The benchmark below is done on a database that has **66396** `budget.line` records and **928567** `account.analytic.line` records. Opening a budget report for a specific year, only applied the filter with **40** `budget.line` records. | Scenario | Execution Time | | :--- | :--- | | **Before this Commit** | **60.00 seconds** | **After this Commit** | **1.84 seconds** opw-5150569 Forward-Port-Of: odoo/enterprise#99096