Monday, August 31, 2026
6 changes · master
Code cleanup and technical improvements
Event track location display has been moved into the main website event track feature instead of remaining as a separate add-on. This simplifies setup and maintenance while keeping the location display available where event track management is used.
Original PR description
This feature was added as a dedicated module because it was added in stable version 19.3 . We can now merge it directly into track module where it belongs. Task-6515688
This update restructures how Factur-X invoice export files are generated, replacing the previous template-based approach with a more structured XML-building process. The change is mainly internal and should make the export logic easier to maintain and test without changing day-to-day user workflows.
Original PR description
*= account_edi_ubl_cii_tax_extension, l10n_account_edi_ubl_cii_tests. Refactoring of the export of factur-x. The export now relies on a dict of nodes, and uses the function `dict_to_xml` to generate the xml instead of relying on a qweb template. task-5999127 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#261572
This update organizes how Odoo records describe the information they carry in Mail and Live Chat. It makes the code easier to understand and maintain, reducing the chance of future inconsistencies without changing day-to-day user behavior.
Original PR description
Before this commit, four fields are written on records whose model never declares them: the only way to know a record holds them is the python that sends the value, or the component that reads it. This commit declares them with the other fields of their model. https://github.com/odoo/enterprise/pull/129826
This update reorganizes how AI chat and VoIP contact information is declared so the right data is available across all relevant Odoo interfaces. It helps keep chat, live chat embeds, and contact search behavior consistent without adding new user-facing features.
Original PR description
Enterprise counterpart of "[REF] mail, im_livechat: declare the fields a record holds". voip declares res.partner's phone_formatted, which _store_voip_fields sends and the contact search reads. ai and ai_app declare theirs in models that only the backend bundle loads, while their python sends the values to every frontend. Those models move under discuss/core/common, which the public, chatter and livechat embed bundles carry, and the session's user input request is declared on the common ai.session. https://github.com/odoo/odoo/pull/285622
This update modernizes internal parts of the Documents app as part of Odoo's Owl 3 migration. It replaces deprecated technical hooks so the app stays compatible with upcoming platform changes, with no expected change to day-to-day user workflows.
Original PR description
As part of the Owl 3 migration, replace deprecated onWillRender hooks with the appropriate Owl 3 alternatives.
This update improves how website editor components check the information they receive, restoring validations after a framework migration. It also makes the Animate Text toolbar option behave consistently with other toolbar actions when it should be disabled.
Original PR description
This commit replaces the remaining `static props` declarations with the `useProps` hook, so that these components validate their props again. Since the migration to owl3, a component's schema is declared as an instance field through `useProps`, and `static props` is no longer read by the framework. The compatibility layer gives every component a catch-all `this.props`, so these declarations kept documenting props that nothing validated, and that stayed readable even when undeclared. This refactoring converts them all, aligning both modules with the rest of the codebase and preparing for the removal of the compatibility layer.