Monday, June 8, 2026
10 changes · saas-18.4
Resolved issues and error corrections
The task menus now hide the “Show Sub-Tasks” option in places where subtasks are not relevant, including mobile My Tasks and To-do views. This avoids confusing users with controls that do not work for the current view.
Original PR description
Steps to reproduce: - Install project - Open the My Tasks menu on mobile view Issue: The "Show Sub-Tasks" option was visible in the My Tasks menu on mobile view. Cause: The condition only applied `showTaskOptions` to the desktop part of the expression, so the dropdown was still rendered on mobile when there were no embedded actions. Apply `showTaskOptions` to the whole condition to properly hide the dropdown in the My Tasks mobile view. Fix-2: Steps to reproduce: - Install project_todo Issue: The Show Sub-Tasks button was visible in project_todo views even though To-do items do not support subtasks. Fix: Ensure that the Show Sub-Tasks button is hidden in project_todo views. task-6026239
Turkish e-invoice PDFs retrieved through Nilvera are now attached correctly to invoices. This prevents failures on newer Python versions and helps users reliably access invoice PDF documents.
Original PR description
This commit resolves an error encountered when running on Python 3.14, which enforces stricter base64 validation. When adding a PDF to the invoice, the PDF is fetched using the Nilvera client. This client performs an HTTP request and returns a raw binary response, not a base64 representation. However, the Attachment interface handles raw binary data via the 'raw' field, whereas the 'datas' field strictly expects base64-encoded values. runbot-938173 Forward-Port-Of: odoo/odoo#266718
The Contacts app now keeps its Configuration menu in the intended last position when other modules add menu entries. This prevents confusing menu reordering and helps internal or third-party add-ons fit cleanly into the Contacts menu structure.
Original PR description
## Description of the issue/feature this PR addresses The “Configuration” menu item defined by the *Contracts* module uses a very low sequence value, causing menu ordering conflicts when other…
## Description of the issue/feature this PR addresses The “Configuration” menu item defined by the *Contracts* module uses a very low sequence value, causing menu ordering conflicts when other modules (e.g. [OCA](https://github.com/OCA/partner-contact/pull/2202/files)) add menu items in the same section. This affects not only external modules but also internal ones that add menu items under *Contacts*. ## Current behavior before PR When other modules add new menu items to *Contacts*, the *Configuration* menu moves out of its intended last position, breaking Odoo’s default menu hierarchy. <img width="467" height="148" alt="Behavior before PR:" src="https://github.com/user-attachments/assets/4cb6e3bb-00c0-4636-87de-c51b572dc42c" /> ## Desired behavior after PR is merged The sequence of the *Configuration* menu item is adjusted so that it always remains last, aligning with Odoo’s default menu hierarchy and avoiding friction between modules. <img width="467" height="148" alt="Behavior after PR is merged" src="https://github.com/user-attachments/assets/314c2556-5f2b-403d-af8d-ab550bff41a9" /> --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#234909
This fix ensures employee out-of-office return dates display correctly in Discuss for users in negative time zones. It prevents the date from appearing one day early, reducing confusion about employee availability.
Original PR description
Issue: ---------------------------------------- When in a negative timezone, the "Out of Office until..." text in discuss shows the day before. Steps to reproduce:…
Issue: ---------------------------------------- When in a negative timezone, the "Out of Office until..." text in discuss shows the day before. Steps to reproduce: ---------------------------------------- - Change the timezone of the user to "America/Toronto" for example - Have an employee currently on leave until tomorrow - Open discuss to chat with this employee - The "Out of Office until..." shows today's date Cause: ---------------------------------------- When calling `toLocaleString()` without a timezone specified in the options, the date is converted to local time (in the browser's timezone). Here `persona.out_of_office_date_end` is just a date, `deserializeDateTime()` converts it to a timestamp, so the same day at 0am. Then if the timezone is negative, the timestamp becomes an hour the previous day when calling `toLocaleString()`. The format we give `DateTime.DATE_MED` doesn't include hours, so we just display the previous date. Solution: ---------------------------------------- Add `timeZone:"UTC"` in the options to avoid the timezone conversion. opw-6252040 Forward-Port-Of: odoo/odoo#268341 Forward-Port-Of: odoo/odoo#267479
Users now see a loading effect while large file previews are being prepared. This prevents the preview screen from appearing frozen during long downloads or rendering, improving confidence and usability when opening big attachments.
Original PR description
When previewing a big file, the download might take long and the rendering might take even more time. The UI is blocked until the iframe is ready, but there is no feedback for the user. This commit adds some loading feedback until the iframe is rendered. Steps to reproduce: - Go to a Knowledge article - Upload a file with `/file` - Add a huge JSON file (~30MB) - Save - Click on the file icon => The preview opened but took ages to be displayed without giving any feedback to the user task-6014223 Forward-Port-Of: odoo/odoo#264136
This update resolves an issue that prevented proper testing of the l10n_de_pos_cert module when duplicating databases. Specifically, the commit removes client and tss identifiers during duplication, allowing for seamless testing in neutralized database environments. This ensures consistent and reliable testing of the module's functionality.
Original PR description
In this commit: -------------------- - On a duplicate database `client_id` and `tss_id` are removed so it works as test in neutralized dbs without throwing errors. task- 5457231 Forward-Port-Of: odoo/enterprise#104119
This update corrects a setting that was automatically generating CFDI invoices for all orders placed through the e-commerce website. Previously, invoices weren't automatically generated for e-commerce orders, which is now the intended behavior. This change ensures that invoices are only created when a customer provides their information.
Original PR description
There is no reason why we would always cfdi to public when creating orders from the e-commerce. When the customer give all their info, the invoice should not be cfdi to public. opw-6180766 Forward-Port-Of: odoo/enterprise#119442 Forward-Port-Of: odoo/enterprise#116061
This update simplifies how spreadsheet documents are managed within Odoo, reducing unnecessary data and improving performance. By disabling versioning for spreadsheets and frozen spreadsheets, we prevent duplicate history and document creation. This change ensures a smoother and more efficient experience for users working with these file types.
Original PR description
Spreadsheet documents already manage their own history through spreadsheet revisions. Running generic Documents versioning on top of that creates unnecessary history attachments and additional documents when spreadsheet data is written or when a spreadsheet is copied. Keep the default Documents versioning behavior for regular documents, but allow spreadsheet and frozen spreadsheet documents to opt out of Documents versioning. Also hide the Manage Versions action for those records. This PR combines: * a backport of enterprise commit 0e319d063ae868d6e48e9fd6741caf5156308eae disabling Documents versioning for spreadsheets; * a follow-up change hiding the Manage Versions action for spreadsheet records. Task: 6236496 Forward-Port-Of: odoo/enterprise#118484
This update corrects a previous issue in the Swiss payroll module (l10n_ch_hr_payroll) that incorrectly calculated activity rates based on individual employees. Now, the calculation is based on the Odoo version, ensuring consistent and accurate reporting for Swiss payroll accounting. This change improves the reliability of payroll data.
Original PR description
…ployee
This update addresses a change in how Chrome 148 displays Sundays when using the th_TH locale. The fix adjusts the test to accommodate the browser's Intl API output, ensuring consistent and accurate date formatting for Thai users. This maintains correct date presentation without requiring any new functionality.
Original PR description
Chrome 148 changed the display format for Sundays in the th_TH locale. This commit modifies the test to expect either the full or abbreviated day name, depending on what the browser Intl API actually returns.