Daily updates from Odoo
Monday, February 23, 2026
20 changes
8 changes
Enhancements to existing features
This update replaces a complex caching mechanism with a simpler one for functions without arguments. This change reduces unnecessary overhead and improves the performance of key Odoo modules, leading to faster response times. The update focuses on internal optimizations without impacting user-facing features.
Original PR description
A 0-argument function can definitionally only have one cache entry (at `()`). Not only is a bound entirely useless (`lru_cache` does not do any presizing), using `lru_cache` incurs the full cost of maintaining an LRU's doubly-linked list. Using `cache` (~ `lru_cache(None)`) still allocates and interacts with a dict, but it at least skips the whole LRU.
This update optimizes the Delivery Ups module by replacing a less efficient caching method (`lru_cache`) with a standard cache. This change improves performance, particularly for argument-less functions, leading to faster processing times. It's a routine performance enhancement.
Original PR description
On an argument-less function, `lru_cache` is strictly worse.
This update adds more flexible options for calculating AVS (Additional Voluntary Savings) deductions within Odoo's payroll system for Swiss businesses. The changes improve the system's adaptability to various Swiss tax regulations and reporting requirements. A new test has been implemented to ensure accurate salary rule calculations.
Original PR description
5 more generic AVS is added to l10n_ch_hr_payroll/hr_salary_rule_data and /hr_payroll_input_types. task - 5902593 Forward-Port-Of: odoo/enterprise#107901 Forward-Port-Of: odoo/enterprise#106218
This update enables administrators to create API keys programmatically, streamlining the process and reducing manual steps. Previously, API keys needed to be created through a user interface. This change allows for more efficient key management and integration with automated systems.
Original PR description
Previously, API keys could only be created interactively: the method required an interactive session and a recently typed password. This commit adds a new method on `res.users.apikeys` that allows creating an API key when an existing one is provided. Optionally, in the case of a renewal, the new key can replace the old one, and the provided one is unlinked. Forward-Port-Of: odoo/odoo#249528 Forward-Port-Of: odoo/odoo#246118
This update optimizes the creation of global invoices in the Mexican tax system (l10n_mx_edi). By changing the wizard to a 'TransientModel,' the system no longer stores temporary data permanently, leading to a smoother and more efficient invoice creation process. This change avoids unnecessary database usage and improves performance.
Original PR description
Change to TransientModel so a wizard is not permanently stored in db when creating a global invoice. Forward-Port-Of: odoo/enterprise#107950 Forward-Port-Of: odoo/enterprise#107244
This update enhances the user experience in the chatter by changing the action when clicking on a follower. Instead of opening the partner form, clicking now opens the follower's avatar card. This provides a more intuitive and streamlined way to engage with followers within the Odoo platform.
Original PR description
Before this commit, clicking on a follower in the chatter always opened the partner form view. This commit changes the behaviour to open the avatar card. enterprise-https://github.com/odoo/enterprise/pull/107393 task-[5873738](https://www.odoo.com/odoo/project/1519/tasks/5873738)
This update enhances the user experience by automatically opening a user's avatar card when a follower is clicked in the follower list. Previously, users were directed to a partner form view. This change simplifies navigation and provides a more modern interaction.
Original PR description
The tours are updated to reflect the new behaviour where clicking on a follower opens the avatar card for users instead of the partner form view task-5873738
This update enhances the user experience by recentering the Odoo logo and floor plan button across different screen sizes. A subtle shadow has also been added to the logo for improved visual clarity and a more polished look. This ensures consistent branding and a better user interface.
Original PR description
** = pos_restaurant In this commit: - Recentered the Odoo logo and floor plan button based on the viewport size for better alignment and responsiveness. - Applied a shadow on the Odoo logo for a better user experience. Before: <img width="1920" height="852" alt="image" src="https://github.com/user-attachments/assets/e8b05b7a-11be-4652-90dc-2b89236fc190" /> After: <img width="1920" height="852" alt="image" src="https://github.com/user-attachments/assets/b32c4b46-3e66-4948-8bd6-ae7dc935e037" /> Task-5946199 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
1 change
Enhancements to existing features
This update optimizes the creation of global invoices in the Mexican tax system (l10n_mx_edi). By changing the wizard to a 'TransientModel,' data is no longer permanently stored in the database, streamlining the invoice creation process and reducing unnecessary storage. This change improves efficiency and performance.
Original PR description
Change to TransientModel so a wizard is not permanently stored in db when creating a global invoice. Forward-Port-Of: odoo/enterprise#107950 Forward-Port-Of: odoo/enterprise#107244
1 change
Enhancements to existing features
This update optimizes the creation of global invoices in the Mexican tax reporting module. By changing the wizard's storage method to 'TransientModel', the system no longer permanently stores the wizard data when a global invoice is created. This improves performance and reduces unnecessary database usage.
Original PR description
Change to TransientModel so a wizard is not permanently stored in db when creating a global invoice. Forward-Port-Of: odoo/enterprise#107950 Forward-Port-Of: odoo/enterprise#107244
2 changes
Enhancements to existing features
This update adds a new feature to the helpdesk timesheet wizard, allowing other Odoo modules to dynamically adjust timesheet values. This provides greater flexibility and control over timesheet data, streamlining the process for support teams. It builds upon previous work to enhance the overall timesheet management experience.
Original PR description
Add a hook in helpdesk_timesheet timer wizard for other modules to modify timesheet values. Forward-Port-Of: odoo/enterprise#107301
This update enhances logging for transactions related to Codabox integration (_l10n_be_codabox_fetch_coda_transactions). These improved logs will assist the support team in quickly identifying and resolving any issues with the Codabox data synchronization process. This change is an internal improvement to streamline support efforts.
Original PR description
This commit will improve the logs of _l10n_be_codabox_fetch_coda_transactions to help the support team to debug possible problem. task-5436868 Forward-Port-Of: odoo/enterprise#107779
5 changes
Enhancements to existing features
This update adds five new, more generic deduction types to the Odoo Enterprise payroll system for China (l10n_ch_hr_payroll). This improves the system's flexibility and accuracy in calculating employee salaries, particularly for diverse deduction scenarios. A new test has been implemented to ensure these deductions are correctly calculated.
Original PR description
5 more generic AVS is added to l10n_ch_hr_payroll/hr_salary_rule_data and /hr_payroll_input_types. task - 5902593 Forward-Port-Of: odoo/enterprise#106218
This update enhances the functionality of global filters by now explicitly including the operator within default values. It also prevents users from changing the operator without providing a value, ensuring data consistency and reducing potential errors. This improves the overall reliability of global filter configurations.
Original PR description
## Description of the issue/feature this PR addresses: Current behavior before PR: - Global filters could store default values, but the operator was not explicitly handled or preserved. Desired behavior after PR is merged: - Global filter default values now include an operator. - Changing the operator without values is prevented with a validation message. Task: [5850422](https://www.odoo.com/odoo/project/2328/tasks/5850422)
This update enhances the internal organization of Odoo's IoT driver code by clearly defining the types of key objects used. Making the `Interface` class abstract improves code clarity and maintainability. This change supports ongoing development and future enhancements to the IoT functionality.
Original PR description
To ease development, we typed `drivers`, `iot_devices`, and `interfaces` objects. This commit also makes `Interface` inherit from ABC in order to make it clearer that it's abstract. see odoo/odoo#236772
This update ensures that unpublished badges across the Odoo website modules are now consistent, aligning with recent community changes. This improves the overall user experience and maintains a unified brand image for our website.
Original PR description
Following the changes in community, the goal is to make unpublished badges consistent across website modules. task-5136516 Related: https://github.com/odoo/odoo/pull/239842
This update enhances the survey results displayed in spreadsheets by adding a 'status' column to indicate the response state. It also includes a style update to the survey results table for better readability. This improves the clarity and usability of survey data reporting.
Original PR description
Wiht this commit, the `ODOO.SURVEY` function also returns a new column with the state of each survey response in the spreadsheet results. It also adds a table to improve the style of the survey results in the spreadsheet. Task: [5908771](https://www.odoo.com/web#id=5908771&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form)
1 change
Enhancements to existing features
This update optimizes the creation of global invoices in the Mexican EDI module. By changing the wizard to a 'TransientModel,' it prevents unnecessary data storage in the database, improving performance and reducing storage requirements. This change ensures a smoother and more efficient invoice creation experience.
Original PR description
Change to TransientModel so a wizard is not permanently stored in db when creating a global invoice. Forward-Port-Of: odoo/enterprise#107950 Forward-Port-Of: odoo/enterprise#107244
1 change
Enhancements to existing features
This update introduces a simpler way to run Odoo tests by adding an alias for the `--test-tags` command. Previously, users had to explicitly specify test tags, which has now been streamlined for easier test execution. This change improves the efficiency of our testing process.
Original PR description
Backport of https://github.com/odoo/odoo/pull/234287 <img width="408" height="151" alt="image" src="https://github.com/user-attachments/assets/7f22826f-6887-432b-8baf-8a6778b9cadf" /> Forward-Port-Of: odoo/odoo#249123
1 change
Enhancements to existing features
This update adjusts the Romanian tax reporting within the Enterprise module to align with recent changes in the Core Enterprise (CE) version. The update removes outdated tax codes and adds new ones, ensuring accurate reporting for Romanian businesses. This change improves the reliability of financial data.
Original PR description
Some taxes were no longer needed in CE, so they needed to be removed task-5411745