Friday, August 28, 2026
6 changes · saas-19.3
Enhancements to existing features
Job listings now only offer working schedules that match the job's company. This helps recruiters keep postings consistent and avoids selecting invalid schedules for a company.
Original PR description
In order to maintain proper job listings and make sure all working schedules are valid, working schedule domain is now depeding on the job listing company. Task: 6408914 Forward-Port-Of: odoo/enterprise#129199 Forward-Port-Of: odoo/enterprise#128241
Recruitment job listings now limit available working schedules based on the company tied to the job. This helps keep job postings consistent and prevents invalid schedule choices across companies.
Original PR description
In order to maintain proper job listings and make sure all working schedules are valid, working schedule domain is now depeding on the job listing company. Task: 6408914 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#284487 Forward-Port-Of: odoo/odoo#282993
Neutralized test databases will no longer keep a placeholder Belgian POS fiscal identifier. This allows businesses to detach the blackbox from a POS configuration and use the POS normally in test environments.
Original PR description
When a database is neutralized, the fiscal data module keeps a dummy l10n_be_pos_id on every pos.config. As long as this value is set, the blackbox cannot be detached from the configuration, which blocks any use of the POS on a neutralized (test) database. Empty the field instead of setting a dummy identifier, so the blackbox can simply be removed from the config and the POS used normally.
Mail test checks now retry pending content matches every 500ms instead of waiting up to 10 seconds for certain UI changes. This reduces wasted test time and helps the team get quicker, more reliable feedback without changing customer-facing behavior.
Original PR description
Before this commit, a contains that does not match right away runs again only when its MutationObserver fires, and once more at the 10 seconds timeout. The problem is that the observer reports neither a text node updated in place nor an input value or checked property, so a check waiting for one of those sleeps 10 seconds and then passes: "Delete starred message decrements starred counter once" spends 10.2s of the 183s @mail suite waiting for a counter to go from "Starred3" to "Starred2". This commit turns that single timeout into a 500ms tick up to the same deadline, so that such a check costs 500ms. The tick uses the unmocked timer to stay out of the timer graph a test drives with runAllTimers, and only 32 of the suite's 4239 contains calls stay pending long enough to tick once. Forward-Port-Of: odoo/odoo#285129 Forward-Port-Of: odoo/odoo#284944
This update adds database indexes that make it faster to verify whether an account can be deleted. It helps reduce delays in accounting and point of sale workflows when removing unused accounts.
Original PR description
Without these indexes, the foreign key check when deleting an account can take a long time. Forward-Port-Of: odoo/odoo#284780
This update improves the German reports module by making account deletion checks faster. It reduces delays when removing accounts, helping users complete maintenance tasks more smoothly without changing visible workflows.
Original PR description
Without these indexes, the foreign key check when deleting an account can take a long time. Forward-Port-Of: odoo/enterprise#129403