Friday, February 13, 2026
16 changes · master
Enhancements to existing features
This update ensures consistent naming of customers across all Odoo rental documents. The pickup receipt PDF now uses 'Contact' instead of 'Salesperson,' aligning with the recent change in the sales order PDF. This improves document clarity and professionalism for our clients.
Original PR description
The term `Salesperson` can be used on end-customer documents. Replace it with `Contact` on the pickup receipt PDF for consistency with the sales order PDF change. task-5887854 See Also: Community PR:https://github.com/odoo/odoo/pull/246918
This update streamlines the Helpdesk search selector by collapsing priority, SLA status, and rating filters. This change optimizes screen space, making it easier for users to quickly find the tickets they need. It's a minor improvement to the user experience.
Original PR description
In this commit, we collapsed the priority, SLA status, and rating filters to free up some space in the search selector. task-5810884
This update enhances how Odoo handles requests from search engine robots (like Google). By implementing a static `/robots.txt` file, we prevent Odoo from dynamically rendering templates for these bots, improving performance and security. This aligns with best practices for website accessibility and search engine optimization.
Original PR description
Following the changes in PR \[1]\, this module extends that behavior by introducing a custom `IrHttp` implementation that leverages the new static `/robots.txt` mechanism to avoid runtime template rendering. \[1]\: https://github.com/odoo/odoo/pull/237737 task-[5095225](https://www.odoo.com/odoo/project/974/tasks/5095225)
Resolved issues and error corrections
This update resolves an issue preventing users from duplicating payroll rule parameters, which caused a validation error. The change modifies the system to allow duplication while ensuring uniqueness through a technical update, enabling more flexible rule configuration. This improves the usability of the payroll module.
Original PR description
Description of the issue/feature this PR addresses: . For the rule parameter, when attempting to duplicate an existing record to edit it, a validation error is raised: “The operation cannot be completed: Two rule parameters cannot have the same code.” Current behavior before PR: . Prevent creation of duplicated rule parameter Desired behavior after PR is merged: . Override copy_data() method and append _copy to duplicated rule parameters to avoid uniqueness constraints. task-5913778
This update adds a bridge module to guarantee that the To-Do module is installed when using the mail alias feature within the HR system. Previously, uninstalling To-Do could cause issues because the feature remained within the HR module. This change ensures a smoother user experience and prevents unexpected problems.
Original PR description
This commit adds the `project_enterprise_hr_todo` bridge module that ensures that To-Do is correctly installed in order to use the todo mail alias feature. Before, this requirement was not enforced so anyone uninstalling To-Do could experience some issue, as the feature would still be part the `project_enterprise_hr` module, even without To-Do installed. See odoo/upgrade#9469
This update improves the Odoo Studio interface by ensuring the 'Model Pages' tab is only visible when editing a model that's actively used and not a transient or abstract version. Previously, this tab could be enabled for irrelevant models, leading to potential confusion. This change aligns with stable releases and enhances the Studio's usability.
Original PR description
Before this commit, we could set publicly available webpages pointing to models that were irrelevant: - transient, - abstract, - sql_view: _auto = False, This was fixed at odoo/odoo#246115. This commit changes the display of the Model Pages tab in studio, as it was not possible to do so in stable. After this commit, when the current edited model is not a "concrete" one the model pages tab button is disabled. *: web_studio
This update adjusts the tests for the spreadsheet sale management feature to align with a recent update to the Odoo spreadsheet library. This ensures the tests accurately reflect the current functionality and helps maintain the stability of the sale process. The change is a technical update to the testing framework.
This update addresses a technical issue related to how Odoo fetches email data, improving the performance and stability of email-related operations within the Enterprise edition. The change removes a workaround that was impacting query counts, ensuring more efficient email processing. This ultimately leads to a smoother user experience for email functionality.
Original PR description
Update query count. https://github.com/odoo/odoo/pull/221906
This update fixes an issue where icons on delivery buttons were displaying incorrectly due to a technical error in how they were defined. The change ensures consistent and accurate icon rendering across key delivery modules like Easypost, Shiprocket, and Starshipit, improving the user experience. This resolves a visual inconsistency and ensures proper functionality.
Original PR description
*: easypost, shiprocket, starshipit The proper syntax for buttons with icons is to use the icon="" keyword instead of manually defining the font within a class attribute. When it is implemented via…
*: easypost, shiprocket, starshipit The proper syntax for buttons with icons is to use the icon="" keyword instead of manually defining the font within a class attribute. When it is implemented via the class attribute any string attribute on the button appears in some random sarif font instead of the standard odoo text font. Before / After Easypost <img width="256" height="127" alt="image" src="https://github.com/user-attachments/assets/56cae398-ea49-4961-b599-eab493efa02f" /> <img width="301" height="130" alt="image" src="https://github.com/user-attachments/assets/11c7bf47-41c3-4c18-b218-7d61831ae2cb" /> Shiprocket <img width="213" height="101" alt="image" src="https://github.com/user-attachments/assets/caaef053-7209-41e8-a0aa-46e3ba018cd9" /> <img width="217" height="116" alt="image" src="https://github.com/user-attachments/assets/940c753f-06a8-4ce0-95a9-b8c2024aa9eb" /> Starshipit <img width="365" height="141" alt="image" src="https://github.com/user-attachments/assets/861671b8-77d0-44c2-bc27-bb68d638788a" /> <img width="361" height="144" alt="image" src="https://github.com/user-attachments/assets/382deef4-8251-47fc-8ae4-66786da01506" />
This update simplifies the view editor by resetting options to null when a field's widget is changed. Previously, the system retained compatible options, which became unreliable with increasingly specialized widgets. This change improves the stability and predictability of the view editor experience.
Original PR description
/!\ Behaviour change /!\ Historically, when changing a widget on a field via studio, options were kept. This allowed for the user to circle back and keep mostly compatible options between widgets that handle the same field types. That assumption is becoming more and more fragile as field widgets become more and more specialized. After this commit, when changing the widget that handles a field, we reset the options to `null` task-4194461
This update enhances the visual consistency of the Point of Sale (POS) navbar across different Odoo modules (pos_appointment, pos_enterprise, pos_urban_piper). Specifically, it addresses inconsistent button styling, improves appearance in dark mode, and updates the delivery badge and button for a more polished user experience.
Original PR description
*: pos_appointment, pos_urban_piper Before this commit, the POS navbar had inconsistent button styling. Alongside the community commit improving the navbar and buttons hierarchy, this one focus on improving btn-light active state and border color for dark mode, and improving the delivery badge & button. requires: https://github.com/odoo/odoo/pull/248273 task-5905481
This pull request fixes a minor typo – 'Theorical' – to 'Theoretical' within the MRP Workorder module. This ensures consistent terminology across the codebase, improving clarity and preventing future errors. The change is a standard quality assurance update.
Original PR description
Rename the related occurrences in the codebase to maintain consistent terminology and help prevent similar issues in the future. task-5137717
This update automatically activates a cron job that fetches vendor bills based on IRN (Invoice Reference Number) only when the user enables automatic GST e-invoice retrieval. This change ensures that the system doesn't unnecessarily consume resources and improves performance for users who don't require this specific functionality. It's a targeted fix to optimize the process.
Original PR description
The cron to fetch the vendor bill based on IRN is disabled by default and only activates if the user changes the `l10n_in_gstr_activate_einvoice_fetch` to `automatic`. see https://github.com/odoo/upgrade/pull/9423 task-5885482
This update resolves an issue related to how product locations are managed within Odoo. The changes optimize the internal processes for retrieving location data, ensuring more accurate and efficient product tracking. This improves the reliability of inventory and sales operations.
This update adjusts the tests for the spreadsheet sale management feature to align with recent changes to the Odoo spreadsheet library. This ensures the tests accurately reflect the current functionality and helps maintain the stability of the sale process. The change is a minor fix to improve test reliability.
This update reverts a recent change to how call durations are displayed in the Odoo Enterprise system. Previously, call durations were shown in a standard numeric format (e.g., 1:23:43). This fix ensures that call durations are displayed consistently, providing users with the familiar and expected format.
Original PR description
This commit is a followup of odoo/enterprise#102439 where a new formatting of duration has been introduced. This formatting doesn't fit for the voip usecase, so this commit forces the "numeric" display, which was the one used previously. In other words, call durations will be displayed like "1:23:43" as before.