Monday, April 27, 2026
7 changes · master
Enhancements to existing features
This update improves how spreadsheets generate and reuse unique identifiers, helping spreadsheet elements remain consistent during editing and testing. It is mostly an internal reliability improvement, with limited direct impact on day-to-day users.
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update refines how Odoo clears transaction-related data so routine cleanup does not unnecessarily reset broader system context. It helps reduce redundant work during module operations and tests while keeping behavior more predictable for developers and administrators.
Original PR description
The function `clear` is used inside `reset` and in tests. It removes the data, and now also clears access and environments. Using `reset` to clear attributes on the environments is too much because it also rebinds the registry which is mostly unwanted. Immediate module functions already reset the transaction, there is no need to do it twice. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Mail channel and member permission rules were streamlined to rely on related records instead of repeating the same checks. This reduces maintenance complexity and helps keep access behavior consistent without changing the user experience.
Original PR description
Refactor ACL rules to defer access checks to related records, eliminating duplication in channel/member permissions used "access" operator in channel/member ACL to reduce the repetition. related upgrade: https://github.com/odoo/upgrade/pull/9978 task-6124277 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This change improves Odoo's automated test process so setup data is consistently available when tests open separate test sessions. It helps prevent misleading test results and supports more dependable validation before future changes are released.
Original PR description
When opening test cursors, we want the main transaction to be flushed. Usually the code looks like: ```py record.setup_something() with self.registry.cursor() as cr: rec = record.with_env(self.env(cr=cr)) rec.do_something() self.assertEquals(record.field, value) ``` When we open the cursor for the test, we expect that all changes done in the setup part are flushed and visible by the test cursor and that afterwards, changes are visible to the main transaction. Therefore, we flush every time we create test cursors and reset afterwards. We have the function `flushing_cursor` to do it. There is an exception to the above, when we want to have parallel executions, such as running wkhtml should not flush the main transaction. Needed for https://github.com/odoo/odoo/pull/255059/ --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update enhances the stability of the Odoo Spreadsheet Edition by introducing a singleton UUID generator. This ensures consistent and reliable unique identifiers across various spreadsheet components, preventing potential conflicts and improving data integrity. The change improves the overall reliability of the spreadsheet functionality.
This update enhances the stability of the Odoo Spreadsheet Edition by introducing a singleton UUID generator. This ensures consistent and reliable unique identifiers are used across various spreadsheet components, reducing potential conflicts and improving overall performance. The change improves the robustness of the spreadsheet functionality.
This update cleans up the appearance of the calendar side panel by removing the legend title and arranging status icons (Published/Draft) horizontally. This creates a cleaner and more organized view, improving usability for users.
Original PR description
Before: - Legend title was visible. - Status icons (Published/Draft) were stacked vertically. After: - Legend title is removed. - Status icons are placed horizontally side-by-side. task-5259081