Skip to main content
iVentureTeam

Odoo 20 Release Notes: Technical Changes

All 5 Technical changes from the official Odoo 20 release notes, explained in plain words with a screenshot from a live Odoo 20 database, plus where to find each one and what it means for your upgrade.

Planning the move? See our Odoo upgrade services, the Odoo 20 upgrade guide or get a number from the migration cost calculator.

Enhancement 1Refactoring 2Performance 1Security 1In Community 4Enterprise only 1
Type
Edition

Change 1 of 5

Mail: in-body tracking

RefactoringCommunity

Tracking values have been removed; the tracking message is now generated on the fly. All features linked to tracking values (burndown charts, stage duration, etc.) have been updated for this new framework. Admins who still need tracking values can install a dedicated module.

Official Odoo 20 release note

In plain words

Field changes are now written straight into the chatter message body instead of separate tracking value records. The old mail.tracking.value model moved to a new optional module, Discuss Tracking (mail_tracking). Burndown charts and stage duration now read from duration tracking instead.

AppsThe new Discuss Tracking module (mail_tracking) that brings back stored tracking values for admins who need them.

Where to find it

  1. Apps, remove the Apps filter and search "Discuss Tracking".

For users

Chatter still shows field changes. The Tracking Values menu and the Tracking tab on messages only exist when Discuss Tracking is installed.

For developers

Code that reads or writes mail.tracking.value or message.tracking_value_ids must depend on mail_tracking, or read the change from the message body.

Upgrading from Odoo 19

Reports or exports built on tracking values need the mail_tracking module installed after upgrade.

Change 2 of 5

Many-to-one field improvements

PerformanceCommunity

Partly confirmed in the Odoo 20 source code. Parts of this note could not be traced.

Many-to-one fields are now synced with the backend, and adding/removing values has been improved, even with large lists.

Official Odoo 20 release note

In plain words

Two related web client changes were found: the many-to-one field now refreshes its displayed name from the server after "Create and Edit", and adding or removing lines in large relational lists (x2many) was made faster. A single change matching the release note wording was not found. Not verified from the supplied source code.

For users

Slightly smoother editing of relational fields; nothing new to click.

For developers

No API change found for custom many2one widgets.

Upgrading from Odoo 19

None identified.

  • Text only: the candidate changes are internal behaviour and speed with no distinct screen element, and the exact feature could not be tied to one commit.

Change 3 of 5

Push notifications

RefactoringEnterprise only

Push notifications are no longer handled by Firebase but rather by in-house Odoo push tools.

Official Odoo 20 release note

In plain words

Website push notifications (Social Marketing) no longer use Firebase. The Firebase library and settings were removed and the module now sends through Odoo's own web push. The website setting only asks for a title, body, delay and icon, with no Firebase keys.

Settings > WebsiteThe Push Notifications setting now only has title, body, delay and icon. There are no Firebase fields any more.

Where to find it

  1. Settings > Website.
  2. Tick Push Notifications to see its options.

For users

No Firebase project or keys are needed to send website push notifications.

For developers

Code relying on the Firebase fields, the firebase.js library or Firebase tokens must be adapted to Odoo web push subscriptions.

Upgrading from Odoo 19

Firebase settings stored in Odoo 19 are no longer used after the upgrade.

Change 4 of 5

Track source of postings

EnhancementCommunity

Mail.mail records now specify the source of their content to ease auditing.

Official Odoo 20 release note

In plain words

With Discuss Tracking installed, each posted message (and so each outgoing mail.mail, which is built on mail.message) stores which email template or QWeb view generated its content. The fields are "Src Template" and "Src View", and messages can be grouped by them.

Settings > Technical > MessagesThe "Src Template" field shows the email template that generated this message.

Where to find it

  1. Install Discuss Tracking and activate developer mode.
  2. Settings > Technical > Messages, open a message sent from a template.

For users

Admins can see and filter which template or view produced a message.

For developers

New fields source_template_id and source_view_id on mail.message (mail_tracking). Views used as posting sources should be tagged technical_usage mail_post_source.

Upgrading from Odoo 19

Only messages created after the upgrade get a source.

  • The source fields live in the optional Discuss Tracking (mail_tracking) module.

Change 5 of 5

Tracking user group changes

SecurityCommunity

User group changes are now logged in the user's chatter as well as in the console logs.

Official Odoo 20 release note

In plain words

When someone changes a user's groups, the server log records who did it, from which IP, and the change. The user's chatter also gets a note listing the added and removed groups.

Settings > Users & Companies > Users > Marc DemoThe chatter note "Added groups: Multi Currencies" logged after the user's groups were changed.

Where to find it

  1. Settings > Users & Companies > Users, open a user.
  2. Change one of the user's access rights and save.
  3. Look at the chatter.

For users

Admins get an audit trail of access changes on each user form.

For developers

Code that changes groups in bulk will create chatter notes; the context key no_group_change_log (with the NO_GROUP_CHANGE_LOG marker) skips it for technical updates.

Upgrading from Odoo 19

None.

See all 585 Odoo 20 changes across 52 apps

Odoo 20 Technical: common questions

What is new in Odoo 20 Technical?

The official Odoo 20 release notes list 5 Technical changes (1 enhancement, 2 refactorings, 1 performance, 1 security). They include Mail: in-body tracking, Many-to-one field improvements, Push notifications, Track source of postings and more.

Are the Odoo 20 Technical changes available in Community edition?

4 of the 5 changes are in Odoo 20 Community (and Enterprise). 1 is Enterprise only. Each change on this page is labeled with its edition.

Do Odoo 20 Technical changes affect my customizations when upgrading from Odoo 19?

3 of the 5 changes have something to check when upgrading from Odoo 19, for example Mail: in-body tracking, Push notifications, Track source of postings. Each change on this page has an "Upgrading from Odoo 19" note. Test custom modules on a copy of your database before moving production.

How do I upgrade Technical to Odoo 20?

Restore a copy of your database, run the Odoo 20 upgrade on the copy, fix any custom modules that extend Technical, then test your main Technical flows with real users before switching production. iVentureTeam runs Odoo upgrades end to end, including custom module migration and user testing.

Odoo services for this

More Odoo 20 release notes

Planning your Odoo 20 move

Want these Technical changes in your database?

We upgrade Odoo databases with their customizations and data intact, and test every custom module against the new version before go-live.