Sortie de la version 4.6.0 finale d’Open Integration Engine
Nous sommes ravis d’annoncer la sortie officielle de la version 4.6.0 d’Open Integration Engine (OIE), une étape majeure pour cette plateforme open source dédiée à l’intégration de systèmes et à l’automatisation des flux de données. Cette nouvelle version apporte des fonctionnalités innovantes, des améliorations significatives, des corrections de bugs et des correctifs de sécurité critiques pour renforcer la stabilité, la performance et la sécurité de votre environnement d’intégration.

Nouveautés de la version 4.6.0
Fonctionnalités principales
Variable serverName disponible dans les modèles d’alerte : Utile pour les déploiements multi-instances, cette variable permet une meilleure identification des alertes selon l’instance concernée.
Substitution des variables d’environnement dans les fichiers de configuration pour l’interface en ligne de commande (CLI) : Résout le problème #205 et facilite la configuration dynamique.
Formatage automatique du code JavaScript : Un nouveau pretty-printer pour le code JavaScript est désormais disponible dans l’éditeur, permettant un formatage manuel et une meilleure lisibilité.
Action « Toggle Comment » : Ajout d’une option dans le menu contextuel (clic droit) de l’éditeur pour commenter/décommenter rapidement des lignes de code.
Améliorations
Préservation de l’ordre des paramètres HTTP : L’ordre des paramètres dans les requêtes HTTP est désormais conservé, ce qui peut modifier le comportement du code dépendant de l’ordre non déterministe précédent.
Lien vers les options de lancement de l’administrateur : Ajout d’un lien direct vers les options de lancement de l’administrateur dans l’interface utilisateur de la page d’accueil.
Performance de la recherche de messages : Les métadonnées des jeux de résultats (ResultSet) sont désormais mises en cache dans getMetaDataMapByMessageId pour éviter les recherches ligne par ligne, améliorant ainsi les performances.
Chargement plus rapide des extensions : Les appels API verbeux pendant le démarrage ont été éliminés, réduisant le temps de chargement.
Mise à jour de la couleur par défaut de l’administrateur : Adaptation à l’identité visuelle de la marque OIE.
Comportement cohérent de la recherche par date/heure : Alignement du comportement de la recherche avec celui de l’affichage tabulaire.
Nom d’affichage NCPDP mis à jour : Précision du nom pour refléter la norme plutôt que l’organisme de normalisation.
Amélioration des journaux (logging) des filtres de messages et refactorisation des styles des éléments de recherche, avec de nouveaux tests JUnit.
Suppression du panneau d’avertissement SSL et de la publicité NextGen dans le client.
Options de module --add-opens supplémentaires ajoutées au fichier vmoptions par défaut.
Client est désormais AutoCloseable avec une méthode close() idempotente.
Remplacement de SimpleDateFormat par DateTimeFormatter pour une meilleure sécurité dans les environnements multi-threads.
Ajout de la documentation Javadoc manquante pour les classes de l’API utilisateur.
Corrections de bugs
Échec de migration lors de la mise à jour vers la version 4.5.2 : Résolu.
Erreur 500 sur /api/openapi.yaml : Corrigée.
Filtre de messages de l’UI Événements n’affichant pas correctement le statut : Problème résolu.
Bug JXTreeTable.getEditingRow : Correction significative pour les erreurs MacOS dans le client OIE.
Erreur de presse-papiers en présence d’une image : Correction pour les utilisateurs Linux lorsque qu’une image était copiée dans le presse-papiers.
Perte potentielle de données lors de la sauvegarde des propriétés des plugins : Résolue.
Migration des propriétés du répertoire log4j2 : Correction avec ajout de la compression ZIP.
Correctifs de sécurité et CVEs associées
Cette version 4.6.0 corrige 24 CVEs connues (1 critique, 10 élevées, 12 moyennes, 1 faible) grâce à des mises à jour de dépendances. Voici les principales vulnérabilités adressées :
PostgreSQL JDBC Driver (42.6.0 → 42.7.8)
CVE-2024-1597 (Critique) : Injection SQL via le chemin de requête non par défaut preferQueryMode=simple.
Apache Commons BeanUtils (1.9.4 → 1.11.0)
CVE-2025-48734 (Élevée) : Contrôle d’accès incorrect permettant un accès réflexif au chargeur de classe Java via les propriétés enum.
Eclipse Jetty (9.4.53 → 9.4.57)
CVE-2024-13009 (Élevée) : Mauvaise gestion des tampons dans GzipHandler entraînant une corruption des données inter-requêtes.
CVE-2024-22201 (Élevée) : Fuite de connexion HTTP/2-over-TLS entraînant un déni de service.
CVE-2024-8184 (Moyenne) : Déni de service via ThreadLimitHandler avec une carte non bornée.
CVE-2024-9823 (Moyenne) : Déni de service via DoSFilter en raison du suivi des sessions.
Netty (4.1.97 → 4.1.119)
CVE-2023-44487 (Élevée) : Déni de service « Rapid Reset » HTTP/2.
CVE-2025-24970 (Élevée) : Plantage natif de SslHandler sur un paquet conçu.
CVE-2024-29025 (Moyenne) : Déni de service par consommation excessive de mémoire dans HttpPostRequestDecoder.
CVE-2024-47535 (Moyenne) : Lecture non sécurisée de fichiers environnement entraînant un déni de service.
CVE-2025-25193 (Moyenne) : Correction complémentaire pour le déni de service via les fichiers environnement.
Apache Commons Email (1.3.1 → 1.6.0)
CVE-2017-9801 (Élevée) : Injection d’en-tête SMTP/CRLF via le sujet du message.
CVE-2018-1294 (Élevée) : Injection SMTP/CRLF via l’adresse de rebond.
Apache Commons IO (2.13.0 → 2.21.0)
CVE-2024-47554 (Élevée) : Consommation non contrôlée de ressources dans XmlStreamReader.
Apache Commons Configuration2 (2.8.0 → 2.13.0)
CVE-2024-29131 (Élevée) : Déni de service via StackOverflowError.
CVE-2024-29133 (Moyenne) : Déni de service complémentaire via StackOverflowError.
Google Guava (28.2-jre → 32.0.1-jre)
CVE-2023-2976 (Élevée) : Divulgation d’informations via des fichiers temporaires accessibles en lecture par tous.
CVE-2020-8908 (Faible) : Divulgation d’informations via un répertoire temporaire accessible en lecture par tous.
Apache Commons Compress (1.24.0 → 1.28.0)
CVE-2024-25710 (Moyenne) : Boucle infinie entraînant un déni de service (archives DUMP).
CVE-2024-26308 (Moyenne) : Déni de service par consommation excessive de mémoire (Pack200).
Apache Commons Lang3 (3.13.0 → 3.20.0)
CVE-2025-48924 (Moyenne) : Récursivité non contrôlée dans ClassUtils.getClass.
Apache Commons Net (3.3 → 3.9.0)
CVE-2021-37533 (Moyenne) : Le client FTP fait confiance à l’hôte issu de la réponse PASV (SSRF).
Apache Log4j 2 (2.17.2 → 2.25.3)
CVE-2025-68161 (Moyenne) : Contournement de la vérification du nom d’hôte TLS dans SocketAppender.
ClassGraph (4.8.53 → 4.8.179)
CVE-2021-47621 (Moyenne) : Attaque XXE dans le parseur de détection de version du fichier pom.xml.
Changements majeurs (Breaking Changes)
Java 17 minimum requis : Les versions antérieures de la JVM ne sont plus supportées. Le logiciel est développé et testé avec Java 17. Les versions LTS ultérieures de Java devraient fonctionner, mais ne sont pas officiellement testées (les versions utilisant les installeurs officiel supporte Java de la version 17 à 25).
Suppression des dépendances Xerces et xml-apis : Le code personnalisé qui importe directement org.apache.xerces.* devra migrer vers javax.xml.parsers.* ou org.xml.sax.*.
Comportement de connexion modifié pour les noms d’utilisateur : Les connexions sont désormais insensibles à la casse par défaut. Les comptes existants avec des noms d’utilisateur sensibles à la casse continuent de fonctionner via un chemin de compatibilité.
Mises à jour des dépendances
log4j : 2.17.2 → 2.25.3
Pilote JDBC PostgreSQL : 42.6.0 → 42.7.8
jSch : 2.27.0 → 2.27.7
commons-lang3 : 3.13.0 → 3.20.0
commons-text : 1.10.0 → 1.15.0
apache-jsp : Remplacement par la version correcte, mise à jour des fichiers .classpath.
Mises à jour générales des dépendances commons et migration de javax vers jakarta.
Build et Intégration Continue (CI)
Passage de la CI à Java 17.
Mise à jour des tests unitaires et de JaCoCo pour Java 17.
Ajout d’une propriété de build pour les horodatages de modification des entrées des fichiers JAR.
Suppression des horodatages des pages Javadoc générées.
Standardisation des sorties de test.
Ajout de cibles de nettoyage complètes et suppression des fichiers obsolètes.
Rapports de résultats de test sécurisés via GitHub Actions.
Échec du build si les tests échouent.
Centralisation de la chaîne de version au lieu d’une duplication entre les modules.
Drapeau de build disableTests=true pour ignorer les tests si nécessaire.
Saut de l’étape de permissions de signature des JAR pour les builds non signés.
Remerciements aux contributeurs
Nous tenons à remercier chaleureusement les nouveaux contributeurs pour leur temps et leurs efforts afin d’améliorer OIE pour tous :
@edthri (Documentation)
@ChristopheChauvet (Documentation et Moteur)
@NicoPiel (Moteur)
@mhokanson (Moteur)
@VillePekka (Moteur)
@tibisabau (Moteur)
@dowel015 (Moteur)
Comment mettre à jour ?
L’installeur de cette version supprimera automatiquement la version précédente d’OIE, à l’exception des répertoires devant persister pendant une mise à jour (par exemple : appdata, conf, extensions, logs).
Pour effectuer la mise à jour :
Sauvegardez vos configurations et données personnalisées.
Téléchargez la dernière version depuis le dépôt GitHub.
Suivez les instructions d’installation.
Vous souhaitez migrer de Mirth Connect vers Open Integration Engine, suivez ce guide.
Conclusion
La version 4.6.0 d’Open Integration Engine marque une avancée significative en termes de fonctionnalités, de performance et de sécurité. Nous encourageons tous les utilisateurs à mettre à jour vers cette version pour bénéficier des dernières améliorations et corrections.
Pour plus d’informations, consultez :
N’hésitez pas à partager vos retours ou à signaler des problèmes via GitHub Issues.
L’équipe Open Integration Engine