Odoo Release Updates
Every commit to Odoo Community and Enterprise, parsed and categorized. Never miss a bug fix, improvement, or new feature.
Activity
2026-04-02
2026-04-01
2026-03-31
2026-03-30
2026-03-29
2026-03-28
2026-03-27
[IMP] mail: add internal field option to Store fields
2026-03-26
2026-03-25
This commit introduces a new _access_domain method to replace custom _check_access implementations, making record-level access rules explicit and visible in ir.rule definitions rather than hidden in code overrides. The change converts complex access logic from Python methods into computed user-dependent domain fields (res_access_read, res_access_write, etc.) on mail models, enabling record rules to work consistently across all access flows while allowing models that inherit from attachments or mail to selectively bypass inherited access rules.
[IMP] orm: access_domain and explicit record rules
2026-03-24
This commit refactors the bus notification assertion system in Odoo tests by introducing a unified BusResult descriptor class to replace the previous two-list approach (channels and messages). The new system provides clearer test semantics, prevents stale data from affecting assertions, compares dictionaries regardless of key order to eliminate brittle failures, and delivers explicit error messages showing expected versus actual notifications. This improvement strengthens test reliability across mail, calendar, livechat, and other modules while making test code more readable and maintainable.
[REF] bus, mail, *: improve assertion on bus notifications
This commit updates the placeholder text in the mail composer when sending messages to clarify that communications reach both followers and selected contacts, not just followers. The change modifies the user-facing message in the web portal project composer from "Send a message to followers…" to "Send a message to all followers and selected contacts…" and updates all corresponding test assertions to match the new text.
[IMP] mail: update "Send message" placeholder
This commit fixes a critical traceback that occurred when internal users started live chat conversations with the hr_holidays module installed. The root cause was unsafe access to user.activeCompany in the employee_id computed field, which is not available in the frontend session. The fix adds optional chaining (?.) to guard against undefined activeCompany, reorganizes asset bundles for better modularity, and adds comprehensive test coverage including a new shared embed test that validates the scenario works with HR employee records present.
[FIX] hr, *: prevent traceback when starting live chat as internal user
2026-03-23
This commit refactors Odoo's field tracking infrastructure to simplify the API and improve code organization. It introduces a new mail.track.mixin that separates tracking value generation from message posting, adds new _track_add and _track_record methods to replace manual tracking value manipulation, and renames _track_subtype to _track_log_get_default_subtype for clarity. The changes eliminate low-level data structure handling across multiple modules (account, CRM, HR, fleet, Peppol) while adding comprehensive test coverage for various tracking scenarios including parent model logging and manual tracking calls.
[IMP] mail: cleanup and test tracking usage
This change removes the "Uploading..." text that appeared during file attachment uploads in the mail chatter by setting the showUploadingText property to false on the FileUploader component. The removal is justified because an upload progress indicator already exists within the attachment box itself, making the redundant text unnecessary and improving the user interface clarity.
[IMP] mail: remove "Uploading..." text
This commit applies a systematic OWL3 migration across the entire Odoo codebase by prefixing all template variable references with "this." to comply with upcoming OWL3 requirements. In OWL3, component instance properties must be explicitly accessed via "this." in templates, changing from implicit scope resolution to explicit context binding. This large-scale automated refactoring affects template files across multiple modules including account, board, CRM, HR, and many others, converting patterns like "showUploadButton" to "this.showUploadButton" and "state.name" to "this.state.name" throughout XML templates.
[IMP] *: run rendering context migration script entire codebase
This commit consolidates avatar card handling across HR modules by centralizing the single source of truth for employee information in hr.employee records rather than duplicating data across multiple models. The hr.employee.public model is now simplified to act as a proxy to hr.employee using access control, eliminating duplicate field definitions and complex JavaScript patches. The store service's employee chat lookup is refactored to use the standard Store API instead of maintaining a separate employee cache, improving consistency and reducing code complexity.
[REF] mail, *: clean up avatar card and related models
Fixed a traceback that occurred when users selected channel mentions from the @ suggestion list in the mail composer. The issue arose from incomplete code migration where the `channel` attribute was renamed to `thread` in a previous commit, but the suggestion template still referenced the old attribute name. The fix restores the `channel` property in the suggestion object while keeping the renamed `thread` property, and corrects the template reference to use the appropriate channel suggestion template. A comprehensive test tour was added to verify the channel mention selection flow works correctly.
[FIX] mail: fix traceback when selecting items from @ mention in composer