Tuesday, July 29, 2025
3 changes · 18.0
Enhancements to existing features
Task searches in Projects were slowed down by checking task IDs alongside task names. This change removes the ID check from the standard search form, making name searches much faster on large databases while preserving the main task search experience.
Original PR description
### Issue Slowness when searching for tasks in a database containing ~430K `project.task` records. ### Analysis When searching for tasks by name, the `id` field is passed to the filter domain. This results in a suboptimal query plan, as the `id` field is cast as `text` in an `OR` leaf: ` [...] AND ((unaccent((name)::text) ~~* '%test%'::text) OR ((id)::text ~~* '%test%'::text)) [...]` Furthermore, since refactoring the web routes, the necessity of searching for an `id` in the search form has greatly diminished. ### Benchmarks Benchmarking the generated query using `\timing` in `psql`: | Number of records | Before | After | | -- | -- | -- | | 430K | 2.3s | 3ms | During high-usage periods, the query took up to ~10.8 seconds. #### References opw-4845258 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#219959 Forward-Port-Of: odoo/odoo#219901
Updating account codes through account mapping is now optimized to avoid unnecessary recalculations across many accounting entries. This helps prevent memory errors and improves reliability for companies with large accounting datasets.
Original PR description
Description of the issue this commit addresses: Changing the account code via account mapping triggers a recompute of all related account.move fields (such as always_tax_exigible), which can cause memory errors or severe performance issues when many moves are concerned. --- Desired behavior after this commit is merged: Memory errors are avoided. --- Details on the fix: Optimize account code updates by batching SQL writes and only updating codes that have actually changed, avoiding unnecessary ORM recompute cascades and improving performance for large datasets. --- opw-4951670 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
After a successful self-order payment, customers are now taken directly to the next step instead of seeing an extra confirmation screen. This streamlines the checkout experience and reduces unnecessary waiting or taps.
Original PR description
Before: = - A payment confirmation screen used to appear after a successful transaction. After: = - The flow now skips the payment confirmation screen and moves directly to the next Screen. Task: 4836123 Forward-Port-Of: odoo/odoo#213481