Daily updates from Odoo
Sunday, June 22, 2025
5 changes · master
Enhancements to existing features
List, Kanban, and Form views can now reuse securely stored browser data so pages open faster while fresh information is loaded in the background. If newer data is found, the view updates automatically, and caching can be turned off for specific actions when needed.
Original PR description
This commit implements a caching system for the data used in List, Kanban and Form views, with the aim of increasing loading speed. It modifies the PersistentCache system, introduced in [1], to be able to call a callback (`onUpdate`) when the RPC finishes and the data differs from the cached data. This new callback allows the relational model to re-render the view when the latest data arrives. Please note that, for security reasons, all the stored data in the browser is encrypted using the `AES-GCM` algorithm (see [2]). If necessary, caching of the data could be disabled for a specific action, by setting the `cache` field (introduced in this commit) to `False`. [1] : https://github.com/odoo/odoo/commit/f3d955b3235cb256bda79e834df38da0f6a4ac1a [2] : https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/encrypt#aes-gcm task-id: 4479845 Co-authored-by: Aaron Bohy <aab@odoo.com>
This update improves automated website and portal test tours by explicitly marking steps that navigate away or reload the page. It helps make testing more reliable across appointment, documents, helpdesk, point of sale, sign, planning, and localization flows without changing normal user functionality.
Original PR description
In this commit, we add expectUnloadPage to steps that require it to explicitly declare that the step will cause the page to be unloaded.
Timesheets can now be entered and reviewed in a calendar view, making it easier to plan work across multiple employees and days. This improves data entry speed and helps reduce mistakes when creating many timesheet entries.
Original PR description
Task-4760337
Subscription payment links now take customers to the clearer customer portal page instead of a generic payment page. If the subscription is still a quote, customers are sent to the standard sales order portal flow, making the payment journey easier to understand.
Original PR description
Payment links will redirect the user to the subscription portal view instead of the `/payment/pay` route, which was unclear for the user. When the subscription is still a quote, it will redirect to the Sales Order portal view, following the standard flow logic. task-3087715 See also: - https://github.com/odoo/odoo/pull/162177
Manufacturing order costs can now use the planned duration of a work order when the operation is configured for estimated costing. This helps produce more realistic costs and inventory valuations when workers spend time on an operation but only briefly record activity in Odoo.
Original PR description
The cost of a MO is currently based on the actual time. In the case a worker worked 3 hours but only logged in Odoo to register a serial number, the actual time would only be a few seconds. For this reason, we are adding the possibility to compute the cost based on the duration_expected of the workorder. The conditions to use the duration_expected are: - the workorder is linked to an existing operation - the cost_mode of the operation is set to 'estimated' - there's a duration_expected on the workorder This affects the MO overview and the valuation layers. task 4850419