Thursday, June 26, 2025
15 changes
5 changes
Enhancements to existing features
This update improves how Odoo exposes model field information internally, reducing overhead in frequently used operations. It should help core system performance without changing how business users interact with Odoo.
Original PR description
Currently, the `_fields` attribute in the model is an instance of a `ReadonlyDict`. For performance reasons, we had to expose its internal dictionary in a way that is not completely satisfactory. Also, the methods `values()` and `items()`, which are frequently used by the ORM, are less efficient than a plain dict. This commit adds a `_fields__` attribute, which is the mutable structure containing the fields. It is safely exposed as a `MappingProxyType` in attribute `_fields`. This new strategy has the advantage of removing the performance overhead introduced by the former `ReadonlyDict`. task-4808836
When users create or edit a link, the editor now recognizes when the selected text is already a valid web address and automatically fills it into the URL field. This reduces manual typing and helps users create links faster with fewer mistakes.
Original PR description
This commit ensures that when opening link popover, if selected label text is a valid URL then URL input in link popover is prefilled by the corresponding URL. task-4844337 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update adds automated checks around live chat status behavior to help ensure recent changes keep working as intended. It reduces the risk of regressions in the live chat experience without changing customer-facing functionality.
Original PR description
Adding essential tests regarding to the previous PR. follow-up of https://github.com/odoo/odoo/pull/215246 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The web interface no longer shows the reset filter button in the action helper. This simplifies the filtering experience and removes an extra control that was no longer needed.
Original PR description
This commit removes the button used to reset filters in the action helper. task-4891535
Installing the main AI module now also installs the related AI Fields and AI Server Actions features. This makes setup simpler and ensures users get the full AI experience without needing to install extra modules separately.
Original PR description
Improving UX by adding all of the AI related functionalities when AI module is installed. issue ticket task-4855178 Divagations --- In the future (19.0) the ai_fields and ai_server_actions modules should be merged into the ai module. with ticket task-4889610
6 changes
Enhancements to existing features
Sales subscriptions now show a clear warning when an overdue subscription is at risk of being automatically closed if it is not billed soon. This helps teams act earlier to prevent unintended subscription closures and potential revenue loss.
Original PR description
This commit adds an alert-info warning that the subscription is overdue and will be automatically closed by the system if it is not billed soon. Technically speaking, when the subscription has the `next_invoice_date` older than its `end_date` AND it is currently with in-progress state, this alert will be shown. task-4243863
4 changes
Enhancements to existing features
When an online payment provider is activated, Odoo now automatically assigns the appropriate outstanding account to the payment method it creates. This keeps online payment setup consistent with invoicing rules and reduces manual accounting configuration for integrated providers.
Original PR description
In this PR: - When activating an Online Payment provider that creates a payment.method.line in a journal, automatically assign an Outstanding account to the payment method. - Uses the existing Outstanding Account resolution method from Invoicing module to ensure consistency across the system. - Applied to all Online Payment Providers that rely on provider integration, excluding manual payment providers without external integrations. task-4826385
This change updates image display styling to use standard Bootstrap options already available in the platform. It keeps visual behavior consistent while removing older custom styling that is no longer needed.
Original PR description
*: appointment, documents, knowledge, planning, sale_timesheet_enterprise, website_appointment_sale This commit replaces all occurrences of o_object_fit_contain and o_object_fit_cover CSS classes with their Bootstrap (v5.3) equivalent : object-fit-contain and object-fit-cover. It also removes said classes from the repo since they are no longer of use. Requires: - https://github.com/odoo/odoo/pull/215202 [task-4703046](https://www.odoo.com/web#id=4703046&cids=1&menu_id=4720&action=333&active_id=1695&model=project.task&view_type=form)
This change adjusts behavior related to deleting stages in Helpdesk. It likely improves how teams manage or clean up helpdesk workflows, with limited visible impact for everyday users.
The spreadsheet interface has been reorganized to make common actions easier to find and the top bar clearer to use. Users now see collaboration presence more directly, while saving and sharing-related options are placed in more intuitive locations, improving day-to-day spreadsheet editing.
Original PR description
Task: 4812824
This update advances the Colombian electronic invoicing and DIAN integration setup based on the current specification work. It improves configuration, demo data, invoice screens, templates, and supporting validation logic so Colombian localization flows can be tested and prepared more reliably.
Original PR description
implemented points 1-3 in spec
The live chat helpdesk command message now uses clearer wording when prompting users to create a ticket. This small text improvement makes the action easier to understand and reduces ambiguity for customers or agents using live chat.
Original PR description
Updated command message title: - `Create a new helpdesk ticket by typing:` to `Create a helpdesk ticket with:` Community PR: [#odoo/odoo203644](https://github.com/odoo/odoo/pull/203644) task-4485642
This update clarifies how Odoo's record creation method can be used, allowing tools to recognize both single-record and multi-record inputs. It helps developers get better editor guidance without changing business workflows or user-facing behavior.
Original PR description
As soon as the `model_create_multi` decorator exists, `create()` function arguments can be either a list of dict values or a single dict. Moreover, make IDE's happy when creating with single dictionary values. @rco-odoo --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Australian payroll rule parameters have been updated for the 2025 period to keep payroll calculations aligned with current requirements. This helps businesses using Australian payroll process payslips with the latest applicable values.
Accounting report test cases were updated to use the default outstanding payment and receipt accounts that are now created automatically with the chart of accounts. This reduces test conflicts and helps keep accounting report validation aligned with current setup behavior.
Original PR description
In this PR: - As part of recent changes, the default Outstanding Payment/Receipts accounts are now always created when the Chart of Accounts is loaded, and several test cases were updated to avoid unique constraint errors. - Previously, these test cases manually created accounts with codes like `OSTR00` and `OSTP00`. Now that these accounts are created by default, attempts to redefine them or change their codes have led to conflicts. - This commit updates the affected test cases to: - Use the correct default account codes directly (101403, 101404) - Avoid reassignment of codes that are now created by the CoA template task-4826385