Friday, September 11, 2026
5 changes · saas-19.4
Enhancements to existing features
The online shop search has been optimized by adding missing database support for product description filtering. This should make product searches and filters dramatically faster, improving the shopping experience and reducing delays for customers.
Original PR description
### Description: Following commit e9d435d1c865e1f462ce2e4bb2c0715ec97c8b10, some fields were missing proper indexes, causing the e-commerce search to be slow. This commit adds an indexes on `description_ecommerce` to optimize the filters of the query. ### Benchmark: | Nb of product | Before | After | |-----------------|----------|---------| | 747 | 6m 15s | 91 ms | ### Reference: opw-6513905 ___ I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#287528 Forward-Port-Of: odoo/odoo#287381
Obox actions are now retained for 24 hours instead of 3 hours. This gives teams more time to investigate and debug issues up to a day after they occur, with no expected impact on end users.
Original PR description
We now keep obox actions for 24h instead of 3h to be able to debug until one day after. Forward-Port-Of: odoo/enterprise#130965
The Mexico electronic invoicing flow now records when an automatic cancellation cannot be completed. This gives support and accounting teams clearer information to investigate cancellation issues that were previously ignored silently.
Original PR description
In the current state, when an edi document is set to cancelled, the journal entry will attempt to cancel. However, if the cancellation throws a `UserError`, the flow simply continues. This PR adds a logger call to record the failure and help investigate the potential causes. Forward-Port-Of: odoo/enterprise#123511
The Belgian payroll configuration now includes an updated value for the training time off threshold. This helps payroll calculations stay aligned with the latest required parameter for Belgian HR payroll processing.
Original PR description
add new value to the training_time_off_threshold salary rule param. task-6545545 Forward-Port-Of: odoo/enterprise#131080
Log entries now show the real execution time even when tests use simulated dates. This makes runbot logs easier to interpret and helps teams analyze how long test steps actually took, while keeping simulated-time details available when needed.
Original PR description
When using faketime the logs are not showing the real time but the faketime one which can be confusing when listed in the runbot interface. Before the usage of the JSONFormatter, the logs were using the PostgreSQL time, which is the real time. This restores the previous behaviour. Having the faked time oustide JsonFromater is also painful: long running faketimed tests end up with most of their logs stamped to nearly the same real date, preventing any analysis of execution time based on the logs. One drawback of this change is the inability to identify at first sight whether a log was faketimed or not, but at this point it is just a tradeoff, and the faked_created field on the record still allows getting this info if needed. Forward-Port-Of: odoo/odoo#287455 Forward-Port-Of: odoo/odoo#287159