Tuesday, October 28, 2025
3 changes · 17.0
Enhancements to existing features
The Italian localization no longer allows outdated tax exemption reason codes that the Italian Tax Agency now rejects. This helps businesses avoid invalid electronic invoices by using the newer, more detailed codes already available in Odoo.
Original PR description
There are old Natura (l10n_it_tax_exemption_reason) that are deprecated in favour of more detailed ones. We already have the detailed ones, but we allow the old values, but the Tax Agency considers them invalid already. ref: https://fex-app.com/FatturaElettronica/FatturaElettronicaBody/DatiBeniServizi/DatiRiepilogo/Natura
Stock movement validation is faster when putaway rules are involved because the system now reuses the same location calculation across related move lines. This reduces repeated work and can significantly cut processing time for large warehouse operations.
Original PR description
Previously when validating a movement with a location that is used in a rule, move_dest_ids was set which led to it going to check the putaway strategy. The bottleneck was the computation of the computed field child_internal_location_ids which is the same across all smls. This PR utilizes the fact that the smls in the same stock_move would have the same destination location and by proxy the same child_internal_location_ids Speed up: 1000 stock move lines: Before: 2 mins After: 1 mins --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Odoo VoIP now tries to close unused phone registrations when a browser tab is closed and shortens how long abandoned registrations remain active. This helps prevent users from hitting provider limits when they have multiple Odoo tabs open or close tabs unexpectedly.
Original PR description
Some providers like OnSIP allow for a limited number of registrations per user. This is a problem in Odoo because each tab opened creates a new registration for one hour. This commit mitigates the problems in two ways: - Sends an "unregister" request onbeforeunload to try to invalidate the registration upon closing the tab. - Reduces the TTL of registrations so that they get invalidated quicker in case the unregistration failed.