Thursday, April 2, 2026
16 changes · saas-18.4
New functionality added to Odoo
This pull request expands the localization (I18N) support for the Stripe add-on, adding translations into multiple languages including Arabic, Azerbaijani, Bulgarian, and more. These updates ensure the add-on is accessible and usable for customers in a wider range of countries, improving the overall user experience.
Original PR description
Related: https://github.com/odoo/enterprise/pull/111141 Forward-Port-Of: odoo/odoo#257003 Forward-Port-Of: odoo/odoo#254667
This pull request updates the .weblate.json files to include translations for additional Odoo modules. This ensures that all modules within the Enterprise version are properly localized for international users, improving the overall user experience and supporting global expansion.
Original PR description
Related: https://github.com/odoo/odoo/pull/254667 Forward-Port-Of: odoo/enterprise#112678 Forward-Port-Of: odoo/enterprise#111141
Resolved issues and error corrections
This update resolves an issue where line breaks added to quotation template section titles were being removed. The fix ensures section titles remain as single lines, aligning with the intended design and preventing confusion for users. The change corrects a technical detail in how the system renders section names.
Original PR description
Steps to produce: --- - Install `Sales` module. - Go to `Sales > Configuration > Sales Orders > Quotation Templates`. - Create a new template and add a section. - In the section name, add text with…
Steps to produce: --- - Install `Sales` module. - Go to `Sales > Configuration > Sales Orders > Quotation Templates`. - Create a new template and add a section. - In the section name, add text with line breaks using `Shift + Enter`. - Go to sale orders > Create new SO > Set quotation template created above. Issue: --- - Line breaks entered in the quotation template section lines are stripped when the template is applied to a sale order. These intentional sections are meant to be single-line titles; users should create a new section instead of using line breaks within one. Root cause: --- - At [1], the `name` field is defined without the `section_and_note_text` widget. This widget is responsible for rendering section lines as a `CharField` instead of a `TextField`, as seen at [2]. Solution: --- - Add `widget="section_and_note_text"` to the `name` field. This ensures section lines consistently use `CharField`, preventing line breaks from being entered. [1]https://github.com/odoo/odoo/blob/951b44c0ed5ffb90cff6fa2934ca2664d2faa59d/addons/sale_management/views/sale_order_template_views.xml#L96 [2]https://github.com/odoo/odoo/blob/951b44c0ed5ffb90cff6fa2934ca2664d2faa59d/addons/account/static/src/components/section_and_note_fields_backend/section_and_note_fields_backend.js#L79-L86 opw-6034255 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#256058
Features or functions removed from Odoo
This update removes restrictions on which PEPPOL numbers can be used for registration. Previously, only numbers from the PEPPOL list were accepted. Now, Odoo can accept numbers from a wider range of countries, increasing the potential for businesses to participate in the PEPPOL network.
Original PR description
Before this commit, only numbers on the peppol list were able to be registered. Now is possible to add numbers from other countries. Task-6033336 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#254373
Documentation and clarification updates
This pull request updates the contributor list in the Optesis documentation to reflect the correct name, Ibrahima NIASSE EXT, replacing Mame Abdoul Aziz SY. This ensures accurate records of project contributors and maintains consistent documentation.
Original PR description
Replaced Mame Abdoul Aziz SY with Ibrahima NIASSE EXT in the contributors list. 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#256563
This update resolves an issue where the color selector in the HTML editor toolbar was behaving inconsistently. The fix, stemming from a technical update, ensures the test results are reliable and predictable, preventing potential disruptions for users. This improves the overall stability of the HTML editor functionality.
Original PR description
The toolbar is a popover and is therefore affected by [1]. runbot-242071 [1] 54da715 Forward-Port-Of: odoo/odoo#256783
This update resolves a small typographical error within the Odoo testing framework. The fix ensures the tests run smoothly and accurately, maintaining the stability of the base module. This change does not impact any business functionality.
Original PR description
A typo was introduced in #163714 Forward-Port-Of: odoo/odoo#256756 Forward-Port-Of: odoo/odoo#228977
This update fixes an issue where boolean settings linked to configuration parameters were incorrectly interpreted as 'False' in the system. The change ensures that string values like 'False' are correctly parsed as boolean values ('False') when setting configuration options, preventing unexpected behavior and ensuring accurate settings are displayed. This improves the reliability of configuration settings.
Original PR description
When a boolean field on `res.config.setting` tied to `ir.config_parameter` via `config_param` attribute, the value is incorrectly parse as param store `False` as `"False"` and later being shown as `True` on the setting form. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#257033
This update corrects a bug that prevented the correct display of amounts in words for Czech users. A temporary fix was implemented to ensure accurate conversion using the `num2words` library. This will be automatically resolved when Odoo uses a newer version of the library with Ubuntu 25.10 or later.
Original PR description
The `num2words` library has a bug in the language code they used for Czech (`cz` instead of `cs`). This commit adds a monkey patch to map the correct language code to the existing converter class, allowing the amount in words to work in Czech. The issue was fixed in version 0.5.14 of the library, so this patch can be removed once we use Ubuntu >= 25.10 (Python >= 3.13), that contains the fixed version of the library. [opw-6088697](https://www.odoo.com/odoo/project.task/6088697) Forward-Port-Of: odoo/odoo#257105 Forward-Port-Of: odoo/odoo#257031
This update fixes an issue where the cursor wasn't updating correctly in Safari on iOS when the editor was collapsed. By adjusting where the cursor is positioned, the HTML editor now displays the cursor properly across all devices, particularly in Safari, ensuring a consistent and functional user experience.
Original PR description
Before this commit: when we applying format on collapsed cursor, we create a formatted element with ZWS, and set the cursor before the ZWS After this commit: we set the cursor after the ZWS, cause otherwise safari doesn't update the cursor properly leading to unformatted input task-4243977 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#256757 Forward-Port-Of: odoo/odoo#249253
This update resolves an issue where the default email template body wasn't displaying in the full composer view. The fix ensures that the correct template body is populated, regardless of whether the user manually enters content in the composer, improving email communication reliability.
Original PR description
**Issue:** - When opening the full composer from the chatter, the body of the default email template is not loaded. Only the subject line from the template appears, while the body remains empty or…
**Issue:** - When opening the full composer from the chatter, the body of the default email template is not loaded. Only the subject line from the template appears, while the body remains empty or contains only the user's signature. **Steps to reproduce:** 1. Install `contact` 2. Open any contact form. 3. In the chatter, click 'Send message' and then expand button 4. Write a something in body, then save this as a new template. 5. Set this new template as the default (using Debug Mode > Set Default Values). 6. Click 'Send message' in the chatter, 7. Click the 'Full composer' (expand) button without typing anything. **Observed behavior:** - The full composer opens with the correct subject from the default template, but the body is empty. **Cause:** - The `onClickFullComposer` method always passes a `default_body` value in the context to the mail.compose.message wizard. Even if the chatter input is empty **Solution:** - Forward isBodyEmpty in the context from onClickFullComposer. If the user typed content, do nothing. If the body is empty and a default template is available, allow the backend to apply the default template by removing default_body. opw-5405056 Forward-Port-Of: odoo/odoo#254735 Forward-Port-Of: odoo/odoo#239851
This update resolves a bug where the bold formatting action wasn't consistently removing bolding from text selections, particularly when `/file` components were present. The fix ensures that bolding is correctly applied or removed based solely on editable text, improving the note editor's functionality and user experience.
Original PR description
When determining whether the "bold" action is about adding bold or removing bold, non-editable text nodes are also taken into account. Because of this, if the selection contains an embedded component such as `/file`, it always considers bold was not applied on all nodes, and should therefore be applied. The action thus never removes bold. This commit fixes this by only taking into account the editable nodes. Steps to reproduce: - Go to a "To do" note - Add a few lines of text - Add a `/file` in the middle - Select all - Press Ctrl+B: bold is applied on the surrounding text - Press Ctrl+B again => Bold was not removed from the surrounding text task-5955977 Forward-Port-Of: odoo/odoo#249816
This update resolves a technical issue where reports were loading indefinitely, causing performance problems. The fix ensures reports stop loading when the component is destroyed, preventing memory buildup and improving system stability. This enhances the overall responsiveness of the reporting feature.
Original PR description
The preloading of sections would never stop, this is an issue since this would prevent the garbage collector from collecting this big class and all it's objects. We fix this by making sure to stop the reploading when the component is destroyed. It's important to do it this way rather than clearing the timeout as the destruction could happened when the report is loading so the timeout would be unset and a new one would be started. Forward-Port-Of: odoo/enterprise#112662 Forward-Port-Of: odoo/enterprise#112628
This update fixes a testing issue in the Italian tax report XML export process. The tests now correctly include required data for validation, preventing failures and ensuring accurate report generation. This improves the reliability of the tax reporting feature.
Original PR description
Description of the issue this commit addresses: Previously, the testing of the xml exports was only done by generating the file and checking its content against a hardcoded one but a fix[^1] changed that so the tests use the real export flow during which an xsd validation is done. As the tests did not expect to go trough the validation, some mandatory values were not present and it now results in a failing validation (caught in except). [^1]: https://github.com/odoo/enterprise/pull/108548 Desired behavior after this commit is merged: The tests set the l10n_it_codice_fiscale field from which are populated the mandatory CodiceFiscaleDichiarante, CodiceFiscale and CFDichiarante for the xsd validation. opw-5707544 Forward-Port-Of: odoo/enterprise#112629
This update fixes a confusing issue in Odoo's Web Studio mobile interface. Previously, users saw a purple pill on action buttons, leading to accidental clicks instead of button presses. This change removes the pill, streamlining the mobile experience and improving usability.
Original PR description
Steps: - Install `web_studio` - Add an approval rule to any action in any form view (example preview button) - Open this form view - You will have a purple info pill in every action button in the form view This can be confusing for people wanting to click on the button on mobile but instead, they click on the purple pill + we don't even want this opw-5911667 Forward-Port-Of: odoo/enterprise#111770
This update resolves an issue with the Google Gemini integration by standardizing the API base URL. This change ensures consistent communication with the OpenAI-compatible model, improving the reliability and performance of the AI features within Odoo Enterprise. It simplifies the integration process and avoids potential compatibility problems.
Original PR description
This change hardcodes the api version at the base url instead of hardcoding in endpoint url and fixes Google Gemini OpenAI-Compatible base url