Monday, November 10, 2025
14 changes · 19.0
Enhancements to existing features
The Saudi localization demo data has been updated so the Sandbox uses current company, partner, and tax information. This helps the latest validation checks run cleanly and avoids warning messages in demo setups.
Original PR description
Our demo data for the Sandbox was outdated, and the new validations for the Other Seller ID triggered warnings. This commit updates the data to include the latest taxes, partners, and company details to ensure all validations pass. task-5152670 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The IGST column has been moved before the CGST column in Indian GST reports. This makes the reports match the government portal more closely and improves readability for users reviewing tax data.
Original PR description
In this PR, the IGST column is moved before the CGST column to match the government portal report layout and provide a better user experience. task-5244841
The VoIP app now uses the official country data stored in Odoo instead of a hard-coded flag mapping. This fixes cases where some places were shown with the wrong flag or country name, making contact information more accurate and consistent.
Original PR description
Previously, we hard-coded the URL according to the country code to display a country flag. However, this is not the case for all countries. Countries like Bonaire, Sint Eustatius, and Saba use the flag of the Netherlands. Additionally, Bonaire, Sint Eustatius, and Saba are shown as Caribbean Netherlands, which is inconsistent with the data from our res.country model. This commit changes it to use the data from res.country. Task-5207454 Forward-Port-Of: odoo/enterprise#99042 Forward-Port-Of: odoo/enterprise#98756
Resolved issues and error corrections
This change prevents the breadcrumb title from briefly changing to an incorrect label when users switch between livechat sessions. It improves the browsing experience by keeping the session name stable and accurate while navigating.
Original PR description
Before this PR, The breadcrumbs flickered when navigating between livechat sessions. This occurred because the `FormController`…
Before this PR,
The breadcrumbs flickered when navigating between livechat sessions.
This occurred because the `FormController` ([@web/views/form/form_controller](https://github.com/odoo/odoo/blob/saas-18.3/addons/mail/static/src/core/web/discuss_patch.js#L16-L23))
updated the breadcrumb title inside the `onRendered` hook and set it to
`this.model.root.data.display_name` which is `undefined`, the `Discuss` component
also updated the breadcrumb title in a `useEffect` hook. ([@mail/code/web/discuss_patch.js](https://github.com/odoo/odoo/blob/saas-18.3/addons/mail/static/src/core/web/discuss_patch.js#L16-L23))
The two updates conflicted: the onRendered hook first set the title to
“Unnamed,” and then the useEffect hook replaced it with the correct title,
causing a brief flicker. Additionally, when navigating to another session with
the same thread.displayName, the useEffect hook did not trigger (since its
dependency did not change), but onRendered still ran, causing the breadcrumb
to remain “Unnamed”.
This PR fixes the issue by introducing a `LivechatFormController` which
updates the breadcrumbs when channel is fetched in store.
task-4671251
Before:

After:

task-4671251
Forward-Port-Of: odoo/odoo#233167This change prevents the Helpdesk page from appearing in a website’s sitemap unless Helpdesk is actually enabled for that site. It avoids exposing links on websites that do not have a Helpdesk team configured, which keeps site maps accurate for visitors and search engines.
Original PR description
Steps to reproduce: 1) Create two websites(Website A, Website B) in one company 2) Configure domains in both websites, for example, http://localhost:8069 for Website A, http://127.0.0.1:8069 for Website B 3) In Helpdesk team settings, enable Website Form and select Website A as the website for the helpdesk 4) Now go to browser, and open http://127.0.0.1:8069/sitemap.xml Current Behaviour: Website B will show <loc>http://127.0.0.1:8069/helpdesk</loc> in sitemap even though Website B has no Helpdesk Team! Solution: This commit will add a sitemap method, that will only show the helpdesk in sitemap if it's enabled
When creating a new employee, the system now pulls the work address from the active company instead of the current user’s company. This ensures employees created in a different company start with the right address automatically.
Original PR description
Steps to reproduce: - Open the Employee app. - Create a new employee in a company different from the current user's company. Issue: - The default address is taken from the current user's company instead of the active company's address. Fix: - Default address now uses the active company's address instead of the user's company. task-5138714 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#230049
This change prevents an error from appearing when someone uploads a non-PDF file in the Sign app while debug mode is enabled. Instead of a traceback, users now see a clear and friendly message explaining that the file type is not supported.
Original PR description
Version: - saas-18.3 Steps to reproduce: - Enable debug mode. - Try uploading a non-PDF file in the Sign app. Before: - Uploading a non-PDF file in debug mode caused a traceback error. - The TemplateAlertDialog component tried to use a message prop that wasn’t defined. After: - Replaced the use of the undefined message prop with the correct body prop to display the error message. Impact: - Fixes the traceback error in debug mode. - Shows a clear and user-friendly error message when uploading unsupported file types. task-4828439 Forward-Port-Of: odoo/enterprise#89081
This change corrects a test that was failing when a project was added because it was using the wrong user context. By running the project with the expected project user instead of superuser access, the test now matches the intended business behavior.
Original PR description
In commit [1], a new test was added, but it fails because the result of `template_values` does not match the expected outcome. The failure occurs at line [2], where the method `_get_profitability_values` is called with the project's environment. This environment includes the superuser, which causes the discrepancy in the result. This commit resolves the issue by calling the project (self.project_goats) with the user set to `self.user_projectuser`. [1]: https://github.com/odoo/enterprise/commit/29c6e1d648218219c718a0448fffb8b8444af5df [2]: https://github.com/odoo/odoo/blob/fad692777e90f3c91f91d2a91e706f8bdb64a08a/addons/project/models/project_update.py#L116 runbot-233851
The app creator in Studio now uses a border color that stands out against the background. This makes checkboxes and other boundary elements easier to see while building an app, improving usability and reducing confusion.
Original PR description
Before this commit : when creating an app using the studio, none of the borders were visible, including the checkboxes in the app creator, because the background color of the app creator and the border color were the same. After this commit: the border color for the app creator has been changed to make it visible. task-5138669
This update corrects how the empty-state helper is displayed in the Gantt view. It prevents the helper’s faded overlay effect from appearing on top of other interface elements, improving readability and avoiding visual overlap issues.
Original PR description
This commit resets the `position` and `top` attributes in `gantt_view.scss` causing the previously implemented opacity blur effect of the nocontent helper to wrongly appear on top of some components. task-5245728
This update adds a test to make sure channel mentions are preserved when a user edits a message using the ArrowUp shortcut in the composer. It helps prevent message edits from dropping important channel references, which keeps conversations accurate and easier to follow.
Original PR description
Follow-up of https://github.com/odoo/odoo/pull/229546 Add a test to verify that mentioned channels are correctly restored when editing a message using the ArrowUp shortcut in the composer.
The Discuss command palette now uses smaller avatars on desktop so it matches the rest of the Discuss interface. This makes the list look more consistent and allows more results to be visible at once, while keeping the larger mobile layout unchanged.
Original PR description
Discuss command avatar were much bigger than rest of discuss UI, such as discuss sidebar. Discuss sidebar avatar size was reduced in 19.0, but discuss command palette still had big size like before this change. This commit fixes the issue with reduced size. To compensate with reduced size, more items are shown at once. This change only applies to desktop: in mobile the avatar need to be bigger, so this commit doesn't affect small UI. Part of Task-5227387 Before <img width="1280" height="946" alt="Screenshot 2025-11-10 at 12 59 56" src="https://github.com/user-attachments/assets/532c7d7f-a381-43f4-8a65-b0e3db7d6809" /> After <img width="1281" height="946" alt="Screenshot 2025-11-10 at 12 59 43" src="https://github.com/user-attachments/assets/9e018c92-a862-4aee-a2ad-dadd880b21f3" />
This change updates a manufacturing accounting test so it matches the latest way production duration is calculated. It ensures the test reflects the current logic and prevents false failures in automated checks.
Original PR description
### Issue: This is caused by changing the duration inverse in #233777. ### Cause: Before #233777, in duration inverse, only sum of `time_ids` was taken into account to calculate the `duration`. After that PR, `time_ids` with `get_working_duration` are also taken into account which cause this test fail. runbot-233742 Forward-Port-Of: odoo/odoo#234305
When users click a channel from the Kanban view in Discuss, the channel now opens in the form view as expected. This makes it easier to review and manage channel details without extra steps.
Original PR description
**Steps to reproduce:** Open 'Discuss' Click on 'Channel' in the menu to display channels in kanban view Click on any channel **Cause**: The action 'mail.discuss_channel_action' did not include form view in view_mode. **Effect**: Clicking on a kanban card does not display the form view. **Fix**: Open the form view of a channel when clicking on a kanban card. Task-5076555 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#227668