Wednesday, November 19, 2025
15 changes · master
Enhancements to existing features
The serial device driver workflow was streamlined by removing an extra internal handoff step. This makes the code easier to maintain while preserving the same behavior for users and connected devices.
Original PR description
Serial drivers actions were overriding the default `action` method then calling another custom `_action` one. We simplify that by direclty locking the thread in the default `action` override.
Users can no longer create a new resource directly from the resource leave form. This avoids confusion in apps such as appointments, where users might think they are creating a specialized appointment resource but are actually creating a basic resource.
Original PR description
Purpose ======= Remove the possibility to create a resource from the resource leaves form view (by clicking on the "Search more" of the resource field and then clicking on "New"). Specification ============= Creating resources this way leads to misunderstandings, especially in modules using the resource.mixin like appointment where users think they're creating an appointment resource when they're actually creating a basic resource. Globally seems also weird to add a leave to a not yet created resource. => Adding the no_create option on the resource field in the resource leave form view to prevent any resource creation from this view. Task-5079021 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The mail app's rotten item indicators now use a clearer red background instead of fuchsia, making overdue or stale items easier to recognize. Kanban cards also no longer use the extra colored background, giving the view a cleaner and less distracting appearance.
Original PR description
This PR updates the rotten design to use red background color instead of fuchsia and remove the kanban card background color. task-5207345 | Before | After | |--------|--------| | <img width="387" height="48" alt="Screenshot 2025-10-27 at 16 45 19" src="https://github.com/user-attachments/assets/8605d2ae-e9fc-486b-b8d7-8731486cff7a" /> | <img width="395" height="52" alt="Screenshot 2025-10-27 at 16 44 49" src="https://github.com/user-attachments/assets/6a7a8c6e-b8e5-491c-92fc-d0130bb6785b" /> | | <img width="413" height="607" alt="Screenshot 2025-10-27 at 16 45 12" src="https://github.com/user-attachments/assets/418181c5-d1d0-44e5-9b70-6de1bcbb5806" /> | <img width="414" height="600" alt="Screenshot 2025-10-27 at 16 44 36" src="https://github.com/user-attachments/assets/1249ade6-e57e-4763-991f-1b2b7a677e42" /> | --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Website snippets can now use a dedicated shop link that stays empty unless the eCommerce app is installed, where it automatically points to the shop page. This makes catalog-style call-to-action buttons more relevant for websites that sell online while avoiding incorrect links for sites without eCommerce.
Original PR description
Before this PR, we only had cta_btn_href, now shop_btn_href has been created and its value is by default empty until website-sale is installed and its value becomes "/shop". shop_btn_href has been added to these following "catalog" snippets' CTA : - s_bento_grid - s_floating_blocks task-4807681 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
View button titles and similar interface labels can now be properly included in translations. This improves the experience for users working in languages other than English across several Odoo apps and website areas.
Original PR description
Task:https://www.odoo.com/web#id=1956197&action=333&active_id=131&model=project.task&view_type=form&menu_id=4720 Pad: https://pad.odoo.com/p/r.a1f975aa5104190ac8d2a35c90240f45 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The IoT driver action process now uses the same message handling approach as other connection methods. This makes device-related actions more consistent across protocols and should reduce differences in behavior for users and administrators.
Original PR description
As for `websocket_client` and `webrtc_client`, the `action` controller now uses `communication.handle_message` so that every protocol can perform the same actions the exact same way.
The mail plugin now has a way to check which Odoo version it is connected to. This helps the newer add-in warn users when their Odoo version is not supported, reducing confusion and compatibility issues.
Original PR description
Purpose ======= The new addin has been refactored and doesn't work with older Odoo version, and so we add an endpoint to be able to show a message if we don't support that Odoo version. Task-4727609 Forward-Port-Of: odoo/odoo#236286 Forward-Port-Of: odoo/odoo#236047
Product statistics can now hide unnecessary trailing zeros, making figures easier to read in purchase, sales, and inventory views. This improves clarity for users reviewing product-related metrics without changing the underlying values.
Original PR description
*=purchase,sale,stock Previously, unnecessary trailing zeros were shown in the statinfo widget and there was no option to hide them. After this commit, the widget supports the 'hide_trailing_zeros' option to hide those zeros. Also added this option in statinfo fields of product views. Documentation PR: https://github.com/odoo/documentation/pull/15366 task-5238438 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update adds automated checks for the IoT connection messaging code, helping ensure messages are sent and received as expected. It reduces the risk of future changes breaking connected device communication without changing day-to-day user workflows.
Original PR description
This commit adds a suite of tests for the `IotWebsocket` class. The tests comprehensively cover the functionality of `sendMessage` and `onMessage`. Type hints are also added to these methods.
Appointment pages no longer allow users to edit placeholder images for staff or resources on the website. This avoids confusion because those placeholder edits were never saved and real profile images are not editable from the front end.
Original PR description
Remove the possibility to edit the user/resource image placeholders on the front-end. Editing the placeholders is useless as they won't be saved on page reload anyway. Also, the user/resource record images (displayed when Display Pictures option is set) aren't editable from the front-end. Meaning being able to edit the placeholders could be confusing for the users. Task-5079021
Barcode-related automated tests now use dedicated test company and warehouse data instead of relying on default demo records. This makes test results more stable, fixes a known build failure, and slightly speeds up some barcode test runs without changing day-to-day user workflows.
Original PR description
*: stock_barcode_mrp, stock_barcode_mrp_subcontracting, stock_barcode_picking_batch Until now, the default warehouse (WH) was the warehouse used in the `stock_barcode` tests which means all the tests depends of it and are influenced by the changes done in this warehouse (like changes done by the demo data.) A better way to run the tests would be to use a warehouse created for this occasion, and what a chance, that's why this commit does! Incidentally, this commit also fixes [runbot built error 233274](https://runbot.odoo.com/odoo/runbot.build.error/233274) **Community PR:** odoo/odoo#234483 Forward-Port-Of: odoo/enterprise#96657
SendCloud delivery integration can now determine the warehouse name through a customizable process instead of relying only on a fixed name match. This helps businesses with more complex sender-address rules choose the right shipping origin more reliably.
Original PR description
As choosing the proper sender address in SendCloud can be more complex than matching a name to a fixed name in Odoo we open up the freedom to inherit the retrieval of the warehouse name. Info: @wt-io-it Forward-Port-Of: odoo/enterprise#97595
The Philippine reporting module’s automated tests were updated to match a recent change in report descriptions. This helps ensure reporting checks stay aligned with the latest expected wording and reduces the risk of false test failures.
Original PR description
Related PR: https://github.com/odoo/odoo/pull/235448 TaskID-5248240 Forward-Port-Of: odoo/enterprise#99354
Financial report lines now use consistent spacing between hierarchy levels. This makes nested report sections easier to scan and improves readability without changing the report data.
Original PR description
This commit ensures that indentation difference between reports lines on different levels is identical. Before this commit, a line at level 2 would have indentation of 4px, and for further levels, this number would increase by 8px. This commit makes indentation start at 8px for level 2 to make indentation differences consistent. task-5232821
The IoT Box technical information now links its displayed software commit hash directly to the related GitHub commit page. This makes it faster for support or administrators to confirm exactly which software version is running when diagnosing issues.
Original PR description
To ease checking the HEAD commit on the IoT Box, we now compute the github url to the commit, and redirect to it clicking on the hash in the technical information tab. Forward-Port-Of: odoo/enterprise#99673 Forward-Port-Of: odoo/enterprise#99422