Friday, February 27, 2026
1 change · saas-18.4
Enhancements to existing features
Odoo now avoids repeating unnecessary file checks when processing the same language or regional setting many times. This reduces avoidable system work and can improve performance in pages or reports that handle many dates or localized values.
Original PR description
`babel.Locale.parse` checks if a locale is valid by calling `os.path.exists` on the resolved filename for the locale (this is done in `babel.localedata.exists`). Babel does have a locale cache which it checks, but currently that cache is only populated when the locale is actually loaded[^1], therefore in cases where we instantiate a significant number of locales but never actually need to load locale data (e.g. formatting a significant number of datetimes, in qweb, using only non-localised patterns) this results in severe FS traffic for no reason. [^1]: python-babel/babel#1254 has been submitted to fix this issue Forward-Port-Of: odoo/odoo#250888 Forward-Port-Of: odoo/odoo#249795