Thursday, March 19, 2026
8 changes · master
Enhancements to existing features
Spreadsheet translations now use the standard translation method, with better awareness of when translations have finished loading. This helps keep translated spreadsheet text accurate while simplifying the underlying translation approach.
Original PR description
## Task Description Following https://github.com/odoo/odoo/pull/130179, this PR aims to remove the use of _lt function, using now _t instead. To be able to take translations loading into account, a new function _loaded has been added to the setTranslationFunction method, indicating wether the translation has been loaded or not. By default, we then have _t returning only lazy string, and once a translation has been loaded, it will return translated string directly. ## Related Task Task: : [3446734](https://www.odoo.com/web#id=3446734&action=333&active_id=2328&model=project.task&view_type=form&cids=1&menu_id=4720) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update cleans up formatting in sales loyalty tests so the codebase follows the project's consistency checks. It helps keep future maintenance smoother without changing how users experience the system.
Original PR description
A forward-port [PR](https://github.com/odoo/odoo/pull/253974) did not fully comply with the pre-commit checks. This PR fixes those linting issues to ensure consistency. task-5436779
The table picker in the HTML editor now uses a more suitable background color for inactive cells. This improves visual consistency and readability in both light and dark mode.
Original PR description
Currently in dark mode, we don't display the right bg color for (non active) cells in table picker. This PR uses the right variable for the bg color of non active cell that is more suitable for both light and dark mode. task-6009282 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#252378
Partner mentions in chat and live chat now behave consistently when clicked, opening the contact avatar popover as expected. This makes it easier for users to view contact details directly from conversations without confusion or extra steps.
Original PR description
Currently, if the mention is a partner without the "o_mail_redirect" class, clicking on it does not open the partner avatar popover. This commit fixes this by adding the "o_mail_redirect" class to partner mentions that do not have it. task-5978136 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Moves History report now lists stock movement lines by date first, then by record order. This makes it easier for users to review inventory activity in the sequence it happened.
Original PR description
Default sort move lines by date then id (instead of just id), to show moves in chronological order in 'Moves History' report. task-5481618
Odoo now stores file-like data in a way that avoids unnecessary duplicate encoding when loading module data. This improves reliability and consistency for setup, demo, and onboarding content across multiple apps without changing day-to-day user workflows.
Original PR description
Replace the base64 to avoid double encoding when loading data files. https://github.com/odoo/enterprise/pull/111131 https://github.com/odoo/documentation/pull/16930
This update enhances the account reports debug popover by allowing users to view the specific code associated with each line item. This provides more detailed information for troubleshooting and understanding report data, improving accuracy and efficiency.
Original PR description
Would be nice to be able to get the codes of lines in the debug popover. No task ID
This update optimizes how Odoo handles file uploads, reducing memory usage and improving performance. Previously, Odoo loaded entire files into memory, which was inefficient for larger files like videos. This change introduces a more memory-friendly method for saving files to the file store, ensuring smoother operation.
Original PR description
File upload to Odoo always loads the entire file in memory (sometimes even in base64!) in order to save it as attachment. Most controllers use the default upload limit of 120MiB (web.max_file_upload_size), requests bigger than this limit are rejected. In most cases, using 120MiB of memory is fine, the limit is much smaller than the typical available memory of a production server. 120MiB is more than enough for documents and images, but too small for videos or uncompressed audio. We never intended that our file-store would store bigger files as Odoo is not a content-delivery system. Still, the ``--x-sendfile`` option makes for an easy/cheap alternative to cloud storage, and there are situations (not limited to HTTP upload) where we want to load bigger files in the filestore. This new utility offers a memory-efficient way to save a file inside the filestore, it basically is like `create`-single, but with a file object given instead of `raw` bytes.