Se rendre au contenu

FastAPI 0.110 est sorti

24 février 2024 par
FastAPI 0.110 est sorti
Makersquad

Date de sortie : 24 février 2024

Release officielle : FastAPI 0.110.0

Une release ciblée sur la correction d’une fuite mémoire dans les dépendances avec yield qui attrapaient une exception sans la relever.


Ce qui change

Fuite mémoire sur dépendances yield

Avant 0.110, une dépendance yield qui attrape une exception via try/except sans la relever pouvait garder des références indéfiniment, provoquant une fuite mémoire progressive sur les applications à forte charge.

async def get_resource():
    resource = acquire()
    try:
        yield resource
    except SomeError:
        # Avant : fuite mémoire subtile
        # Après : l'exception doit être relevée
        log.warning("caught")
        raise  # obligatoire maintenant
    finally:
        release(resource)

Si votre code attrape une exception dans une dépendance yield et ne la relève pas, il faut maintenant le modifier pour soit relever l’exception, soit la gérer avant le yield.


Pourquoi c’est un breaking change

Le changement est marqué breaking parce que des applications reposaient involontairement sur le comportement précédent : attraper une exception dans la dépendance sans la relever empêchait la remontée vers FastAPI, mais avait pour effet secondaire de fuiter de la mémoire. Corriger la fuite impose de relever explicitement.


Comment migrer

Recherchez dans votre code les try/except autour d’un yield dans une dépendance :

grep -rn "yield" app/dependencies/

Pour chaque occurrence, vérifiez que l’exception est soit relevée (raise), soit gérée en amont du yield.

Échanger avec un expert FastAPI

Nous revenons vers vous sous 24h.


Chez Makersquad, nous concevons des API performantes et évolutives avec FastAPI, un framework reconnu pour sa rapidité, son typage natif et sa documentation automatique basée sur OpenAPI. Que ce soit pour des microservices ou des projets orientés data et IA, FastAPI permet de développer des services robustes tout en garantissant un excellent niveau de performance. Que vous lanciez un nouveau projet ou souhaitiez moderniser votre backend, notre équipe vous accompagne pour construire des API rapides, fiables et prêtes à scaler.


À retenir

La plupart des applications ne sont pas affectées : peu de code attrape une exception sans la relever dans une dépendance yield. Mais si c’est votre cas, la migration est simple et la résolution de la fuite mémoire est un vrai gain sur les services long-running.

FastAPI 0.106 est sorti