Wednesday, August 19, 2026
4 changes · 19.0
Resolved issues and error corrections
The online shop now handles malformed product variant links safely instead of showing an internal error. Invalid variant values in the URL are ignored, while normal product links continue to work as before, improving reliability for shoppers and support teams.
Original PR description
Steps to produce: --- - Install the `website_sale` module. - Open the `Customizable Desk` product page. - Append `-` to an `attribute_values` value in the URL. Issue: --- - A malformed variant URL such as `88--` causes a traceback: `ValueError: invalid literal for int() with base 10: '88--'` Root cause: --- - This happens because the product page directly converts URL-provided attribute values to integers using `int()`. When a malformed value is provided, the conversion raises a `ValueError`, resulting in an internal server error. Solution: --- - Use `_unslug()` to validate and parse attribute values before using their IDs. Invalid values are ignored, while valid values continue to be processed normally. - This prevents malformed variant URLs from causing a traceback while preserving the existing behavior for valid URLs. opw-6458571 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The SMS Marketing screen no longer shows the Insert Field option when a message is read-only, such as in Sent or Sending stages. This prevents users from hitting an error when viewing completed SMS campaigns and keeps the interface aligned with what can actually be edited.
Original PR description
Steps to reproduce ---------------------------------------- 1. Install the SMS Marketing module (mass_mailing_sms). 2. Open any SMS Marketing record in the "Sent" or "Sending" stage. 3. Click on the…
Steps to reproduce ---------------------------------------- 1. Install the SMS Marketing module (mass_mailing_sms). 2. Open any SMS Marketing record in the "Sent" or "Sending" stage. 3. Click on the "Insert Field" button. Observation ---------------------------------------- Traceback Occurs: ``` TypeError: Cannot read properties of null (reading 'getRootNode') ``` Issue ---------------------------------------- The SMS widget displays the "Insert Field" button even when the SMS message field is readonly. The button relies on the textarea reference to open the dynamic fields popover, but the textarea is only rendered in editable mode. The readonly behavior of the text field can be seen here: https://github.com/odoo/odoo/blob/ccce9fcc79edcfb1f310b49a16de8235d987b74b/addons/web/static/src/views/fields/text/text_field.xml#L5-L7 However, the SMS widget still renders the "Insert Field" button without checking whether the message field is readonly: https://github.com/odoo/odoo/blob/ccce9fcc79edcfb1f310b49a16de8235d987b/addons/sms/static/src/components/sms_widget/fields_sms_widget.xml#L6 As a result, clicking the button in readonly mode tries to access an unavailable textarea reference to open the dynamic fields popover, causing a traceback. Solution ---------------------------------------- Hide the "Insert Field" button when the SMS message field is readonly, preventing the dynamic fields popover from being opened when the textarea reference is unavailable. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix removes use of a field that was not available in an older supported version, preventing errors in the Saudi e-invoicing flow. It helps keep the localization stable across versions without changing day-to-day functionality for users.
Original PR description
the field l10n_sa_edi_is_production was introduced in 19.0, so it was never supposed to survive the backport to 17.0 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#282232
Peruvian accounting reports now use the exchange rate already saved on each accounting entry instead of recalculating it during report generation. This avoids small rounding differences and helps produce more reliable report figures.
Original PR description
Previously, the `_get_ple_report_data` method computed the currency rate when called. Since the calculation was based on the entry totals, it was prone to rounding errors. This PR makes it use the rate stored in the entry itself. This should lead to more accurate results. opw-6411322 Forward-Port-Of: odoo/enterprise#126882