Monday, August 24, 2026
6 changes · master
Code cleanup and technical improvements
This update removes redundant invoice code that no longer performed any useful work. It helps keep the GCC invoicing module simpler and easier to maintain without changing how users create or view invoices.
Original PR description
Remove create() and _compute_narration() method overrides from l10n_gcc_invoice as they only existed to call _load_narration_translation(), which has already been disabled. The parent class implementations handle all required functionality. Keeps the codebase clean by removing unnecessary method overrides. Forward-Port-Of: odoo/odoo#281565 Forward-Port-Of: odoo/odoo#281395
This update standardizes how Odoo builds and runs database queries across many apps, reducing maintenance risk and helping prevent query mistakes. Most changes are internal, but they support more reliable behavior in areas such as accounting, CRM, events, HR, mail, purchasing, and marketing.
This update standardizes how many Odoo modules retrieve and prepare data behind the scenes, especially in accounting, reporting, documents, payroll, helpdesk, knowledge, and marketing-related areas. It should make the codebase easier to maintain and reduce the risk of inconsistent database behavior, with limited direct impact on day-to-day users.
This change modernizes the internal way Odoo handles popovers, bottom sheets, and dialogs while keeping existing compatibility in place. Users should not see major behavior changes, but the update helps make these interface elements easier to maintain and evolve.
Original PR description
In this commit, we rewrite the popover, bottom_sheet and dialog services as plugins. For legacy purposes, we keep the popover, bottom_sheet and dialog services (as services). We also adapt the codebase to reflect the changes on the services.
The way Odoo manages popovers, bottom sheets, and dialogs has been modernized behind the scenes. This helps keep the web interface easier to maintain while preserving existing behavior for users and older customizations.
Original PR description
In this commit, we rewrite the popover, bottom_sheet and dialog services as plugins. For legacy purposes, we keep the popover, bottom_sheet and dialog services (as services). We also adapt the codebase to reflect the changes on the services. Community: https://github.com/odoo/odoo/pull/281432
Web view URLs now keep only the search filters the user actively applied, instead of storing extra internal page details. This makes shared or saved links lighter, clearer, and less likely to expose unnecessary technical information while keeping search behavior consistent.
Original PR description
Only the search performed by the user (the active facets) needs to end up in the url, not the whole internal state of the view. Pushing the complete state was heavier than necessary and leaked more detail into the url than a search really is. A lightweight representation of "what the user searched for" already existed, introduced for reapplying a search when working offline. Reusing it here avoids maintaining two different ways to describe a search, and pushed us to make that representation a bit more robust so it can be trusted for both purposes. Finally, deciding what belongs in the url is the search model's responsibility, not the action service's: the model is the one that actually knows what a facet is. Moving that decision there removes an indirection the action service had no real reason to carry.
Original PR description
Detected usages by a new linter for SQL. https://github.com/odoo/enterprise/pull/128045 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Original PR description
https://github.com/odoo/odoo/pull/282652