Wednesday, April 22, 2026
8 changes · saas-19.3
Enhancements to existing features
This update improves how work entry source values are merged in the HR work entry process. It helps ensure work entry data is combined more reliably, reducing the risk of inconsistencies in payroll-related records.
Original PR description
Task: 6119891 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
The Moves Analysis report now shows the date of each stock move directly in the list view, instead of hiding it behind debug mode. This makes it easier for users to review movement timing and understand inventory activity at a glance.
Original PR description
The date of the move is a basic and important information. Show it on the 'Moves Analysis' report list view, previously was only displayed in debug mode. task-5380628 Forward-Port-Of: odoo/odoo#254999
Discuss messages can now display and edit code blocks more naturally. This improves the experience for users sharing technical snippets by keeping formatting clear and showing code in a readable way when messages are viewed.
Original PR description
splitting the code block plugin from the font plugin, and make it available in mail composer. use the syntax highlighting embedded component to render code blocks in readonly mode in the message bodies. task-5262721 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The system now checks for missed notifications as soon as a user connects to the messaging socket, instead of relying on a separate page-watcher process. This simplifies the flow and makes the warning about lost updates more dependable when a connection is interrupted.
Original PR description
The outdated page watcher service tries to guess if the bus table was GCed during disconnect to warn the user about missed notifications. To do so, it has a complex logic, deeply coupled to the websocket lifecycle events and requires an RPC request to check if the server still knows about the last notification received. It would be much simpler to check this when first subscribing to the socket. This commit implement this solution. part of task-6144132
The 0% S tax for Belgium now uses the correct exemption code and exemption reason. This helps ensure invoices and tax reports reflect the right legal classification and reduces the risk of reporting errors.
Original PR description
The tax 0% S had a wrong tax exemption code and tax exemption reason. This commit corrects it. Task-6127195 Forward-Port-Of: odoo/odoo#259639
The website editor now uses a lightweight SVG placeholder for the video snippet preview instead of relying on a video file. This reduces ongoing maintenance and makes the preview more reliable over time.
Original PR description
Prior to this PR, the `s_video` inner snippet was using a video as placeholder, which implied maintenance to ensure the video is always available. To avoid maintenance and ensuring long term effectiveness, we replace this video with a `SVG` placeholder, similarly to what has been done for the `s_image`. task-5441285 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#260042
The help text for the Invoicing Switch Threshold has been updated to be more precise. It now clearly explains that all entries created by invoicing before the threshold date are ignored, avoiding confusion for users setting up the switch.
Original PR description
The previous "Invoicing Switch Threshold" explanation was misleading as it said only invoices prior to the threshold date is not taken into account. The explanation is updated to state that all entries created by Invoicing before the threshold date will be ignored. task-5940144 Forward-Port-Of: odoo/enterprise#113635
After synchronizing databases with Odoo.com, the system now tries to create a database-specific API key instead of relying on one global key. This reduces unnecessary validation calls and can speed up database access by around half a second in some cases.
Original PR description
Before this commit, databases fetched from Odoo's SaaS were contacted using the global API key, which is more costly than using a key local to each database. Avoiding the call from the server to Odoo to check the foreign API key can spare about 500ms on each database where this key is not in the LRU. With this commit, after the synchronization with Odoo.com, we try to generate an API key on each database that doesn't have one yet. To do so, it relies on the API introduced by odoo/odoo#246118. Forward-Port-Of: odoo/enterprise#114406 Forward-Port-Of: odoo/enterprise#106372