Friday, September 4, 2026
4 changes · saas-19.4
Enhancements to existing features
The forum sitemap now loads only the information it needs instead of full post content, avoiding very large memory spikes. This should reduce repeated sitemap failures on high-traffic sites like odoo.com and make sitemap generation more reliable.
Original PR description
On odoo.com, /sitemap.xml fails dozens of times a day with a 500 `MemoryError` before finally succeeding and being cached. The primary cause is the loading of all forum posts. With this commit, we…
On odoo.com, /sitemap.xml fails dozens of times a day with a 500 `MemoryError` before finally succeeding and being cached. The primary cause is the loading of all forum posts. With this commit, we avoid fetching all fields and specifically the `content` field which is html which can contain embeded images in base64. | | Peak memory | |--------|--------| | Before | 1.7GB | | After | 610MB | ### Before <img width="2505" height="400" alt="sitemap-forum-posts-before" src="https://github.com/user-attachments/assets/0ce3aca9-52ed-46a6-ac9b-245c754a08a7" /> ### After <img width="1864" height="291" alt="image" src="https://github.com/user-attachments/assets/6686b0fc-d0ce-4dc2-b2ff-d34e37695104" /> Another approach could be to load posts in batch and free the memory between each batch. It has been measured and yield very similar results in practice. I chose this approach because it matches the future behavior in version 20.0 (see https://github.com/odoo-dev/odoo/commit/fe186b07475cf15a50558d9bdacd0599c17c39be) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#286154
This update adjusts French accounting localization so Monaco is handled in the European Union VAT grouping while also keeping a separate EU group without Monaco where needed. It also adds localization packages for French overseas territories, helping businesses apply the right country-specific accounting and tax setup.
Original PR description
[[IMP] l10n_fr,l10n_fr_account: European union vat](https://github.com/odoo/odoo/commit/9870a204bb64bdf8a11e433eef3a9e9f8f3fad86)
This commit will add Monaco to the European union vat country group and
create a new country group that is the same than the european union but
without monaco
task-6321652
[[ADD] l10n_{gf,gp,mq,re,yt}: new localization](https://github.com/odoo/odoo/commit/58518e1d7df773a70c595bd3842a33ac6be611bb)
Like Monaco, we need to add new localization package for
the drom countries
task-6321652
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#284404The Apps screen now includes an “Others” section for apps that do not fit the Official or Industries categories. This makes the app catalog clearer and helps users find all available apps without misclassification or hidden entries.
Original PR description
This commit adds an `others` section in the `apps` module to show apps that don't belong in the `official` or `industries` sections. task-6522903
The AI update tool now blocks requests that try to update records without specifying a clear filter. This reduces the risk of accidental mass updates while still allowing intentional updates to all records when an explicit matching rule is provided.
Original PR description
The llm can hallucinate and call the update tool with an empty domain which will result in performing the updates on all the records of a certain model. To prevent hallucinations and at the same time allow the llm to update all the records if it actually needs to, an error is thrown if the domain is empty stating that updating with an empty domain is prohibited and a domain that matches all records should be used instead. This will make the llm conscious about passing a domain that actually matches all records and not just use an empty domain. Note: the update tool was already throwing an error if the domain is empty but only if tool_request_confirmation is False. If the confirmation is True, which is the case in mcp, the domain would be accepted and the updates would go through.