Thursday, May 14, 2026
7 changes · saas-18.4
Resolved issues and error corrections
This update fixes an internal point of sale test by making it look for the shipping date more precisely on receipts. It helps prevent false test failures caused by language or localization differences, improving release stability without changing customer-facing behavior.
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
This fix ensures scheduled cloud storage migrations can upload multiple attachments in one run even when time limits are configured as unlimited. It helps migrations complete more reliably without unnecessary repeated cron executions.
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
A malformed tag in a web reporting test was corrected so the test works reliably with newer XML processing software. This is an internal quality fix that helps keep automated checks stable and does not change user-facing behavior.
Original PR description
This commit fixes a malformed HTML/XML tag in TestReports. Note: before libxml2 v2.14.0, this issue was automagically cleaned up, but not anymore. Note: backport of https://github.com/odoo/odoo/pull/258569 Forward-Port-Of: odoo/odoo#264330
The update stops users from linking an attachment to itself, which previously caused errors when viewing attachments. This protects attachment access from breaking and keeps records usable through both the interface and backend validation.
Original PR description
Currently, users have the option to attach an ir.attachment to itself. This causes a recursion depth error when accessing attachments. This commit prevents this in the UI and the write. Firstly, the ir.attachment does not show itself in the dropdown when selecting the resource ID. Second, the write raises a UserError if attempting to write an ir.attachment with the same ID as the Resource ID. Steps to reproduce: 1. Create an attachment and save 2. Set the Resource Model `(res.model)` to "ir.attachment" 3. Select the same attachment in Resource ID `(res_id)` 4. Attempt to view attachments: `RecursionError: maximum recursion depth exceeded` opw-6206075 closes #263591 Forward-Port-Of: odoo/odoo#264439 Forward-Port-Of: odoo/odoo#263591
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 data and improving performance for users. This change enhances the user experience and reduces loading times.
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 optimizes PDF document generation by compressing files after merging, leading to significantly smaller file sizes. It also addresses a memory issue in the PDF processing, improving overall system performance, particularly with large documents. The change resulted in a 75% reduction in file size and a faster print time.
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
This update resolves a technical issue impacting invoice accuracy for Mexican VAT (SAT) compliance. Specifically, it corrects a rounding problem that caused discounts to be hidden on invoices with many items, leading to validation errors. This ensures invoices meet SAT requirements and avoid potential disruptions to financial reporting.
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