Friday, December 26, 2025
8 changes · saas-18.4
Resolved issues and error corrections
This update resolves an issue where product names with trailing spaces in product records were causing duplicate entries in delivery descriptions. The fix addresses a combination of problems: incorrect handling of newline characters in the sale order line description and a lack of trailing space trimming in the product name input field. This ensures consistent and accurate product information in delivery confirmations.
Original PR description
**Steps to reproduce:** 1. Create a product with a trailing space at the end of its name. 2. Create a quotation and confirm it. 3. Open the delivery through stat button. **Observation:** - The…
**Steps to reproduce:** 1. Create a product with a trailing space at the end of its name. 2. Create a quotation and confirm it. 3. Open the delivery through stat button. **Observation:** - The picking description displays the product name twice when the product name ends with trailing spaces. **Cause:** The duplication occurs due to a combination of two issues: 1. **In sale_stock** https://github.com/odoo/odoo/blob/ac6d4f0211e7680b5f5b41537b1e2eb2c9efb239/addons/sale_stock/models/stock.py#L32 products without attributes, `_get_sale_order_line_multiline_description_variants()` returns an `empty` string, yet the code still prepends a newline before the existing picking description. When the product name contains trailing spaces, this newline `+` trailing-space combination causes Odoo to interpret the description as multiple lines, resulting in the product name being duplicated on the picking. 2. **In web,** the char field with `widget="text"` did not trim trailing spaces when saving the value. This allowed product names such as `"Test "` to be stored. **Fix:** - Trim the value entered in `char` fields using `widget="text"` when the field has `trim=True`, preventing trailing spaces from being saved and ensuring consistent description generation. **opw-5351356**
This update allows users to easily copy and paste error messages from the Point of Sale interface. Previously, users couldn't copy these messages, making it difficult to report issues or troubleshoot problems. This change improves usability and support efficiency.
Original PR description
Before this commit, it was not possible to select and copy text from the error popup shown in the POS interface. This limitation hindered users from easily copying error messages for reporting or troubleshooting purposes. task-id: 5411067 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#240570
This update restores the intended behavior for the Knowledge composer by hiding the GIF and canned response actions. These features were previously visible after a recent system update, but this fix ensures they are hidden when composing content, streamlining the Knowledge creation process.
Original PR description
The GIF picker was previously hidden in Knowledge, but became visible again after the composer actions refactor. Commit that introduced the change: https://github.com/odoo/odoo/commit/5e1daafeac231c333ea13369fc208627213d67d4 This commit restores the intended behavior by hiding the GIF action again and also hides the canned response action, as neither feature is relevant when composing content in Knowledge, by applying conditions on the corresponding composer actions. Task-5163888 Forward-Port-Of: odoo/enterprise#102862 Forward-Port-Of: odoo/enterprise#100585
This update ensures that the batch payment process can function correctly for all users, regardless of their HR group membership. Previously, a technical limitation required HR users to access employee data, now the system utilizes sudo to resolve this issue and improve overall functionality.
Original PR description
In commit a6ed1bd, new logic for handling employee addresses was introduced. However, the _get_all_addr function requires employee_ids, which implicitly requires access to the Employees model and, therefore, be in HR groups. During the compute process, _get_all_addr is only used to check whether an employee has an address; no address data is exposed. To fix this issue, the call to _get_all_addr should be executed with sudo(). OPW-5428523 Forward-Port-Of: odoo/enterprise#102851
This update resolves a potential issue where printing failed on Windows systems. By adding a safety net to catch printing errors, the system is now more robust and reliable, ensuring print jobs complete successfully. This enhances the overall user experience for Odoo users on Windows.
Original PR description
This commit adds the try/except block around print_raw method of the virtual iot box to allow catching exceptions when printing on Windows Forward-Port-Of: odoo/odoo#238633
This update corrects a potential issue where an Odoo update failure could cause the IoT Box to incorrectly believe it's up-to-date. By retaining the original branch name during updates, the system avoids this misinterpretation and ensures accurate status checks.
Original PR description
We used to renamed the Odoo branch name before running the update script in order to get the target branch name easily inside it. Issue is if for any reason the update fails, when the IoT Box will restart, the branch name will be the target one, so it will assume it's up to date. Task: 5407662 Forward-Port-Of: odoo/odoo#239758 Forward-Port-Of: odoo/odoo#239508
This update fixes a technical issue where unused sign item roles were accumulating in the database, preventing them from being removed. A temporary 'dummy' sign item is now created for each new role, allowing the system to automatically clean up these orphaned roles and maintain database efficiency. This ensures accurate reporting and avoids unnecessary data storage.
Original PR description
Fixes an issue where sign item roles were created but never deleted if they had no sign items linked to them. These orphaned roles were no longer shown in the app and remained in the database indefinitely. To address this, a dummy sign item is now created for each new sign item role. This allows the autovacuum logic to detect and automatically clean up unused roles and dummy items. Without this dummy item, it would be impossible to determine if a role is truly orphaned. task-4971485 Forward-Port-Of: odoo/enterprise#102722 Forward-Port-Of: odoo/enterprise#91189
Documentation and clarification updates
This pull request confirms that the developer has signed a Corporate License Agreement (CLA) for Odoo. The change involves updating documentation to record this signature, ensuring compliance with Odoo's open-source licensing requirements. This is a standard legal process for contributions.
Original PR description
@pedrobaeza --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#241134