Wednesday, November 12, 2025
5 changes · saas-18.3
Enhancements to existing features
This change speeds up how Odoo calculates invoice and journal entry amounts, especially when there are many lines to process. It reduces waiting time and memory usage, which makes large accounting operations noticeably faster and more efficient.
Original PR description
Currently performance on `_compute_amount()` is bottlenecked by `__get__()` calls on fields on `line_ids`. We tackle this bottleneck by warming the cache with `fetch()` Benchmark on reconciling 2 account moves with ~70k lines each | |Total Time|Allocated Memory|Queries| |----------|----------|----------------|-------| |Before |43.23s |2GB |993 | |After |18.60s |1GB |693 | opw-5098543 Forward-Port-Of: odoo/odoo#234656
The point-of-sale opening flow no longer checks whether blackbox drivers are up to date. This streamlines session start, while outdated drivers will still trigger an error when a blackbox feature is actually used, so users are protected without an extra startup step.
Original PR description
When introducing the blackbox queue service, we added a check at the opening of the POS to ensure that the blackbox drivers were up to date. This check is done at the start of session opening. It is now not necessary anymore, if the drivers are not up to date, an error will also be shown to the user when they try to use a blackbox functionality.
This update adds a simpler way to select elements by their exact text in Hoot test selectors. It replaces a more complex matching pattern with a clearer option, making tests easier to read and maintain without changing business behavior.
Original PR description
This commit adds the ':text()' pseudo-class to the list of supported pseudo-classes in Hoot selectors. Its purpose is the same as ':contains()', with the specificity of being an *exact* match instead of a *partial* one. It effectively replaces ':contains(/^<expression>$/)' by ':text(<expression>)', improving the readability and making the developer experience a bit nicer. Enterprise: https://github.com/odoo/enterprise/pull/98772 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#234989 Forward-Port-Of: odoo/odoo#234331
This update switches some internal test checks to a more precise text-matching method. It helps keep automated tests stable and reduces the chance of false matches when checking on-screen text.
Original PR description
This commit replaces all found occurrences where ':contains' (with an exact match regular expression) could be replaced by ':text'. Community: https://github.com/odoo/odoo/pull/234331 Forward-Port-Of: odoo/enterprise#99130 Forward-Port-Of: odoo/enterprise#98772
The point of sale now shows clear error messages when the fiscal device is disconnected or when the social security number is missing. It also tells users what to do next, which should reduce confusion and help staff resolve issues faster.
Original PR description
We now display an error when the FDM is disconnected, or when the user needs to fill in the social security number. We also advise what to do in such cases.