NXL Forge.Pendant que le marché rédige — nous livrons
Technique Odoo··5 min de lecture

Odoo 19.3 efface vos tracking values : ce qui casse dans vos modules

La 19.3 ne stocke plus les tracking values du chatter : le message de suivi est regénéré à la volée. Bonne décision technique, vraie rupture pour les modules sur mesure qui lisaient cette table.

Odoo 19tracking valuesmigrationdéveloppement Odoochatter

Si vous maintenez des modules Odoo sur mesure, regardez du côté du chatter avant de migrer. La 19.3, sortie en mai 2026, supprime les tracking values stockées en base. Le message de suivi est désormais regénéré à la volée.1

C'est une bonne décision technique. Elle va quand même faire mal à pas mal de personnalisations.

Ce que stockait Odoo, et ce qu'il arrête de stocker

Jusqu'à la 19.2, chaque champ suivi laissait une trace. Vous modifiez le stade d'une opportunité CRM, et Odoo enregistre l'ancienne et la nouvelle valeur dans mail.tracking.value. Le chatter relisait ces lignes pour afficher l'historique. C'était pratique et lisible, et la trace tenait dans le temps.

Le revers, c'est le volume. Sur une base un peu chargée, cette table grossit vite. Elle accumule des milliers de lignes pour des modifications que personne ne relira jamais.

La 19.3 change l'approche. Le message de suivi se reconstruit à l'affichage au lieu d'être figé en base.1 Vous y gagnez moins d'écritures et une table allégée, tout en gardant un chatter lisible. Sur le papier, c'est sain.

Le piège pour les modules existants

Voilà où je deviens méfiant. Beaucoup de modules tiers lisent directement mail.tracking.value. Je pense aux rapports d'audit, aux exports réglementaires, aux automatisations qui réagissent à un changement de stade. Si ces données ne sont plus posées de la même façon, ces modules retournent du vide.

Odoo a anticipé en partie. Les fonctionnalités natives qui dépendaient des tracking values, comme les burndown charts ou la durée passée dans un stade, ont été adaptées à ce nouveau cadre.1 Pour le code maison, personne ne fera ce travail à votre place.

Si vous avez vraiment besoin de l'ancien comportement, Odoo prévoit un module dédié à installer pour conserver les tracking values.1 La documentation officielle ne nomme pas ce module précisément à la date de cet article. Vérifiez donc le point exact sur votre instance avant d'en dépendre en production.

Je vous donne mon conseil de praticien. Avant toute migration vers la 19.3, faites l'inventaire de chaque endroit où votre code interroge mail.tracking.value ou parse l'historique du chatter. C'est rarement glamour. Ça évite les mauvaises surprises trois semaines après la mise en prod, quand le commissaire aux comptes réclame un journal de modifications que le module ne sait plus produire.

Et la migration de données ?

Tout le monde pose la question. Les tracking values déjà en base ne disparaissent pas par magie au moment de la mise à jour. Le vrai sujet, c'est ce que votre code attend à l'avenir.

Un export figé une bonne fois, en amont de la migration, vaut souvent mieux qu'un module de compatibilité qu'on traîne pendant des années. Vous gelez l'historique ancien et vous repartez propre sur le nouveau modèle. À arbitrer selon vos obligations légales de conservation.

Je préfère cette honnêteté. Odoo a tranché pour la performance, au prix d'une rupture pour les intégrations. Les deux affirmations sont vraies en même temps.

Côté code Odoo cette semaine

J'ai cloné odoo/odoo master et lu les commits entre le 4 et le 12 juin 2026. Trois corrections méritent qu'on s'y arrête.

Une race condition sur les formulaires. Le 8 juin, un correctif règle un bug discret mais sale. Vous ouvrez un nouvel enregistrement, l'appel onchange part et se met en cache. Vous ouvrez un second formulaire, puis vous sauvegardez avant que la réponse revienne. Le resId a changé entre temps, le callback interprétait mal le résultat, et l'interface plantait. Le correctif ignore le callback si l'identifiant a bougé depuis l'envoi.2 Ça touche n'importe quel formulaire Odoo, donc tout le monde.

Les totaux de timesheet réapparaissent sur le portail. Le 11 juin, Odoo répare une régression introduite entre saas-19.1 et saas-19.2. Un client se connecte au portail, ouvre une tâche, voit la liste de ses heures mais plus le total en bas. La cause a été identifiée. Un template XML scindé en deux gardait le même nom que l'ancien, et le t-call n'avait pas suivi.3 Le correctif rappelle le bon template. Petit diff, vrai impact pour quiconque facture au temps passé via le portail client.

Firefox et le mass mailing. Le 10 juin, Odoo corrige un traceback systématique pour les utilisateurs de l'éditeur de mailing sous Firefox. Charger des bundles d'assets dans une iframe suppose que l'iframe soit encore présente dans le DOM. Sur les navigateurs Gecko, l'iframe pouvait être retirée avant la fin du chargement, ce qui faisait remonter une erreur. Le correctif n'autorise plus l'erreur à remonter quand l'iframe est déconnectée.4 Le détail en dit long sur le soin porté aux navigateurs non Chromium, là où beaucoup d'éditeurs baissent les bras.

Rien de spectaculaire dans cette fenêtre. Ce sont des corrections qui rendent l'outil un peu moins agaçant au quotidien. C'est souvent là que se joue la qualité d'un ERP.

Ce que j'en retire pour nos chantiers

Nous concevons des modules Odoo chez Nexelans, avec Sudokeys à Saint-Chef. La 19.3 nous oblige à revisiter tout code qui touchait au chatter et aux tracking values. Tant mieux. Une dépendance cachée à une table interne, c'est exactement le genre de dette qu'on préfère solder tôt.

Si vous portez des personnalisations vers la 19, parlons-en avant que la migration ne vous tombe dessus. Vous trouverez nos modules Odoo et un contact direct sur le site.

Sources

Footnotes

  1. Odoo 19.3 Release Notes, section Technical : « 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 that still need tracking values can get them by installing a dedicated module. » https://www.odoo.com/odoo-19-3-release-notes 2 3 4

  2. Commit fd1a7490 du 8 juin 2026, « [FIX] web: ignore cached onchange callback if record ID changes ». Corrige une race condition entre un appel onchange mis en cache et un web_save qui change le resId. https://github.com/odoo/odoo/commit/fd1a749027547a7227a0a4b6c7e9cae3c94c878b

  3. Commit 01da86ba du 11 juin 2026, « [FIX] hr_timesheet: show timesheet totals on portal task view ». Régression entre saas-19.1 et saas-19.2 : un template XML scindé gardait le même nom, le total disparaissait du portail. https://github.com/odoo/odoo/commit/01da86ba724a881bf908cd73e759ec52eb84a35c

  4. Commit 7304a931 du 10 juin 2026, « [FIX] mail: prevent traceback on disconnected iframe bundle load ». Traceback systématique pour les utilisateurs du mass mailing sous Firefox quand l'iframe est retirée du DOM avant la fin du chargement des assets. https://github.com/odoo/odoo/commit/7304a931933ea62b09392d69b56cf5e3effdd9e7

Sur le même thème

Votre idée mérite un vrai logiciel

Une question, un projet Odoo ?

Modules préconfigurés, intégration, sur-mesure — parlons-en sans engagement.