CHANGELOG
v3.8.0 - Jun 29, 2026
Nouvelles fonctionnalités
- Ajout de l'option logger qui permet de définir l'instance du logger à utiliser par le serveur.
- Ajout de l'option basePath qui permet de préfixer les URLs exposées par le serveur.
- Ajout de la fonction de rappel session.resolveMetadata qui permet la résolution de métadonnées de session lors du décrochage.
Maintenance
- Mise à jour des dépendances.
v3.7.3 - Apr 20, 2026
Maintenance
- Mise à jour des dépendances.
v3.7.2 - Mar 16, 2026
Maintenance
- Mise à jour des dépendances pour correction de vulnérabilités
v3.7.1
Correctifs
Mise à jour de la dépendance @apollo/server en v5.4.0 pour corriger une vulnérabilité de type DoS.
v3.7.0
Nouvelles fonctionnalités
- La landing page graphQL servit par Apollo Server est désactivée dans un environnement de production.
- Ajout des options de sécurité graphQL maxCoercionErrors et maxErrors à la méthode start de l'API serveur.
Maintenance
- Mise à jour de la version de @apollo/server : v5.3.0 (le statut de la v4 est « end-of-life » depuis le 26 jan. 2026)
- Mise Ă jour de la version minimale requise de @fasstech/oip-core : v3.20.0
- Mise Ă jour de la version requise de express : v4.22.1
- Mise Ă jour de la version requise de graphql : v16.12.0
- Mise Ă jour de la version requise de vite : v6.4.1
- Mise à jour des dépendances pour correction de vulnérabilités
Changements requis au niveau de la code-base d'un OAV
Mise à jour des dépendances du projet :
{
"dependencies": {
"@fasstech/oip-core": "3.20.0",
"@fasstech/oip-starter-utils": "3.7.0",
"@fasstech/oip-transition-manager": "1.0.0",
"express": "4.22.1"
},
"devDependencies": {
"@fasstech/oip-tools": "3.5.2",
"graphql": "16.12.0",
"vite": "6.4.1"
}
}v3.6.3
Correctifs
- Correction de la création excessive de connections à la base de données MongoDB.
Au niveau d'un OAV v3, il est nécessaire de mettre à jour les dépendances suivantes :
{
"dependencies": {
"@fasstech/oip-core": "3.19.1",
"@fasstech/oip-starter-utils": "3.6.3"
}
}v3.6.2
Correctifs
- correction d'une vulnérabilité critique de React
Au niveau d'un OAV v3, il est nécessaire de mettre à jour les dépendances suivantes :
@fasstech/oip-starter-utils: 3.6.2
react: 19.2.1
react-dom: 19.2.1
@types/react: 19.2.7
@types/react-dom: 19.2.3
@vitejs/plugin-react-swc: 4.2.2v3.6.1
Correctifs
Correction de la construction de l'URL du shadow CRM lors de la résolution de l'URL de redirection.
v3.6.0
Nouvelles fonctionnalités
- API server, ajout du paramÚtre optionnel helmetConfig à la méthode start. Permet de configurer le middleware de sécurité helmet doc
- API client, ajout comme valeur possible shadow-crm au paramÚtre optionnel ctxPolicy de la méthode start. Permet de spécifier le support du shadow CRM lors du décrochage sur l'OAV. doc
- Environnement, ajout des variables optionnelles suivantes nécessaires au support du shadow CRM :
SHADOW_CRM_URL
SHADOW_CRM_TEAM_API_KEYCorrectifs
Mise à jour de la version de quelques dépendances pour corriger des vulnérabilités.
v3.5.0
Nouvelles fonctionnalités
Ajout de la propriété optionnelle disableQueryStringParams (boolean) au composant <Router /> false par défaut. Si définie à true, le paramÚtre d'URL projectId n'est plus affiché doc
Correctifs
Lors du dĂ©crochage, le server ne crash plus et renvoie une erreur 401 dans le cas oĂč la valeur du paramĂštre d'URL projectId ne correspond pas Ă un ID valide.
v3.4.6
Nouvelles fonctionnalités
API server, ajout de la propriété optionnelle resolveContext à l'option session de l'objet de configuration attendu en paramÚtre par la méthode start. Permet de définir la callback responsable de la résolution du contexte client à partir du token lors du décrochage sur l'OAV doc
Breaking changes
Mise à jour des dépendances partagées @types/react et @types/react-dom en v19 :
{
"peerDependencies": {
"@types/react": "19.1.0",
"@types/react-dom": "19.1.0"
}
}v3.4.5
Nouvelles fonctionnalités
API server, ajout d'une propriété optionnelle security au paramÚtre graphql de la méthode start. Permet de configurer certains seuils de sécurité lors du traitement des queries ou mutations graphQL entrantes et ainsi d'améliorer la protection de l'endpoint graphQL contre les attaques de type DoS doc
Breaking changes
Il se peut qu'aprÚs la mise à jour de @fasstech/oip-starter-utils, certaines de vos queries ou mutations échouent en fonction de leur complexité. N'hésitez pas à analyser les erreurs en réponse et à ajuster les valeurs de sécurité via le paramÚtre graphql.security de la méthode start de l'API server.
v3.4.4
Nouvelles fonctionnalités
- API client, ajout de l'handler onLogout à processHandlers (hook useProcess). L'appel à cet handler permet de détruire la session de navigation actuelle cÎté server depuis le composant d'une vue de l'OAV doc
- API server, ajout du paramÚtre optionnel dataProtectionConfigPath à la méthode start. Permet de définir le path du fichier de configuration des rÚgles de politiques de données de l'OAV à charger par l'OIP doc
v3.4.3
Nouvelles fonctionnalités
Mode bundle : permet de configurer et de démarrer une partie d'un parcours pour un projet micro-frontend. Uniquement les vues définies dans le bundle courant seront chargées par l'application React :
- ajout du paramÚtre optionnel isBundle (boolean, false par défaut) à la méthode start de l'API client. Si défini à true l'application client sera démarrée en mode bundle doc
- ajout de la propriété bundle au composant Router pour passer le bundle de vues à charger. Nécessite isBundle à true lors de l'appel à la méthode start de l'API client doc
- ajout de l'handler destroyApp Ă processHandlers (hook useProcess). Cet handler permet de dĂ©monter proprement l'application React du DOM et ainsi de libĂ©rer la mĂ©moire (doit ĂȘtre appelĂ© en mode bundle par le code client d'une vue au moment d'une transition d'une vue qui dĂ©clenche le chargement du bundle suivant) doc
Breaking changes
Au niveau d'un OAV v3 :
Mise Ă jour de React 18.3.1 => 19.1.0 et de Vite 6.2.5 => 6.2.7
{
"devDependencies": {
"@testing-library/react": "16.3.0",
"react": "19.1.0",
"react-dom": "19.1.0",
"vite": "6.2.7"
}
}- Breaking changes & compatibilité
- React 19 exige le nouveau JSX Transform et supprime certains anciens APIs ou fonctions internes (ex. findDOMNode).
- Certains paquets tiers utilisent encore ces APIs internes, ce qui peut bloquer la migration. Le drapeau --legacy-peer-deps peut aider temporairement.
- Modifications du comportement de Suspense
- Dans React 19, les composants frĂšres ne sâaffichent pas si un Ă©lĂ©ment suspend â cela peut provoquer des effets de âwaterfallâ en cas de fetch parallĂšle, contrairement Ă React 18
Consulter le changelog React pour connaitre tous les éléments déprécié dans cette version
v3.4.2
Nouvelles fonctionnalités
- ajout d'un paramÚtre optionnel ctxPolicy à la méthode start de l'API client. Ce paramÚtre permet de définir la maniÚre dont le token du contexte client est passé à l'OAV lors du décrochage, valeurs possibles (doc) :
- parameters depuis le paramĂštre ctx
- local-storage depuis le local storage
- session-storage depuis le session storage
- url-params depuis les paramÚtres de l'URL (défaut)
- ajout d'un paramÚtre optionnel ctx à la méthode start de l'API client. Ce paramÚtre permet de définir le token du contexte client en tant que paramÚtre lors du décrochage quand l'option ctxPolicy est définie sur parameters (doc)
- ajout des paramÚtres optionnels suivants à la méthode start de l'API client. Chacun de ces paramÚtres attend en valeur l'élément JSX à charger lors d'une redirection en cas d'erreur HTTP (doc) :
- badRequestPage => erreur 400
- unauthorizedPage => erreur 401
- forbiddenPage => erreur 403
- notFoundPage => erreur 404
- internalServerError => erreur 500
- ajout d'un paramÚtre optionnel redirectOnError (boolean) à la méthode start de l'API client. Permet d'activer ou de désactiver la redirection vers la page d'erreur relative lors d'une erreur HTTP lors de la navigation sur l'OAV. Activé par défaut (doc)
- ajout d'un paramÚtre optionnel rootDivId à la méthode start de l'API client. Permet de définir l'id de l'élément root de l'application client. Par défaut l'id de l'élément root attendu est fasst-oav-root (doc)
Breaking changes
Au niveau d'un OAV v3 :
L'id de l'élément root est maintenant défini par défaut sur fasst-oav-root. Par conséquent vous devez éditer le fichier index.html à la racine de votre projet et changer l'id de l'élément root de l'application React :
<!doctype html>
<html lang="fr">
<head>
<!-- ... -->
</head>
<body>
<!-- change root id here -->
<div id="fasst-oav-root"></div>
<script type="module" src="/app/index.jsx"></script>
</body>
</html>
v3.4.1
Nouvelles fonctionnalités
- ajout du field sessionId au type graphQL Process
- l'id de session sessionId est maintenant passé en paramÚtre lors de l'appel à la callback de résolution de l'entité Project
- sessionId est maintenant accessible depuis l'objet process reçu en paramÚtre de la callback extendProcess
- au niveau de l'OAV, dans un composant d'une vue, sessionId est maintenant accessible depuis l'objet context reçu en réponse du hook useProcess
Exemple d'implémentation pour accéder à sessionId depuis la callback de résolution de l'entité Project de l'OAV :
import { start as startServer } from '@fasstech/oip-starter-utils/server';
import { initProjectFromContext } from './controllers/index.mjs';
import { getMockContext } from './mocks/context.mjs';
let serverConfig = {
session: {
// sessionId est reçu en paramÚtre
resolveMockProject: (sessionId) => initProjectFromContext(getMockContext(), sessionId),
resolveProject: initProjectFromContext
},
// ...
};
const { app } = await startServer(serverConfig);
// ...Breaking changes
Au niveau d'un OAV v3 :
- ajouter le field sessionId au type graphQL ExtendedProcess dans le fichier server/graphql/types/extended-process-type.mjs :
import { gql } from 'graphql-tag';
export const ExtendedProcessType = gql`
type ExtendedProcess implements Process {
# required fields (do not remove)
projectId: ID
viewId: ID
metadata: ProcessMetadata
# !! ajout du field ici !!
sessionId: ID
# additional fields
# add your custom fields here
}
`;- ajouter le field sessionId au type graphQL ProcessFragment dans le fichier app/graphql/fragments/process.js :
import { gql } from '@apollo/client';
export const ProcessFragment = gql`
fragment ProcessFragment on ExtendedProcess {
# required fields (do not remove)
projectId
viewId
metadata
# !! ajout du field ici !!
sessionId
# additional fields
# requested fields must match type definition at server/graphql/types/extended-process-type.mjs
# add your custom fields here
}
`;v3.4.0
Nouvelles fonctionnalités
- permet de gérer un projet avec plusieurs origines :
- nouvelle variable d'environnement optionnelle SERVER_URL qui définit l'URL du server (dans le cas d'une origine différente)
- possibilité de passer un objet optionnel corsOptions à la méthode startServer pour la configuration du mécanisme CORS
- possibilité de passer un objet optionnel cookieOptions à la méthode startServer pour la configuration des attributs du cookie de session
- possibilité de passer une fonction resolveFirstView à la méthode startServer pour la gestion conditionnelle de la premiÚre vue du parcours
Correctifs
- correction des vulnérabilités au niveau des dépendances
Breaking changes
Au niveau d'un OAV v3 :
- les variables dâenvironnement dĂ©finies dans le fichier vite.config.js doivent ĂȘtre renommĂ©es :
// before
{
define: {
'process.env.API_KEY': JSON.stringify(env.API_KEY),
'process.env.API_USER_ID': JSON.stringify(env.API_USER_ID)
},
...
}
// after
{
define: {
__API_KEY__: JSON.stringify(env.API_KEY),
__API_USER_ID__: JSON.stringify(env.API_USER_ID)
},
...
}- ajout de la variable dâenvironnement __SERVER_URL__ dans le fichier de configuration vite.config.js :
{
define: {
__API_KEY__: JSON.stringify(env.API_KEY),
__API_USER_ID__: JSON.stringify(env.API_USER_ID),
// add this variable
__SERVER_URL__: JSON.stringify(env.SERVER_URL || '')
},
...
}- mise à jour des dépendances suivantes :
{
"dependencies": {
"@fasstech/oip-core": "3.9.0",
"@fasstech/oip-starter-utils": "3.4.0",
"@fasstech/oip-transition-manager": "0.0.12"
},
"devDependencies": {
"vite": "6.2.5"
}
}- mise Ă jour de la version minimum de l'engine node : version minimum 22