Thursday, May 14, 2026
8 changes · 19.0
Resolved issues and error corrections
This fix ensures cloud storage migration jobs can continue uploading multiple attachments even when time limits are configured as unlimited. It helps prevent migrations from stopping too early, making large attachment transfers more reliable.
Original PR description
make the `limit_time_real > 0` when --limit-time-real-cron=0 --limit-time-real=0 to allow multiple attachments to be uploaded in a single cron job. 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#264328
This fixes an automated check for point of sale receipts so it consistently identifies the shipping date regardless of localization. The change helps prevent false test failures and supports smoother maintenance of receipt-related functionality.
Original PR description
Issue: ====== - The test used the selector `.pos-receipt-order-data div` to retrieve the shipping date. - This selector is not specific and matches different elements depending on localization. Fix: ==== - Add a specific class `shipping-date` to the shipping date element and update the test to use `.pos-receipt-order-data .shipping-date` to avoid incorrect matches. Task-6183114 Error-241995 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#262761
Fixes a crash in the HTML editor that could happen when users selected a captioned image and pressed Ctrl+A. This makes editing pages or content with captioned images more reliable and avoids interrupting users with an error.
Original PR description
#### Description of the issue this PR addresses: - When an image with caption is selected, it is wrapped in a `<figure>`, making `<figure>` the anchor node - `selectAll` was resolving the container using `[contenteditable]`, which keeps `<figure>` as the container even though it is `contenteditable=false` - This leads to `<figure>` being passed to `getDeepestEditablePosition`, which cannot resolve a valid `nodeLevelAncestor` and returns null, causing a traceback #### Desired behavior after PR is merged: - `selectAll` now targets the nearest `contenteditable=true` ancestor instead of any `[contenteditable]` #### Steps to reproduce: - Add image and enable caption - Select the image - Press Ctrl+A task-6174371 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#261968
This update resolves an issue where users with limited planning permissions couldn't copy planning slots to employees with flexible calendars. Now, users with planning manager rights can successfully copy slots, even when moving them to flexible resource calendars, without encountering access errors. This simplifies the planning process for users with restricted access.
Original PR description
**Purpose**: A user with planning manager rights but no access to employee and contract records should be able to copy and movea planning slot to an employee with a flexible resource_calendar without…
**Purpose**: A user with planning manager rights but no access to employee and contract records should be able to copy and movea planning slot to an employee with a flexible resource_calendar without getting an access rights error. **Before this commit:** When copying a planning slot, the system tries to compute the working hours over the period of the slot. This will raise an access rights error if the user doesn't have access to employee and contract records when the slot is moved to a flexible resource_calendar. **After this commit:** The user can copy a planning slot without access rights error with only planning manager rights, even if the slot is moved to a flexible resource_calendar. **Steps to reproduce:** 1.Install Planning and Planning Contract modules. 2.Create a user with only planning manager rights and no access to employee and contract records. 3.Copy a planning slot to an employee with a flexible resource_calendar. opw-6166557 Forward-Port-Of: odoo/enterprise#117180 Forward-Port-Of: odoo/enterprise#115953
This update fixes a bug in the journal report that caused it to repeatedly load the same data when using the 'Load More' feature. The fix ensures that the report correctly handles pagination, displaying only the necessary amount of data and improving performance for users.
Original PR description
Steps to reproduce: - Install `Accounting` module - Accounting > Configuration > Accounting Reports > Journal Report > Options > Set `Load More Limit` to 1 - Accounting > Review > Journal Audit > Expand Sales > `Load more...` The "Load More" button in the journal report was repeatedly loading the same lines because the custom engine query was not applying the offset and limit parameters passed to the method. Solution: Applied pagination to the query by using the `_get_engine_query_tail` helper method from `account.report`, which correctly appends `OFFSET` and `LIMIT` clauses to the SQL query. opw-6193697, 6125082 Forward-Port-Of: odoo/enterprise#116367
This update corrects a problem that caused invoices with many items to fail SAT validation (CFDI40111 and CFDI40108). The issue stemmed from currency precision calculations when applying discounts, particularly with small negative line amounts. This ensures invoices meet Mexican tax regulations and avoid errors.
Original PR description
…any lines Fix SAT validation errors CFDI40111 and CFDI40108 that occur when invoices with many lines contain a small negative line, causing per-line discounts to be hidden due to currency precision. opw-6187014 Forward-Port-Of: odoo/enterprise#117344 Forward-Port-Of: odoo/enterprise#117297
This update optimizes PDF generation by compressing files after merging, reducing their size and improving performance. It also addresses a memory leak issue in the PDF processing library, leading to faster processing, especially with large documents. The result is smaller, faster PDF exports.
Original PR description
When merging pages with pypdf, the resulting content is uncompressed. A compression pass should be done right after to reduce the resulting file size. Additionally, this helps alleviate a memory leak in PyPDF2 where resources in the merged page are not properly released. Newer versions of pypdf (>=3.15.4) do not have this leak but still see benefits in the output file size. In practice the CPU overhead is negligible, and we actually see a speed increase in cases with high memory usage. Benchmark Printing 400 page annual report | |Print Time|Peak Memory|Output File| |------|----------|-----------|-----------| |Before|142s |3.6GB |103MB | |After |127s |0.4GB |5MB | opw-6148786 Forward-Port-Of: odoo/enterprise#117308 Forward-Port-Of: odoo/enterprise#115550
Documentation and clarification updates
Alejandro Martinez has signed Odoo's Individual Contributor License Agreement. This clears the legal requirement for Odoo to review and potentially merge his listed contributions, mainly around Mexican localization improvements and fixes.
Original PR description
## Merge method squash --- I hereby sign the Odoo Individual Contributor License Agreement v1.0. - **Name:** Alejandro Martinez - **GitHub login:** alexmbar - **Email:** alexmbar891@gmail.com -…
## Merge method squash --- I hereby sign the Odoo Individual Contributor License Agreement v1.0. - **Name:** Alejandro Martinez - **GitHub login:** alexmbar - **Email:** alexmbar891@gmail.com - **Country:** Mexico - **Date:** 2026-05-14 Signed file: `doc/cla/individual/alexmbar.md` This CLA covers the following open contributions: - [#264583](https://github.com/odoo/odoo/pull/264583) — [IMP] l10n_mx: add missing es_419 translations for DIOT column names - [#264582](https://github.com/odoo/odoo/pull/264582) — [FIX] l10n_mx: remove redundant domain conditions in DIOT wnc expressions - [#264581](https://github.com/odoo/odoo/pull/264581) — [FIX] l10n_mx: fix inconsistent tree/list naming in res_bank_view.xml - [#264580](https://github.com/odoo/odoo/pull/264580) — [FIX] l10n_mx: add missing translation marker for 'Cash Difference Loss' - [#264579](https://github.com/odoo/odoo/pull/264579) — [FIX] l10n_mx: fix incomplete URL in CLABE field help text - [#264577](https://github.com/odoo/odoo/pull/264577) — [IMP] l10n_mx: improve 'Effectively Paid' translation in es_419 - [#264576](https://github.com/odoo/odoo/pull/264576) — [FIX] l10n_mx: fix duplicate bank record for SPEI code 136 and update BANORTE name