EspoCRM 10 : les nouveautés importantes

EspoCRM 10 est disponible depuis le 2 juillet 2026. Ce CRM open source qui centralise prospects, opportunités, contacts et suivi commercial gagne des pipelines de vente multiples, un système de verrouillage d'enregistrements et un support natif de TypeScript côté développement. Voici ce qui compte vraiment pour ceux qui exploitent un EspoCRM au quotidien, et les points de vigilance avant de mettre à jour.

Compatibilité et migration depuis EspoCRM 9

Cette version supprime plusieurs éléments dépréciés de longue date, ce qui peut provoquer des régressions sur les extensions et les personnalisations. Points à vérifier avant toute mise à jour en production :

  • Support de SelectManager retiré.
  • Accès aux liaisons dépréciées supprimé côté ORM : Entity::get() ne les résout plus.
  • Implémentations de classe service supprimées pour les notifications popup, et changements dans l'interface AuthToken.
  • Les jobs qui reposent sur le paramètre serviceName ne sont plus pris en charge.
  • Les espaces de noms dépréciés Espo.ui et Espo.utils sont retirés côté frontend, tout comme plusieurs éléments dépréciés des vues modales.

Côté socle technique, EspoCRM tourne sur PHP 8.3 à 8.5, avec MySQL 8.0 et plus, MariaDB 10.3 et plus, ou PostgreSQL 15. Cette version n'abaisse ni ne relève ces prérequis, un point de moins à vérifier si votre serveur est déjà à jour.

Une mise à jour se prépare : sauvegarde complète, test sur une copie, vérification des extensions et des scripts Formula personnalisés, dont le typage devient plus strict dans cette version. C'est exactement le type d'opération à ne pas improviser sur le serveur Linux qui héberge votre EspoCRM.

Pipelines de vente et organisation des données

  • Pipelines multiples : plusieurs pipelines configurables pour un même type d'entité (Leads, Opportunities, entités personnalisées), avec le champ status comme étape par défaut. Chaque enregistrement est rattaché à un pipeline précis, qui détermine les étapes disponibles.
  • Liens en cascade : dépendance entre trois champs de liaison, par exemple un devis où le choix du compte limite les contacts proposés à ceux liés à ce compte.
  • Suppression et restauration en cascade : activable par liaison entre deux types d'entités. Supprimer un enregistrement parent supprime les enregistrements associés, et les restaurer restaure aussi ces derniers.
  • Verrouillage d'enregistrements : activable par type d'entité, il empêche l'édition (sauf champs désignés) et la suppression, réservé aux utilisateurs disposant de la permission Lock.
  • Catégories pour les entités personnalisées basées sur les modèles Base et Base Plus, avec une organisation en arborescence.

Notifications et interface

  • Notifications groupées par enregistrement et par fil d'emails, pour réduire la surcharge d'alertes.
  • Notifications popup (rappels d'événements) réductibles, qui restent accessibles depuis la barre des notifications.
  • Support d'un son de notification.
  • Accès en un clic au dernier enregistrement consulté.
  • Les URL de la barre de navigation s'ouvrent désormais dans un nouvel onglet.

Automatisation, formulaires et emails

  • Authentification OIDC : support de PKCE (Proof Key for Code Exchange).
  • Champ URL : nouveau paramètre imposant la présence d'un protocole.
  • Ordre des dashlets d'enregistrement configurable.
  • Formula : contrôle de type plus strict dans les fonctions entity et record, méthodes find qui respectent désormais l'ordre défini par le select framework, et nouvelle fonction de validation d'exception.
  • Commandes CLI pour lire et écrire la configuration.
  • Réinitialisation des comptes email.
  • Champ image : nouveau paramètre capture.
  • Nouveaux réglages d'interface admin pour activer la mise à jour et le téléversement d'extensions directement depuis l'administration.

Framework et développeurs

  • Support natif de TypeScript.
  • Hooks after save et after remove qui s'exécutent tardivement dans le cycle.
  • Possibilité d'ajouter des polices personnalisées dans les PDF générés.

Changements de comportement

  • L'accès aux liaisons désactivées est désormais restreint.
  • Le paramètre allowInternalNotes déménage de clientDefs vers streamDefs. Toute personnalisation qui le référence à son ancien emplacement doit être mise à jour.

Autre

La fonctionnalité Collaborators est activée par défaut sur les types Tasks et Cases.

EspoCRM 10 : ce qu'il faut retenir

EspoCRM 10 consolide la structuration commerciale : pipelines multiples, liens en cascade, verrouillage d'enregistrements. Le revers, ce sont les suppressions d'éléments dépréciés (SelectManager, accès ORM aux liaisons dépréciées, Espo.ui et Espo.utils) qui touchent directement les extensions et les personnalisations construites sur les anciennes API. Sur un CRM en production qui porte votre pipeline commercial, la mise à jour se teste avant de s'appliquer.

Si vous voulez que ces mises à jour soient testées et appliquées sans y passer vos soirées, la tierce maintenance applicative EspoCRM est disponible en option de mon infogérance serveur Linux. Pour en parler ou fixer un rendez-vous, passez par la page contact.

Sources

Faisons le point sur vos besoins