Wednesday, September 9, 2026
24 changes · master
Enhancements to existing features
Update notifications now include counts for light users, giving businesses a clearer view of user types during update checks. This helps administrators better understand licensing or user composition information alongside existing update details.
Original PR description
This commit add the light users counts to the update notification. Task-Id: 6388209 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update removes an obsolete option from the Bulgarian SAF-T file attachment error wizard. It keeps the tax reporting workflow aligned with recent validation changes and reduces unnecessary internal complexity, with no expected impact on everyday users.
Original PR description
bypass_failing_tests has been removed from the definition of the tax return action_validate since 19.4. Thus the file_attachment_error_wizard no longer needs to hold that value. This commit removes it in master. Related: odoo/upgrade/pull/11272 Related: odoo/enterprise/pull/118326
Timesheets can now record time spent in Google Chat even when no specific chat participant is selected. This helps ensure more complete and accurate time tracking for work done through Google Chat.
Original PR description
This commit's purpose is to add a new rule to be able to record the time spend on google chat when no specific chatter is selected. task - 6455607
Before this commit, ts assistant was didn't have any rules to detect the usage of Zoom After this commit, ts assistant should come with pre-build rule to track Zoom use in both web and application form. task-[6518921](https://www.odoo.com/odoo/project/4105/tasks/6518921)
Original PR description
Before this commit, ts assistant was didn't have any rules to detect the usage of Zoom After this commit, ts assistant should come with pre-build rule to track Zoom use in both web and application form. task-[6518921](https://www.odoo.com/odoo/project/4105/tasks/6518921)
Changes to a stock transfer's effective date will now be recorded in the chatter when the transfer is unlocked. This improves traceability by making date adjustments visible in the transfer history for audits and follow-up.
Original PR description
Effective date is allowed to be changed if transfer is unlocked. But if it is changed, it is not reflected in chatter, which leads to poor tracebility. This commit adds tracking for the field. task-6116292 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 strengthens Odoo's internal linting so developers can detect methods that claim to extend parent behavior when no parent method exists. It also removes or relocates unused code across several apps, reducing maintenance risk without introducing major user-facing changes.
Original PR description
Find all methods in the MRO that call `super` but don't exist in the parent class. Check `__override` value on methods. There is a simple default we can use: `__code__.co_names` contains "super" if `super(...)` is used in the function. That may flag manual calls to other methods that the current once, but setting the override flag on the function can whitelist it. task-2922186 https://github.com/odoo/enterprise/pull/130760 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The web interface now separates status bar styling from unrelated switcher styling. This reduces the risk of visual conflicts and helps keep the user interface consistent as different navigation controls evolve.
Original PR description
`.o_switcher` is not related to this component and is now problematic, as we have specific slide styling for the view switcher. The design should be better separated and more clearly split into distinct parts. task-6546246 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update improves the visual clarity of buttons in Odoo forms by keeping borders fully visible when users hover over or focus on them. It also makes the focus indicator in the "More" dropdown more consistent, supporting easier navigation and better usability.
Original PR description
Prior to this commit, the button border could be partially obscured when the button was hovered or focused. This commit ensures that the entire border remains visible in these states. This commit…
Prior to this commit, the button border could be partially obscured when the button was hovered or focused. This commit ensures that the entire border remains visible in these states. This commit also reviews the focus ring for buttons within the "More" dropdown to ensure it remains consistent and clearly visible. task-6528444 Requires: - https://github.com/odoo/enterprise/pull/130674 | Before | After | |--------|--------| | <img width="305" height="120" alt="Screenshot 2026-09-08 at 11 47 42" src="https://github.com/user-attachments/assets/6374fcb1-cf48-46f3-b467-64dbff1b2011" /> | <img width="297" height="113" alt="Screenshot 2026-09-08 at 11 48 05" src="https://github.com/user-attachments/assets/face6b7a-28ab-4308-ae78-3689c45da948" /> | | <img width="443" height="122" alt="Screenshot 2026-09-08 at 11 47 47" src="https://github.com/user-attachments/assets/4db5ac90-226e-44e3-8185-5f14b205476d" /> | <img width="484" height="119" alt="Screenshot 2026-09-08 at 11 48 06" src="https://github.com/user-attachments/assets/8d2a5ff3-ff4a-4947-b5d9-7a4277548b3e" /> | | <img width="268" height="219" alt="Screenshot 2026-09-08 at 11 46 18" src="https://github.com/user-attachments/assets/e5dbbe3d-d0e7-440e-a61e-53574f0d8896" /> | <img width="327" height="235" alt="Screenshot 2026-09-08 at 11 46 11" src="https://github.com/user-attachments/assets/632ceefc-9135-43f9-b404-fc18f9f4187c" /> | --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Selection highlights now slide consistently across more switcher controls, not just the main view switcher. This makes navigation feel more polished and avoids distracting overshoot in larger button groups.
Original PR description
The travelling indicator was painted for the view switcher only, which is handed its button count and its active index by the control panel. Paint it for every `.o_switcher`: `:has()` on the group reads both from the buttons themselves, one rule per position, up to three buttons. `@starting-style` stays on the view switcher alone. It is needed where the group is rebuilt between the two states, and everywhere else the group survives the change, so the move starts from the position already painted. Two groups are left out. '.o_statusbar_status' wraps each step in a div and marks the current one with a class of its own, so neither number can be read off the group. '.o-mail-ActionList-group' holds toggles that can all be off, and with no active button the layer would sit on the first one as if it were selected.
Buttons in form statistic areas now use a consistent background color across normal and hover states. Dark mode colors were also adjusted so hover feedback is easier to see, improving visual clarity for users.
Original PR description
This commit ensures that all `oe_stat_button` elements use the same background color in both their default and hover states. This commit also fine-tunes the colors for dark mode to make the hover…
This commit ensures that all `oe_stat_button` elements use the same background color in both their default and hover states. This commit also fine-tunes the colors for dark mode to make the hover state more visible. task-6528444 Requires: - https://github.com/odoo/odoo/pull/286952 | Before | After | |--------|--------| | <img width="239" height="78" alt="Screenshot 2026-09-08 at 14 44 47" src="https://github.com/user-attachments/assets/e9a87f3f-598d-447a-a992-7458fe4baaf8" /> | <img width="199" height="90" alt="Screenshot 2026-09-08 at 14 44 13" src="https://github.com/user-attachments/assets/8de5ab01-08c4-43ac-96a8-5e1fa53e0dc8" /> | | <img width="223" height="71" alt="Screenshot 2026-09-08 at 14 45 01" src="https://github.com/user-attachments/assets/8bf329cb-a73a-425c-a619-d66d2e96ccc3" /> | <img width="247" height="92" alt="Screenshot 2026-09-08 at 14 43 10" src="https://github.com/user-attachments/assets/e55435d9-b54e-479d-8ba1-efccb665e9c1" /> | | <img width="231" height="81" alt="Screenshot 2026-09-08 at 14 44 36" src="https://github.com/user-attachments/assets/024bd44d-4c91-468a-9575-defe97c6dbb8" /> | <img width="228" height="79" alt="Screenshot 2026-09-08 at 14 44 27" src="https://github.com/user-attachments/assets/a0d7c009-5a36-478a-868e-335b1609b8d2" /> | | <img width="234" height="324" alt="Screenshot 2026-09-08 at 14 45 07" src="https://github.com/user-attachments/assets/fb9ef801-78eb-483c-912f-3b51a84c4c6c" /> | <img width="278" height="361" alt="Screenshot 2026-09-08 at 14 43 04" src="https://github.com/user-attachments/assets/9a982250-2b67-40e3-850a-9102ce187f0f" /> |
Odoo now uses the same internal name for the X social media icon across website, email, marketing, forum, sales, and e-learning areas. This small cleanup helps keep branding consistent and reduces confusion when maintaining social sharing and social media templates.
Original PR description
*: iap_mail, marketing_card, mass_mailing, website_forum, website_sale, website_slides This commit homogenizes the name of the X icon.
The Discuss header now uses browser styling instead of background scripts to size its input fields. This simplifies the interface logic and should make the header more reliable and easier to maintain without changing the user workflow.
Original PR description
Currently, the discuss header size is computed in JS. Code is not easy as it has to account for every participing node. This commit replaces this computation by a CSS only solution: - size the input based on an ::after element, containing the text of the input. - remove the inputs from the layour flow as to not impact sizing at all. 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 reorganizes how automatic leave approvals are handled in the Time Off app by moving that logic into its own dedicated method. The change should make future maintenance and enhancements easier without changing the day-to-day experience for employees or managers.
Original PR description
task-6384703 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
Accounting entries now expose the fiscal position from their related invoice or journal entry. This makes it possible to analyze fiscal position information directly in pivot reports, improving reporting flexibility for finance teams.
Original PR description
We add the relation fiscal_position_id from move_id inside account_move_line. This is used so that we can use it inside a pivot view. task-6508687
Italian electronic invoices now handle cash rounding lines more safely when generating XML. This keeps the required tax information in the invoice output without changing a shared tax calculation process used elsewhere, reducing the risk of side effects.
Original PR description
Remove the override of `_prepare_product_base_line_for_taxes_computation` since it's a low level method used by a lot of flows. Instead, we just add the 0% exempt tax on the line on-the-fly at the generation of the xml. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#287016
The breadcrumb trail in Odoo’s web interface has been visually softened by removing bold styling and making separators less prominent. This creates a lighter, cleaner navigation experience without changing functionality.
Original PR description
ENT: https://github.com/odoo/enterprise/pull/130516 task-6527644 | Before | After | |--------|--------| | <img width="750" height="437" alt="Screenshot 2026-09-04 at 16 49 38" src="https://github.com/user-attachments/assets/428ed1f6-52fc-43c7-8ad7-aa87124f988b" /> | <img width="754" height="436" alt="Screenshot 2026-09-04 at 16 48 35" src="https://github.com/user-attachments/assets/c9eb44dd-1d5c-4c79-b0bb-43c41122b3f6" /> | --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Payslips created through payroll runs now record which pay run created them and which user started the batch, making audit trails easier to understand. Companies can also disable these automatic creation messages for large payroll batches when performance is a priority.
Original PR description
Payslips log "Pay Slip created" in their chatter without naming the pay run that generated the payslip or the user who ran that batch. `hr.payslip._creation_message()` now names the origin in the log the record already gets: - from a pay run: `Payslip created from the pay run <run> by <user>` - created directly: `Payslip created by <user>` No second message, no extra query per payslip. For batches where even that log costs too much, the `hr_payroll.payslip_run_creation_no_message` system parameter skips it. Off by default. With it on, pay-run payslips get no creation message at all, including the generic one from task 6253290. Task 6530900
The notebook tab styling in Odoo Enterprise has been adjusted so tab labels no longer appear bold. This creates a lighter, more consistent interface and improves visual alignment with the wider application design.
Original PR description
COM: https://github.com/odoo/odoo/pull/286774 task-6527644
Reconciled bank statement lines now show the account name when the original move name is just a placeholder slash. This makes accounting records easier to read and reduces confusion during reconciliation review.
Original PR description
This commit will treat move with "/" as their name as empty, and put the name of the account in the reconciled line name task-6424612 Forward-Port-Of: odoo/enterprise#127842
Moving a document from a folder to My Drive now creates the same activity log entry as moving it to any other folder. This gives users a consistent record of where files have been moved, improving traceability across Documents.
Original PR description
This PR ensures that moving a file from a folder to My Drive creates the same chatter log as other folder move operations. This keeps file movement tracking consistent across all destinations. Task-6391383
Knowledge and Appointment website search options are now declared in a shared central place instead of separate page builder templates. This makes search configuration easier to maintain and keeps these modules aligned with the broader website search improvements.
Original PR description
The community counterpart of this commit moves the declaration of the website search scopes out of each module's builder template and into `website._get_search_scopes()`, so that a scope's label, its results page and its models are declared in one place. This commit follows that change for the knowledge and appointment scopes and removes their builder templates. Related: https://github.com/odoo/odoo/pull/279774 task-6422203
This update re-enables a test setting for continuous production scenarios in shop floor work orders. It helps ensure users can complete work orders reliably across more production use cases after a prior limitation was fixed.
Original PR description
During the continuous production cleaning, a limitation was introduced that blocked users from marking a WO as done in shopfloor. This limitation was addressed and fixed in: odoo/enterprise#125787 , so we can safely uncomment the continuous flag to ensure we are covering different usecases in the tests. Forward-Port-Of: odoo/enterprise#128911
Payroll rule parameter lookups now handle elevated access internally instead of requiring each caller to request it. This makes payroll-related calculations and reports more consistent across countries while reducing the risk of access-related errors for HR teams.
Original PR description
Move sudo inside the _get_parameter_from_code instead of calling the method with sudo. task-6518823
The web client’s underlying interface library was updated to the latest Owl release. This helps keep Odoo’s web experience current and maintainable, with limited direct impact expected for day-to-day users.
Original PR description
Release notes: https://github.com/odoo/owl/releases/tag/v3.0.0-alpha.49 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 Forward-Port-Of: odoo/odoo#287202