Monday, August 24, 2026
6 changes · saas-19.3
Enhancements to existing features
Mail-related views now load records in smaller batches when a result limit is used, instead of trying to process all matching records at once. This helps users open simple mail and activity views reliably while still respecting security access rules.
Original PR description
When a limit is applied in the search method, fetch the data in small batches like we do in ir.attachment. This allows to search with a limit on views while applying security access. Without this, simple views cannot be opened because the ORM searches for all records before filtering them in memory. Note that this cannot be avoided for group by queries and that if we don't set a limit, we will eventually still fetch everything in smaller batches. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Manual data reloads in Point of Sale now also clear browser local and session storage, not just the main offline database. This helps prevent stale or mismatched data from affecting sales sessions after a reload.
Original PR description
Manual data reloads reset IndexDB but leave local and session storage intact. The goal is to clear them to avoid inconsistent data. task-6456447 Forward-Port-Of: odoo/odoo#283429 Forward-Port-Of: odoo/odoo#281456
HR teams can now see and configure whether each time off type creates a matching Calendar entry. This makes the existing setting easier to manage and helps avoid unexpected calendar events for leave requests.
Original PR description
The `create_calendar_meeting` field on `hr.leave.type` allows users to choose if leave requests created with a given time off type generate a corresponding entry in the Calendar app. However, this field was not displayed on the form view. This commit adds `create_calendar_meeting` to the `hr.leave.type` form view inside the configuration section, along with dedicated help text explaining its behavior. Task: 6445794 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#283450
Inventory quantity updates now avoid repeating the same warehouse lookup when processing several products at once. This reduces unnecessary database work during batch operations, helping stock updates run more efficiently without changing user-facing behavior.
Original PR description
When `_inverse_qty_available` processes multiple products, it performs the same warehouse search for every eligible product, resulting in redundant queries during batch operations. Look up the warehouse lazily once and reuse it for all products in the recordset. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#283564
Improves the HTML editor so wide tables scroll inside their own area instead of shifting surrounding content. It also makes cursor placement more reliable around tables and blockquotes, helping users continue writing or navigating without layout disruption.
Original PR description
#### Description of the feature this PR addresses: - Resizing a table past the width available to it made the whole editable overflow, the scrollbar appeared on the editable and dragged the…
#### Description of the feature this PR addresses: - Resizing a table past the width available to it made the whole editable overflow, the scrollbar appeared on the editable and dragged the surrounding content sideways. - The no-inline selection handling only knew about the editable root, so any other container that should not hold a collapsed selection needed its own selection logic. - A blockquote could not hold selection placeholders, so an element the cursor cannot be placed on a table wrapper, table of content had no way to be written above, below, or left with the arrow keys. #### After this PR: - An overflowing table gets its own scroll container, added and removed as it is resized, so only the table scrolls. - The element that shouldn't hold direct cursor can now register itself through `is_no_inline_root_predicates` and gets the same selection handling as the editable root. - A `blockquote` is a valid placeholder container, so its blocking elements get a placeholder before and after, like anywhere else. Enterprise PR: https://github.com/odoo/enterprise/pull/128567 task-5123011 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Tables in the Studio report editor now display at their full width instead of being hidden inside a horizontal scroll area. This makes the editor better reflect how printed reports will look, helping users spot layout issues while editing.
Original PR description
The report editor is a preview of the printed report and lays out tables on its own terms: a table too wide has to be visible as such while editing, not hidden behind a scroll container. Opt it out of the table wrapper. Community PR: https://github.com/odoo/odoo/pull/283483 task-5123011