Saltar al contenido

Notas de la Versión

Últimos Cambios

Interno

  • ⬆ Actualizar CodSpeedHQ/action de 4.17.0 a 4.17.5 en el grupo github-actions. PR #15826 por @dependabot[bot].

0.138.2 (2026-06-29)

Refactors

  • ♻️ Hacer que app.frontend() retorne 404 para métodos distintos a GET o HEAD sin coincidencias de archivos estáticos. PR #15863 por @tiangolo.

Interno

  • 🔧 Actualizar sponsors: remover Stainless. PR #15862 por @tiangolo.
  • ♻️ Refactor de cómo se manejan los datos de sponsors para banners. PR #15852 por @tiangolo.

0.138.1 (2026-06-25)

Refactors

  • ♻️ Refactor de Library Skills, hacer la info más fácil de encontrar para agentes. PR #15841 por @tiangolo.

Interno

0.138.0 (2026-06-20)

Características

  • ✨ Add support for app.frontend("/", directory="dist") and router.frontend("/", directory="dist"). PR #15800 by @tiangolo.

Docs

  • 📝 Corregir typo en las notas de la versión. PR #15807 por @tiangolo.
  • 📝 Añadir instrucciones de app.frontend() al Agent Library Skill. PR #15805 por @tiangolo.
  • 📝 Actualizar enlace de notas de la versión. PR #15802 por @tiangolo.
  • ✏️ Actualizar caracteres de espacio en blanco en bigger apps. PR #15801 por @tiangolo.
  • ✏️ Corregir gramática, typos y enlaces rotos en las docs. PR #15694 por @YuriiMotov.

Traducciones

Interno

  • 🐛 Corregir test que falla, actualizar formato para errores lanzados. PR #15804 por @tiangolo.
  • 👷 Corregir test-alls-green. PR #15803 por @tiangolo.
  • 🔧 Habilitar verificación de typos en release-notes.md. PR #15796 por @YuriiMotov.
  • 📝 Ajustar redacción sobre desplegar en FastAPI Cloud. PR #15793 por @tiangolo.
  • 🔨 Usar modelo gpt-5.5 en translate.py, especificar -chat para evitar warnings. PR #15792 por @YuriiMotov.

0.137.2 (2026-06-18)

Características

  • ✨ Añadir iter_route_contexts() para casos de uso avanzados que usaban router.routes (ej. Jupyverse). PR #15785 por @tiangolo.

Traducciones

  • 🌐 Corregir Markdown roto en las docs en Coreano de custom response. PR #15774 por @kooqooo.
  • 🌐 Actualizar traducciones para fr (update-outdated). PR #15761 por @tiangolo.
  • 🌐 Actualizar traducciones para zh-hant (update-outdated). PR #15760 por @tiangolo.
  • 🌐 Actualizar traducciones para de (update-outdated). PR #15759 por @tiangolo.
  • 🌐 Actualizar traducciones para ko (update-outdated). PR #15757 por @tiangolo.
  • 🌐 Actualizar traducciones para uk (update-outdated). PR #15756 por @tiangolo.
  • 🌐 Actualizar traducciones para zh (update-outdated). PR #15755 por @tiangolo.
  • 🌐 Actualizar traducciones para tr (update-outdated). PR #15754 por @tiangolo.
  • 🌐 Actualizar traducciones para pt (update-outdated). PR #15753 por @tiangolo.
  • 🌐 Actualizar traducciones para es (update-outdated). PR #15752 por @tiangolo.
  • 🌐 Actualizar traducciones para ja (update-outdated). PR #15751 por @tiangolo.
  • 🌐 Actualizar traducciones para ru (update-outdated). PR #15758 por @tiangolo.

Interno

0.137.1 (2026-06-15)

Correcciones

  • 🚨 Corregir verificaciones de typing para APIRoute. PR #15765 por @tiangolo.
  • 🐛 Corregir bug, permitir path vacío en operación de path en router sin prefijo. PR #15763 por @tiangolo.

0.137.0 (2026-06-14)

Cambios Importantes

  • ♻️ Refactor de internals para preservar instancias de APIRouter y APIRoute. PR #15745 por @tiangolo.

Desbloquea ✨ TANTAS COSAS ✨

Antes de esto, router.include_router(other_router) tomaba cada operación de path de other_router y la "clonaba", o la recreaba desde cero.

Esto significaría que al final habría solo un router de nivel superior, parte de la app.

La forma en que está estructurado aquí es que hay algunas clases adicionales para manejar metadatos intermedios para la inclusión de routers y rutas. De esa manera la información de "el router X incluye a Y e Y incluye a Z" se almacena en algún lugar, sin afectar (recrear / clonar) la ruta final.

No Objetivos

Dependencias para 404: previamente tenía la intención de soportar dependencias que se ejecutarían incluso para 404, pero eso entraría en conflicto con el hecho de que un router podría no encontrar una coincidencia, pero el siguiente router encontrar una. Ejecutar dependencias en el router que no encontró coincidencia no tendría sentido, podrían consumir la petición, el body, etc. Esta idea original fue descartada.

Cambios Importantes Específicos

Ahora router.routes ya no es una lista plana de objetos APIRoute, puede contener estos objetos intermedios que pueden contener routers adicionales, formando un árbol.

Cualquier lógica que dependiera de iterar directamente sobre router.routes se vería afectada, esa lógica no puede esperar poder extraer datos de una lista plana de rutas, ya que ya no es una lista plana sino un árbol.

Adicionalmente, cualquier lógica que iterara sobre router.routes para modificarlas ahora también vería estos nuevos objetos, y no vería todas las rutas en la app.

router.routes debería considerarse un detalle de implementación interno, solo pasado a las funciones de FastAPI que lo necesitan.

Características

  • Agregar rutas (operaciones de path) después de que un router es incluido ahora funciona, se reflejan ya que no se copian.
  • Incluir subrouter en mainrouter puede hacerse antes de agregar rutas (operaciones de path) a subrouter, porque ahora el objeto completo se almacena en lugar de copiar las rutas.
  • Como las rutas no se copian, en algunos casos eso podría ahorrar memoria.

Funcionalidades Alpha

Esto aún no está documentado, así que no es oficialmente soportado aún y podría cambiar en el futuro.

Pero, como las instancias de APIRoute y APIRouter ahora se preservan, podrían personalizarse.

APIRouter tiene dos métodos nuevos, .matches() y .handle(), contraparte de los existentes en APIRoute. Con esto un router podría personalizar cómo coincide y maneja peticiones. Por ejemplo, podría coincidir solo peticiones que incluyan algún header específico, por ejemplo para manejar versiones en headers.

Aún así, por ahora, considera esto muy experimental y potencialmente cambiante y que podría romperse en el futuro.

Funcionalidades Futuras Habilitadas

  • Subclases personalizadas de APIRoute (no documentado, pero ya funciona como se describe arriba)
  • Subclases personalizadas de APIRouter (no documentado, pero ya funciona como se describe arriba)
  • Dependencias por router
  • Manejadores de excepciones por router
  • Middleware por router
  • Otras funcionalidades planeadas

Docs

  • 📝 Actualizar notas de la versión. PR #15747 por @tiangolo.
  • 📝 Actualizar instrucciones de despliegue en FastAPI Cloud. PR #15724 por @alejsdev.
  • ✏️ Usar Annotated en ejemplo inline en docs/en/docs/tutorial/body-multiple-params.md. PR #15591 por @TheArchons.
  • 📝 Remover "NGINX Unit" de la lista de servidores ASGI en las docs. PR #15475 por @angryfoxx.
  • 📝 Actualizar docs/en/docs/tutorial/security/oauth2-jwt.md. PR #14781 por @zadevhub.

Traducciones

  • 🌐 Actualizar traducciones para zh-hant (update-outdated). PR #15671 por @tiangolo.
  • 🌐 Actualizar traducciones para es (update-outdated). PR #15670 por @tiangolo.
  • 🌐 Actualizar traducciones para fr (update-outdated). PR #15669 por @tiangolo.
  • 🌐 Actualizar traducciones para ja (update-outdated). PR #15668 por @tiangolo.
  • 🌐 Actualizar traducciones para pt (update-outdated). PR #15667 por @tiangolo.
  • 🌐 Actualizar traducciones para tr (update-outdated). PR #15666 por @tiangolo.
  • 🌐 Actualizar traducciones para zh (update-outdated). PR #15665 por @tiangolo.
  • 🌐 Actualizar traducciones para ko (update-outdated). PR #15664 por @tiangolo.
  • 🌐 Actualizar traducciones para de (update-outdated). PR #15673 por @tiangolo.
  • 🌐 Actualizar traducciones para uk (update-outdated). PR #15672 por @tiangolo.
  • 🌐 Actualizar traducciones para ru (update-outdated). PR #15674 por @tiangolo.

Interno

0.136.3 (2026-05-23)

Refactors

  • ♻️ No aceptar headers con underscore cuando se usa convert_underscores=True (el valor por defecto). PR #15589 por @tiangolo.

0.136.2 (2026-05-23)

Refactors

  • ♻️ Validar campos de Server Sent Event para evitar que las aplicaciones envíen datos rotos. PR #15588 por @tiangolo.

Docs

  • 📝 Documentar opción CLI --entrypoint. PR #15464 por @YuriiMotov.
  • 📝 Actualizar y simplificar docs sobre ayuda y gestión. PR #15583 por @tiangolo.
  • 📝 Añadir referencias en las docs a las docs centrales de contribución. PR #15580 por @tiangolo.
  • 📝 Actualizar política de seguridad. PR #15577 por @tiangolo.
  • 🍱 Actualizar sponsors: imagen de TalorData. PR #15562 por @tiangolo.
  • 📝 Actualizar docs, simplificar el uso de admonitions, solo las por defecto. PR #15553 por @tiangolo.
  • 📝 Corregir URLs de imágenes en index.md. PR #15534 por @YuriiMotov.
  • ✏️ Corregir typo de Azkaban en virtual-environments.md‎. PR #15463 por @isaacbernat.
  • 💄 Mejorar layout y styling. PR #15462 por @alejsdev.
  • 💄 Refactor de la sección de opiniones con pestañas interactivas y nuevos logos. PR #15458 por @alejsdev.
  • 📝 Añadir anuncio de FastAPI Conf '26 a las docs. PR #15457 por @alejsdev.

Traducciones

  • 🌐 Mejorar consistencia de traducción en ‎docs/pt/docs/advanced/generate-clients.md‎. PR #15456 por @Will-thom.
  • 🌐 Actualizar traducciones para ja (update-outdated). PR #15530 por @tiangolo.
  • 🌐 Actualizar traducciones para uk (update-outdated). PR #15529 por @tiangolo.
  • 🌐 Actualizar traducciones para pt (update-outdated). PR #15528 por @tiangolo.
  • 🌐 Actualizar traducciones para de (update-outdated). PR #15527 por @tiangolo.
  • 🌐 Actualizar traducciones para tr (update-outdated). PR #15526 por @tiangolo.
  • 🌐 Actualizar traducciones para ko (update-outdated). PR #15525 por @tiangolo.
  • 🌐 Actualizar traducciones para zh-hant (update-outdated). PR #15524 por @tiangolo.
  • 🌐 Actualizar traducciones para fr (update-outdated). PR #15522 por @tiangolo.
  • 🌐 Actualizar traducciones para es (update-outdated). PR #15523 por @tiangolo.
  • 🌐 Actualizar traducciones para zh (update-outdated). PR #15520 por @tiangolo.
  • 🌐 Actualizar traducciones para ru (update-outdated). PR #15521 por @tiangolo.
  • 🌐 Corregir typos en el LLM-prompt en Español. PR #15472 por @crr004.

Interno

0.136.1 (2026-04-23)

Actualizaciones

  • ⬆️ Actualizar código de Pydantic v2 para abordar deprecaciones. PR #15101 by @svlandeg.

Interno

0.136.0 (2026-04-16)

Actualizaciones

  • ⬆️ Soporte para Python 3.14t con free-threading. PR #15149 by @svlandeg.

0.135.4 (2026-04-16)

Refactors

  • 🔥 Eliminar el @app.vibe() del April Fool's 🤪. PR #15363 by @tiangolo.

Interno

0.135.3 (2026-04-01)

Características

Docs

  • ✏️ Corregir error tipográfico de client_secret en los docstrings del formulario de OAuth2. PR #14946 by @bysiber.

Interno

0.135.2 (2026-03-01)

Actualizaciones

  • ⬆️ Incrementar el límite inferior a pydantic >=2.9.0. y corregir el conjunto de pruebas. PR #15139 by @svlandeg.

Docs

  • 📝 Añadir fechas faltantes a las notas de la última versión. PR #15202 by @tiangolo.
  • 📝 Actualizar la documentación para colaboradores y miembros del equipo respecto a los PRs de traducción. PR #15200 by @YuriiMotov.
  • 💄 Corregir bloques de código en la documentación de referencia que excedían el ancho de la tabla. PR #15094 by @YuriiMotov.
  • 📝 Corregir palabras duplicadas en docstrings. PR #15116 by @AhsanSheraz.
  • 📝 Añadir documentación para pyproject.toml con entrypoint. PR #15075 by @tiangolo.
  • 📝 Actualizar enlaces en la documentación para dejar de usar las clases external-link e internal-link. PR #15061 by @tiangolo.
  • 🔨 Añadir manejo de JS y CSS para target=_blank automático para enlaces en la documentación. PR #15063 by @tiangolo.
  • 💄 Actualizar estilos para enlaces internos y externos en nueva pestaña. PR #15058 by @tiangolo.
  • 📝 Añadir documentación para la extensión de FastAPI para VS Code. PR #15008 by @savannahostrowski.
  • 📝 Corregir docstrings para max_digits y decimal_places. PR #14944 by @YuriiMotov.
  • 📝 Añadir fechas a las notas de versión. PR #15001 by @YuriiMotov.

Traducciones

  • 🌐 Actualizar traducciones para zh (update-outdated). PR #15177 by @tiangolo.
  • 🌐 Actualizar traducciones para zh-hant (update-outdated). PR #15178 by @tiangolo.
  • 🌐 Actualizar traducciones para zh-hant (add-missing). PR #15176 by @tiangolo.
  • 🌐 Actualizar traducciones para zh (add-missing). PR #15175 by @tiangolo.
  • 🌐 Actualizar traducciones para ja (update-outdated). PR #15171 by @tiangolo.
  • 🌐 Actualizar traducciones para ko (update-outdated). PR #15170 by @tiangolo.
  • 🌐 Actualizar traducciones para tr (update-outdated). PR #15172 by @tiangolo.
  • 🌐 Actualizar traducciones para ko (add-missing). PR #15168 by @tiangolo.
  • 🌐 Actualizar traducciones para ja (add-missing). PR #15167 by @tiangolo.
  • 🌐 Actualizar traducciones para tr (add-missing). PR #15169 by @tiangolo.
  • 🌐 Actualizar traducciones para fr (update-outdated). PR #15165 by @tiangolo.
  • 🌐 Actualizar traducciones para fr (add-missing). PR #15163 by @tiangolo.
  • 🌐 Actualizar traducciones para uk (update-outdated). PR #15160 by @tiangolo.
  • 🌐 Actualizar traducciones para uk (add-missing). PR #15158 by @tiangolo.
  • 🌐 Actualizar traducciones para pt (add-missing). PR #15157 by @tiangolo.
  • 🌐 Actualizar traducciones para pt (update-outdated). PR #15159 by @tiangolo.
  • 🌐 Actualizar traducciones para es (update-outdated). PR #15155 by @tiangolo.
  • 🌐 Actualizar traducciones para es (add-missing). PR #15154 by @tiangolo.
  • 🌐 Actualizar traducciones para de (update-outdated). PR #15156 by @tiangolo.
  • 🌐 Actualizar traducciones para ru (update-and-add). PR #15152 by @tiangolo.
  • 🌐 Actualizar traducciones para de (add-missing). PR #15153 by @tiangolo.

Interno

0.135.1 (2026-03-01)

Correcciones

  • 🐛 Corregir, evitar yield desde un TaskGroup, solo como async context manager, cerrado en la pila de salida asíncrona de la petición. PR #15038 by @tiangolo.

Docs

  • ✏️ Corregir error tipográfico en docs/en/docs/_llm-test.md. PR #15007 by @adityagiri3600.
  • 📝 Actualizar Skill, optimizar contexto, recortar y refactorizar en referencias. PR #15031 by @tiangolo.

Interno

  • 👥 Actualizar FastAPI People - Expertos. PR #15037 by @tiangolo.
  • 👥 Actualizar FastAPI People - Colaboradores y Traductores. PR #15029 by @tiangolo.
  • 👥 Actualizar repositorios del topic de GitHub de FastAPI. PR #15036 by @tiangolo.

0.135.0 (2026-03-01)

Características

0.134.0 (2026-02-27)

Características

  • ✨ Add support for streaming JSON Lines and binary data with yield. PR #15022 by @tiangolo.
    • Esto también actualiza Starlette de >=0.40.0 a >=0.46.0, ya que es necesario para desenvolver y relanzar correctamente las excepciones de los grupos de excepciones.
    • Nueva documentación: Stream JSON Lines.
    • Y nueva documentación: Stream Data.

Docs

  • 📝 Actualizar el Skill del Library Agent con respuestas de streaming. PR #15024 by @tiangolo.
  • 📝 Actualizar la documentación para respuestas y el nuevo stream con yield. PR #15023 by @tiangolo.
  • 📝 Añadir await en el ejemplo de código de StreamingResponse para permitir la cancelación. PR #14681 by @casperdcl.
  • 📝 Renombrar docs_src/websockets a docs_src/websockets_ para evitar errores de importación. PR #14979 by @YuriiMotov.

Interno

0.133.1 (2026-02-25)

Características

Interno

0.133.0 (2026-02-24)

Actualizaciones

0.132.1 (2026-02-24)

Refactors

  • ♻️ Refactorizar la lógica para manejar el escape de datos de OpenAPI y Swagger UI. PR #14986 by @tiangolo.

Interno

0.132.0 (2026-02-23)

Cambios Importantes

  • 🔒️ Add strict_content_type checking for JSON requests. PR #14978 by @tiangolo.
    • Ahora FastAPI verifica, por defecto, que las peticiones JSON tengan un encabezado Content-Type con un valor JSON válido, como application/json, y rechaza las peticiones que no lo tengan.
    • Si los clientes de tu app no envían un encabezado Content-Type válido, puedes desactivar esto con strict_content_type=False.
    • Revisa la nueva documentación: Strict Content-Type Checking.

Interno

  • ⬆ Actualizar flask de 3.1.2 a 3.1.3. PR #14949 by @dependabot[bot].
  • ⬆ Actualizar todas las dependencias para usar griffelib en lugar de griffe. PR #14973 by @svlandeg.
  • 🔨 Corregir el workflow de FastAPI People. PR #14951 by @YuriiMotov.
  • 👷 No ejecutar codspeed con coverage ya que no se rastrea. PR #14966 by @tiangolo.
  • 👷 No incluir las pruebas de benchmark en el coverage para acelerar el procesamiento del coverage. PR #14965 by @tiangolo.

0.131.0 (2026-02-22)

Cambios Importantes

0.130.0 (2026-02-22)

Características

  • ✨ Serialize JSON response with Pydantic (in Rust), when there's a Pydantic return type or response model. PR #14962 by @tiangolo.

0.129.2 (2026-02-21)

Interno

  • ⬆️ Actualizar pytest. PR #14959 by @tiangolo.
  • 👷 Corregir CI, no intentar publicar fastapi-slim. PR #14958 by @tiangolo.
  • ➖ Eliminar soporte para fastapi-slim, no se publicarán más versiones, usar solo "fastapi[standard]" o fastapi. PR #14957 by @tiangolo.
  • 🔧 Actualizar pyproject.toml, eliminar líneas innecesarias. PR #14956 by @tiangolo.

0.129.1 (2026-02-21)

Correcciones

  • ♻️ Corregir el JSON Schema para bytes, usar "contentMediaType": "application/octet-stream" en lugar de "format": "binary". PR #14953 by @tiangolo.

Docs

  • 🔨 Añadir widget de Kapa.ai (chatbot de IA). PR #14938 by @tiangolo.
  • 🔥 Eliminar archivos específicos de Python 3.9, ya no necesarios después de actualizar las traducciones. PR #14931 by @tiangolo.
  • 📝 Actualizar la documentación de JWT para prevenir ataques de temporización. PR #14908 by @tiangolo.

Traducciones

Interno

0.129.0 (2026-02-12)

Cambios Importantes

Refactors

Docs

  • 📝 Actualizar destacados en la documentación de webhooks. PR #14905 by @tiangolo.
  • 📝 Actualizar ejemplos de código fuente y documentación de Python 3.9 a 3.10. PR #14900 by @tiangolo.

Interno

  • 🔨 Actualizar los scripts de docs.py para migrar de Python 3.9 a Python 3.10. PR #14906 by @tiangolo.

0.128.8 (2026-02-11)

Docs

  • 📝 Corregir gramática en docs/en/docs/tutorial/first-steps.md. PR #14708 by @SanjanaS10.

Interno

  • 🔨 Ajustar el script del hook de PDM. PR #14895 by @tiangolo.
  • ♻️ Actualizar la configuración de build para fastapi-slim, deprecarlo, y hacer que solo dependa de fastapi. PR #14894 by @tiangolo.

0.128.7 (2026-02-10)

Características

Refactors

  • ♻️ Simplificar la lectura de archivos en memoria, hacerlo secuencialmente en lugar de (falso) paralelo. PR #14884 by @tiangolo.

Docs

  • 📝 Usar la etiqueta dfn para definiciones en lugar de abbr en la documentación. PR #14744 by @YuriiMotov.

Interno

  • ✅ Ajustar comentario en prueba para referenciar el PR. PR #14885 by @tiangolo.
  • 🔧 Actualizar el prompt de LLM para las etiquetas abbr y dfn. PR #14747 by @YuriiMotov.
  • ✅ Probar el orden de los archivos Files de bytes enviados. PR #14828 by @valentinDruzhinin.
  • 🔧 Configurar el workflow de test para ejecutar pruebas con inline-snapshot=review. PR #14876 by @YuriiMotov.

0.128.6 (2026-02-09)

Correcciones

  • 🐛 Corregir los parámetros on_startup y on_shutdown de APIRouter. PR #14873 by @YuriiMotov.

Traducciones

  • 🌐 Actualizar traducciones para zh (update-outdated). PR #14843 by @tiangolo.

Interno

0.128.5 (2026-02-08)

Refactors

  • ♻️ Refactorizar y simplificar las utilidades internas de compatibilidad de Pydantic v2 (y v1). PR #14862 by @tiangolo.

Interno

  • ✅ Añadir pruebas de inline snapshot para OpenAPI antes de los cambios de Pydantic v2. PR #14864 by @tiangolo.

0.128.4 (2026-02-07)

Refactors

  • ♻️ Refactorizar internals, simplificar utilidades de Pydantic v2/v1, create_model_field, mejores tipos para lenient_issubclass. PR #14860 by @tiangolo.
  • ♻️ Simplificar internals, eliminar la lógica solo de Pydantic v1, ya no necesaria. PR #14857 by @tiangolo.
  • ♻️ Refactorizar internals, limpiar lógica específica de Pydantic v1 innecesaria. PR #14856 by @tiangolo.

Traducciones

  • 🌐 Actualizar traducciones para fr (páginas desactualizadas). PR #14839 by @YuriiMotov.
  • 🌐 Actualizar traducciones para tr (desactualizadas y faltantes). PR #14838 by @YuriiMotov.

Interno

0.128.3 (2026-02-06)

Refactors

  • ♻️ Re-implementar on_event en FastAPI para compatibilidad con el próximo Starlette, manteniendo compatibilidad hacia atrás. PR #14851 by @tiangolo.

Actualizaciones

  • ⬆️ Actualizar el rango de versiones soportadas de Starlette a starlette>=0.40.0,<1.0.0. PR #14853 by @tiangolo.

Traducciones

  • 🌐 Actualizar traducciones para ru (update-outdated). PR #14834 by @tiangolo.

Interno

  • 👷 Ejecutar pruebas con Starlette desde git. PR #14849 by @tiangolo.
  • 👷 Ejecutar pruebas con uv sync del límite inferior, actualizar las dependencias mínimas de fastapi[all]: ujson >=5.8.0, orjson >=3.9.3. PR #14846 by @tiangolo.

0.128.2 (2026-02-05)

Características

Correcciones

  • 🐛 Corregir el uso del tipo Json[list[str]] (issue #10997). PR #14616 by @mkanetsuna.

Docs

Traducciones

  • 🌐 Habilitar traducciones al chino tradicional. PR #14842 by @tiangolo.
  • 🌐 Habilitar traducciones de documentación al francés. PR #14841 by @tiangolo.
  • 🌐 Actualizar traducciones para fr (translate-page). PR #14837 by @tiangolo.
  • 🌐 Actualizar traducciones para de (update-outdated). PR #14836 by @tiangolo.
  • 🌐 Actualizar traducciones para pt (update-outdated). PR #14833 by @tiangolo.
  • 🌐 Actualizar traducciones para ko (update-outdated). PR #14835 by @tiangolo.
  • 🌐 Actualizar traducciones para es (update-outdated). PR #14832 by @tiangolo.
  • 🌐 Actualizar traducciones para tr (update-outdated). PR #14831 by @tiangolo.
  • 🌐 Actualizar traducciones para tr (add-missing). PR #14790 by @tiangolo.
  • 🌐 Actualizar traducciones para fr (update-outdated). PR #14826 by @tiangolo.
  • 🌐 Actualizar traducciones para zh-hant (update-outdated). PR #14825 by @tiangolo.
  • 🌐 Actualizar traducciones para uk (update-outdated). PR #14822 by @tiangolo.
  • 🔨 Actualizar scripts de documentación y traducciones, habilitar turco. PR #14824 by @tiangolo.

Interno

  • 🔨 Añadir máximo de páginas a traducir a las configuraciones. PR #14840 by @tiangolo.

0.128.1 (2026-02-04)

Características

  • ✨ Añadir meta etiqueta viewport para mejorar Swagger UI en dispositivos móviles. PR #14777 by @Joab0.
  • 🚸 Mejorar el mensaje de error para anotaciones de tipo de parámetro de consulta inválidas. PR #14479 by @retwish.

Correcciones

  • 🐛 Actualizar el schema de ValidationError para incluir input y ctx. PR #14791 by @jonathan-fulton.
  • 🐛 Corregir anotaciones de TYPE_CHECKING para Python 3.14 (PEP 649). PR #14789 by @mgu.
  • 🐛 Eliminar espacios en blanco de las credenciales del encabezado Authorization. PR #14786 by @WaveTheory1.
  • 🐛 Corregir la duplicación de OpenAPI de refs de anyOf para respuestas a nivel de app con content especificado y model como Union. PR #14463 by @DJMcoder.

Refactors

  • 🎨 Ajustar tipos para mypy. PR #14816 by @tiangolo.
  • 🏷️ Re-exportar el tipo IncEx desde Pydantic en lugar de duplicarlo. PR #14641 by @mvanderlee.
  • 💡 Actualizar comentario para los internals de Pydantic. PR #14814 by @tiangolo.

Docs

  • 📝 Actualizar la documentación para contribuir con traducciones, simplificar el título. PR #14817 by @tiangolo.
  • 📝 Corregir problema de tipado en el ejemplo de código docs_src/app_testing/app_b. PR #14573 by @timakaa.
  • 📝 Corregir ejemplo de identificador de licencia en la documentación. PR #14492 by @johnson-earls.
  • 📝 Añadir banner a las páginas traducidas. PR #14809 by @YuriiMotov.
  • 📝 Añadir enlaces a secciones relacionadas de la documentación en los docstrings. PR #14776 by @YuriiMotov.
  • 📝 Actualizar ejemplos de código embebidos a la sintaxis de Python 3.10. PR #14758 by @YuriiMotov.
  • 📝 Corregir el comando de instalación de dependencias en docs/en/docs/contributing.md. PR #14757 by @YuriiMotov.
  • 📝 Usar anotación de tipo de retorno en lugar de response_model cuando sea posible. PR #14753 by @YuriiMotov.
  • 📝 Usar WSGIMiddleware de a2wsgi en lugar del fastapi.middleware.wsgi.WSGIMiddleware deprecado. PR #14756 by @YuriiMotov.
  • 📝 Corregir errores tipográficos menores en las notas de versión. PR #14780 by @whyvineet.
  • 🐛 Corregir botón de copiado en custom.js. PR #14722 by @fcharrier.
  • 📝 Añadir instrucciones de contribución sobre código y comentarios generados por LLM y herramientas automatizadas para PRs. PR #14706 by @tiangolo.
  • 📝 Actualizar la documentación para tareas de gestión. PR #14705 by @tiangolo.
  • 📝 Actualizar la documentación sobre gestión de traducciones. PR #14704 by @tiangolo.
  • 📝 Actualizar la documentación para contribuir con traducciones. PR #14701 by @tiangolo.
  • 📝 Especificar código de idioma para bloques de código. PR #14656 by @YuriiMotov.

Traducciones

  • 🌐 Mejorar el prompt de LLM de la documentación uk. PR #14795 by @roli2py.
  • 🌐 Actualizar traducciones para ja (update-outdated). PR #14588 by @tiangolo.
  • 🌐 Actualizar traducciones para uk (actualizar desactualizadas, encontradas por la herramienta de corrección). PR #14739 by @YuriiMotov.
  • 🌐 Actualizar traducciones para tr (update-outdated). PR #14745 by @tiangolo.
  • 🌐 Actualizar llm-prompt.md para el idioma coreano. PR #14763 by @seuthootDev.
  • 🌐 Actualizar traducciones para ko (actualizar desactualizadas, encontradas por la herramienta de corrección). PR #14738 by @YuriiMotov.
  • 🌐 Actualizar traducciones para de (update-outdated). PR #14690 by @tiangolo.
  • 🌐 Actualizar el prompt de LLM para las traducciones al ruso. PR #14733 by @YuriiMotov.
  • 🌐 Actualizar traducciones para ru (update-outdated). PR #14693 by @tiangolo.
  • 🌐 Actualizar traducciones para pt (update-outdated). PR #14724 by @tiangolo.
  • 🌐 Actualizar el prompt de LLM para coreano. PR #14740 by @hard-coders.
  • 🌐 Mejorar el prompt de LLM para las traducciones al turco. PR #14728 by @Kadermiyanyedi.
  • 🌐 Actualizar llm-prompt.md para portugués. PR #14702 by @ceb10n.
  • 🌐 Actualizar el archivo de instrucciones del prompt de LLM para francés. PR #14618 by @tiangolo.
  • 🌐 Actualizar traducciones para ko (add-missing). PR #14699 by @tiangolo.
  • 🌐 Actualizar traducciones para ko (update-outdated). PR #14589 by @tiangolo.
  • 🌐 Actualizar traducciones para uk (update-outdated). PR #14587 by @tiangolo.
  • 🌐 Actualizar traducciones para es (update-outdated). PR #14686 by @tiangolo.
  • 🔧 Añadir archivo de prompt de LLM para turco, generado a partir de las traducciones existentes. PR #14547 by @tiangolo.
  • 🔧 Añadir archivo de prompt de LLM para chino tradicional, generado a partir de las traducciones existentes. PR #14550 by @tiangolo.
  • 🔧 Añadir archivo de prompt de LLM para chino simplificado, generado a partir de las traducciones existentes. PR #14549 by @tiangolo.

Interno

  • ⬇️ Degradar el modelo de traducciones LLM a GPT-5 para reducir errores. PR #14823 by @tiangolo.
  • 🐛 Corregir el commit in place del script de traducción. PR #14818 by @tiangolo.
  • 🔨 Actualizar el script de traducción para reintentar si la respuesta del LLM no pasa la validación con la herramienta Translation Fixer. PR #14749 by @YuriiMotov.
  • 👷 Ejecutar pruebas solo en cambios de código relevantes (no en docs). PR #14813 by @tiangolo.
  • 👷 Ejecutar mypy mediante pre-commit. PR #14806 by @YuriiMotov.
  • ⬆ Actualizar ruff de 0.14.3 a 0.14.14. PR #14798 by @dependabot[bot].
  • ⬆ Actualizar pyasn1 de 0.6.1 a 0.6.2. PR #14804 by @dependabot[bot].
  • ⬆ Actualizar sqlmodel de 0.0.27 a 0.0.31. PR #14802 by @dependabot[bot].
  • ⬆ Actualizar mkdocs-macros-plugin de 1.4.1 a 1.5.0. PR #14801 by @dependabot[bot].
  • ⬆ Actualizar gitpython de 3.1.45 a 3.1.46. PR #14800 by @dependabot[bot].
  • ⬆ Actualizar typer de 0.16.0 a 0.21.1. PR #14799 by @dependabot[bot].
  • 👥 Actualizar repositorios del topic de GitHub de FastAPI. PR #14803 by @tiangolo.
  • 👥 Actualizar FastAPI People - Colaboradores y Traductores. PR #14796 by @tiangolo.
  • 🔧 Asegurar que una edición a uv.lock obtenga la etiqueta internal. PR #14759 by @svlandeg.
  • 🔧 Actualizar patrocinadores: eliminar Requestly. PR #14735 by @tiangolo.
  • 🔧 Actualizar patrocinadores, LambdaTest cambia a TestMu AI. PR #14734 by @tiangolo.
  • ⬆ Actualizar actions/cache de 4 a 5. PR #14511 by @dependabot[bot].
  • ⬆ Actualizar actions/upload-artifact de 5 a 6. PR #14525 by @dependabot[bot].
  • ⬆ Actualizar actions/download-artifact de 6 a 7. PR #14526 by @dependabot[bot].
  • 👷 Ajustar los nombres de entrada del CI. PR #14688 by @tiangolo.
  • 🔨 Refactorizar el script de traducción para permitir commit in place. PR #14687 by @tiangolo.
  • 🐛 Corregir la ruta del script de traducción. PR #14685 by @tiangolo.
  • ✅ Habilitar pruebas en CI para scripts. PR #14684 by @tiangolo.
  • 🔧 Añadir script local de pre-commit para corregir traducciones de idiomas. PR #14683 by @tiangolo.
  • ⬆️ Migrar a uv. PR #14676 by @DoctorJohn.
  • 🔨 Añadir herramienta correctora de traducciones LLM. PR #14652 by @YuriiMotov.
  • 👥 Actualizar FastAPI People - Patrocinadores. PR #14626 by @tiangolo.
  • 👥 Actualizar repositorios del topic de GitHub de FastAPI. PR #14630 by @tiangolo.
  • 👥 Actualizar FastAPI People - Colaboradores y Traductores. PR #14625 by @tiangolo.
  • 🌐 Actualizar los prompts de traducción. PR #14619 by @tiangolo.
  • 🔨 Actualizar el script de traducción LLM para guiar a los revisores a cambiar el prompt. PR #14614 by @tiangolo.
  • 👷 No ejecutar traducciones por cron mientras se terminan de actualizar los idiomas existentes. PR #14613 by @tiangolo.
  • 🔥 Eliminar las variantes de prueba para Pydantic v1 en test_request_params. PR #14612 by @tiangolo.
  • 🔥 Eliminar las variantes de prueba específicas de Pydantic v1. PR #14611 by @tiangolo.

0.128.0 (2025-12-27)

Cambios Importantes

Interno

  • ✅ Ejecutar pruebas de rendimiento solo en Pydantic v2. PR #14608 by @tiangolo.

0.127.1 (2025-12-26)

Refactors

  • 🔊 Añadir un FastAPIDeprecationWarning personalizado. PR #14605 by @tiangolo.

Docs

Traducciones

Interno

  • 🔧 Actualizar pre-commit para usar Ruff local en lugar de hook. PR #14604 by @tiangolo.
  • ✅ Añadir pruebas faltantes para ejemplos de código. PR #14569 by @YuriiMotov.
  • 👷 Eliminar el job de lint del workflow de CI test. PR #14593 by @YuriiMotov.
  • 👷 Actualizar la verificación de secretos. PR #14592 by @tiangolo.
  • 👷 Ejecutar pruebas de CodSpeed en paralelo a otras pruebas para acelerar el CI. PR #14586 by @tiangolo.
  • 🔨 Actualizar scripts y pre-commit para corregir archivos automáticamente. PR #14585 by @tiangolo.

0.127.0 (2025-12-21)

Cambios Importantes

  • 🔊 Añadir advertencias de deprecación cuando se usa pydantic.v1. PR #14583 by @tiangolo.

Traducciones

  • 🔧 Añadir archivo de prompt de LLM para coreano, generado a partir de las traducciones existentes. PR #14546 by @tiangolo.
  • 🔧 Añadir archivo de prompt de LLM para japonés, generado a partir de las traducciones existentes. PR #14545 by @tiangolo.

Interno

  • ⬆️ Actualizar el modelo de OpenAI para traducciones a gpt-5.2. PR #14579 by @tiangolo.

0.126.0 (2025-12-20)

Actualizaciones

  • ➖ Drop support for Pydantic v1, keeping short temporary support for Pydantic v2's pydantic.v1. PR #14575 by @tiangolo.
    • La versión mínima de Pydantic instalada ahora es pydantic >=2.7.0.
    • Las dependencias standard ahora incluyen pydantic-settings >=2.0.0 y pydantic-extra-types >=2.0.0.

Docs

  • 📝 Corregir variable duplicada en docs_src/python_types/tutorial005_py39.py. PR #14565 by @paras-verma7454.

Traducciones

  • 🔧 Añadir archivo de prompt de LLM para ucraniano, generado a partir de las traducciones existentes. PR #14548 by @tiangolo.

Interno

  • 🔧 Ajustar pre-commit para permitir commit de notas de versión. PR #14577 by @tiangolo.
  • ⬆️ Usar prek como alternativa a pre-commit. PR #14572 by @tiangolo.
  • 👷 Añadir pruebas de rendimiento con CodSpeed. PR #14558 by @tiangolo.

0.125.0 (2025-12-17)

Cambios Importantes

  • 🔧 Drop support for Python 3.8. PR #14563 by @tiangolo.
    • Esto en realidad no sería un cambio breaking ya que ningún código se rompería realmente. Cualquier instalador de Python 3.8 simplemente se negaría a instalar la última versión de FastAPI y solo instalaría 0.124.4. Solo se marca como "breaking change" para hacerlo visible.

Refactors

  • ♻️ Actualizar la sintaxis interna a Python 3.9+ 🎉. PR #14564 by @tiangolo.

Docs

  • ⚰️ Eliminar Python 3.8 del CI y eliminar ejemplos de Python 3.8 de la documentación fuente. PR #14559 by @YuriiMotov and @tiangolo.

Traducciones

  • 🌐 Actualizar traducciones para pt (add-missing). PR #14539 by @tiangolo.
  • 🔧 Añadir archivo de prompt de LLM para francés, generado a partir de la documentación francesa existente. PR #14544 by @tiangolo.
  • 🌐 Sincronizar documentación en portugués (páginas encontradas con script). PR #14554 by @YuriiMotov.
  • 🌐 Sincronizar documentación en español (páginas desactualizadas encontradas con script). PR #14553 by @YuriiMotov.
  • 🌐 Sincronizar documentación en alemán. PR #14519 by @nilslindemann.
  • 🔥 Eliminar traducciones inactivas/escasas al vietnamita. PR #14543 by @tiangolo.
  • 🔥 Eliminar traducciones inactivas/escasas al persa. PR #14542 by @tiangolo.
  • 🔥 Eliminar traducción a emoji para simplificar la nueva configuración con traducciones automáticas LLM. PR #14541 by @tiangolo.
  • 🌐 Actualizar traducciones para pt (update-outdated). PR #14537 by @tiangolo.
  • 🌐 Actualizar traducciones para es (update-outdated). PR #14532 by @tiangolo.
  • 🌐 Actualizar traducciones para es (add-missing). PR #14533 by @tiangolo.
  • 🌐 Eliminar traducciones de docs eliminados. PR #14516 by @tiangolo.

Interno

  • ⬆ Actualizar markdown-include-variants de 0.0.7 a 0.0.8. PR #14556 by @YuriiMotov.
  • 🔧 Deshabilitar temporalmente las traducciones aún en progreso, que están siendo migradas a la nueva configuración LLM. PR #14555 by @YuriiMotov.
  • 🔧 Actualizar la configuración del workflow de test, eliminar código comentado. PR #14540 by @tiangolo.
  • 👷 Configurar coverage, error en pruebas principales, no esperar a Smokeshow. PR #14536 by @tiangolo.
  • 👷 Ejecutar Smokeshow siempre, incluso en fallos de test. PR #14538 by @tiangolo.
  • 👷 Hacer las versiones de Pydantic personalizables en CI. PR #14535 by @tiangolo.
  • 👷 Corregir el fetch-depth del checkout de GitHub Action para traducciones LLM, habilitar cron mensual. PR #14531 by @tiangolo.
  • 👷 Corregir el comando Typer para traducciones LLM en CI. PR #14530 by @tiangolo.
  • 👷 Actualizar el CI de traducción LLM, añadir matriz de idiomas y comandos extra, preparar ejecución programada. PR #14529 by @tiangolo.
  • 👷 Actualizar el usuario github-actions para los workflows de GitHub Actions. PR #14528 by @tiangolo.
  • ➕ Añadir requirements para traducciones. PR #14515 by @tiangolo.

0.124.4 (2025-12-12)

Correcciones

0.124.3 (2025-12-12)

Correcciones

  • 🐛 Corregir soporte para tagged union con discriminator dentro de Annotated con Body(). PR #14512 by @tiangolo.

Refactors

  • ✅ Añadir conjunto de pruebas para parámetros de petición y alias. PR #14358 by @YuriiMotov.

Docs

  • 📝 Ajustar formato de enlaces. PR #14505 by @tiangolo.
  • 📝 Actualizar la documentación sobre relanzar errores de validación, no incluir el string tal cual para no filtrar información. PR #14487 by @tiangolo.
  • 🔥 Eliminar la sección de enlaces externos. PR #14486 by @tiangolo.

Traducciones

Interno

  • 👷 Ajustar el coverage para no superar el límite de tamaño máximo de archivo de Smokeshow. PR #14507 by @tiangolo.
  • ✅ Expandir la matriz de pruebas para incluir Windows y MacOS. PR #14171 by @svlandeg.

0.124.2 (2025-12-10)

Correcciones

  • 🐛 Corregir soporte para if TYPE_CHECKING, anotaciones stringified no evaluadas. PR #14485 by @tiangolo.

0.124.1 (2025-12-10)

Correcciones

  • 🐛 Corregir el manejo de tipos arbitrarios cuando se usa arbitrary_types_allowed=True. PR #14482 by @tiangolo.

Docs

  • 📝 Añadir variantes para ejemplos de código en la "Advanced User Guide". PR #14413 by @YuriiMotov.
  • 📝 Actualizar el stack tecnológico en la documentación de generación de proyectos. PR #14472 by @alejsdev.

Interno

  • ✅ Añadir prueba para Pydantic v2, dataclasses, UUID, y __annotations__. PR #14477 by @tiangolo.

0.124.0 (2025-12-06)

Características

Interno

  • ✏️ Corregir error tipográfico en scripts/mkdocs_hooks.py. PR #14457 by @yujiteshima.

0.123.10 (2025-12-05)

Correcciones

  • 🐛 Corregir el uso de dependencias de clase (no instancia) que tiene método __call__. PR #14458 by @YuriiMotov.
  • 🐛 Corregir separate_input_output_schemas=False con computed_field. PR #14453 by @YuriiMotov.

0.123.9 (2025-12-04)

Correcciones

  • 🐛 Corregir los scopes de OAuth2 en OpenAPI en casos extremos adicionales, dependencia padre con scopes, sub-dependencia con esquema de seguridad sin scopes. PR #14459 by @tiangolo.

0.123.8 (2025-12-04)

Correcciones

  • 🐛 Corregir la declaración de scopes de OAuth2 en el esquema de seguridad de OpenAPI, deduplicar esquemas de seguridad con diferentes scopes. PR #14455 by @tiangolo.

0.123.7 (2025-12-04)

Correcciones

  • 🐛 Corregir la evaluación de anotaciones stringified en Python 3.10. PR #11355 by @chaen.

0.123.6 (2025-12-04)

Correcciones

  • 🐛 Corregir el soporte para functools wraps y partial combinados, para funciones asíncronas y regulares y clases en path operations y dependencias. PR #14448 by @tiangolo.

0.123.5 (2025-12-02)

Características

  • ✨ Permitir usar dependencias con functools.partial(). PR #9753 by @lieryan.
  • ✨ Añadir soporte para funciones envueltas (e.g. @functools.wraps()) usadas con forward references. PR #5077 by @lucaswiman.
  • ✨ Manejar dependencias envueltas. PR #9555 by @phy1729.

Correcciones

  • 🐛 Corregir el manejo de secuencias opcionales con la nueva sintaxis de union de Python 3.10. PR #14430 by @Viicos.

Refactors

  • 🔥 Eliminar condicional extra colgante que ya no es necesario. PR #14435 by @tiangolo.
  • ♻️ Refactorizar internals, actualizar la verificación is_coroutine para reutilizar variantes internas soportadas (unwrap, verificar clase). PR #14434 by @tiangolo.

Traducciones

0.123.4 (2025-12-02)

Correcciones

  • 🐛 Corregir el soporte de schema OpenAPI para computed fields cuando se usa separate_input_output_schemas=False. PR #13207 by @vgrafe.

Docs

0.123.3 (2025-12-02)

Correcciones

  • 🐛 Corregir el alias del modelo de parámetro Query\Header\Cookie. PR #14360 by @YuriiMotov.
  • 🐛 Corregir el manejo de secuencias opcionales en serialize sequence value con Pydantic V2. PR #14297 by @YuriiMotov.

0.123.2 (2025-12-02)

Correcciones

  • 🐛 Corregir {type_} sin formatear en FastAPIError. PR #14416 by @Just-Helpful.
  • 🐛 Corregir el parseo de lista extra de parámetros non-body. PR #14356 by @YuriiMotov.
  • 🐛 Corregir el parseo de lista extra de parámetros Form. PR #14303 by @YuriiMotov.
  • 🐛 Corregir el soporte para valores de form con strings vacíos interpretados como faltantes (None si ese es el valor por defecto), para compatibilidad con formularios HTML. PR #13537 by @MarinPostma.

Docs

  • 📝 Añadir consejo sobre cómo instalar pip en caso del error No module named pip en virtual-environments.md. PR #14211 by @zadevhub.
  • 📝 Actualizar las notas de Primary Key en el tutorial de bases de datos SQL para evitar confusiones. PR #14120 by @FlaviusRaducu.
  • 📝 Aclarar la nota de estimación en la documentación. PR #14070 by @SaisakthiM.

0.123.1 (2025-12-02)

Correcciones

  • 🐛 Evitar acceder a la clave "$ref" no existente para el remapeo de compatibilidad de Pydantic v2. PR #14361 by @svlandeg.
  • 🐛 Corregir TypeError al codificar un decimal con valor NaN o Infinity. PR #12935 by @kentwelcome.

Interno

0.123.0 (2025-11-30)

Correcciones

  • 🐛 Cachear dependencias que no usan scopes y no tienen sub-dependencias con scopes. PR #14419 by @tiangolo.

0.122.1 (2025-11-30)

Correcciones

  • 🐛 Corregir la propagación jerárquica de scopes de seguridad. PR #5624 by @kristjanvalur.

Docs

  • 💅 Actualizar CSS para usar explícitamente fuente de emoji. PR #14415 by @tiangolo.

Interno

  • ⬆ Actualizar markdown-include-variants de 0.0.5 a 0.0.6. PR #14418 by @YuriiMotov.

0.122.0 (2025-11-24)

Correcciones

  • 🐛 Use 401 status code in security classes when credentials are missing. PR #13786 by @YuriiMotov.
    • Si tu código dependía de que estas clases lanzaran el viejo (menos correcto) código de estado 403, revisa la nueva documentación sobre cómo sobrescribir las clases para usar el mismo comportamiento anterior: Use Old 403 Authentication Error Status Codes.

Interno

  • 🔧 Configurar labeler para excluir archivos que empiezan con underscore para la etiqueta lang-all. PR #14213 by @YuriiMotov.
  • 👷 Añadir configuración de pre-commit con script local para permalinks. PR #14398 by @tiangolo.
  • 💄 Usar la fuente Fira Code para corregir la visualización de paneles Rich en la documentación en Windows. PR #14387 by @tiangolo.
  • 👷 Añadir CI de pre-commit personalizado. PR #14397 by @tiangolo.
  • ⬆ Actualizar actions/checkout de 5 a 6. PR #14381 by @dependabot[bot].
  • 👷 Actualizar el GitHub Action latest-changes y fijar actions/checkout@v5. PR #14403 by @svlandeg.
  • 🛠️ Añadir add-permalinks y add-permalinks-page a scripts/docs.py. PR #14033 by @YuriiMotov.
  • 🔧 Actualizar Material for MkDocs y eliminar insiders. PR #14375 by @tiangolo.

0.121.3 (2025-11-19)

Refactors

  • ♻️ Hacer que el resultado de Depends() y Security() sea hashable, como workaround para otras herramientas que interactúan con estas partes internas. PR #14372 by @tiangolo.

Actualizaciones

Docs

0.121.2 (2025-11-13)

Correcciones

  • 🐛 Corregir el manejo de atributos de JSON Schema llamados "$ref". PR #14349 by @tiangolo.

Docs

  • 📝 Añadir charla de EuroPython y episodio de podcast con Sebastián Ramírez. PR #14260 by @clytaemnestra.
  • ✏️ Corregir enlaces y añadir permalink faltante en la documentación. PR #14217 by @YuriiMotov.

Traducciones

0.121.1 (2025-11-08)

Correcciones

  • 🐛 Corregir Depends(func, scope='function') para dependencias de nivel superior (sin parámetros). PR #14301 by @luzzodev.

Docs

  • 📝 Actualizar la documentación para dependencias avanzadas con yield, noting los cambios en 0.121.0, añadiendo scope. PR #14287 by @tiangolo.

Interno

0.121.0 (2025-11-03)

Características

Interno

0.120.4 (2025-10-31)

Correcciones

  • 🐛 Corregir los esquemas de seguridad en OpenAPI cuando se añaden a nivel de app. PR #14266 by @YuriiMotov.

0.120.3 (2025-10-30)

Refactors

  • ♻️ Reducir la recursión cíclica interna en dependencias, de 2 funciones que se llaman mutuamente a 1 que se llama a sí misma. PR #14256 by @tiangolo.
  • ♻️ Refactorizar los internals de las dependencias, simplificar el código y eliminar get_param_sub_dependant. PR #14255 by @tiangolo.
  • ♻️ Refactorizar los internals de las dependencias, simplificar usando dataclasses. PR #14254 by @tiangolo.

Docs

0.120.2 (2025-10-29)

Correcciones

  • 🐛 Corregir la separación de schemas con modelos anidados introducida en 0.119.0. PR #14246 by @tiangolo.

Interno

0.120.1 (2025-10-27)

Actualizaciones

Interno

  • 🔧 Añadir license y license-files a pyproject.toml, eliminar License de classifiers. PR #14230 by @YuriiMotov.

0.120.0 (2025-10-23)

No hay cambios mayores ni importantes en esta versión. ☕️

La documentación de referencia interna ahora usa annotated_doc.Doc en lugar de typing_extensions.Doc, esto añade una nueva dependencia (muy pequeña) en annotated-doc, un paquete hecho solo para proporcionar esa clase de utilidad de documentación Doc.

Esperaría que typing_extensions.Doc sea deprecado y luego eliminado en algún momento de typing_extensions, por eso existe el nuevo micro-paquete annotated-doc. Si tienes curiosidad sobre esto, puedes leer más en el repo de annotated-doc.

Esta nueva versión 0.120.0 solo contiene esa transición al nuevo paquete home para esa clase de utilidad Doc.

Traducciones

Interno

0.119.1 (2025-10-20)

Correcciones

  • 🐛 Corregir la compatibilidad interna de Pydantic v1 (advertencias) para Python 3.14 y Pydantic 2.12.1. PR #14186 by @svlandeg.

Docs

  • 📝 Reemplazar starlette.io por starlette.dev y uvicorn.org por uvicorn.dev. PR #14176 by @Kludex.

Interno

  • 🔧 Añadir patrocinador Requestly. PR #14205 by @tiangolo.
  • 🔧 Configurar recordatorio para la etiqueta waiting en issue-manager. PR #14156 by @YuriiMotov.

0.119.0 (2025-10-11)

FastAPI ahora (temporalmente) soporta tanto modelos de Pydantic v2 como modelos de pydantic.v1 al mismo tiempo en la misma app, para facilitar que cualquier app de FastAPI que aún use Pydantic v1 migre a Pydantic v2 gradual pero rápidamente.

from fastapi import FastAPI
from pydantic import BaseModel as BaseModelV2
from pydantic.v1 import BaseModel


class Item(BaseModel):
    name: str
    description: str | None = None


class ItemV2(BaseModelV2):
    title: str
    summary: str | None = None


app = FastAPI()


@app.post("/items/", response_model=ItemV2)
def create_item(item: Item):
    return {"title": item.name, "summary": item.description}

Agregar esta funcionalidad fue un gran esfuerzo con el objetivo principal de hacer más fácil para las pocas aplicaciones aún atascadas en Pydantic v1 migrar a Pydantic v2.

Y con esto, el soporte para Pydantic v1 ahora está deprecado y será eliminado de FastAPI en una futura versión pronto.

Nota: ten en cuenta que el equipo de Pydantic ya dejó de soportar Pydantic v1 para versiones recientes de Python, empezando con Python 3.14.

Puedes leer en la documentación más sobre cómo Migrate from Pydantic v1 to Pydantic v2.

Características

  • ✨ Añadir soporte para from pydantic.v1 import BaseModel, modelos mixtos de Pydantic v1 y v2 en la misma app. PR #14168 by @tiangolo.

0.118.3 (2025-10-10)

Actualizaciones

0.118.2 (2025-10-08)

Correcciones

  • 🐛 Corregir tagged discriminated union no reconocido como campo body. PR #12942 by @frankie567.

Interno

0.118.1 (2025-10-08)

Actualizaciones

  • 👽️ Asegurar compatibilidad con Pydantic 2.12.0. PR #14036 by @cjwatson.

Docs

  • 📝 Añadir Enlace Externo: Getting started with logging in FastAPI. PR #14152 by @itssimon.

Traducciones

  • 🔨 Añadir prompt de LLM para traducciones al ruso. PR #13936 by @tiangolo.
  • 🌐 Sincronizar documentación en alemán. PR #14149 by @nilslindemann.
  • 🌐 Añadir traducciones al ruso para páginas faltantes (generadas por LLM). PR #14135 by @YuriiMotov.
  • 🌐 Actualizar traducciones al ruso para páginas existentes (generadas por LLM). PR #14123 by @YuriiMotov.
  • 🌐 Eliminar archivos de configuración para traducciones inactivas. PR #14130 by @tiangolo.

Interno

0.118.0 (2025-09-29)

Correcciones

  • 🐛 Corregir el soporte para StreamingResponses con dependencias con yield o UploadFiles, cerrar después de que la respuesta termine. PR #14099 by @tiangolo.

Antes de FastAPI 0.118.0, si usabas una dependencia con yield, ejecutaría el exit code después de que la path operation function retornara pero justo antes de enviar la respuesta.

Este cambio también significó que si devolvías un StreamingResponse, el exit code de la dependencia con yield ya habría sido ejecutado.

Por ejemplo, si tenías una sesión de base de datos en una dependencia con yield, el StreamingResponse no podría usar esa sesión mientras transmite datos porque la sesión ya habría sido cerrada en el exit code después de yield.

Este comportamiento se revirtió en 0.118.0, para hacer que el exit code después de yield se ejecute después de que la respuesta sea enviada.

Puedes leer más sobre esto en la documentación de Advanced Dependencies - Dependencies with yield, HTTPException, except and Background Tasks. Incluyendo qué podrías hacer si quisieras cerrar una sesión de base de datos antes, antes de devolver la respuesta al cliente.

Docs

  • 📝 Actualizar tutorial/security/oauth2-jwt/ para usar pwdlib con Argon2 en lugar de passlib. PR #13917 by @Neizvestnyj.
  • ✏️ Corregir errores tipográficos en formularios de petición OAuth2 password. PR #14112 by @alv2017.
  • 📝 Actualizar las guías de contribución para instalar requirements. PR #14095 by @alejsdev.

Traducciones

Interno

  • ⬆ [pre-commit.ci] autoupdate de pre-commit. PR #14103 by @pre-commit-ci[bot].
  • ♻️ Refactorizar el manejo de imágenes de patrocinadores. PR #14102 by @alejsdev.
  • 🐛 Corregir el problema de visualización de patrocinadores ocultando el elemento en error de imagen. PR #14097 by @alejsdev.
  • 🐛 Ocultar la insignia de patrocinador cuando la imagen del patrocinador no se muestra. PR #14096 by @alejsdev.

0.117.1 (2025-09-20)

Correcciones

  • 🐛 Corregir error de validación cuando File se declara después del parámetro Form. PR #11194 by @thomasleveil.

0.117.0 (2025-09-20)

Características

  • ✨ Permitir None como tipo de retorno para respuestas sin body. PR #9425 by @hofrob.
  • ✨ Permitir valores de array para el campo type del schema OpenAPI. PR #13639 by @sammasak.
  • ✨ Añadir parámetro external_docs de OpenAPI a FastAPI. PR #13713 by @cmtoro.

Correcciones

  • ⚡️ Corregir default_factory para el campo del modelo de respuesta con Pydantic V1. PR #9704 by @vvanglro.
  • 🐛 Corregir el procesamiento inconsistente del carácter formfeed en docstring del modelo con Pydantic V1. PR #6039 by @MaxwellPayne.
  • 🐛 Corregir jsonable_encoder altera json_encoders de objetos de Pydantic v1. PR #4972 by @aboubacs.
  • 🐛 Reactivar allow_arbitrary_types cuando solo se usa 1 argumento en el endpoint del API. PR #13694 by @rmawatson.
  • 🐛 Corregir inspect.getcoroutinefunction() puede romper las pruebas con unittest.mock.patch(). PR #14022 by @secrett2633.

Refactors

  • ♻️ Crear el dict dependency-cache en solve_dependencies solo si es None (no recrear si está vacío). PR #13689 por @bokshitsky.
  • ✅ Habilitar caso de prueba para headers duplicados en test_tutorial/test_header_params/test_tutorial003.py. PR #13864 por @Amogha-ark.
  • 📌 Fijar httpx a >=0.23.0,<1.0.0. PR #14086 por @YuriiMotov.

Docs

  • 📝 Añadir nota sobre Cookies y JavaScript en tutorial/cookie-params.md. PR #13510 por @Kludex.
  • 📝 Eliminar formato desactualizado de path-params-numeric-validations.md para los idiomas en, es y uk. PR #14059 por @svlandeg.
  • 📝 Corregir y mejorar la documentación en inglés. PR #14048 por @nilslindemann.

Traducciones

Interno

0.116.2 (2025-09-16)

Actualizaciones

  • ⬆️ Actualizar el rango de versiones soportadas de Starlette a >=0.40.0,<0.49.0. PR #14077 por @musicinmybrain.

Docs

  • 📝 Añadir documentación para Detrás de un Proxy - Proxy Forwarded Headers, usando --forwarded-allow-ips="*". PR #14028 por @tiangolo.
  • 📝 Añadir bloque de información de deprecación sobre dict() en docs/tutorial/body.md. PR #13906 por @jomkv.
  • 📝 Corregir Twitter para que sea X (Twitter) en toda la documentación. PR #13809 por @valentinDruzhinin.
  • 🐛 Evitar scroll-to-top en los botones de reinicio/rápido en termynal.js. PR #13714 por @Ashish-Pandey62.
  • 📝 Actualizar la documentación de eventos de testing. PR #13259 por @z0z0r4.
  • 📝 Eliminar el campo obsoleto url en las respuestas de error en la documentación. PR #13655 por @Taoup.
  • 📝 Alinear el claim scope con el estándar en docs_src/security/tutorial005.py. PR #11189 por @DurandA.
  • 📝 Actualizar la documentación de TrustedHostMiddleware. PR #11441 por @soulee-dev.
  • 📝 Eliminar enlaces al sitio callbackhell.com que ya no existe. PR #14006 por @dennybiasiolli.
  • 📝 Añadir enlaces permanentes a los encabezados en la documentación en inglés. PR #13993 por @YuriiMotov.
  • 📝 Actualizar docs/en/docs/advanced/generate-clients.md. PR #13793 por @mrlubos.
  • 📝 Añadir plantilla de discusión para solicitudes de traducción a nuevos idiomas. PR #13535 por @alejsdev.

Traducciones

  • 📝 Corregir inclusión de código para el ejemplo de modelos Pydantic en docs/zh/docs/python-types.md. PR #13997 por @anfreshman.
  • 🌐 Actualizar traducción al portugués para docs/pt/docs/async.md. PR #13863 por @EdmilsonRodrigues.
  • 📝 Corregir línea resaltada en docs/ja/docs/tutorial/body.md. PR #13927 por @KoyoMiyazaki.
  • 🌐 Añadir traducción al persa para docs/fa/docs/environment-variables.md. PR #13923 por @Mohammad222PR.
  • 🌐 Añadir traducción al persa para docs/fa/docs/python-types.md. PR #13524 por @Mohammad222PR.
  • 🌐 Actualizar traducción al portugués para docs/pt/docs/project-generation.md. PR #13875 por @EdmilsonRodrigues.
  • 🌐 Añadir traducción al persa para docs/fa/docs/async.md. PR #13541 por @Mohammad222PR.
  • 🌐 Añadir traducción al bengalí para docs/bn/about/index.md. PR #13882 por @sajjadrahman56.

Interno

0.116.1 (2025-07-11)

Actualizaciones

  • ⬆️ Actualizar el rango de versiones soportadas de Starlette a >=0.40.0,<0.48.0. PR #13884 por @tiangolo.

Docs

  • 📝 Añadir notificación sobre cambios inminentes en las Traducciones a docs/en/docs/contributing.md. PR #13886 por @YuriiMotov.

Interno

0.116.0 (2025-07-07)

Características

  • ✨ Añadir soporte para desplegar en FastAPI Cloud con fastapi deploy. PR #13870 por @tiangolo.

Instalar fastapi[standard] ahora incluye fastapi-cloud-cli.

Esto te permitirá desplegar en FastAPI Cloud con el comando fastapi deploy.

Si quieres instalar fastapi con las dependencias estándar pero sin fastapi-cloud-cli, puedes instalar en su lugar fastapi[standard-no-fastapi-cloud-cli].

Traducciones

  • 🌐 Añadir traducción al ruso para docs/ru/docs/advanced/response-directly.md. PR #13801 por @NavesSapnis.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/advanced/additional-status-codes.md. PR #13799 por @NavesSapnis.
  • 🌐 Añadir traducción al ucraniano para docs/uk/docs/tutorial/body-updates.md. PR #13804 por @valentinDruzhinin.

Interno

0.115.14 (2025-06-26)

Correcciones

Docs

  • ✏️ Corregir error gramatical en docs/en/docs/advanced/response-directly.md. PR #13800 por @NavesSapnis.
  • 📝 Actualizar URL de Speakeasy a Speakeasy Sandbox. PR #13697 por @ndimares.

Traducciones

  • 🌐 Añadir traducción al ucraniano para docs/uk/docs/tutorial/response-model.md. PR #13792 por @valentinDruzhinin.
  • 🌐 Añadir traducción al ucraniano para docs/uk/docs/tutorial/security/index.md. PR #13805 por @valentinDruzhinin.
  • ✏️ Corregir error tipográfico en docs/ja/docs/tutorial/encoder.md. PR #13815 por @ruzia.
  • ✏️ Corregir error tipográfico en docs/ja/docs/tutorial/handling-errors.md. PR #13814 por @ruzia.
  • ✏️ Corregir error tipográfico en docs/ja/docs/tutorial/body-fields.md. PR #13802 por @ruzia.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/advanced/index.md. PR #13797 por @NavesSapnis.

Interno

0.115.13 (2025-06-17)

Correcciones

  • 🐛 Corregir el truncamiento de la descripción del modelo con el carácter de form feed (\f) para Pydantic V2. PR #13698 por @YuriiMotov.

Refactors

  • ✨ Añadir parámetro refreshUrl en OAuth2PasswordBearer. PR #11460 por @snosratiershad.
  • 🚸 Establecer el formato a password para los campos password y client_secret en OAuth2PasswordRequestForm, hacer que la documentación muestre campos de contraseña para las contraseñas. PR #11032 por @Thodoris1999.
  • ✅ Simplificar pruebas para settings. PR #13505 por @valentinDruzhinin.
  • ✅ Simplificar pruebas para validate_response_recursive. PR #13507 por @valentinDruzhinin.

Actualizaciones

Docs

  • 📝 Añadir anotaciones al ejemplo de middleware HTTP. PR #11530 por @Kilo59.
  • 📝 Aclarar en la documentación de CORS que los comodines y las credenciales son mutuamente excluyentes. PR #9829 por @dfioravanti.
  • ✏️ Corregir error tipográfico en docstring. PR #13532 por @comp64.
  • 📝 Aclarar la guía sobre el uso de async def sin await. PR #13642 por @swastikpradhan1999.
  • 📝 Actualizar los enlaces de documentación de exclude-parameters-from-openapi. PR #13600 por @timonrieger.
  • 📝 Aclarar el orden de ejecución del middleware en la documentación. PR #13699 por @YuriiMotov.
  • 🍱 Actualizar los SVGs de diagramas de Drawio, un archivo por diagrama, fuente sans-serif. PR #13706 por @tiangolo.
  • 📝 Actualizar la documentación de "Help FastAPI", simplificar y reducir la sección "sponsor". PR #13670 por @tiangolo.
  • 📝 Eliminar viñeta innecesaria de la documentación. PR #13641 por @Adamowoc.
  • ✏️ Corregir error de sintaxis en docs/en/docs/tutorial/handling-errors.md. PR #13623 por @gsheni.
  • 📝 Corregir error tipográfico en la documentación. PR #13599 por @Taoup.
  • 📝 Corregir enlace de documentación de generación de cliente liblab. PR #13571 por @EFord36.
  • ✏️ Corregir error tipográfico en la información de la charla. PR #13544 por @blueswen.
  • 📝 Añadir Enlace Externo: Charla taiwanesa sobre FastAPI con observabilidad . PR #13527 por @blueswen.

Traducciones

  • 🌐 Añadir traducción al ruso para docs/ru/docs/advanced/response-change-status-code.md. PR #13791 por @NavesSapnis.
  • 🌐 Añadir traducción al persa para docs/fa/docs/learn/index.md. PR #13518 por @Mohammad222PR.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/advanced/sub-applications.md. PR #4543 por @NinaHwang.
  • 🌐 Añadir traducción al ucraniano para docs/uk/docs/tutorial/schema-extra-example.md. PR #13769 por @valentinDruzhinin.
  • ✏️ Eliminar palabras redundantes en docs/zh/docs/python-types.md. PR #13774 por @CharleeWa.
  • 🌐 Añadir traducción al ucraniano para docs/uk/docs/tutorial/query-param-models.md. PR #13748 por @valentinDruzhinin.
  • 🌐 Añadir traducción al bengalí para docs/bn/docs/environment-variables.md. PR #13629 por @SakibSibly.
  • 🌐 Añadir traducción al ucraniano para la página docs/uk/docs/tutorial/query-params-str-validations.md. PR #13546 por @valentinDruzhinin.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/cookie-param-models.md. PR #13616 por @EgorOnishchuk.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/tutorial/extra-models.md. PR #13063 por @timothy-jeong.
  • 🌐 Añadir traducción al ucraniano para la página docs/uk/docs/tutorial/path-params-numeric-validations.md. PR #13548 por @valentinDruzhinin.
  • 🌐 Añadir traducción al ucraniano para la página docs/uk/docs/tutorial/middleware.md. PR #13520 por @valentinDruzhinin.
  • 🌐 Añadir traducción al ucraniano para la página docs/uk/docs/tutorial/background-tasks.md. PR #13502 por @valentinDruzhinin.
  • 🌐 Añadir traducción al ucraniano para la página docs/uk/docs/tutorial/cors.md. PR #13519 por @valentinDruzhinin.
  • 🌐 Actualizar traducción al coreano para docs/ko/docs/advanced/events.md. PR #13487 por @bom1215.
  • 🌐 Añadir traducción al ucraniano para la página docs/uk/docs/tutorial/handling-errors.md. PR #13420 por @valentinDruzhinin.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/request-form-models.md. PR #13552 por @EgorOnishchuk.
  • 📝 Corregir enlace interno ancla en la documentación de despliegue en español. PR #13737 por @fabianfalon.
  • 🌐 Actualizar traducción al coreano para docs/ko/docs/virtual-environments.md. PR #13630 por @sungchan1.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/header-param-models.md. PR #13526 por @minaton-ru.
  • 🌐 Actualizar traducción al chino para docs/zh/docs/tutorial/index.md. PR #13374 por @Zhongheng-Cheng.
  • 🌐 Actualizar traducción al chino para docs/zh/docs/deployment/manually.md. PR #13324 por @Zhongheng-Cheng.
  • 🌐 Actualizar traducción al chino para docs/zh/docs/deployment/server-workers.md. PR #13292 por @Zhongheng-Cheng.
  • 🌐 Actualizar traducción al chino para docs/zh/docs/tutorial/first-steps.md. PR #13348 por @Zhongheng-Cheng.

Interno

0.115.12 (2025-03-23)

Correcciones

  • 🐛 Corregir convert_underscores=False para modelos Pydantic de headers. PR #13515 por @tiangolo.

Docs

Traducciones

  • 🌐 Añadir traducción al ucraniano para la página docs/uk/docs/tutorial/metadata.md. PR #13459 por @valentinDruzhinin.
  • 🌐 Añadir traducción al ucraniano para la página docs/uk/docs/tutorial/response-status-code.md. PR #13462 por @valentinDruzhinin.
  • 🌐 Añadir traducción al ucraniano para la página docs/uk/docs/tutorial/cookie-param-models.md. PR #13460 por @valentinDruzhinin.
  • 🌐 Añadir traducción al ucraniano para la página docs/uk/docs/tutorial/header-param-models.md. PR #13461 por @valentinDruzhinin.
  • 🌐 Añadir traducción al japonés para docs/ja/docs/virtual-environments.md. PR #13304 por @k94-ishi.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/tutorial/security/oauth2-jwt.md. PR #13333 por @yes0ng.
  • 🌐 Añadir traducción al vietnamita para docs/vi/docs/deployment/cloud.md. PR #13407 por @ptt3199.

Interno

0.115.11 (2025-03-01)

Correcciones

Traducciones

  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/middleware.md. PR #13412 por @alv2017.

Interno

  • 👥 Actualizar repositorios del topic de FastAPI en GitHub. PR #13439 por @tiangolo.
  • 👥 Actualizar FastAPI People - Colaboradores y Traductores. PR #13432 por @tiangolo.
  • 👥 Actualizar FastAPI People - Sponsors. PR #13433 por @tiangolo.

0.115.10 (2025-02-28)

Correcciones

  • ♻️ Actualizar el uso interno de anotaciones para compatibilidad con Pydantic 2.11. PR #13314 por @Viicos.

Actualizaciones

  • ⬆️ Actualizar Starlette para permitir hasta 0.46.0: >=0.40.0,<0.47.0. PR #13426 por @musicinmybrain.

Traducciones

  • 🌐 Añadir traducción al ucraniano para docs/uk/docs/tutorial/debugging.md. PR #13370 por @valentinDruzhinin.
  • 🌐 Añadir traducción al ucraniano para docs/uk/docs/tutorial/query-params.md. PR #13362 por @valentinDruzhinin.
  • 🌐 Añadir traducción al ucraniano para docs/uk/docs/tutorial/path-params.md. PR #13354 por @valentinDruzhinin.
  • 🌐 Añadir traducción al japonés para docs/ja/docs/tutorial/cookie-param-models.md. PR #13330 por @k94-ishi.
  • 🌐 Añadir traducción al ucraniano para docs/uk/docs/tutorial/body-multiple-params.md. PR #13408 por @valentinDruzhinin.
  • 🌐 Añadir traducción al japonés para docs/ja/docs/tutorial/query-param-models.md. PR #13323 por @k94-ishi.
  • 🌐 Añadir traducción al ucraniano para docs/uk/docs/tutorial/body-nested-models.md. PR #13409 por @valentinDruzhinin.
  • 🌐 Añadir traducción al vietnamita para docs/vi/docs/deployment/versions.md. PR #13406 por @ptt3199.
  • 🌐 Añadir traducción al vietnamita para docs/vi/docs/deployment/index.md. PR #13405 por @ptt3199.
  • 🌐 Añadir traducción al ucraniano para docs/uk/docs/tutorial/request-forms.md. PR #13383 por @valentinDruzhinin.
  • 🌐 Añadir traducción al ucraniano para docs/uk/docs/tutorial/testing.md. PR #13371 por @valentinDruzhinin.

0.115.9 (2025-02-27)

Correcciones

  • 🐛 Asegurar que HTTPDigest solo lance una excepción cuando auto_error es True. PR #2939 por @arthurio.

Refactors

  • ✅ Simplificar pruebas para query_params_str_validations. PR #13218 por @alv2017.
  • ✅ Simplificar pruebas para app_testing. PR #13220 por @alv2017.
  • ✅ Simplificar pruebas para dependency_testing. PR #13223 por @alv2017.

Docs

  • 🍱 Actualizar sponsors: logo de CodeRabbit. PR #13424 por @tiangolo.
  • 🩺 Unificar las insignias en todas las traducciones del tutorial. PR #13329 por @svlandeg.
  • 📝 Corregir errores tipográficos en la documentación de entornos virtuales. PR #13396 por @bullet-ant.
  • 🐛 Corregir problema con el ejemplo de cambio de tema de Swagger en el tutorial oficial. PR #13289 por @Zerohertz.
  • 📝 Añadir una descripción más precisa del rango de códigos de estado HTTP en la documentación. PR #13347 por @DanielYang59.
  • 🔥 Eliminar anotaciones de tipo manuales en el tutorial de JWT para evitar expectativas de tipado (JWT no proporciona más tipos). PR #13378 por @tiangolo.
  • 📝 Actualizar la documentación de Query Params y String Validations, eliminar documentación obsoleta de Ellipsis (...). PR #13377 por @tiangolo.
  • ✏️ Eliminar título duplicado en la documentación de body-multiple-params. PR #13345 por @DanielYang59.
  • 📝 Corregir insignia de prueba. PR #13313 por @esadek.

Traducciones

  • 🌐 Añadir traducción al ucraniano para docs/uk/docs/tutorial/header-params.md. PR #13381 por @valentinDruzhinin.
  • 🌐 Añadir traducción al ucraniano para docs/uk/docs/tutorial/request-files.md. PR #13395 por @valentinDruzhinin.
  • 🌐 Añadir traducción al ucraniano para docs/uk/docs/tutorial/request-form-models.md. PR #13384 por @valentinDruzhinin.
  • 🌐 Añadir traducción al ucraniano para docs/uk/docs/tutorial/request-forms-and-files.md. PR #13386 por @valentinDruzhinin.
  • 🌐 Actualizar traducción al coreano para docs/ko/docs/help-fastapi.md. PR #13262 por @Zerohertz.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/advanced/custom-response.md. PR #13265 por @11kkw.
  • 🌐 Actualizar traducción al coreano para docs/ko/docs/tutorial/security/simple-oauth2.md. PR #13335 por @yes0ng.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/advanced/response-cookies.md. PR #13327 por @Stepakinoyan.
  • 🌐 Añadir traducción al vietnamita para docs/vi/docs/tutorial/static-files.md. PR #11291 por @ptt3199.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/tutorial/dependencies/dependencies-with-yield.md. PR #13257 por @11kkw.
  • 🌐 Añadir traducción al vietnamita para docs/vi/docs/virtual-environments.md. PR #13282 por @ptt3199.
  • 🌐 Añadir traducción al ucraniano para docs/uk/docs/tutorial/static-files.md. PR #13285 por @valentinDruzhinin.
  • 🌐 Añadir traducción al vietnamita para docs/vi/docs/environment-variables.md. PR #13287 por @ptt3199.
  • 🌐 Añadir traducción al vietnamita para docs/vi/docs/fastapi-cli.md. PR #13294 por @ptt3199.
  • 🌐 Añadir traducción al ucraniano para docs/uk/docs/features.md. PR #13308 por @valentinDruzhinin.
  • 🌐 Añadir traducción al ucraniano para docs/uk/docs/learn/index.md. PR #13306 por @valentinDruzhinin.
  • 🌐 Actualizar traducción al portugués para docs/pt/docs/deployment/https.md. PR #13317 por @Joao-Pedro-P-Holanda.
  • 🌐 Actualizar traducción al portugués para docs/pt/docs/index.md. PR #13328 por @ceb10n.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/advanced/websockets.md. PR #13279 por @Rishat-F.

Interno

0.115.8 (2025-01-30)

Correcciones

  • 🐛 Corregir el RegEx de grant_type "password" fijo en OAuth2PasswordRequestForm y OAuth2PasswordRequestFormStrict. PR #9783 por @skarfie123.

Refactors

  • ✅ Simplificar pruebas para body_multiple_params . PR #13237 por @alejsdev.
  • ♻️ Mover la porción de código duplicado a un método estático en la superclase APIKeyBase. PR #3142 por @ShahriyarR.
  • ✅ Simplificar pruebas para request_files. PR #13182 por @alejsdev.

Docs

  • 📝 Cambiar la palabra "unwrap" a "unpack" en docs/en/docs/tutorial/extra-models.md. PR #13061 por @timothy-jeong.
  • 📝 Actualizar el tutorial002 de Request Body para manejar el caso tax=0. PR #13230 por @togogh.
  • 👥 Actualizar FastAPI People - Expertos. PR #13269 por @tiangolo.

Traducciones

  • 🌐 Añadir traducción al japonés para docs/ja/docs/environment-variables.md. PR #13226 por @k94-ishi.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/advanced/async-tests.md. PR #13227 por @Rishat-F.
  • 🌐 Actualizar traducción al ruso para docs/ru/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md. PR #13252 por @Rishat-F.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/bigger-applications.md. PR #13154 por @alv2017.

Interno

  • ⬆️ Añadir soporte para Python 3.13. PR #13274 por @tiangolo.
  • ⬆️ Actualizar la versión máxima de AnyIO para pruebas, nuevo rango: >=3.2.1,<5.0.0. PR #13273 por @tiangolo.
  • 🔧 Actualizar insignias de Sponsors. PR #13271 por @tiangolo.
  • ♻️ Corregir el manejo de variables de entorno vacías en notify_translations.py para eventos de etiqueta de PR vs workflow_dispatch. PR #13272 por @tiangolo.
  • ♻️ Refactorizar y mover scripts/notify_translations.py, no necesita una GitHub Action personalizada. PR #13270 por @tiangolo.
  • 🔨 Actualizar el script de FastAPI People Experts, refactorizar y optimizar la obtención de datos para manejar límites de tasa. PR #13267 por @tiangolo.
  • ⬆ Actualizar pypa/gh-action-pypi-publish de 1.12.3 a 1.12.4. PR #13251 por @dependabot[bot].

0.115.7 (2025-01-22)

Actualizaciones

Refactors

Docs

  • ✏️ Actualizar la documentación de integración de Strawberry. PR #13155 por @kinuax.
  • 🔥 Eliminar archivos no utilizados del tutorial de Peewee. PR #13158 por @alejsdev.
  • 📝 Actualizar imagen en la documentación de body-nested-model. PR #11063 por @untilhamza.
  • 📝 Actualizar ejemplos de UI de fastapi-cli en la documentación. PR #13107 por @Zhongheng-Cheng.
  • 👷 Añadir nueva GitHub Action para actualizar colaboradores, traductores y revisores de traducciones. PR #13136 por @tiangolo.
  • ✏️ Corregir error tipográfico en docs/en/docs/virtual-environments.md. PR #13124 por @tiangolo.
  • ✏️ Corregir error en docs/en/docs/contributing.md. PR #12899 por @kingsubin.
  • 📝 Correcciones menores en docs/en/docs/tutorial/sql-databases.md. PR #13081 por @alv2017.
  • 📝 Actualizar includes en docs/ru/docs/tutorial/query-param-models.md. PR #12994 por @alejsdev.
  • ✏️ Corregir error tipográfico en las instrucciones de instalación del README. PR #13011 por @dave-hay.
  • 📝 Actualizar la documentación de fastapi-cli. PR #13031 por @tiangolo.

Traducciones

  • 🌐 Actualizar traducción al portugués para docs/pt/docs/tutorial/request-forms.md. PR #13216 por @Joao-Pedro-P-Holanda.
  • 🌐 Actualizar traducción al portugués para docs/pt/docs/advanced/settings.md. PR #13209 por @ceb10n.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/security/oauth2-jwt.md. PR #13205 por @ceb10n.
  • 🌐 Añadir traducción al indonesio para docs/id/docs/index.md. PR #13191 por @gerry-sabar.
  • 🌐 Añadir traducción al indonesio para docs/id/docs/tutorial/static-files.md. PR #13092 por @guspan-tanadi.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/security/get-current-user.md. PR #13188 por @ceb10n.
  • 🌐 Eliminar ubicaciones incorrectas de traducciones al portugués para docs/pt/docs/advanced/benchmarks.md. PR #13187 por @ceb10n.
  • 🌐 Actualizar traducciones al portugués. PR #13156 por @nillvitor.
  • 🌐 Actualizar traducción al ruso para docs/ru/docs/tutorial/security/first-steps.md. PR #13159 por @Yarous.
  • ✏️ Eliminar retroceso innecesario en docs/ja/docs/tutorial/path-params-numeric-validations.md. PR #12238 por @FakeDocument.
  • 🌐 Actualizar traducción al chino para docs/zh/docs/fastapi-cli.md. PR #13102 por @Zhongheng-Cheng.
  • 🌐 Añadir nuevas traducciones al español para toda la documentación con el nuevo sistema asistido por LLM usando PydanticAI. PR #13122 por @tiangolo.
  • 🌐 Actualizar las traducciones al español existentes usando el nuevo sistema asistido por LLM con PydanticAI. PR #13118 por @tiangolo.
  • 🌐 Actualizar traducción al chino para docs/zh/docs/advanced/security/oauth2-scopes.md. PR #13110 por @ChenPu2002.
  • 🌐 Añadir traducción al indonesio para docs/id/docs/tutorial/path-params.md. PR #13086 por @gerry-sabar.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/tutorial/sql-databases.md. PR #13093 por @GeumBinLee.
  • 🌐 Actualizar traducción al chino para docs/zh/docs/async.md. PR #13095 por @Zhongheng-Cheng.
  • 🌐 Añadir traducción al chino para docs/zh/docs/advanced/openapi-webhooks.md. PR #13091 por @Zhongheng-Cheng.
  • 🌐 Añadir traducción al chino para docs/zh/docs/advanced/async-tests.md. PR #13074 por @Zhongheng-Cheng.
  • 🌐 Añadir traducción al ucraniano para docs/uk/docs/fastapi-cli.md. PR #13020 por @ykertytsky.
  • 🌐 Añadir traducción al chino para docs/zh/docs/advanced/events.md. PR #12512 por @ZhibangYue.
  • 🌐 Añadir traducción al ruso para /docs/ru/docs/tutorial/sql-databases.md. PR #13079 por @alv2017.
  • 🌐 Actualizar traducción al chino para docs/zh/docs/advanced/testing-dependencies.md. PR #13066 por @Zhongheng-Cheng.
  • 🌐 Actualizar traducción al chino tradicional para docs/zh-hant/docs/tutorial/index.md. PR #13075 por @codingjenny.
  • 🌐 Añadir traducción al chino para docs/zh/docs/tutorial/sql-databases.md. PR #13051 por @Zhongheng-Cheng.
  • 🌐 Actualizar traducción al chino para docs/zh/docs/tutorial/query-params-str-validations.md. PR #12928 por @Vincy1230.
  • 🌐 Añadir traducción al chino para docs/zh/docs/tutorial/header-param-models.md. PR #13040 por @Zhongheng-Cheng.
  • 🌐 Actualizar traducción al chino para docs/zh/docs/tutorial/path-params.md. PR #12926 por @Vincy1230.
  • 🌐 Actualizar traducción al chino para docs/zh/docs/tutorial/first-steps.md. PR #12923 por @Vincy1230.
  • 🌐 Actualizar traducción al ruso para docs/ru/docs/deployment/docker.md. PR #13048 por @anklav24.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/advanced/generate-clients.md. PR #13030 por @vitumenezes.
  • 🌐 Añadir traducción al indonesio para docs/id/docs/tutorial/first-steps.md. PR #13042 por @gerry-sabar.
  • 🌐 Añadir traducción al chino para docs/zh/docs/tutorial/cookie-param-models.md. PR #13038 por @Zhongheng-Cheng.
  • 🌐 Añadir traducción al chino para docs/zh/docs/tutorial/request-form-models.md. PR #13045 por @Zhongheng-Cheng.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/virtual-environments.md. PR #13026 por @alv2017.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/tutorial/testing.md. PR #12968 por @jts8257.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/advanced/async-test.md. PR #12918 por @icehongssii.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/security/oauth2-jwt.md. PR #10601 por @AlertRED.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/security/simple-oauth2.md. PR #10599 por @AlertRED.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/security/get-current-user.md. PR #10594 por @AlertRED.
  • 🌐 Añadir traducción al chino tradicional para docs/zh-hant/docs/features.md. PR #12441 por @codingjenny.
  • 🌐 Añadir traducción al chino tradicional para docs/zh-hant/docs/virtual-environments.md. PR #12791 por @Vincy1230.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/advanced/templates.md. PR #12726 por @Heumhub.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/fastapi-cli.md. PR #13041 por @alv2017.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/tutorial/cookie-param-models.md. PR #13000 por @hard-coders.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/tutorial/header-param-models.md. PR #13001 por @hard-coders.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/tutorial/request-form-models.md. PR #13002 por @hard-coders.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/tutorial/request-forms.md. PR #13003 por @hard-coders.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/resources/index.md. PR #13004 por @hard-coders.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/how-to/configure-swagger-ui.md. PR #12898 por @nahyunkeem.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/advanced/additional-status-codes.md. PR #12715 por @nahyunkeem.
  • 🌐 Añadir traducción al chino tradicional para docs/zh-hant/docs/tutorial/first-steps.md. PR #12467 por @codingjenny.

Interno

0.115.6 (2024-12-03)

Correcciones

  • 🐛 Preservar el traceback cuando se lanza una excepción en una dependencia síncrona con yield. PR #5823 por @sombek.

Refactors

  • ♻️ Actualizar pruebas e internals para compatibilidad con Pydantic >=2.10. PR #12971 por @tamird.

Docs

  • 📝 Actualizar el formato de includes en la documentación con un script automatizado. PR #12950 por @tiangolo.
  • 📝 Actualizar includes para docs/de/docs/advanced/using-request-directly.md. PR #12685 por @alissadb.
  • 📝 Actualizar includes para docs/de/docs/how-to/conditional-openapi.md. PR #12689 por @alissadb.

Traducciones

  • 🌐 Añadir traducción al chino tradicional para docs/zh-hant/docs/async.md. PR #12990 por @ILoveSorasakiHina.
  • 🌐 Añadir traducción al chino tradicional para docs/zh-hant/docs/tutorial/query-param-models.md. PR #12932 por @Vincy1230.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/advanced/testing-dependencies.md. PR #12992 por @Limsunoh.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/advanced/websockets.md. PR #12991 por @kwang1215.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/response-model.md. PR #12933 por @AndreBBM.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/advanced/middlewares.md. PR #12753 por @nahyunkeem.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/advanced/openapi-webhooks.md. PR #12752 por @saeye.
  • 🌐 Añadir traducción al chino para docs/zh/docs/tutorial/query-param-models.md. PR #12931 por @Vincy1230.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/query-param-models.md. PR #12445 por @gitgernit.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/tutorial/query-param-models.md. PR #12940 por @jts8257.
  • 🔥 Eliminar traducción obsoleta del tutorial al chino para docs/zh/docs/tutorial/sql-databases.md, hace referencia a archivos que ya no están en el repositorio. PR #12949 por @tiangolo.

Interno

0.115.5 (2024-11-12)

Refactors

  • ♻️ Actualizar verificaciones internas para soportar Pydantic 2.10. PR #12914 por @tiangolo.

Docs

  • 📝 Actualizar includes para docs/en/docs/tutorial/body.md. PR #12757 por @gsheni.
  • 📝 Actualizar includes en docs/en/docs/advanced/testing-dependencies.md. PR #12647 por @AyushSinghal1794.
  • 📝 Actualizar includes para docs/en/docs/tutorial/metadata.md. PR #12773 por @Nimitha-jagadeesha.
  • 📝 Actualizar docs/en/docs/tutorial/dependencies/dependencies-with-yield.md. PR #12045 por @xuvjso.
  • 📝 Actualizar includes para docs/en/docs/tutorial/dependencies/global-dependencies.md. PR #12653 por @vishnuvskvkl.
  • 📝 Actualizar includes para docs/en/docs/tutorial/body-updates.md. PR #12712 por @davioc.
  • 📝 Eliminar mención de Celery en los generadores de proyectos. PR #12742 por @david-caro.
  • 📝 Actualizar includes en docs/en/docs/tutorial/header-param-models.md. PR #12814 por @zhaohan-dong.
  • 📝 Actualizar la documentación de contributing.md, incluir nota para no traducir esta página. PR #12841 por @tiangolo.
  • 📝 Actualizar includes en docs/en/docs/tutorial/request-forms.md. PR #12648 por @vishnuvskvkl.
  • 📝 Actualizar includes en docs/en/docs/tutorial/request-form-models.md. PR #12649 por @vishnuvskvkl.
  • 📝 Actualizar includes en docs/en/docs/tutorial/security/oauth2-jwt.md. PR #12650 por @OCE1960.
  • 📝 Actualizar includes en docs/vi/docs/tutorial/first-steps.md. PR #12754 por @MxPy.
  • 📝 Actualizar includes para docs/pt/docs/advanced/wsgi.md. PR #12769 por @Nimitha-jagadeesha.
  • 📝 Actualizar includes para docs/en/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md. PR #12815 por @handabaldeep.
  • 📝 Actualizar includes para docs/en/docs/tutorial/dependencies/classes-as-dependencies.md. PR #12813 por @handabaldeep.
  • ✏️ Corregir error en docs/en/docs/tutorial/middleware.md. PR #12819 por @alejsdev.
  • 📝 Actualizar includes para docs/en/docs/tutorial/security/get-current-user.md. PR #12645 por @OCE1960.
  • 📝 Actualizar includes para docs/en/docs/tutorial/security/first-steps.md. PR #12643 por @OCE1960.
  • 📝 Actualizar includes en docs/de/docs/advanced/additional-responses.md. PR #12821 por @zhaohan-dong.
  • 📝 Actualizar includes en docs/en/docs/advanced/generate-clients.md. PR #12642 por @AyushSinghal1794.
  • 📝 Corregir comillas dobles de admonición con nueva sintaxis. PR #12835 por @tiangolo.
  • 📝 Actualizar includes en docs/zh/docs/advanced/additional-responses.md. PR #12828 por @zhaohan-dong.
  • 📝 Actualizar includes en docs/en/docs/tutorial/path-params-numeric-validations.md. PR #12825 por @zhaohan-dong.
  • 📝 Actualizar includes para docs/en/docs/advanced/testing-websockets.md. PR #12761 por @hamidrasti.
  • 📝 Actualizar includes para docs/en/docs/advanced/using-request-directly.md. PR #12760 por @hamidrasti.
  • 📝 Actualizar includes para docs/advanced/wsgi.md. PR #12758 por @hamidrasti.
  • 📝 Actualizar includes en docs/de/docs/tutorial/middleware.md. PR #12729 por @paintdog.
  • 📝 Actualizar includes para docs/en/docs/tutorial/schema-extra-example.md. PR #12822 por @tiangolo.
  • 📝 Actualizar includes en docs/fr/docs/advanced/additional-responses.md. PR #12634 por @fegmorte.
  • 📝 Actualizar includes en docs/fr/docs/advanced/path-operation-advanced-configuration.md. PR #12633 por @kantandane.
  • 📝 Actualizar includes en docs/fr/docs/advanced/response-directly.md. PR #12632 por @kantandane.
  • 📝 Actualizar includes para docs/en/docs/tutorial/header-params.md. PR #12640 por @vishnuvskvkl.
  • 📝 Actualizar includes en docs/en/docs/tutorial/cookie-param-models.md. PR #12639 por @vishnuvskvkl.
  • 📝 Actualizar includes para docs/en/docs/tutorial/extra-models.md. PR #12638 por @vishnuvskvkl.
  • 📝 Actualizar includes para docs/en/docs/tutorial/cors.md. PR #12637 por @vishnuvskvkl.
  • 📝 Actualizar includes para docs/en/docs/tutorial/dependencies/sub-dependencies.md. PR #12810 por @handabaldeep.
  • 📝 Actualizar includes en docs/en/docs/tutorial/body-nested-models.md. PR #12812 por @zhaohan-dong.
  • 📝 Actualizar includes en docs/en/docs/tutorial/path-operation-configuration.md. PR #12809 por @AlexWendland.
  • 📝 Actualizar includes en docs/en/docs/tutorial/request-files.md. PR #12818 por @zhaohan-dong.
  • 📝 Actualizar includes para docs/en/docs/tutorial/query-param-models.md. PR #12817 por @handabaldeep.
  • 📝 Actualizar includes en docs/en/docs/tutorial/path-params.md. PR #12811 por @AlexWendland.
  • 📝 Actualizar includes en docs/en/docs/tutorial/response-model.md. PR #12621 por @kantandane.
  • 📝 Actualizar includes en docs/en/docs/advanced/websockets.md. PR #12606 por @vishnuvskvkl.
  • 📝 Actualiza includes para docs/en/docs/tutorial/cookie-params.md. PR #12808 por @handabaldeep.
  • 📝 Actualizar includes en docs/en/docs/tutorial/middleware.md. PR #12807 por @AlexWendland.
  • 📝 Actualizar includes en docs/en/docs/advanced/sub-applications.md. PR #12806 por @zhaohan-dong.
  • 📝 Actualizar includes en docs/en/docs/advanced/response-headers.md. PR #12805 por @zhaohan-dong.
  • 📝 Actualizar includes en docs/fr/docs/tutorial/first-steps.md. PR #12594 por @kantandane.
  • 📝 Actualizar includes en docs/en/docs/advanced/response-cookies.md. PR #12804 por @zhaohan-dong.
  • 📝 Actualizar includes en docs/en/docs/advanced/path-operation-advanced-configuration.md. PR #12802 por @zhaohan-dong.
  • 📝 Actualizar includes para docs/en/docs/advanced/response-directly.md. PR #12803 por @handabaldeep.
  • 📝 Actualizar includes en docs/zh/docs/tutorial/background-tasks.md. PR #12798 por @zhaohan-dong.
  • 📝 Actualizar includes para docs/de/docs/tutorial/body-multiple-params.md. PR #12699 por @alissadb.
  • 📝 Actualizar includes en docs/em/docs/tutorial/body-updates.md. PR #12799 por @AlexWendland.
  • 📝 Actualizar includes docs/en/docs/advanced/response-change-status-code.md. PR #12801 por @handabaldeep.
  • 📝 Actualizar includes docs/en/docs/advanced/openapi-callbacks.md. PR #12800 por @handabaldeep.
  • 📝 Actualizar includes en docs/fr/docs/tutorial/body-multiple-params.md. PR #12598 por @kantandane.
  • 📝 Actualizar includes en docs/en/docs/tutorial/body-multiple-params.md. PR #12593 por @Tashanam-Shahbaz.
  • 📝 Actualizar includes en docs/pt/docs/tutorial/background-tasks.md. PR #12736 por @bhunao.
  • 📝 Actualizar includes para docs/en/docs/advanced/custom-response.md. PR #12797 por @handabaldeep.
  • 📝 Actualizar includes para docs/pt/docs/python-types.md. PR #12671 por @ceb10n.
  • 📝 Actualizar includes para docs/de/docs/python-types.md. PR #12660 por @alissadb.
  • 📝 Actualizar includes para docs/de/docs/advanced/dataclasses.md. PR #12658 por @alissadb.
  • 📝 Actualizar includes en docs/fr/docs/tutorial/path-params.md. PR #12592 por @kantandane.
  • 📝 Actualizar includes para docs/de/docs/how-to/configure-swagger-ui.md. PR #12690 por @alissadb.
  • 📝 Actualizar includes en docs/en/docs/advanced/security/oauth2-scopes.md. PR #12572 por @krishnamadhavan.
  • 📝 Actualizar includes para docs/en/docs/how-to/conditional-openapi.md. PR #12624 por @rabinlamadong.
  • 📝 Actualizar includes en docs/en/docs/tutorial/dependencies/index.md. PR #12615 por @bharara.
  • 📝 Actualizar includes en docs/en/docs/tutorial/response-status-code.md. PR #12620 por @kantandane.
  • 📝 Actualizar includes en docs/en/docs/how-to/custom-docs-ui-assets.md. PR #12623 por @rabinlamadong.
  • 📝 Actualizar includes en docs/en/docs/advanced/openapi-webhooks.md. PR #12605 por @salmantec.
  • 📝 Actualizar includes en docs/en/docs/advanced/events.md. PR #12604 por @salmantec.
  • 📝 Actualizar includes en docs/en/docs/advanced/dataclasses.md. PR #12603 por @salmantec.
  • 📝 Actualizar includes en docs/es/docs/tutorial/cookie-params.md. PR #12602 por @antonyare93.
  • 📝 Actualizar includes en docs/fr/docs/tutorial/path-params-numeric-validations.md. PR #12601 por @kantandane.
  • 📝 Actualizar includes en docs/fr/docs/tutorial/background-tasks.md. PR #12600 por @kantandane.
  • 📝 Actualizar includes en docs/en/docs/tutorial/encoder.md. PR #12597 por @tonyjly.
  • 📝 Actualizar includes en docs/en/docs/how-to/custom-docs-ui-assets.md. PR #12557 por @philipokiokio.
  • 🎨 Ajustar espaciado. PR #12635 por @alejsdev.
  • 📝 Actualizar includes en docs/en/docs/how-to/custom-request-and-route.md. PR #12560 por @philipokiokio.

Traducciones

  • 🌐 Añadir traducción al coreano para docs/ko/docs/advanced/testing-websockets.md. PR #12739 por @Limsunoh.
  • 🌐 Añadir traducción al chino tradicional para docs/zh-hant/docs/environment-variables.md. PR #12785 por @Vincy1230.
  • 🌐 Añadir traducción al chino para docs/zh/docs/environment-variables.md. PR #12784 por @Vincy1230.
  • 🌐 Añadir traducción al coreano para ko/docs/advanced/response-headers.md. PR #12740 por @kwang1215.
  • 🌐 Añadir traducción al chino para docs/zh/docs/virtual-environments.md. PR #12790 por @Vincy1230.
  • 🌐 Añadir traducción al coreano para /docs/ko/docs/environment-variables.md. PR #12526 por @Tolerblanc.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/history-design-future.md. PR #12646 por @saeye.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/advanced/advanced-dependencies.md. PR #12675 por @kim-sangah.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/how-to/conditional-openapi.md. PR #12731 por @sptcnl.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/advanced/using_request_directly.md. PR #12738 por @kwang1215.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/advanced/testing-events.md. PR #12741 por @9zimin9.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/security/index.md. PR #12743 por @kim-sangah.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/advanced/path-operation-advanced-configuration.md. PR #12762 por @Joao-Pedro-P-Holanda.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/advanced/wsgi.md. PR #12659 por @Limsunoh.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/advanced/websockets.md. PR #12703 por @devfernandoa.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/security/simple-oauth2.md. PR #12520 por @LidiaDomingos.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/advanced/response-directly.md. PR #12674 por @9zimin9.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/advanced/middleware.md. PR #12704 por @devluisrodrigues.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/advanced/openapi-callbacks.md. PR #12705 por @devfernandoa.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/request-files.md. PR #12706 por @devluisrodrigues.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/advanced/custom-response.md. PR #12631 por @Joao-Pedro-P-Holanda.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/metadata.md. PR #12538 por @LinkolnR.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/tutorial/metadata.md. PR #12541 por @kwang1215.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/advanced/response-cookies.md. PR #12546 por @kim-sangah.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/fastapi-cli.md. PR #12515 por @dhdld.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/advanced/response-change-status-code.md. PR #12547 por @9zimin9.

Interno

0.115.4 (2024-10-27)

Refactors

  • ♻️ Actualizar la lógica para importar y verificar python-multipart para compatibilidad con la nueva versión. PR #12627 por @tiangolo.

Docs

  • 📝 Actualizar includes en docs/fr/docs/tutorial/body.md. PR #12596 por @kantandane.
  • 📝 Actualizar includes en docs/fr/docs/tutorial/debugging.md. PR #12595 por @kantandane.
  • 📝 Actualizar includes en docs/fr/docs/tutorial/query-params-str-validations.md. PR #12591 por @kantandane.
  • 📝 Actualizar includes en docs/fr/docs/tutorial/query-params.md. PR #12589 por @kantandane.
  • 📝 Actualizar includes en docs/en/tutorial/body-fields.md. PR #12588 por @lucaromagnoli.
  • 📝 Actualizar includes en docs/de/docs/tutorial/response-status-code.md. PR #12585 por @abejaranoh.
  • 📝 Actualizar includes en docs/en/docs/tutorial/body.md. PR #12586 por @lucaromagnoli.
  • 📝 Actualizar includes en docs/en/docs/advanced/behind-a-proxy.md. PR #12583 por @imjuanleonard.
  • 📝 Actualizar la sintaxis de includes para docs/pl/docs/tutorial/first-steps.md. PR #12584 por @sebkozlo.
  • 📝 Actualizar includes en docs/en/docs/advanced/middleware.md. PR #12582 por @montanarograziano.
  • 📝 Actualizar includes en docs/en/docs/advanced/additional-status-codes.md. PR #12577 por @krishnamadhavan.
  • 📝 Actualizar includes en docs/en/docs/advanced/advanced-dependencies.md. PR #12578 por @krishnamadhavan.
  • 📝 Actualizar includes en docs/en/docs/advanced/additional-responses.md. PR #12576 por @krishnamadhavan.
  • 📝 Actualizar includes en docs/en/docs/tutorial/static-files.md. PR #12575 por @lucaromagnoli.
  • 📝 Actualizar includes en docs/en/docs/advanced/async-tests.md. PR #12568 por @krishnamadhavan.
  • 📝 Actualizar includes en docs/pt/docs/advanced/behind-a-proxy.md. PR #12563 por @asmioglou.
  • 📝 Actualizar includes en docs/de/docs/advanced/security/http-basic-auth.md. PR #12561 por @Nimitha-jagadeesha.
  • 📝 Actualizar includes en docs/en/docs/tutorial/background-tasks.md. PR #12559 por @FarhanAliRaza.
  • 📝 Actualizar includes en docs/fr/docs/python-types.md. PR #12558 por @Ismailtlem.
  • 📝 Actualizar includes en docs/en/docs/how-to/graphql.md. PR #12564 por @philipokiokio.
  • 📝 Actualizar includes en docs/en/docs/how-to/extending-openapi.md. PR #12562 por @philipokiokio.
  • 📝 Actualizar includes para docs/en/docs/how-to/configure-swagger-ui.md. PR #12556 por @tiangolo.
  • 📝 Actualizar includes para docs/en/docs/how-to/separate-openapi-schemas.md. PR #12555 por @tiangolo.
  • 📝 Actualizar includes para docs/en/docs/advanced/security/http-basic-auth.md. PR #12553 por @tiangolo.
  • 📝 Actualizar includes en docs/en/docs/tutorial/first-steps.md. PR #12552 por @tiangolo.
  • 📝 Actualizar includes en docs/en/docs/python-types.md. PR #12551 por @tiangolo.
  • 📝 Corregir enlace en la documentación de OAuth2. PR #12550 por @tiangolo.
  • 📝 Añadir Enlace Externo: FastAPI do Zero. PR #12533 por @rennerocha.
  • 📝 Corregir errores tipográficos menores. PR #12516 por @kkirsche.
  • 🌐 Corregir problema de renderizado en traducciones. PR #12509 por @alejsdev.

Traducciones

  • 📝 Actualizar includes en docs/de/docs/advanced/async-tests.md. PR #12567 por @imjuanleonard.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/sql-databases.md. PR #12530 por @ilacftemp.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/benchmarks.md. PR #12540 por @Limsunoh.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/how-to/separate-openapi-schemas.md. PR #12518 por @ilacftemp.
  • 🌐 Actualizar traducción al chino tradicional para docs/zh-hant/docs/deployment/index.md. PR #12521 por @codingjenny.
  • 🌐 Actualizar traducción al chino tradicional para docs/zh-hant/docs/deployment/cloud.md. PR #12522 por @codingjenny.
  • 🌐 Actualizar traducción al chino tradicional para docs/zh-hant/docs/how-to/index.md. PR #12523 por @codingjenny.
  • 🌐 Actualizar traducción al chino tradicional para docs/zh-hant/docs/tutorial/index.md. PR #12524 por @codingjenny.
  • 🌐 Añadir traducción al chino tradicional para docs/zh-hant/docs/how-to/index.md. PR #12468 por @codingjenny.
  • 🌐 Añadir traducción al chino tradicional para docs/zh-hant/docs/tutorial/index.md. PR #12466 por @codingjenny.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/header-param-models.md. PR #12437 por @Joao-Pedro-P-Holanda.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/how-to/extending-openapi.md. PR #12470 por @ilacftemp.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/advanced/dataclasses.md. PR #12475 por @leoscarlato.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/how-to/custom-request-and-route.md. PR #12483 por @devfernandoa.

Interno

  • ⬆ Actualizar cloudflare/wrangler-action de 3.9 a 3.11. PR #12544 por @dependabot[bot].
  • 👷 Actualizar la GitHub Action para desplegar vistas previas de documentación para manejar comentarios de despliegue faltantes. PR #12527 por @tiangolo.
  • ⬆ [pre-commit.ci] actualización automática de pre-commit. PR #12505 por @pre-commit-ci[bot].

0.115.3 (2024-10-22)

Actualizaciones

  • ⬆️ Actualizar Starlette a >=0.40.0,<0.42.0. PR #12469 por @defnull.

Docs

Traducciones

  • 🌐 Añadir traducción al chino tradicional para docs/zh-hant/docs/fastapi-cli.md. PR #12444 por @codingjenny.
  • 🌐 Añadir traducción al chino tradicional para docs/zh-hant/docs/deployment/index.md. PR #12439 por @codingjenny.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/how-to/testing-database.md. PR #12472 por @GuilhermeRameh.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/how-to/custom-docs-ui-assets.md. PR #12473 por @devluisrodrigues.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/advanced/response-headers.md. PR #12458 por @leonardopaloschi.
  • 🌐 Añadir traducción al chino tradicional para docs/zh-hant/docs/deployment/cloud.md. PR #12440 por @codingjenny.
  • 🌐 Actualizar traducción al portugués para docs/pt/docs/python-types.md. PR #12428 por @ceb10n.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/environment-variables.md. PR #12436 por @wisderfin.
  • 🌐 Añadir traducción al chino tradicional para docs/zh-hant/docs/resources/index.md. PR #12443 por @codingjenny.
  • 🌐 Añadir traducción al chino tradicional para docs/zh-hant/docs/about/index.md. PR #12438 por @codingjenny.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/query-param-models.md. PR #12414 por @ceb10n.
  • 🌐 Eliminar traducción al portugués para docs/pt/docs/deployment.md. PR #12427 por @ceb10n.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/body-updates.md. PR #12381 por @andersonrocha0.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/advanced/response-cookies.md. PR #12417 por @Paulofalcao2002.

Interno

  • 👷 Actualizar el workflow del gestor de issues . PR #12457 por @alejsdev.
  • 🔧 Actualizar equipo, incluir a YuriiMotov 🚀. PR #12453 por @tiangolo.
  • 👷 Refactorizar label-approved, convertirlo en un script interno en lugar de una GitHub Action externa. PR #12280 por @tiangolo.
  • 👷 Corregir smokeshow, hacer checkout de archivos en CI. PR #12434 por @tiangolo.
  • 👷 Usar uv en CI. PR #12281 por @tiangolo.
  • ⬆ Actualizar el requisito de httpx de <0.25.0,>=0.23.0 a >=0.23.0,<0.28.0. PR #11509 por @dependabot[bot].

0.115.2 (2024-10-12)

Actualizaciones

0.115.1 (2024-10-12)

Correcciones

  • 🐛 Corregir la generación de openapi con el argumento responses. PR #10895 por @flxdot.
  • 🐛 Eliminar el sombreado de Required desde fastapi usando Pydantic v2. PR #12197 por @pachewise.

Refactors

  • ♻️ Actualizar anotaciones de tipo para python-multipart mejorado. PR #12407 por @tiangolo.

Docs

  • ✨ Añadir nuevo tutorial para bases de datos SQL con SQLModel. PR #12285 por @tiangolo.
  • 📝 Añadir Enlace Externo: Cómo hacer profiling de una petición asíncrona de FastAPI. PR #12389 por @brouberol.
  • 🔧 Eliminar base_path para la extensión de Markdown mdx_include en MkDocs. PR #12391 por @tiangolo.
  • 📝 Actualizar el enlace a la documentación de configuración de Swagger UI. PR #12264 por @makisukurisu.
  • 📝 Añadir enlaces para Playwright y Vite en docs/project-generation.md. PR #12274 por @kayqueGovetri.
  • 📝 Corregir pequeños errores tipográficos en la documentación. PR #12213 por @svlandeg.

Traducciones

  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/cookie-param-models.md. PR #12298 por @ceb10n.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/how-to/graphql.md. PR #12215 por @AnandaCampelo.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/advanced/security/oauth2-scopes.md. PR #12263 por @ceb10n.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/deployment/concepts.md. PR #12219 por @marcelomarkus.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/how-to/conditional-openapi.md. PR #12221 por @marcelomarkus.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/advanced/response-directly.md. PR #12266 por @Joao-Pedro-P-Holanda.
  • 🌐 Actualizar traducción al portugués para docs/pt/docs/tutorial/cookie-params.md. PR #12297 por @ceb10n.
  • 🌐 Corregir traducción al coreano para docs/ko/docs/tutorial/index.md. PR #12278 por @kkotipy.
  • 🌐 Actualizar traducción al portugués para docs/pt/docs/advanced/security/http-basic-auth.md. PR #12275 por @andersonrocha0.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/deployment/cloud.md. PR #12217 por @marcelomarkus.
  • ✏️ Corregir error tipográfico en docs/es/docs/python-types.md. PR #12235 por @JavierSanchezCastro.
  • 🌐 Añadir traducción al neerlandés para docs/nl/docs/environment-variables.md. PR #12200 por @maxscheijen.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/deployment/manually.md. PR #12210 por @JoaoGustavoRogel.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/deployment/server-workers.md. PR #12220 por @marcelomarkus.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/how-to/configure-swagger-ui.md. PR #12222 por @marcelomarkus.

Interno

0.115.0 (2024-09-17)

Destacados

Ahora puedes declarar parámetros Query, Header, y Cookie con modelos de Pydantic. 🎉

Modelos de Parámetros Query

Usar modelos de Pydantic para parámetros Query:

from typing import Annotated, Literal

from fastapi import FastAPI, Query
from pydantic import BaseModel, Field

app = FastAPI()


class FilterParams(BaseModel):
    limit: int = Field(100, gt=0, le=100)
    offset: int = Field(0, ge=0)
    order_by: Literal["created_at", "updated_at"] = "created_at"
    tags: list[str] = []


@app.get("/items/")
async def read_items(filter_query: Annotated[FilterParams, Query()]):
    return filter_query

Lee la nueva documentación: Query Parameter Models.

Modelos de Parámetros Header

Usar modelos de Pydantic para parámetros Header:

from typing import Annotated

from fastapi import FastAPI, Header
from pydantic import BaseModel

app = FastAPI()


class CommonHeaders(BaseModel):
    host: str
    save_data: bool
    if_modified_since: str | None = None
    traceparent: str | None = None
    x_tag: list[str] = []


@app.get("/items/")
async def read_items(headers: Annotated[CommonHeaders, Header()]):
    return headers

Lee la nueva documentación: Header Parameter Models.

Usar modelos de Pydantic para parámetros Cookie:

from typing import Annotated

from fastapi import Cookie, FastAPI
from pydantic import BaseModel

app = FastAPI()


class Cookies(BaseModel):
    session_id: str
    fatebook_tracker: str | None = None
    googall_tracker: str | None = None


@app.get("/items/")
async def read_items(cookies: Annotated[Cookies, Cookie()]):
    return cookies

Lee la nueva documentación: Cookie Parameter Models.

Usar modelos de Pydantic para restringir valores extra para parámetros Query (también aplica a parámetros Header y Cookie).

Para lograrlo, usa model_config = {"extra": "forbid"} de Pydantic:

from typing import Annotated, Literal

from fastapi import FastAPI, Query
from pydantic import BaseModel, Field

app = FastAPI()


class FilterParams(BaseModel):
    model_config = {"extra": "forbid"}

    limit: int = Field(100, gt=0, le=100)
    offset: int = Field(0, ge=0)
    order_by: Literal["created_at", "updated_at"] = "created_at"
    tags: list[str] = []


@app.get("/items/")
async def read_items(filter_query: Annotated[FilterParams, Query()]):
    return filter_query

Esto aplica a parámetros Query, Header, y Cookie, lee la nueva documentación:

Características

  • ✨ Añadir soporte para modelos de Pydantic para parámetros usando Query, Cookie, Header. PR #12199 por @tiangolo.

Traducciones

  • 🌐 Añadir traducción al portugués para docs/pt/docs/advanced/security/http-basic-auth.md. PR #12195 por @ceb10n.

Interno

0.114.2 (2024-09-13)

Correcciones

  • 🐛 Corregir regresión de campos de formulario con alias. PR #12194 por @Wurstnase.

Traducciones

  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/request-form-models.md. PR #12175 por @ceb10n.
  • 🌐 Añadir traducción al chino para docs/zh/docs/project-generation.md. PR #12170 por @waketzheng.
  • 🌐 Añadir traducción al neerlandés para docs/nl/docs/python-types.md. PR #12158 por @maxscheijen.

Interno

  • 💡 Añadir comentarios con instrucciones para los scripts de capturas de pantalla de Playwright. PR #12193 por @tiangolo.
  • ➕ Añadir inline-snapshot para pruebas. PR #12189 por @tiangolo.

0.114.1 (2024-09-11)

Refactors

  • ⚡️ Mejorar el rendimiento en el análisis del body de la petición con una caché para campos internos del modelo. PR #12184 por @tiangolo.

Docs

  • 📝 Eliminar línea duplicada en la documentación de docs/en/docs/environment-variables.md. PR #12169 por @prometek.

Traducciones

  • 🌐 Añadir traducción al portugués para docs/pt/docs/virtual-environments.md. PR #12163 por @marcelomarkus.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/environment-variables.md. PR #12162 por @marcelomarkus.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/testing.md. PR #12164 por @marcelomarkus.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/debugging.md. PR #12165 por @marcelomarkus.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/project-generation.md. PR #12157 por @BORA040126.

Interno

0.114.0 (2024-09-06)

Puedes restringir los campos del formulario para incluir solo aquellos declarados en un modelo de Pydantic y prohibir cualquier campo extra enviado en la petición usando model_config = {"extra": "forbid"} de Pydantic:

from typing import Annotated

from fastapi import FastAPI, Form
from pydantic import BaseModel

app = FastAPI()


class FormData(BaseModel):
    username: str
    password: str
    model_config = {"extra": "forbid"}


@app.post("/login/")
async def login(data: Annotated[FormData, Form()]):
    return data

Lee la nueva documentación: Form Models - Forbid Extra Form Fields.

Características

  • ✨ Añadir soporte para prohibir campos extra de formulario con modelos de Pydantic. PR #12134 por @tiangolo.

Docs

  • 📝 Actualizar documentación, título de la sección Form Models, para coincidir con el nombre de configuración. PR #12152 por @tiangolo.

Interno

  • ✅ Actualizar pruebas internas para el último Pydantic, incluyendo ajustes de CI para instalar el último Pydantic. PR #12147 por @tiangolo.

0.113.0 (2024-09-05)

Ahora puedes declarar campos de formulario con modelos de Pydantic:

from typing import Annotated

from fastapi import FastAPI, Form
from pydantic import BaseModel

app = FastAPI()


class FormData(BaseModel):
    username: str
    password: str


@app.post("/login/")
async def login(data: Annotated[FormData, Form()]):
    return data

Lee la nueva documentación: Form Models.

Características

  • ✨ Añadir soporte para modelos de Pydantic en parámetros Form. PR #12129 por @tiangolo.

Interno

0.112.4 (2024-09-05)

Esta versión es principalmente un gran refactor interno para habilitar el soporte de modelos de Pydantic para campos de Form, pero esa funcionalidad llega en la próxima versión.

Esta versión no debería afectar a las apps que usan FastAPI de ninguna manera. Ni siquiera tienes que actualizar a esta versión aún. Es solo un checkpoint. 🤓

Refactors

  • ♻️ Refactorizar la decisión de si se incrustan (embed) los campos del body, no sobrescribir campos, calcular una vez por router, refactorizar internals en preparación para modelos de Pydantic en Form, Query y otros. PR #12117 por @tiangolo.

Interno

  • ⏪️ Revertir temporalmente "✨ Añadir soporte para modelos de Pydantic en parámetros Form" para hacer una versión de punto de control. PR #12128 por @tiangolo. Restaurado por PR #12129.
  • ✨ Añadir soporte para modelos de Pydantic en parámetros Form. PR #12127 por @tiangolo. Revertido por PR #12128 para hacer una versión de punto de control con solo refactors. Restaurado por PR #12129.

0.112.3 (2024-09-05)

Esta versión es principalmente refactors internos, no debería afectar a las apps que usan FastAPI de ninguna manera. Ni siquiera tienes que actualizar a esta versión aún. Hay algunas versiones más grandes coming right after. 🚀

Refactors

  • ♻️ Refactorizar check_file_field() interno, renombrar a ensure_multipart_is_installed() para aclarar su propósito. PR #12106 por @tiangolo.
  • ♻️ Renombrar create_response_field() interno a create_model_field() ya que se usa para más que modelos de respuesta. PR #12103 por @tiangolo.
  • ♻️ Refactorizar y simplificar datos internos de solve_dependencies() usando dataclasses. PR #12100 por @tiangolo.
  • ♻️ Refactorizar y simplificar analyze_param() interno para estructurar datos con dataclasses en lugar de tuplas. PR #12099 por @tiangolo.
  • ♻️ Refactorizar y simplificar estructuras de datos de dependencias con dataclasses. PR #12098 por @tiangolo.

Docs

  • 📝 Añadir Enlace Externo: Técnicas y aplicaciones de filtros globales de SQLAlchemy en FastAPI. PR #12109 por @TheShubhendra.
  • 📝 Añadir nota sobre time.perf_counter() en middlewares. PR #12095 por @tiangolo.
  • 📝 Ajustar el ejemplo de código de middleware time.time() a time.perf_counter(). PR #11957 por @domdent.
  • 🔧 Actualizar sponsors: Coherence. PR #12093 por @tiangolo.
  • 📝 Corregir el ejemplo de test asíncrono para que no dispare DeprecationWarning. PR #12084 por @marcinsulikowski.
  • 📝 Actualizar docs_src/path_params_numeric_validations/tutorial006.py. PR #11478 por @MuhammadAshiqAmeer.
  • 📝 Actualizar coma en docs/en/docs/async.md. PR #12062 por @Alec-Gillis.
  • 📝 Actualizar la documentación sobre servir FastAPI: servidores ASGI, contenedores Docker, etc.. PR #12069 por @tiangolo.
  • 📝 Aclarar el parámetro response_class, validaciones, y devolver una respuesta directamente. PR #12067 por @tiangolo.
  • 📝 Corregir errores tipográficos y problemas menores en la documentación. PR #12063 por @svlandeg.
  • 📝 Añadir nota en la documentación de Docker sobre asegurar apagados elegantes y eventos de lifespan con la forma exec de CMD. PR #11960 por @GPla.

Traducciones

  • 🌐 Añadir traducción al neerlandés para docs/nl/docs/features.md. PR #12101 por @maxscheijen.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/advanced/testing-events.md. PR #12108 por @ceb10n.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/advanced/security/index.md. PR #12114 por @ceb10n.
  • 🌐 Añadir traducción al neerlandés para docs/nl/docs/index.md. PR #12042 por @svlandeg.
  • 🌐 Actualizar traducción al chino para docs/zh/docs/how-to/index.md. PR #12070 por @synthpop123.

Interno

0.112.2 (2024-08-24)

Correcciones

  • 🐛 Corregir la opción allow_inf_nan para las clases Param y Body. PR #11867 por @giunio-prc.
  • 🐛 Asegurar que app.include_router fusione los lifespans anidados. PR #9630 por @Lancetnik.

Refactors

  • 🎨 Corregir la anotación de tipo para FastAPI.add_api_route() semi-interno. PR #10240 por @ordinary-jamie.
  • ⬆️ Actualizar la versión de Ruff y reformatear. PR #12032 por @tiangolo.

Docs

  • 📝 Corregir un error tipográfico en docs/en/docs/virtual-environments.md. PR #12064 por @aymenkrifa.
  • 📝 Añadir documentación sobre Variables de Entorno y Entornos Virtuales. PR #12054 por @tiangolo.
  • 📝 Añadir mención de Asyncer en la documentación asíncrona. PR #12037 por @tiangolo.
  • 📝 Mover la documentación de Features al nivel superior para mejorar el menú de la página principal. PR #12036 por @tiangolo.
  • ✏️ Corregir error tipográfico de importación en el ejemplo de referencia para Security. PR #11168 por @0shah0.
  • 📝 Resaltar la línea correcta en el tutorial docs/en/docs/tutorial/body-multiple-params.md. PR #11978 por @svlandeg.
  • 🔥 Eliminar el enlace de Sentry de la documentación de Middlewares Avanzados. PR #12031 por @alejsdev.
  • 📝 Aclarar las tareas de gestión para traducciones, múltiples archivos en un PR. PR #12030 por @tiangolo.
  • 📝 Editar el enlace a las secciones "Responses Object" y "Response Object" de OpenAPI en la sección "Additional Responses in OpenAPI". PR #11996 por @VaitoSoi.
  • 🔨 Especificar la dependencia email-validator con guion. PR #11515 por @jirikuncar.
  • 🌐 Añadir traducción al español para docs/es/docs/project-generation.md. PR #11947 por @alejsdev.
  • 📝 Corregir error tipográfico menor. PR #12026 por @MicaelJarniac.
  • 📝 Varias mejoras, ajustes y aclaraciones en la documentación. PR #11390 por @nilslindemann.
  • 📝 Añadir el parámetro compresslevel faltante en la documentación de GZipMiddleware. PR #11350 por @junah201.
  • 📝 Corregir código de respuesta inconsistente cuando un elemento ya existe en la documentación de pruebas. PR #11818 por @lokomilo.
  • 📝 Actualizar docs/en/docs/tutorial/body.md con el ejemplo del tipo union de Python 3.10. PR #11415 por @rangzen.

Traducciones

  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/request_file.md. PR #12018 por @Joao-Pedro-P-Holanda.
  • 🌐 Añadir traducción al japonés para docs/ja/docs/learn/index.md. PR #11592 por @ukwhatn.
  • 📝 Actualizar la documentación de traducción al español para mayor consistencia. PR #12044 por @alejsdev.
  • 🌐 Actualizar traducción al chino para docs/zh/docs/tutorial/dependencies/dependencies-with-yield.md. PR #12028 por @xuvjso.
  • 📝 Actualizar FastAPI People, no traducir para tener la información más reciente. PR #12034 por @tiangolo.
  • 🌐 Actualizar traducción al urdu para docs/ur/docs/benchmarks.md. PR #10046 por @AhsanSheraz.

Interno

  • ⬆ [pre-commit.ci] actualización automática de pre-commit. PR #12046 por @pre-commit-ci[bot].
  • 🔧 Actualizar archivos de configuración de cobertura. PR #12035 por @tiangolo.
  • 🔨 Estandarizar shebang en los scripts de shell. PR #11942 por @gitworkflows.
  • ⬆ Actualizar el requisito de sqlalchemy de <1.4.43,>=1.3.18 a >=1.3.18,<2.0.33. PR #11979 por @dependabot[bot].
  • 🔊 Eliminar antiguas advertencias ignoradas. PR #11950 por @tiangolo.
  • ⬆️ Actualizar griffe-typingdoc para la documentación. PR #12029 por @tiangolo.
  • 🙈 Añadir .coverage* a .gitignore. PR #11940 por @gitworkflows.
  • ⚙️ Registrar y mostrar contextos de cobertura de pruebas (qué prueba cubre qué línea). PR #11518 por @slafs.

0.112.1 (2024-08-15)

Actualizaciones

Docs

  • 📝 Actualizar la sección de docs sobre "Don't Translate these Pages". PR #12022 por @tiangolo.
  • 📝 Añadir documentación para páginas no traducidas y scripts para verificarlas. PR #12020 por @tiangolo.
  • 📝 Actualizar la documentación sobre preguntas en discussions. PR #11985 por @tiangolo.

Traducciones

  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/bigger-applications.md. PR #11971 por @marcelomarkus.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/advanced/testing-websockets.md. PR #11994 por @ceb10n.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/advanced/testing-dependencies.md. PR #11995 por @ceb10n.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/advanced/using-request-directly.md. PR #11956 por @ceb10n.
  • 🌐 Añadir traducción al francés para docs/fr/docs/tutorial/body-multiple-params.md. PR #11796 por @pe-brian.
  • 🌐 Actualizar traducción al chino para docs/zh/docs/tutorial/query-params.md. PR #11557 por @caomingpei.
  • 🌐 Corregir error tipográfico en la traducción al chino para docs/zh/docs/advanced/testing-dependencies.md. PR #11944 por @bestony.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/advanced/sub-applications.md y docs/pt/docs/advanced/behind-a-proxy.md. PR #11856 por @marcelomarkus.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/cors.md y docs/pt/docs/tutorial/middleware.md. PR #11916 por @wesinalves.
  • 🌐 Añadir traducción al francés para docs/fr/docs/tutorial/path-params-numeric-validations.md. PR #11788 por @pe-brian.

Interno

  • ⬆ Actualizar pypa/gh-action-pypi-publish de 1.8.14 a 1.9.0. PR #11727 por @dependabot[bot].
  • 🔧 Añadir URL de changelog a pyproject.toml, se muestra en PyPI. PR #11152 por @Pierre-VF.
  • 👷 No sincronizar labels ya que sobrescribe los labels añadidos manualmente. PR #12024 por @tiangolo.
  • 👷🏻 Actualizar Labeler GitHub Actions. PR #12019 por @tiangolo.
  • 🔧 Actualizar configuraciones de MkDocs para idiomas y tarjetas sociales. PR #12016 por @tiangolo.
  • 👷 Actualizar permisos y configuración del labeler GitHub Action. PR #12008 por @tiangolo.
  • 👷🏻 Añadir GitHub Action label-checker. PR #12005 por @tiangolo.
  • 👷 Añadir GitHub Action label checker. PR #12004 por @tiangolo.
  • 👷 Actualizar GitHub Action add-to-project. PR #12002 por @tiangolo.
  • 🔧 Actualizar labeler GitHub Action. PR #12001 por @tiangolo.
  • 👷 Añadir GitHub Action labeler. PR #12000 por @tiangolo.
  • 👷 Añadir GitHub Action add-to-project. PR #11999 por @tiangolo.
  • 📝 Actualizar admoniciones faltantes en la documentación. PR #11998 por @tiangolo.
  • 🔨 Actualizar el script docs.py para habilitar dirty reload condicionalmente. PR #11986 por @tiangolo.
  • 🔧 Actualizar las vistas previas instantáneas de MkDocs. PR #11982 por @tiangolo.
  • 🐛 Corregir el script de deploy de vistas previas de docs para manejar archivos mkdocs.yml. PR #11984 por @tiangolo.
  • 💡 Añadir comentario sobre el line-height personalizado de Termynal. PR #11976 por @tiangolo.
  • 👷 Añadir alls-green para test-redistribute. PR #11974 por @tiangolo.
  • 👷 Actualizar docs-previews para manejar ausencia de cambios en docs. PR #11975 por @tiangolo.
  • 🔨 Refactorizar el script deploy_docs_status.py para considerar URLs de deploy con o sin barra final. PR #11965 por @tiangolo.
  • 🔒️ Actualizar permisos para la acción deploy-docs. PR #11964 por @tiangolo.
  • 👷🏻 Añadir estado de deploy de docs y enlaces de vista previa a los PRs. PR #11961 por @tiangolo.
  • 🔧 Actualizar la configuración de docs con las últimas configuraciones y plugins. PR #11953 por @tiangolo.
  • 🔇 Ignorar advertencia de attrs en Trio. PR #11949 por @tiangolo.

0.112.0 (2024-08-02)

Cambios Importantes

  • ♻️ Añadir soporte para pip install "fastapi[standard]" con dependencias estándar y python -m fastapi. PR #11935 por @tiangolo.

Resumen

Instalar con:

pip install "fastapi[standard]"

Otros Cambios

  • Esto añade soporte para llamar al CLI como:
python -m fastapi
  • Y actualiza fastapi-cli[standard] >=0.0.5.

Detalles Técnicos

Antes de esto, fastapi incluía las dependencias estándar, con Uvicorn y fastapi-cli, etc.

Y fastapi-slim no incluía esas dependencias estándar.

Ahora fastapi no incluye esas dependencias estándar a menos que instales con pip install "fastapi[standard]".

Antes, instalarías con pip install fastapi, ahora deberías incluir las dependencias opcionales standard (a menos que quieras excluir alguna): pip install "fastapi[standard]".

Este cambio se debe a que tener las dependencias opcionales estándar instaladas por defecto resultaba inconveniente para varios usuarios, y tener que instalar fastapi-slim en su lugar no era una solución viable.

Discutido aquí: #11522 y aquí: #11525

Docs

  • ✏️ Corregir errores tipográficos en la documentación. PR #11926 por @jianghuyiyuan.
  • 📝 Ajustar la documentación de gestión. PR #11918 por @tiangolo.
  • 🚚 Renombrar enlaces de GitHub de tiangolo/fastapi a fastapi/fastapi. PR #11913 por @tiangolo.
  • 📝 Añadir documentación sobre el equipo de FastAPI y la gestión del proyecto. PR #11908 por @tiangolo.
  • 📝 Reestructurar el menú principal de docs. PR #11904 por @tiangolo.
  • 📝 Actualizar URL de Speakeasy. PR #11871 por @ndimares.

Traducciones

  • 🌐 Actualizar traducción al portugués para docs/pt/docs/alternatives.md. PR #11931 por @ceb10n.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/dependencies/sub-dependencies.md. PR #10515 por @AlertRED.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/advanced/response-change-status-code.md. PR #11863 por @ceb10n.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/reference/background.md. PR #11849 por @lucasbalieiro.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/dependencies/dependencies-with-yield.md. PR #11848 por @Joao-Pedro-P-Holanda.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/reference/apirouter.md. PR #11843 por @lucasbalieiro.

Interno

  • 🔧 Actualizar patrocinadores: añadir liblab. PR #11934 por @tiangolo.
  • 👷 Actualizar permisos de label-approved en GitHub Action. PR #11933 por @tiangolo.
  • 👷 Refactorizar GitHub Action para comentar URLs de deploy de docs y actualizar token. PR #11925 por @tiangolo.
  • 👷 Actualizar tokens para GitHub Actions. PR #11924 por @tiangolo.
  • 👷 Actualizar permisos de token para comentar URL de deploy en docs. PR #11917 por @tiangolo.
  • 👷 Actualizar permisos de token para GitHub Actions. PR #11915 por @tiangolo.
  • 👷 Actualizar uso de token en GitHub Actions. PR #11914 por @tiangolo.
  • 👷 Actualizar GitHub Action para notificar traducciones con el label approved-1. PR #11907 por @tiangolo.
  • 🔧 Actualizar patrocinadores, eliminar Reflex. PR #11875 por @tiangolo.
  • 🔧 Actualizar patrocinadores: eliminar TalkPython. PR #11861 por @tiangolo.
  • 🔨 Actualizar scripts de Termynal de docs para no incluir números de línea en desarrollo local. PR #11854 por @tiangolo.

0.111.1 (2024-07-14)

Actualizaciones

  • ➖ Remove orjson and ujson from default dependencies. PR #11842 by @tiangolo.
    • Estas dependencias aún se instalan cuando instalas con pip install "fastapi[all]". Pero no están incluidas en pip install fastapi.
  • 📝 Restaurar enlaces de Swagger UI para usar la última versión posible. PR #11459 por @UltimateLobster.

Docs

  • ✏️ Reformulación en docs/en/docs/fastapi-cli.md. PR #11716 por @alejsdev.
  • 📝 Actualizar enlaces de Hypercorn en toda la documentación. PR #11744 por @kittydoor.
  • 📝 Actualizar docs con la referencia de Ariadne de Starlette a FastAPI. PR #11797 por @DamianCzajkowski.
  • 📝 Actualizar enlace externo de instrumentación de fastapi. PR #11317 por @softwarebloat.
  • ✏️ Corregir enlaces al repositorio de ejemplo de alembic en docs. PR #11628 por @augiwan.
  • ✏️ Actualizar docs/en/docs/fastapi-cli.md. PR #11715 por @alejsdev.
  • 📝 Actualizar Enlaces Externos . PR #11500 por @devon2018.
  • 📝 Añadir Enlace Externo: Tutorial de FastAPI, ¿el mejor framework de Python?. PR #11618 por @EduardoZepeda.
  • 📝 Corregir error tipográfico en docs/en/docs/tutorial/body-multiple-params.md. PR #11698 por @mwb-u.
  • 📝 Añadir Enlace Externo: Desplegar una App FastAPI Serverless con Neon Postgres y AWS App Runner a cualquier escala. PR #11633 por @ananis25.
  • 📝 Actualizar security/first-steps.md. PR #11674 por @alejsdev.
  • 📝 Actualizar security/first-steps.md. PR #11673 por @alejsdev.
  • 📝 Actualizar nota en path-params-numeric-validations.md. PR #11672 por @alejsdev.
  • 📝 Ajustar la documentación de introducción sobre Annotated y parámetros Query(). PR #11664 por @tiangolo.
  • 📝 Actualizar la documentación de autenticación JWT para usar PyJWT en lugar de python-jose. PR #11589 por @estebanx64.
  • 📝 Actualizar docs. PR #11603 por @alejsdev.
  • ✏️ Corregir error tipográfico: convertir cada 're-use' a 'reuse'.. PR #11598 por @hasansezertasan.
  • ✏️ Corregir error tipográfico en fastapi/applications.py. PR #11593 por @petarmaric.
  • ✏️ Corregir enlace en fastapi-cli.md. PR #11524 por @svlandeg.

Traducciones

  • 🌐 Añadir traducción al español para docs/es/docs/how-to/graphql.md. PR #11697 por @camigomezdev.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/reference/index.md. PR #11840 por @lucasbalieiro.
  • 🌐 Corregir enlace en la traducción al alemán. PR #11836 por @anitahammer.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/dependencies/sub-dependencies.md. PR #11792 por @Joao-Pedro-P-Holanda.
  • 🌐 Añadir traducción al turco para docs/tr/docs/tutorial/request-forms.md. PR #11553 por @hasansezertasan.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/reference/exceptions.md. PR #11834 por @lucasbalieiro.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/dependencies/global-dependencies.md. PR #11826 por @Joao-Pedro-P-Holanda.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/how-to/general.md. PR #11825 por @lucasbalieiro.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/advanced/async-tests.md. PR #11808 por @ceb10n.
  • 🌐 Añadir traducción al ucraniano para docs/uk/docs/tutorial/first-steps.md. PR #11809 por @vkhoroshchak.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/dependencies/dependencies-in-path-operation-operators.md. PR #11804 por @Joao-Pedro-P-Holanda.
  • 🌐 Añadir traducción al chino para docs/zh/docs/fastapi-cli.md. PR #11786 por @logan2d5.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/advanced/openapi-webhooks.md. PR #11791 por @ceb10n.
  • 🌐 Actualizar traducción al chino para docs/tutorial/security/oauth2-jwt.md. PR #11781 por @logan2d5.
  • 📝 Corregir imagen faltante en la traducción al francés para docs/fr/docs/async.md . PR #11787 por @pe-brian.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/advanced/advanced-dependencies.md. PR #11775 por @ceb10n.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/dependencies/classes-as-dependencies.md. PR #11768 por @Joao-Pedro-P-Holanda.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/advanced/additional-status-codes.md. PR #11753 por @ceb10n.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/dependencies/index.md. PR #11757 por @Joao-Pedro-P-Holanda.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/advanced/settings.md. PR #11739 por @Joao-Pedro-P-Holanda.
  • 🌐 Añadir traducción al francés para docs/fr/docs/learn/index.md. PR #11712 por @benjaminvandammeholberton.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/how-to/index.md. PR #11731 por @vhsenna.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/advanced/additional-responses.md. PR #11736 por @ceb10n.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/advanced/benchmarks.md. PR #11713 por @ceb10n.
  • 🌐 Corregir traducción al coreano para docs/ko/docs/tutorial/response-status-code.md. PR #11718 por @nayeonkinn.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/tutorial/extra-data-types.md. PR #11711 por @nayeonkinn.
  • 🌐 Corregir traducción al coreano para docs/ko/docs/tutorial/body-nested-models.md. PR #11710 por @nayeonkinn.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/advanced/fastapi-cli.md. PR #11641 por @ayr-ton.
  • 🌐 Añadir traducción al chino tradicional para docs/zh-hant/docs/fastapi-people.md. PR #11639 por @hsuanchi.
  • 🌐 Añadir traducción al turco para docs/tr/docs/advanced/index.md. PR #11606 por @hasansezertasan.
  • 🌐 Añadir traducción al turco para docs/tr/docs/deployment/cloud.md. PR #11610 por @hasansezertasan.
  • 🌐 Añadir traducción al turco para docs/tr/docs/advanced/security/index.md. PR #11609 por @hasansezertasan.
  • 🌐 Añadir traducción al turco para docs/tr/docs/advanced/testing-websockets.md. PR #11608 por @hasansezertasan.
  • 🌐 Añadir traducción al turco para docs/tr/docs/how-to/general.md. PR #11607 por @hasansezertasan.
  • 🌐 Actualizar traducción al chino para docs/zh/docs/advanced/templates.md. PR #11620 por @chaoless.
  • 🌐 Añadir traducción al turco para docs/tr/docs/deployment/index.md. PR #11605 por @hasansezertasan.
  • 🌐 Añadir traducción al turco para docs/tr/docs/tutorial/static-files.md. PR #11599 por @hasansezertasan.
  • 🌐 Traducción al polaco para docs/pl/docs/fastapi-people.md. PR #10196 por @isulim.
  • 🌐 Añadir traducción al turco para docs/tr/docs/advanced/wsgi.md. PR #11575 por @hasansezertasan.
  • 🌐 Añadir traducción al turco para docs/tr/docs/tutorial/cookie-params.md. PR #11561 por @hasansezertasan.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/about/index.md. PR #10961 por @s111d.
  • 🌐 Actualizar traducción al chino para docs/zh/docs/tutorial/sql-databases.md. PR #11539 por @chaoless.
  • 🌐 Añadir traducción al chino para docs/zh/docs/how-to/configure-swagger-ui.md. PR #11501 por @Lucas-lyh.
  • 🌐 Actualizar traducción al chino para /docs/advanced/security/http-basic-auth.md. PR #11512 por @nick-cjyx9.

Interno

  • ♻️ Simplificar el script interno de docs. PR #11777 por @gitworkflows.
  • 🔧 Actualizar patrocinadores: añadir Fine. PR #11784 por @tiangolo.
  • 🔧 Ajustar patrocinadores: URL de Kong. PR #11765 por @tiangolo.
  • 🔧 Ajustar patrocinadores: URL de Kong. PR #11764 por @tiangolo.
  • 🔧 Actualizar patrocinadores, añadir Stainless. PR #11763 por @tiangolo.
  • 🔧 Actualizar patrocinadores, añadir Zuplo. PR #11729 por @tiangolo.
  • 🔧 Actualizar enlace de patrocinador: Coherence. PR #11730 por @tiangolo.
  • 👥 Actualizar FastAPI People. PR #11669 por @tiangolo.
  • 🔧 Añadir patrocinador Kong. PR #11662 por @tiangolo.
  • 👷 Actualizar Smokeshow, corregir descarga síncrona de artefactos y configuraciones de smokeshow. PR #11563 por @tiangolo.
  • 👷 Actualizar GitHub Action de descarga de artefactos de Smokeshow. PR #11562 por @tiangolo.
  • 👷 Actualizar GitHub actions para descargar y subir artefactos a v4, para docs y cobertura. PR #11550 por @tamird.
  • 👷 Ajustar CI para test-redistribute, añadir variables de entorno necesarias para slim. PR #11549 por @tiangolo.
  • 👥 Actualizar FastAPI People. PR #11511 por @tiangolo.

0.111.0 (2024-05-03)

Características

Pruébalo con:

$ pip install --upgrade fastapi

$ fastapi dev main.py


 ╭────────── FastAPI CLI - Development mode ───────────╮
 │                                                     │
 │  Serving at: http://127.0.0.1:8000                  │
 │                                                     │
 │  API docs: http://127.0.0.1:8000/docs               │
 │                                                     │
 │  Running in development mode, for production use:   │
 │                                                     │
 │  fastapi run                                        │
 │                                                     │
 ╰─────────────────────────────────────────────────────╯

INFO:     Will watch for changes in these directories: ['/home/user/code/awesomeapp']
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [2248755] using WatchFiles
INFO:     Started server process [2248757]
INFO:     Waiting for application startup.
INFO:     Application startup complete.

Refactors

  • 🔧 Añadir configuraciones y setup para fastapi-slim incluyendo extras opcionales fastapi-slim[standard], y fastapi incluyendo por defecto los mismos extras standard. PR #11503 por @tiangolo.

0.110.3 (2024-04-30)

Docs

  • 📝 Actualizar referencias a la versión de Python, FastAPI soporta todas las versiones actuales, no es necesario hacer explícita la versión. PR #11496 por @tiangolo.
  • ✏️ Corregir error tipográfico en fastapi/security/api_key.py. PR #11481 por @ch33zer.
  • ✏️ Corregir error tipográfico en security/http.py. PR #11455 por @omarmoo5.

Traducciones

  • 🌐 Añadir traducción al chino tradicional para docs/zh-hant/benchmarks.md. PR #11484 por @KNChiu.
  • 🌐 Actualizar traducción al chino para docs/zh/docs/fastapi-people.md. PR #11476 por @billzhong.
  • 🌐 Añadir traducción al chino para docs/zh/docs/how-to/index.md y docs/zh/docs/how-to/general.md. PR #11443 por @billzhong.
  • 🌐 Añadir traducción al español para cookie-params docs/es/docs/tutorial/cookie-params.md. PR #11410 por @fabianfalon.

Interno

0.110.2 (2024-04-19)

Correcciones

  • 🐛 Corregir soporte para parámetros de consulta con tipos list, manejar la codificación JSON de Pydantic UndefinedType. PR #9929 por @arjwilliams.

Refactors

  • ♻️ Simplificar configuraciones de Pydantic en los modelos de OpenAPI en fastapi/openapi/models.py. PR #10886 por @JoeTanto2.
  • ✨ Añadir soporte para el nuevo parámetro Field deprecated de Pydantic 2.7, eliminar URL de la respuesta de errores de validación. PR #11461 por @tiangolo.

Docs

  • 📝 Corregir tipos en ejemplos bajo docs_src/extra_data_types. PR #10535 por @nilslindemann.
  • 📝 Actualizar referencias a UJSON. PR #11464 por @tiangolo.
  • 📝 Ajustar enlaces de docs y traducciones, errores tipográficos, formato. PR #11389 por @nilslindemann.
  • 📝 Corregir error tipográfico en docs/es/docs/async.md. PR #11400 por @fabianfalon.
  • 📝 Actualizar la documentación de generación de clientes OpenAPI para usar @hey-api/openapi-ts. PR #11339 por @jordanshatford.

Traducciones

  • 🌐 Actualizar traducción al chino para docs/zh/docs/index.html. PR #11430 por @waketzheng.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md. PR #11411 por @anton2yakovlev.
  • 🌐 Añadir traducciones al portugués para learn/index.md resources/index.md help/index.md about/index.md. PR #10807 por @nazarepiedady.
  • 🌐 Actualizar traducciones al ruso para la documentación de deployments. PR #11271 por @Lufa1u.
  • 🌐 Añadir traducciones al bengalí para docs/bn/docs/python-types.md. PR #11376 por @imtiaz101325.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/tutorial/security/simple-oauth2.md. PR #5744 por @KdHyeon0661.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/help-fastapi.md. PR #4139 por @kty4119.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/advanced/events.md. PR #5087 por @pers0n4.
  • 🌐 Añadir traducción al japonés para docs/ja/docs/tutorial/path-operation-configuration.md. PR #1954 por @SwftAlpc.
  • 🌐 Añadir traducción al japonés para docs/ja/docs/tutorial/request-forms-and-files.md. PR #1946 por @SwftAlpc.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/dependencies/dependencies-with-yield.md. PR #10532 por @AlertRED.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/tutorial/debugging.md. PR #5695 por @JungWooGeon.

Interno

0.110.1 (2024-04-02)

Correcciones

  • 🐛 Corregir Depends() sin parámetros con genéricos. PR #9479 por @nzig.

Refactors

  • ♻️ Actualizar mypy. PR #11049 por @k0t3n.
  • ♻️ Simplificar formato de strings con f-strings en fastapi/applications.py. PR #11335 por @igeni.

Actualizaciones

  • ⬆️ Actualizar Starlette a >=0.37.2,<0.38.0, eliminar filterwarning de Starlette para pruebas internas. PR #11266 por @nothielf.

Docs

  • 📝 Ajustar enlaces de docs y traducciones y eliminar antiguas traducciones de docs. PR #11381 por @tiangolo.
  • ✏️ Corregir error tipográfico en fastapi/security/oauth2.py. PR #11368 por @shandongbinzhou.
  • 📝 Actualizar enlaces a la documentación de Pydantic para apuntar al nuevo sitio web. PR #11328 por @alejsdev.
  • ✏️ Corregir error tipográfico en docs/en/docs/tutorial/extra-models.md. PR #11329 por @alejsdev.
  • 📝 Actualizar project-generation.md. PR #11326 por @alejsdev.
  • 📝 Actualizar Enlaces Externos. PR #11327 por @alejsdev.
  • 🔥 Eliminar enlace al benchmark de Pydantic, en otras páginas i18n.. PR #11224 por @hirotoKirimaru.
  • ✏️ Corregir errores tipográficos en docstrings. PR #11295 por @davidhuser.
  • 🛠️ Mejorar script de Node.js en docs para generar clientes TypeScript. PR #11293 por @alejsdev.
  • 📝 Actualizar ejemplos de tests para reemplazar "inexistent" por "nonexistent". PR #11220 por @Homesteady.
  • 📝 Actualizar el enlace de GitHub de python-multipart en toda la documentación de https://andrew-d.github.io/python-multipart/ a https://github.com/Kludex/python-multipart. PR #11239 por @joshjhans.

Traducciones

  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/response-status-code.md. PR #10357 por @nilslindemann.
  • 🌐 Actualizar traducción al chino para docs/zh/docs/tutorial/query-params.md. PR #3480 por @jaystone776.
  • 🌐 Actualizar traducción al chino para docs/zh/docs/tutorial/body.md. PR #3481 por @jaystone776.
  • 🌐 Actualizar traducción al chino para docs/zh/docs/tutorial/path-params.md. PR #3479 por @jaystone776.
  • 🌐 Actualizar traducción al chino para docs/tutorial/body-fields.md. PR #3496 por @jaystone776.
  • 🌐 Actualizar traducción al chino para docs/tutorial/extra-models.md. PR #3497 por @jaystone776.
  • 🌐 Añadir traducción al japonés para docs/ja/docs/tutorial/metadata.md. PR #2667 por @tokusumi.
  • 🌐 Añadir traducción al alemán para docs/de/docs/contributing.md. PR #10487 por @nilslindemann.
  • 🌐 Actualizar traducción al japonés de docs/ja/docs/tutorial/query-params.md. PR #10808 por @urushio.
  • 🌐 Actualizar traducción al chino para docs/zh/docs/tutorial/security/get-current-user.md. PR #3842 por @jaystone776.
  • 🌐 Añadir traducción al chino para docs/zh/docs/advanced/openapi-callbacks.md. PR #3825 por @jaystone776.
  • 🌐 Añadir traducción al chino para docs/zh/docs/advanced/extending-openapi.md. PR #3823 por @jaystone776.
  • 🌐 Añadir traducción al chino para docs/zh/docs/advanced/testing-dependencies.md. PR #3819 por @jaystone776.
  • 🌐 Añadir traducción al chino para docs/zh/docs/advanced/custom-request-and-route.md. PR #3816 por @jaystone776.
  • 🌐 Añadir traducción al chino para docs/zh/docs/external-links.md. PR #3833 por @jaystone776.
  • 🌐 Añadir traducción al chino para docs/zh/docs/advanced/templates.md. PR #3812 por @jaystone776.
  • 🌐 Añadir traducción al chino para docs/zh/docs/advanced/sub-applications.md. PR #3811 por @jaystone776.
  • 🌐 Añadir traducción al chino para docs/zh/docs/advanced/async-sql-databases.md. PR #3805 por @jaystone776.
  • 🌐 Añadir traducción al chino para docs/zh/docs/advanced/middleware.md. PR #3804 por @jaystone776.
  • 🌐 Añadir traducción al chino para docs/zh/docs/advanced/dataclasses.md. PR #3803 por @jaystone776.
  • 🌐 Añadir traducción al chino para docs/zh/docs/advanced/using-request-directly.md. PR #3802 por @jaystone776.
  • 🌐 Añadir traducción al chino para docs/zh/docs/advanced/security/http-basic-auth.md. PR #3801 por @jaystone776.
  • 🌐 Añadir traducción al chino para docs/zh/docs/advanced/security/oauth2-scopes.md. PR #3800 por @jaystone776.
  • 🌐 Actualizar traducción al chino para docs/zh/docs/tutorial/cookie-params.md. PR #3486 por @jaystone776.
  • 🌐 Actualizar traducción al chino para docs/zh/docs/tutorial/header-params.md. PR #3487 por @jaystone776.
  • 🌐 Actualizar traducción al chino para docs/tutorial/response-status-code.md. PR #3498 por @jaystone776.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/security/first-steps.md. PR #10432 por @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/advanced/events.md. PR #10693 por @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/deployment/cloud.md. PR #10746 por @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/advanced/behind-a-proxy.md. PR #10675 por @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/help-fastapi.md. PR #10455 por @nilslindemann.
  • 🌐 Actualizar traducción al alemán para docs/de/docs/python-types.md. PR #10287 por @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/path-params.md. PR #10290 por @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/handling-errors.md. PR #10379 por @nilslindemann.
  • 🌐 Actualizar la traducción al alemán para docs/de/docs/index.md. PR #10283 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/advanced/security/http-basic-auth.md. PR #10651 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/bigger-applications.md. PR #10554 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/advanced/path-operation-advanced-configuration.md. PR #10612 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/static-files.md. PR #10584 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/security/oauth2-jwt.md. PR #10522 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/response-model.md. PR #10345 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/extra-models.md. PR #10351 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/body-updates.md. PR #10396 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/alternatives.md. PR #10855 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/advanced/templates.md. PR #10678 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/advanced/security/oauth2-scopes.md. PR #10643 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/advanced/async-tests.md. PR #10708 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/metadata.md. PR #10581 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/testing.md. PR #10586 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/schema-extra-example.md. PR #10597 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/advanced/index.md. PR #10611 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/advanced/response-directly.md. PR #10618 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/advanced/additional-responses.md. PR #10626 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/advanced/response-cookies.md. PR #10627 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/advanced/response-headers.md. PR #10628 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/advanced/response-change-status-code.md. PR #10632 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/advanced/advanced-dependencies.md. PR #10633 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/advanced/security/index.md. PR #10635 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/advanced/using-request-directly.md. PR #10653 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/advanced/dataclasses.md. PR #10667 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/advanced/middleware.md. PR #10668 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/advanced/sub-applications.md. PR #10671 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/advanced/websockets.md. PR #10687 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/advanced/testing-websockets.md. PR #10703 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/advanced/testing-events.md. PR #10704 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/advanced/testing-dependencies.md. PR #10706 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/advanced/openapi-callbacks.md. PR #10710 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/advanced/settings.md. PR #10709 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/advanced/wsgi.md. PR #10713 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/deployment/index.md. PR #10733 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/deployment/https.md. PR #10737 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/deployment/manually.md. PR #10738 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/deployment/concepts.md. PR #10744 de @nilslindemann.
  • 🌐 Actualizar la traducción al alemán para docs/de/docs/features.md. PR #10284 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/deployment/server-workers.md. PR #10747 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/deployment/docker.md. PR #10759 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/how-to/index.md. PR #10769 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/how-to/general.md. PR #10770 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/how-to/graphql.md. PR #10788 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/how-to/custom-request-and-route.md. PR #10789 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/how-to/conditional-openapi.md. PR #10790 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/how-to/separate-openapi-schemas.md. PR #10796 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/how-to/configure-swagger-ui.md. PR #10804 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/how-to/custom-docs-ui-assets.md. PR #10803 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/reference/parameters.md. PR #10814 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/reference/status.md. PR #10815 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/reference/uploadfile.md. PR #10816 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/reference/exceptions.md. PR #10817 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/reference/dependencies.md. PR #10818 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/reference/apirouter.md. PR #10819 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/reference/websockets.md. PR #10822 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/reference/httpconnection.md. PR #10823 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/reference/response.md. PR #10824 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/reference/middleware.md. PR #10837 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/reference/openapi/*.md. PR #10838 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/reference/security/index.md. PR #10839 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/reference/staticfiles.md. PR #10841 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/reference/testclient.md. PR #10843 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/project-generation.md. PR #10851 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/history-design-future.md. PR #10865 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/dependencies/dependencies-with-yield.md. PR #10422 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/dependencies/global-dependencies.md. PR #10420 de @nilslindemann.
  • 🌐 Actualizar la traducción al alemán para docs/de/docs/fastapi-people.md. PR #10285 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/dependencies/sub-dependencies.md. PR #10409 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/security/index.md. PR #10429 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md. PR #10411 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/extra-data-types.md. PR #10534 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/security/simple-oauth2.md. PR #10504 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/security/get-current-user.md. PR #10439 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/request-forms-and-files.md. PR #10368 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/encoder.md. PR #10385 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/request-forms.md. PR #10361 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/deployment/versions.md. PR #10491 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/async.md. PR #10449 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/cookie-params.md. PR #10323 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/dependencies/classes-as-dependencies.md. PR #10407 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/dependencies/index.md. PR #10399 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/header-params.md. PR #10326 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/path-params-numeric-validations.md. PR #10307 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/query-params-str-validations.md. PR #10304 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/request-files.md. PR #10364 de @nilslindemann.
  • :globe_with_meridians: Añadir traducción al portugués para docs/pt/docs/advanced/templates.md. PR #11338 de @SamuelBFavarin.
  • 🌐 Añadir traducciones al bengalí para docs/bn/docs/learn/index.md. PR #11337 de @imtiaz101325.
  • 🌐 Corregir la traducción al coreano para docs/ko/docs/index.md. PR #11296 de @choi-haram.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/about/index.md. PR #11299 de @choi-haram.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/advanced/index.md. PR #9613 de @ElliottLarsen.
  • 🌐 Añadir traducción al alemán para docs/de/docs/how-to/extending-openapi.md. PR #10794 de @nilslindemann.
  • 🌐 Actualizar la traducción al chino para docs/zh/docs/tutorial/metadata.md. PR #11286 de @jackleeio.
  • 🌐 Actualizar la traducción al chino para docs/zh/docs/contributing.md. PR #10887 de @Aruelius.
  • 🌐 Añadir traducción al azerbaiyano para docs/az/docs/fastapi-people.md. PR #11195 de @vusallyv.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/dependencies/index.md. PR #11223 de @kohiry.
  • 🌐 Actualizar la traducción al chino para docs/zh/docs/tutorial/query-params.md. PR #11242 de @jackleeio.
  • 🌐 Añadir traducción al azerbaiyano para docs/az/learn/index.md. PR #11192 de @vusallyv.

Interno

  • 👥 Actualizar FastAPI People. PR #11387 de @tiangolo.
  • ⬆ Actualizar actions/cache de 3 a 4. PR #10988 de @dependabot[bot].
  • ⬆ Actualizar pypa/gh-action-pypi-publish de 1.8.11 a 1.8.14. PR #11318 de @dependabot[bot].
  • ⬆ Actualizar pillow de 10.1.0 a 10.2.0. PR #11011 de @dependabot[bot].
  • ⬆ Actualizar black de 23.3.0 a 24.3.0. PR #11325 de @dependabot[bot].
  • 👷 Añadir cron para ejecutar pruebas una vez por semana los lunes. PR #11377 de @estebanx64.
  • ➕ Reemplazar mkdocs-markdownextradata-plugin con mkdocs-macros-plugin. PR #11383 de @tiangolo.
  • 👷 Desactivar el plugin social de MkDocs Insiders mientras se resuelve un problema en MkDocs Material. PR #11373 de @tiangolo.
  • 👷 Corregir la lógica para cuándo instalar y usar MkDocs Insiders. PR #11372 de @tiangolo.
  • 👷 No usar caché de paquetes de Python para publicar. PR #11366 de @tiangolo.
  • 👷 Añadir CI para probar sdists para redistribución (ej. distribuciones Linux). PR #11365 de @tiangolo.
  • 👷 Actualizar el filtro de rutas de la GitHub Action build-docs. PR #11354 de @tiangolo.
  • 🔧 Actualizar configuración de Ruff, añadir regla de ignorar extra de SQLModel. PR #11353 de @tiangolo.
  • ⬆️ Actualizar configuración para Ruff v0.2.0. PR #11075 de @charliermarsh.
  • 🔧 Actualizar patrocinadores, añadir MongoDB. PR #11346 de @tiangolo.
  • ⬆ Actualizar dorny/paths-filter de 2 a 3. PR #11028 de @dependabot[bot].
  • ⬆ Actualizar dawidd6/action-download-artifact de 3.0.0 a 3.1.4. PR #11310 de @dependabot[bot].
  • ♻️ Refactorizar el cálculo de FastAPI People, incluir 3 meses, 6 meses, 1 año, basado en la fecha del comentario, no en la fecha de discusión. PR #11304 de @tiangolo.
  • 👥 Actualizar FastAPI People. PR #11228 de @tiangolo.
  • 🔥 Eliminar Jina AI QA Bot de la documentación. PR #11268 de @nan-wang.
  • 🔧 Actualizar patrocinadores, eliminar Jina, eliminar Powens, mover TestDriven.io. PR #11213 de @tiangolo.

0.110.0 (2024-02-24)

Cambios Importantes

  • 🐛 Fix unhandled growing memory for internal server errors, refactor dependencies with yield and except to require raising again as in regular Python. PR #11191 by @tiangolo.
    • Este es un cambio disruptivo (y solo ligeramente) si usaste dependencias con yield, usaste except en esas dependencias, y no volviste a lanzar la excepción.
    • Esto fue reportado internamente por @rushilsrivastava como una fuga de memoria cuando el servidor tenía excepciones no manejadas que producían errores internos del servidor, la memoria asignada antes de ese punto no se liberaba.
    • Lee la nueva documentación: Dependencias con yield y except.

En resumen, si tenías dependencias que se veían así:

def my_dep():
    try:
        yield
    except SomeException:
        pass

Ahora necesitas asegurarte de volver a lanzar la excepción después de except, tal como lo harías en Python normal:

def my_dep():
    try:
        yield
    except SomeException:
        raise

Docs

  • ✏️ Corregir errores tipográficos menores en docs/ko/docs/. PR #11126 de @KaniKim.
  • ✏️ Corregir un error tipográfico menor en fastapi/applications.py. PR #11099 de @JacobHayes.

Traducciones

  • 🌐 Añadir traducción al alemán para docs/de/docs/reference/background.md. PR #10820 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/reference/templating.md. PR #10842 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/external-links.md. PR #10852 de @nilslindemann.
  • 🌐 Actualizar la traducción al turco para docs/tr/docs/tutorial/query-params.md. PR #11162 de @hasansezertasan.
  • 🌐 Añadir traducción al alemán para docs/de/docs/reference/encoders.md. PR #10840 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/reference/responses.md. PR #10825 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/reference/request.md. PR #10821 de @nilslindemann.
  • 🌐 Añadir traducción al turco para docs/tr/docs/tutorial/query-params.md. PR #11078 de @emrhnsyts.
  • 🌐 Añadir traducción al alemán para docs/de/docs/reference/fastapi.md. PR #10813 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/newsletter.md. PR #10853 de @nilslindemann.
  • 🌐 Añadir traducción al chino tradicional para docs/zh-hant/docs/learn/index.md. PR #11142 de @hsuanchi.
  • 🌐 Añadir traducción al coreano para /docs/ko/docs/tutorial/dependencies/global-dependencies.md. PR #11123 de @riroan.
  • 🌐 Añadir traducción al coreano para /docs/ko/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md. PR #11124 de @riroan.
  • 🌐 Añadir traducción al coreano para /docs/ko/docs/tutorial/schema-extra-example.md. PR #11121 de @KaniKim.
  • 🌐 Añadir traducción al coreano para /docs/ko/docs/tutorial/body-fields.md. PR #11112 de @KaniKim.
  • 🌐 Añadir traducción al coreano para /docs/ko/docs/tutorial/cookie-params.md. PR #11118 de @riroan.
  • 🌐 Actualizar la traducción al coreano para /docs/ko/docs/dependencies/index.md. PR #11114 de @KaniKim.
  • 🌐 Actualizar la traducción al coreano para /docs/ko/docs/deployment/docker.md. PR #11113 de @KaniKim.
  • 🌐 Actualizar la traducción al turco para docs/tr/docs/tutorial/first-steps.md. PR #11094 de @hasansezertasan.
  • 🌐 Añadir traducción al español para docs/es/docs/advanced/security/index.md. PR #2278 de @Xaraxx.
  • 🌐 Añadir traducción al español para docs/es/docs/advanced/response-headers.md. PR #2276 de @Xaraxx.
  • 🌐 Añadir traducción al español para docs/es/docs/deployment/index.md y ~/deployment/versions.md. PR #9669 de @pabloperezmoya.
  • 🌐 Añadir traducción al español para docs/es/docs/benchmarks.md. PR #10928 de @pablocm83.
  • 🌐 Añadir traducción al español para docs/es/docs/advanced/response-change-status-code.md. PR #11100 de @alejsdev.

0.109.2 (2024-02-04)

Actualizaciones

  • ⬆️ Actualizar versión de Starlette a >= 0.36.3. PR #11086 de @tiangolo.

Traducciones

  • 🌐 Actualizar la traducción al turco para docs/tr/docs/fastapi-people.md. PR #10547 de @alperiox.

Interno

0.109.1 (2024-02-03)

Correcciones de seguridad

  • ⬆️ Actualizar la versión mínima de python-multipart a >=0.0.7 para corregir una vulnerabilidad al usar datos de formulario con un ataque ReDoS. También puedes simplemente actualizar python-multipart.

Lee más en el aviso: Content-Type Header ReDoS.

Características

  • ✨ Incluir HTTP 205 en los códigos de estado sin cuerpo. PR #10969 de @tiangolo.

Refactors

  • ✅ Refactorizar pruebas para la generación de operation ID duplicados para compatibilidad con otras herramientas que ejecutan el conjunto de pruebas de FastAPI. PR #10876 de @emmettbutler.
  • ♻️ Simplificar el formato de strings con f-strings en fastapi/utils.py. PR #10576 de @eukub.
  • 🔧 Corregir la configuración de Ruff que habilitaba y deshabilitaba involuntariamente la verificación de complejidad mccabe. PR #10893 de @jiridanek.
  • ✅ Reactivar prueba en tests/test_tutorial/test_header_params/test_tutorial003.py después de la corrección en Starlette. PR #10904 de @ooknimm.

Docs

  • 📝 Ajustar la redacción en help-fastapi.md. PR #11040 de @tiangolo.
  • 📝 Ajustar la documentación para Behind a Proxy. PR #11038 de @tiangolo.
  • 📝 Añadir Enlace Externo: 10 Tips para añadir SQLAlchemy a FastAPI. PR #11036 de @Donnype.
  • 📝 Añadir Enlace Externo: Tips para migrar de Flask a FastAPI y viceversa. PR #11029 de @jtemporal.
  • 📝 Descontinuar tutoriales antiguos: Peewee, Couchbase, encode/databases. PR #10979 de @tiangolo.
  • ✏️ Corregir error tipográfico en fastapi/security/oauth2.py. PR #10972 de @RafalSkolasinski.
  • 📝 Actualizar los detalles de HTTPException en docs/en/docs/tutorial/handling-errors.md. PR #5418 de @papb.
  • ✏️ Algunos ajustes en docs/de/docs/tutorial/first-steps.md. PR #10959 de @nilslindemann.
  • ✏️ Corregir enlace en docs/en/docs/advanced/async-tests.md. PR #10960 de @nilslindemann.
  • ✏️ Corregir errores tipográficos en la documentación en español. PR #10957 de @jlopezlira.
  • 📝 Añadir advertencia sobre funciones lifespan y compatibilidad con eventos. PR #10734 de @jacob-indigo.
  • ✏️ Corregir enlace roto en docs/tutorial/sql-databases.md en varios idiomas. PR #10716 de @theoohoho.
  • ✏️ Eliminar enlaces rotos de external_links.yml. PR #10943 de @Torabek.
  • 📝 Actualizar la documentación de plantillas con más información sobre url_for. PR #5937 de @EzzEddin.
  • 📝 Actualizar el uso del modelo Token en la documentación de seguridad. PR #9313 de @piotrszacilowski.
  • ✏️ Actualizar la línea resaltada en docs/en/docs/tutorial/bigger-applications.md. PR #5490 de @papb.
  • 📝 Añadir Enlace Externo: Explora Cómo Usar Efectivamente JWT Con FastAPI. PR #10212 de @aanchlia.
  • 📝 Añadir hipervínculo a docs/en/docs/tutorial/static-files.md. PR #10243 de @hungtsetse.
  • 📝 Añadir Enlace Externo: Instrumentar un servicio FastAPI añadiendo tracing con OpenTelemetry y enviar/mostrar traces en Grafana Tempo. PR #9440 de @softwarebloat.
  • 📝 Revisión y reescritura de en/docs/contributing.md. PR #10480 de @nilslindemann.
  • 📝 Añadir Enlace Externo: Serving y monitoreo de ML con FastAPI y Evidently. PR #9701 de @mnrozhkov.
  • 📝 Reescritura en la documentación, de "have in mind" a "keep in mind". PR #10376 de @malicious.
  • 📝 Añadir Enlace Externo: Charla de Jeny Sadadia. PR #10265 de @JenySadadia.
  • 📝 Añadir información de ubicación a tutorial/bigger-applications.md. PR #10552 de @nilslindemann.
  • ✏️ Corregir el nombre del método Pydantic en docs/en/docs/advanced/path-operation-advanced-configuration.md. PR #10826 de @ahmedabdou14.

Traducciones

  • 🌐 Añadir traducción al español para docs/es/docs/external-links.md. PR #10933 de @pablocm83.
  • 🌐 Actualizar la traducción al coreano para docs/ko/docs/tutorial/first-steps.md, docs/ko/docs/tutorial/index.md, docs/ko/docs/tutorial/path-params.md, y docs/ko/docs/tutorial/query-params.md. PR #4218 de @SnowSuno.
  • 🌐 Añadir traducción al chino para docs/zh/docs/tutorial/dependencies/dependencies-with-yield.md. PR #10870 de @zhiquanchi.
  • 🌐 Añadir traducción al chino para docs/zh/docs/deployment/concepts.md. PR #10282 de @xzmeng.
  • 🌐 Añadir traducción al azerbaiyano para docs/az/docs/index.md. PR #11047 de @aykhans.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/tutorial/middleware.md. PR #2829 de @JeongHyeongKim.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/body-nested-models.md. PR #10313 de @nilslindemann.
  • 🌐 Añadir traducción al persa para docs/fa/docs/tutorial/middleware.md. PR #9695 de @mojtabapaso.
  • 🌐 Actualizar la traducción al persa para docs/fa/docs/index.md. PR #10216 de @theonlykingpin.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/body-fields.md. PR #10310 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/body.md. PR #10295 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/body-multiple-params.md. PR #10308 de @nilslindemann.
  • 🌐 Añadir traducción al japonés para docs/ja/docs/tutorial/security/get-current-user.md. PR #2681 de @sh0nk.
  • 🌐 Añadir traducción al chino para docs/zh/docs/advanced/advanced-dependencies.md. PR #3798 de @jaystone776.
  • 🌐 Añadir traducción al chino para docs/zh/docs/advanced/events.md. PR #3815 de @jaystone776.
  • 🌐 Añadir traducción al chino para docs/zh/docs/advanced/behind-a-proxy.md. PR #3820 de @jaystone776.
  • 🌐 Añadir traducción al chino para docs/zh/docs/advanced/testing-events.md. PR #3818 de @jaystone776.
  • 🌐 Añadir traducción al chino para docs/zh/docs/advanced/testing-websockets.md. PR #3817 de @jaystone776.
  • 🌐 Añadir traducción al chino para docs/zh/docs/advanced/testing-database.md. PR #3821 de @jaystone776.
  • 🌐 Añadir traducción al chino para docs/zh/docs/deployment/deta.md. PR #3837 de @jaystone776.
  • 🌐 Añadir traducción al chino para docs/zh/docs/history-design-future.md. PR #3832 de @jaystone776.
  • 🌐 Añadir traducción al chino para docs/zh/docs/project-generation.md. PR #3831 de @jaystone776.
  • 🌐 Añadir traducción al chino para docs/zh/docs/deployment/docker.md. PR #10296 de @xzmeng.
  • 🌐 Actualizar la traducción al español para docs/es/docs/features.md. PR #10884 de @pablocm83.
  • 🌐 Añadir traducción al español para docs/es/docs/newsletter.md. PR #10922 de @pablocm83.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/tutorial/background-tasks.md. PR #5910 de @junah201.
  • :globe_with_meridians: Añadir traducción al turco para docs/tr/docs/alternatives.md. PR #10502 de @alperiox.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/tutorial/dependencies/index.md. PR #10989 de @KaniKim.
  • 🌐 Añadir traducción al coreano para /docs/ko/docs/tutorial/body.md. PR #11000 de @KaniKim.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/schema-extra-example.md. PR #4065 de @luccasmmg.
  • 🌐 Añadir traducción al turco para docs/tr/docs/history-design-future.md. PR #11012 de @hasansezertasan.
  • 🌐 Añadir traducción al turco para docs/tr/docs/resources/index.md. PR #11020 de @hasansezertasan.
  • 🌐 Añadir traducción al turco para docs/tr/docs/how-to/index.md. PR #11021 de @hasansezertasan.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/query-params.md. PR #10293 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/benchmarks.md. PR #10866 de @nilslindemann.
  • 🌐 Añadir traducción al turco para docs/tr/docs/learn/index.md. PR #11014 de @hasansezertasan.
  • 🌐 Añadir traducción al persa para docs/fa/docs/tutorial/security/index.md. PR #9945 de @mojtabapaso.
  • 🌐 Añadir traducción al turco para docs/tr/docs/help/index.md. PR #11013 de @hasansezertasan.
  • 🌐 Añadir traducción al turco para docs/tr/docs/about/index.md. PR #11006 de @hasansezertasan.
  • 🌐 Actualizar la traducción al turco para docs/tr/docs/benchmarks.md. PR #11005 de @hasansezertasan.
  • 🌐 Añadir traducción al italiano para docs/it/docs/index.md. PR #5233 de @matteospanio.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/help/index.md. PR #10983 de @KaniKim.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/features.md. PR #10976 de @KaniKim.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/tutorial/security/get-current-user.md. PR #5737 de @KdHyeon0661.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/security/first-steps.md. PR #10541 de @AlertRED.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/handling-errors.md. PR #10375 de @AlertRED.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/encoder.md. PR #10374 de @AlertRED.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/body-updates.md. PR #10373 de @AlertRED.
  • 🌐 Traducción al ruso: actualizado fastapi-people.md.. PR #10255 de @NiKuma0.
  • 🌐 Añadir traducción al japonés para docs/ja/docs/tutorial/security/index.md. PR #5798 de @3w36zj6.
  • 🌐 Añadir traducción al alemán para docs/de/docs/advanced/generate-clients.md. PR #10725 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/advanced/openapi-webhooks.md. PR #10712 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/advanced/custom-response.md. PR #10624 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/advanced/additional-status-codes.md. PR #10617 de @nilslindemann.
  • 🌐 Añadir traducción al alemán para docs/de/docs/tutorial/middleware.md. PR #10391 de @JohannesJungbluth.
  • 🌐 Añadir traducción al alemán para documentos de introducción. PR #10497 de @nilslindemann.
  • 🌐 Añadir traducción al japonés para docs/ja/docs/tutorial/encoder.md. PR #1955 de @SwftAlpc.
  • 🌐 Añadir traducción al japonés para docs/ja/docs/tutorial/extra-data-types.md. PR #1932 de @SwftAlpc.
  • 🌐 Añadir traducción al turco para docs/tr/docs/async.md. PR #5191 de @BilalAlpaslan.
  • 🌐 Añadir traducción al turco para docs/tr/docs/project-generation.md. PR #5192 de @BilalAlpaslan.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/deployment/docker.md. PR #5657 de @nearnear.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/deployment/server-workers.md. PR #4935 de @jujumilk3.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/deployment/index.md. PR #4561 de @jujumilk3.
  • 🌐 Añadir traducción al coreano para docs/ko/docs/tutorial/path-operation-configuration.md. PR #3639 de @jungsu-kwon.
  • 🌐 Modificar la descripción de zh - Chino Tradicional. PR #10889 por @cherinyy.
  • 🌐 Añadir traducción al coreano de docs/ko/docs/tutorial/static-files.md. PR #2957 por @jeesang7.
  • 🌐 Añadir traducción al coreano de docs/ko/docs/tutorial/response-model.md. PR #2766 por @hard-coders.
  • 🌐 Añadir traducción al coreano de docs/ko/docs/tutorial/body-multiple-params.md. PR #2461 por @PandaHun.
  • 🌐 Añadir traducción al coreano de docs/ko/docs/tutorial/query-params-str-validations.md. PR #2415 por @hard-coders.
  • 🌐 Añadir traducción al coreano de docs/ko/docs/python-types.md. PR #2267 por @jrim.
  • 🌐 Añadir traducción al coreano de docs/ko/docs/tutorial/body-nested-models.md. PR #2506 por @hard-coders.
  • 🌐 Añadir traducción al coreano de docs/ko/docs/learn/index.md. PR #10977 por @KaniKim.
  • 🌐 Inicializar traducciones para Chino Tradicional. PR #10505 por @hsuanchi.
  • ✏️ Ajustar la traducción al alemán de docs/de/docs/tutorial/index.md. PR #10962 por @nilslindemann.
  • ✏️ Corregir error tipográfico en docs/ko/docs/tutorial/path-params.md. PR #10758 por @2chanhaeng.
  • 🌐 Añadir traducción al japonés de docs/ja/docs/tutorial/dependencies/dependencies-with-yield.md. PR #1961 por @SwftAlpc.
  • 🌐 Añadir traducción al japonés de docs/ja/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md. PR #1960 por @SwftAlpc.
  • 🌐 Añadir traducción al japonés de docs/ja/docs/tutorial/dependencies/sub-dependencies.md. PR #1959 por @SwftAlpc.
  • 🌐 Añadir traducción al japonés de docs/ja/docs/tutorial/background-tasks.md. PR #2668 por @tokusumi.
  • 🌐 Añadir traducción al japonés de docs/ja/docs/tutorial/dependencies/index.md y docs/ja/docs/tutorial/dependencies/classes-as-dependencies.md. PR #1958 por @SwftAlpc.
  • 🌐 Añadir traducción al japonés de docs/ja/docs/tutorial/response-model.md. PR #1938 por @SwftAlpc.
  • 🌐 Añadir traducción al japonés de docs/ja/docs/tutorial/body-multiple-params.md. PR #1903 por @SwftAlpc.
  • 🌐 Añadir traducción al japonés de docs/ja/docs/tutorial/path-params-numeric-validations.md. PR #1902 por @SwftAlpc.
  • 🌐 Añadir traducción al japonés de docs/ja/docs/python-types.md. PR #1899 por @SwftAlpc.
  • 🌐 Añadir traducción al japonés de docs/ja/docs/tutorial/handling-errors.md. PR #1953 por @SwftAlpc.
  • 🌐 Añadir traducción al japonés de docs/ja/docs/tutorial/response-status-code.md. PR #1942 por @SwftAlpc.
  • 🌐 Añadir traducción al japonés de docs/ja/docs/tutorial/extra-models.md. PR #1941 por @SwftAlpc.
  • 🌐 Añadir traducción al japonés de docs/ja/docs/tutorial/schema-extra-example.md. PR #1931 por @SwftAlpc.
  • 🌐 Añadir traducción al japonés de docs/ja/docs/tutorial/body-nested-models.md. PR #1930 por @SwftAlpc.
  • 🌐 Añadir traducción al japonés de docs/ja/docs/tutorial/body-fields.md. PR #1923 por @SwftAlpc.
  • 🌐 Añadir traducción al alemán de docs/de/docs/tutorial/index.md. PR #9502 por @fhabers21.
  • 🌐 Añadir traducción al alemán de docs/de/docs/tutorial/background-tasks.md. PR #10566 por @nilslindemann.
  • ✏️ Corregir error tipográfico en docs/ru/docs/index.md. PR #10672 por @Delitel-WEB.
  • ✏️ Corregir errores tipográficos en docs/zh/docs/tutorial/extra-data-types.md. PR #10727 por @HiemalBeryl.
  • 🌐 Añadir traducción al ruso de docs/ru/docs/tutorial/dependencies/classes-as-dependencies.md. PR #10410 por @AlertRED.

Interno

  • 👥 Actualizar FastAPI People. PR #11074 por @tiangolo.
  • 🔧 Actualizar patrocinadores: añadir Coherence. PR #11066 por @tiangolo.
  • 👷 Actualizar GitHub Action issue-manager. PR #11056 por @tiangolo.
  • 🍱 Actualizar patrocinadores: insignia de TalkPython. PR #11052 por @tiangolo.
  • 🔧 Actualizar patrocinadores: imagen de la insignia de TalkPython. PR #11048 por @tiangolo.
  • 🔧 Actualizar patrocinadores, eliminar Deta. PR #11041 por @tiangolo.
  • 💄 Corregir CSS que rompía los idiomas RTL (introducido erróneamente por un PR anterior de RTL). PR #11039 por @tiangolo.
  • 🔧 Añadir italiano a mkdocs.yml. PR #11016 por @alejsdev.
  • 🔨 Verificar los idiomas de mkdocs.yml en CI, actualizar docs.py. PR #11009 por @tiangolo.
  • 🔧 Actualizar la configuración en label-approved.yml para aceptar traducciones con 1 revisor. PR #11007 por @alejsdev.
  • 👷 Añadir manejo de changes-requested en el GitHub Action issue manager. PR #10971 por @tiangolo.
  • 🔧 Agrupar dependencias en las actualizaciones de dependabot. PR #10952 por @Kludex.
  • ⬆ Actualizar actions/setup-python de 4 a 5. PR #10764 por @dependabot[bot].
  • ⬆ Actualizar pypa/gh-action-pypi-publish de 1.8.10 a 1.8.11. PR #10731 por @dependabot[bot].
  • ⬆ Actualizar dawidd6/action-download-artifact de 2.28.0 a 3.0.0. PR #10777 por @dependabot[bot].
  • 🔧 Añadir soporte para traducciones a idiomas con un nombre de código más largo, como zh-hant. PR #10950 por @tiangolo.

0.109.0 (2024-01-11)

Características

  • ✨ Añadir soporte para Python 3.12. PR #10666 por @Jamim.

Actualizaciones

Docs

  • ✏️ Corregir error tipográfico en docs/en/docs/alternatives.md. PR #10931 por @s111d.
  • 📝 Reemplazar email con username en los ejemplos de código de docs_src/security/tutorial007. PR #10649 por @nilslindemann.
  • 📝 Añadir enlace al tutorial de VS Code. PR #10592 por @nilslindemann.
  • 📝 Añadir notas sobre el nuevo .model_dump() de Pydantic v2. PR #10929 por @tiangolo.
  • 📝 Corregir enlace roto en docs/en/docs/tutorial/sql-databases.md. PR #10765 por @HurSungYun.
  • 📝 Añadir enlace externo: Monitorización de aplicaciones FastAPI facilitada. PR #10917 por @tiangolo.
  • ✨ Generar nombres de idiomas automáticos para las traducciones de docs. PR #5354 por @jakul.
  • ✏️ Corregir errores tipográficos en docs/en/docs/alternatives.md y docs/en/docs/tutorial/dependencies/index.md. PR #10906 por @s111d.
  • ✏️ Corregir errores tipográficos en docs/en/docs/tutorial/dependencies/dependencies-with-yield.md. PR #10834 por @Molkree.
  • 📝 Añadir artículo: "Construyendo una API RESTful con FastAPI: Registro y Login Seguros Incluidos". PR #9733 por @dxphilo.
  • 📝 Añadir advertencia sobre eventos del ciclo de vida con AsyncClient. PR #4167 por @andrew-chang-dewitt.
  • ✏️ Corregir errores tipográficos en /docs/reference/exceptions.md y /en/docs/reference/status.md. PR #10809 por @clarencepenz.
  • ✏️ Corregir error tipográfico en openapi-callbacks.md. PR #10673 por @kayjan.
  • ✏️ Corregir error tipográfico en fastapi/routing.py . PR #10520 por @sepsh.
  • 📝 Reemplazar el código HTTP devuelto en caso de error de usuario existente en la docs para testing. PR #4482 por @TristanMarion.
  • 📝 Añadir blog para FastAPI & Supabase. PR #6018 por @theinfosecguy.
  • 📝 Actualizar archivos de código fuente de ejemplo para bases de datos SQL con SQLAlchemy. PR #9508 por @s-mustafa.
  • 📝 Actualizar ejemplos de código en docs para body, reemplazar el nombre create_item con update_item cuando sea apropiado. PR #5913 por @OttoAndrey.
  • ✏️ Corregir error tipográfico en ejemplos de código de dependencias con yield. PR #10847 por @tiangolo.

Traducciones

  • 🌐 Añadir traducción al bengalí de docs/bn/docs/index.md. PR #9177 por @Fahad-Md-Kamal.
  • ✏️ Actualizar la versión de Python en index.md en varios idiomas. PR #10711 por @tamago3keran.
  • 🌐 Añadir traducción al ruso de docs/ru/docs/tutorial/request-forms-and-files.md. PR #10347 por @AlertRED.
  • 🌐 Añadir traducción al ucraniano de docs/uk/docs/index.md. PR #10362 por @rostik1410.
  • ✏️ Actualizar la versión de Python en docs/ko/docs/index.md. PR #10680 por @Eeap.
  • 🌐 Añadir traducción al persa de docs/fa/docs/features.md. PR #5887 por @amirilf.
  • 🌐 Añadir traducción al chino de docs/zh/docs/advanced/additional-responses.md. PR #10325 por @ShuibeiC.
  • 🌐 Corregir errores tipográficos en las traducciones al ruso de docs/ru/docs/tutorial/background-tasks.md, docs/ru/docs/tutorial/body-nested-models.md, docs/ru/docs/tutorial/debugging.md, docs/ru/docs/tutorial/testing.md. PR #10311 por @AlertRED.
  • 🌐 Añadir traducción al ruso de docs/ru/docs/tutorial/request-files.md. PR #10332 por @AlertRED.
  • 🌐 Añadir traducción al chino de docs/zh/docs/deployment/server-workers.md. PR #10292 por @xzmeng.
  • 🌐 Añadir traducción al chino de docs/zh/docs/deployment/cloud.md. PR #10291 por @xzmeng.
  • 🌐 Añadir traducción al chino de docs/zh/docs/deployment/manually.md. PR #10279 por @xzmeng.
  • 🌐 Añadir traducción al chino de docs/zh/docs/deployment/https.md. PR #10277 por @xzmeng.
  • 🌐 Añadir traducción al chino de docs/zh/docs/deployment/index.md. PR #10275 por @xzmeng.
  • 🌐 Añadir traducción al alemán de docs/de/docs/tutorial/first-steps.md. PR #9530 por @fhabers21.
  • 🌐 Actualizar traducción al turco de docs/tr/docs/index.md. PR #10444 por @hasansezertasan.
  • 🌐 Añadir traducción al chino de docs/zh/docs/learn/index.md. PR #10479 por @KAZAMA-DREAM.
  • 🌐 Añadir traducción al ruso de docs/ru/docs/learn/index.md. PR #10539 por @AlertRED.
  • 🌐 Actualizar la instrucción de SQLAlchemy en la traducción al chino docs/zh/docs/tutorial/sql-databases.md. PR #9712 por @Royc30ne.
  • 🌐 Añadir traducción al turco de docs/tr/docs/external-links.md. PR #10549 por @hasansezertasan.
  • 🌐 Añadir traducción al español de docs/es/docs/learn/index.md. PR #10885 por @pablocm83.
  • 🌐 Añadir traducción al ucraniano de docs/uk/docs/tutorial/body-fields.md. PR #10670 por @ArtemKhymenko.
  • 🌐 Añadir traducción al húngaro de /docs/hu/docs/index.md. PR #10812 por @takacs.
  • 🌐 Añadir traducción al turco de docs/tr/docs/newsletter.md. PR #10550 por @hasansezertasan.
  • 🌐 Añadir traducción al español de docs/es/docs/help/index.md. PR #10907 por @pablocm83.
  • 🌐 Añadir traducción al español de docs/es/docs/about/index.md. PR #10908 por @pablocm83.
  • 🌐 Añadir traducción al español de docs/es/docs/resources/index.md. PR #10909 por @pablocm83.

Interno

0.108.0 (2023-12-26)

Actualizaciones

  • ⬆️ Actualizar Starlette a >=0.29.0,<0.33.0, actualizar docs y el uso de plantillas con los nuevos argumentos de Starlette. Eliminar el pin de AnyIO >=3.7.1,<4.0.0, añadir soporte para AnyIO 4.x.x. PR #10846 por @tiangolo.

0.107.0 (2023-12-26)

Actualizaciones

Docs

  • 📝 Añadir docs: script alternativo en Node.js para actualizar OpenAPI para clientes generados. PR #10845 por @alejsdev.
  • 📝 Reestructurar la sección de Docs en la página de Contributing. PR #10844 por @alejsdev.

0.106.0 (2023-12-25)

Cambios Importantes

El uso de recursos de dependencias con yield en tareas en segundo plano ya no es soportado.

Este cambio es lo que soporta las nuevas funcionalidades, lee más abajo. 🤓

Dependencias con yield, HTTPException y Tareas en Segundo Plano

Las dependencias con yield ahora pueden lanzar HTTPException y otras excepciones después de yield. 🎉

Lee las nuevas docs aquí: Dependencias con yield y HTTPException.

from fastapi import Depends, FastAPI, HTTPException
from typing_extensions import Annotated

app = FastAPI()


data = {
    "plumbus": {"description": "Freshly pickled plumbus", "owner": "Morty"},
    "portal-gun": {"description": "Gun to create portals", "owner": "Rick"},
}


class OwnerError(Exception):
    pass


def get_username():
    try:
        yield "Rick"
    except OwnerError as e:
        raise HTTPException(status_code=400, detail=f"Owner error: {e}")


@app.get("/items/{item_id}")
def get_item(item_id: str, username: Annotated[str, Depends(get_username)]):
    if item_id not in data:
        raise HTTPException(status_code=404, detail="Item not found")
    item = data[item_id]
    if item["owner"] != username:
        raise OwnerError(username)
    return item

Antes de FastAPI 0.106.0, lanzar excepciones después de yield no era posible, el exit code en dependencias con yield se ejecutaba después de que la respuesta fuera enviada, así que los Exception Handlers ya habrían sido ejecutados.

Esto se diseñó así principalmente para permitir usar los mismos objetos "yielded" por las dependencias dentro de las background tasks, porque el exit code se ejecutaría después de que las background tasks terminaran.

Sin embargo, como esto significaría esperar a que la respuesta viaje a través de la red mientras se mantiene innecesariamente un recurso en una dependencia con yield (por ejemplo una conexión a base de datos), esto se cambió en FastAPI 0.106.0.

Además, una background task es normalmente un conjunto independiente de lógica que debería manejarse por separado, con sus propios recursos (ej. su propia conexión a la base de datos).

Si solías depender de este comportamiento, ahora deberías crear los recursos para las background tasks dentro de la background task misma, y usar internamente solo datos que no dependan de los recursos de las dependencias con yield.

Por ejemplo, en lugar de usar la misma sesión de base de datos, crearías una nueva sesión de base de datos dentro de la background task, y obtendrías los objetos de la base de datos usando esta nueva sesión. Y luego, en lugar de pasar el objeto de la base de datos como parámetro a la función de la background task, pasarías el ID de ese objeto y luego obtendrías el objeto nuevamente dentro de la función de la background task.

La secuencia de ejecución antes de FastAPI 0.106.0 era como este diagrama:

El tiempo fluye de arriba a abajo. Y cada columna es una de las partes que interactúan o ejecutan código.

El nuevo flujo de ejecución se puede encontrar en las docs: Ejecución de dependencias con yield.

Características

  • ✨ Añadir soporte para lanzar excepciones (incluyendo HTTPException) en dependencias con yield en el código de salida, no soportarlas en tareas en segundo plano. PR #10831 por @tiangolo.

Interno

0.105.0 (2023-12-12)

Características

  • ✨ Añadir soporte para múltiples anotaciones Annotated, ej. Annotated[str, Field(), Query()]. PR #10773 por @tiangolo.

Refactors

Docs

  • 📝 Ajustar las configuraciones sugeridas por defecto para generar clientes. PR #10736 por @tiangolo.

Interno

  • 🔧 Actualizar patrocinadores, añadir Scalar. PR #10728 por @tiangolo.
  • 🔧 Actualizar patrocinadores, añadir PropelAuth. PR #10760 por @tiangolo.
  • 👷 Actualizar build de docs, verificar README en CI. PR #10750 por @tiangolo.
  • 🔧 Actualizar patrocinadores, eliminar Fern. PR #10729 por @tiangolo.
  • 🔧 Actualizar patrocinadores, añadir Codacy. PR #10677 por @tiangolo.
  • 🔧 Actualizar patrocinadores, añadir Reflex. PR #10676 por @tiangolo.
  • 📝 Actualizar notas de versión, mover y verificar latest-changes. PR #10588 por @tiangolo.
  • 👷 Actualizar GitHub Action latest-changes. PR #10587 por @tiangolo.

0.104.1 (2023-10-30)

Correcciones

  • 📌 Pin Swagger UI version to 5.9.0 temporarily to handle a bug crashing it in 5.9.1. PR #10529 by @alejandraklachquin.
    • Esto no es realmente un bug en FastAPI sino en Swagger UI, sin embargo fijar la versión funcionará mientras se encuentra una solución en el lado de Swagger UI.

Docs

  • 📝 Actualizar estructura de datos y renderizado para external-links. PR #10495 por @tiangolo.
  • ✏️ Corregir enlace al identificador de licencia SPDX en docs/en/docs/tutorial/metadata.md. PR #10433 por @worldworm.
  • 📝 Actualizar el ejemplo de error de validación de Pydantic v1 para coincidir con Pydantic v2 en docs/en/docs/tutorial/path-params.md. PR #10043 por @giuliowaitforitdavide.
  • ✏️ Corregir errores tipográficos en docs de emojis y en algunos ejemplos de código. PR #10438 por @afuetterer.
  • ✏️ Corregir error tipográfico en docs/en/docs/reference/dependencies.md. PR #10465 por @suravshresth.
  • ✏️ Corregir errores tipográficos y reformulaciones en docs/en/docs/tutorial/body-nested-models.md. PR #10468 por @yogabonito.
  • 📝 Actualizar docs, eliminar referencias al pydantic.Required removido en docs/en/docs/tutorial/query-params-str-validations.md. PR #10469 por @yogabonito.
  • ✏️ Corregir error tipográfico en docs/en/docs/reference/index.md. PR #10467 por @tarsil.
  • 🔥 Eliminar docstrings duplicados innecesarios. PR #10484 por @tiangolo.

Interno

  • ✏️ Actualizar enlaces de Pydantic al soporte de dotenv. PR #10511 por @White-Mask.
  • ✏️ Actualizar enlaces en docs/en/docs/async.md y docs/zh/docs/async.md para hacerlos relativos. PR #10498 por @hasnatsajid.
  • ✏️ Corregir enlaces en docs/em/docs/async.md. PR #10507 por @hasnatsajid.
  • ✏️ Corregir error tipográfico en docs/em/docs/index.md, Python 3.8. PR #10521 por @kerriop.
  • ⬆ Actualizar pillow de 9.5.0 a 10.1.0. PR #10446 por @dependabot[bot].
  • ⬆ Actualizar el requisito de mkdocs-material de <9.0.0,>=8.1.4 a >=8.1.4,<10.0.0. PR #5862 por @dependabot[bot].
  • ⬆ Actualizar mkdocs-material de 9.1.21 a 9.4.7. PR #10545 por @dependabot[bot].
  • 👷 Instalar MkDocs Material Insiders solo cuando haya secrets disponibles, para Dependabot. PR #10544 por @tiangolo.
  • 🔧 Actualizar insignias de patrocinadores, Databento. PR #10519 por @tiangolo.
  • 👷 Adoptar formato Ruff. PR #10517 por @tiangolo.
  • 🔧 Añadir archivo CITATION.cff para citas académicas. PR #10496 por @tiangolo.
  • 🐛 Corregir la sobreescritura del lang del tema de MKDocs en el hook. PR #10490 por @tiangolo.
  • 🔥 Cerrar/eliminar el chat de Gitter. Las preguntas deben ir a GitHub Discussions, las conversaciones libres a Discord.. PR #10485 por @tiangolo.

0.104.0 (2023-10-18)

Características

  • ✨ Añadir docs de referencia (API de código) con PEP 727, añadir subclase con docstrings personalizados para BackgroundTasks, refactorizar estructura de docs. PR #10392 por @tiangolo. Nuevas docs en FastAPI Reference - Code API.

Actualizaciones

  • ⬆️ Eliminar soporte para Python 3.7, requerir Python 3.8 o superior. PR #10442 por @tiangolo.

Interno

0.103.2 (2023-09-28)

Refactors

  • ⬆️ Actualizar compatibilidad con Pydantic v2.4, nuevas funciones renombradas y modelos de entrada/salida de JSON Schema con valores por defecto. PR #10344 por @tiangolo.

Traducciones

  • 🌐 Añadir traducción al ucraniano de docs/uk/docs/tutorial/extra-data-types.md. PR #10132 por @ArtemKhymenko.
  • 🌐 Corregir errores tipográficos en las traducciones al francés de docs/fr/docs/advanced/path-operation-advanced-configuration.md, docs/fr/docs/alternatives.md, docs/fr/docs/async.md, docs/fr/docs/features.md, docs/fr/docs/help-fastapi.md, docs/fr/docs/index.md, docs/fr/docs/python-types.md, docs/fr/docs/tutorial/body.md, docs/fr/docs/tutorial/first-steps.md, docs/fr/docs/tutorial/query-params.md. PR #10154 por @s-rigaud.
  • 🌐 Añadir traducción al chino de docs/zh/docs/async.md. PR #5591 por @mkdir700.
  • 🌐 Actualizar traducción al chino de docs/tutorial/security/simple-oauth2.md. PR #3844 por @jaystone776.
  • 🌐 Añadir traducción al coreano de docs/ko/docs/deployment/cloud.md. PR #10191 por @Sion99.
  • 🌐 Añadir traducción al japonés de docs/ja/docs/deployment/https.md. PR #10298 por @tamtam-fitness.
  • 🌐 Corregir error tipográfico en la traducción al ruso de docs/ru/docs/tutorial/body-fields.md. PR #10224 por @AlertRED.
  • 🌐 Añadir traducción al polaco de docs/pl/docs/help-fastapi.md. PR #10121 por @romabozhanovgithub.
  • 🌐 Añadir traducción al ruso de docs/ru/docs/tutorial/header-params.md. PR #10226 por @AlertRED.
  • 🌐 Añadir traducción al chino de docs/zh/docs/deployment/versions.md. PR #10276 por @xzmeng.

Interno

  • 🔧 Actualizar patrocinadores, eliminar Flint. PR #10349 por @tiangolo.
  • 🔧 Renombrar el label "awaiting review" a "awaiting-review" para simplificar las búsquedas. PR #10343 por @tiangolo.
  • 🔧 Actualizar patrocinadores, habilitar Svix (revertir #10228). PR #10253 por @tiangolo.
  • 🔧 Actualizar patrocinadores, eliminar Svix. PR #10228 por @tiangolo.
  • 🔧 Actualizar patrocinadores, añadir Bump.sh. PR #10227 por @tiangolo.

0.103.1 (2023-09-02)

Correcciones

  • 📌 Fijar AnyIO a < 4.0.0 para manejar una incompatibilidad al actualizar a Starlette 0.31.1. PR #10194 por @tiangolo.

Docs

  • ✏️ Corregir el nombre del parámetro de validación en docs, de regex a pattern. PR #10085 por @pablodorrio.
  • ✏️ Corregir el formato de indentación en docs/en/docs/deployment/server-workers.md. PR #10066 por @tamtam-fitness.
  • ✏️ Corregir ejemplos de Pydantic en el tutorial de tipos de Python. PR #9961 por @rahulsalgare.
  • ✏️ Corregir enlace a las docs de Pydantic en docs/en/docs/tutorial/extra-data-types.md. PR #10155 por @hasnatsajid.
  • ✏️ Corregir error tipográfico en docs/en/docs/tutorial/handling-errors.md. PR #10170 por @poupapaa.
  • ✏️ Corregir error tipográfico en docs/en/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md. PR #10172 por @ragul-kachiappan.

Traducciones

  • 🌐 Eliminar línea duplicada en la traducción de docs/pt/docs/tutorial/path-params.md. PR #10126 por @LecoOliveira.
  • 🌐 Añadir traducción al yoruba de docs/yo/docs/index.md. PR #10033 por @AfolabiOlaoluwa.
  • 🌐 Añadir traducción al ucraniano de docs/uk/docs/python-types.md. PR #10080 por @rostik1410.
  • 🌐 Añadir traducciones al vietnamita de docs/vi/docs/tutorial/first-steps.md y docs/vi/docs/tutorial/index.md. PR #10088 por @magiskboy.
  • 🌐 Añadir traducción al ucraniano de docs/uk/docs/alternatives.md. PR #10060 por @whysage.
  • 🌐 Añadir traducción al ucraniano de docs/uk/docs/tutorial/index.md. PR #10079 por @rostik1410.
  • ✏️ Corregir errores tipográficos en docs/en/docs/how-to/separate-openapi-schemas.md y docs/en/docs/tutorial/schema-extra-example.md. PR #10189 por @xzmeng.
  • 🌐 Añadir traducción al chino de docs/zh/docs/advanced/generate-clients.md. PR #9883 por @funny-cat-happy.

Refactors

  • ✏️ Corregir errores tipográficos en comentario en fastapi/applications.py. PR #10045 por @AhsanSheraz.
  • ✅ Añadir test faltante para ejemplos de OpenAPI, faltaba en la cobertura. PR #10188 por @tiangolo.

Interno

0.103.0 (2023-08-26)

Características

Docs

  • 📝 Añadir nota a las docs sobre Esquemas Separados de Entrada y Salida con la versión de FastAPI. PR #10150 por @tiangolo.

0.102.0 (2023-08-25)

Características

  • ✨ Add support for disabling the separation of input and output JSON Schemas in OpenAPI with Pydantic v2 with separate_input_output_schemas=False. PR #10145 by @tiangolo.

Refactors

  • ♻️ Refactorizar tests para el nuevo Pydantic 2.2.1. PR #10115 por @tiangolo.

Docs

  • 📝 Añadir nueva sección de docs, How To - Recipes, mover las docs que no tienen que ser leídas por todos a How To. PR #10114 por @tiangolo.
  • 📝 Actualizar docs de Advanced, añadir enlaces a cursos de patrocinadores. PR #10113 por @tiangolo.
  • 📝 Actualizar docs para generar clientes. PR #10112 por @tiangolo.
  • 📝 Ajustar MkDocs y añadir redirecciones. PR #10111 por @tiangolo.
  • 📝 Reestructurar docs para proveedores cloud, incluir enlaces a patrocinadores. PR #10110 por @tiangolo.

Interno

  • 🔧 Actualizar patrocinadores, añadir Speakeasy. PR #10098 por @tiangolo.

0.101.1 (2023-08-14)

Correcciones

  • ✨ Añadir detalles imprimibles de ResponseValidationError, para mostrar en los logs de error del servidor. PR #10078 por @tiangolo.

Refactors

  • ✏️ Corregir error tipográfico en las advertencias de deprecación en fastapi/params.py. PR #9854 por @russbiggs.
  • ✏️ Corregir errores tipográficos en comentarios del código interno en fastapi/concurrency.py y fastapi/routing.py. PR #9590 por @ElliottLarsen.

Docs

  • ✏️ Corregir error tipográfico en las notas de versión. PR #9835 por @francisbergin.
  • 📝 Añadir artículo externo: Construye un Clasificador de Spam SMS con Base de Datos Serverless usando FaunaDB y FastAPI. PR #9847 por @adejumoridwan.
  • 📝 Corregir error tipográfico en docs/en/docs/contributing.md. PR #9878 por @VicenteMerino.
  • 📝 Corregir el resaltado de código en docs/en/docs/tutorial/bigger-applications.md. PR #9806 por @theonlykingpin.

Traducciones

  • 🌐 Añadir traducción al japonés de docs/ja/docs/deployment/concepts.md. PR #10062 por @tamtam-fitness.
  • 🌐 Añadir traducción al japonés de docs/ja/docs/deployment/server-workers.md. PR #10064 por @tamtam-fitness.
  • 🌐 Actualizar traducción al japonés de docs/ja/docs/deployment/docker.md. PR #10073 por @tamtam-fitness.
  • 🌐 Añadir traducción al ucraniano de docs/uk/docs/fastapi-people.md. PR #10059 por @rostik1410.
  • 🌐 Añadir traducción al ucraniano de docs/uk/docs/tutorial/cookie-params.md. PR #10032 por @rostik1410.
  • 🌐 Añadir traducción al ruso de docs/ru/docs/deployment/docker.md. PR #9971 por @Xewus.
  • 🌐 Añadir traducción al vietnamita de docs/vi/docs/python-types.md. PR #10047 por @magiskboy.
  • 🌐 Añadir traducción al ruso de docs/ru/docs/tutorial/dependencies/global-dependencies.md. PR #9970 por @dudyaosuplayer.
  • 🌐 Añadir traducción al urdu de docs/ur/docs/benchmarks.md. PR #9974 por @AhsanSheraz.

Interno

0.101.0 (2023-08-04)

Características

  • ✨ Habilitar el modo de serialización de Pydantic para respuestas, añadir soporte para computed_field de Pydantic, mejor OpenAPI para modelos de respuesta, atributos requeridos correctos, mejores clientes generados. PR #10011 por @tiangolo.

Refactors

  • ✅ Corregir tests para compatibilidad con pydantic 2.1.1. PR #9943 por @dmontagu.
  • ✅ Corregir error de test en Windows para jsonable_encoder. PR #9840 por @iudeen.

Actualizaciones

  • 📌 No permitir Pydantic 2.1.0 que rompe (requerir 2.1.1). PR #10012 por @tiangolo.

Traducciones

  • 🌐 Añadir traducción al ruso de docs/ru/docs/tutorial/security/index.md. PR #9963 por @eVery1337.
  • 🌐 Eliminar nota en vietnamita sobre traducción faltante. PR #9957 por @tiangolo.

Interno

  • 👷 Añadir paso en GitHub Actions para volcar contexto y depurar fallos externos. PR #10008 por @tiangolo.
  • 🔧 Restaurar el pin de MkDocs Material después de la corrección. PR #10001 por @tiangolo.
  • 🔧 Actualizar la plantilla de Question para pedir la versión de Pydantic. PR #10000 por @tiangolo.
  • 📍 Actualizar dependencias de MkDocs Material. PR #9986 por @tiangolo.
  • 👥 Actualizar FastAPI People. PR #9999 por @tiangolo.
  • 🐳 Actualizar Dockerfile con versiones de compatibilidad, para actualizar más adelante. PR #9998 por @tiangolo.
  • ➕ Añadir pydantic-settings a las dependencias de FastAPI People. PR #9988 por @tiangolo.
  • ♻️ Actualizar la lógica de FastAPI People con el nuevo Pydantic. PR #9985 por @tiangolo.
  • 🍱 Actualizar patrocinadores, insignia de Fern. PR #9982 por @tiangolo.
  • 👷 Desplegar docs en Cloudflare Pages. PR #9978 por @tiangolo.
  • 🔧 Actualizar patrocinador Fern. PR #9979 por @tiangolo.
  • 👷 Actualizar el modo de debug de CI con Tmate. PR #9977 por @tiangolo.

0.100.1 (2023-07-27)

Correcciones

  • 🐛 Reemplazar MultHostUrl por AnyUrl para compatibilidad con versiones anteriores de Pydantic v1. PR #9852 por @Kludex.

Docs

  • 📝 Actualizar enlaces para Swagger UI autoalojado, apuntar a v5, para OpenAPI 31.0. PR #9834 por @tiangolo.

Traducciones

  • 🌐 Añadir traducción al ucraniano de docs/uk/docs/tutorial/body.md. PR #4574 por @ss-o-furda.
  • 🌐 Añadir traducción al vietnamita de docs/vi/docs/features.md y docs/vi/docs/index.md. PR #3006 por @magiskboy.
  • 🌐 Añadir traducción al coreano de docs/ko/docs/async.md. PR #4179 por @NinaHwang.
  • 🌐 Añadir traducción al chino de docs/zh/docs/tutorial/background-tasks.md. PR #9812 por @wdh99.
  • 🌐 Añadir traducción al francés de docs/fr/docs/tutorial/query-params-str-validations.md. PR #4075 por @Smlep.
  • 🌐 Añadir traducción al francés de docs/fr/docs/tutorial/index.md. PR #2234 por @JulianMaurin.
  • 🌐 Añadir traducción al francés de docs/fr/docs/contributing.md. PR #2132 por @JulianMaurin.
  • 🌐 Añadir traducción al francés de docs/fr/docs/benchmarks.md. PR #2155 por @clemsau.
  • 🌐 Actualizar traducciones al chino con nuevos archivos fuente. PR #9738 por @mahone3297.
  • 🌐 Añadir traducción al ruso de docs/ru/docs/tutorial/request-forms.md. PR #9841 por @dedkot01.
  • 🌐 Actualizar traducción al chino de docs/zh/docs/tutorial/handling-errors.md. PR #9485 por @Creat55.

Interno

0.100.0 (2023-07-07)

✨ Soporte para Pydantic v2

Pydantic versión 2 tiene el core reescrito en Rust e incluye muchas mejoras y características, por ejemplo:

  • Mejorada la corrección en casos extremos.
  • Tipos más seguros.
  • Mejor rendimiento y menor consumo de energía.
  • Mejor extensibilidad.
  • etc.

...todo esto mientras se mantiene la misma API de Python. En la mayoría de los casos, para modelos simples, puedes simplemente actualizar la versión de Pydantic y obtener todos los beneficios. 🚀

En algunos casos, para validación y procesamiento puro de datos, puedes obtener mejoras de rendimiento de 20x o más. Esto significa 2,000% o más. 🤯

Cuando usas FastAPI, hay mucho más ocurriendo: procesar la petición y la respuesta, manejar dependencias, ejecutar tu propio código, y particularmente, esperar a la red. Pero probablemente aún obtendrás algunas buenas mejoras de rendimiento solo con la actualización.

El enfoque de esta versión es la compatibilidad con Pydantic v1 y v2, para asegurar que tus aplicaciones actuales sigan funcionando. Más adelante habrá más enfoque en refactorizaciones, corrección, mejoras de código, y luego mejoras de rendimiento. Algunos testers beta de terceros que ejecutaron benchmarks en las versiones beta de FastAPI reportaron mejoras de 2x - 3x. Lo cual no está mal solo por hacer pip install --upgrade fastapi pydantic. Esto no fue un benchmark oficial y no lo verifiqué yo mismo, pero es una buena señal.

Migración

Revisa la guía de migración de Pydantic.

Para las cosas que necesitan cambios en tus modelos de Pydantic, el equipo de Pydantic construyó bump-pydantic.

Una herramienta de línea de comandos que procesará tu código y actualizará la mayoría de las cosas automáticamente por ti. Asegúrate de tener tu código en git primero, y revisa cada uno de los cambios para asegurarte de que todo es correcto antes de hacer commit de los cambios.

Pydantic v1

Esta versión de FastAPI aún soporta Pydantic v1. Y aunque Pydantic v1 será deprecado en algún momento, aún será soportado por un tiempo.

Esto significa que puedes instalar el nuevo Pydantic v2, y si algo falla, puedes instalar Pydantic v1 mientras arreglas cualquier problema que puedas tener, pero teniendo el último FastAPI.

Hay tests para tanto Pydantic v1 como v2, y la cobertura de tests se mantiene en 100%.

Cambios

  • Hay campos de nuevos parámetros soportados por Pydantic Field() para:

    • Path()
    • Query()
    • Header()
    • Cookie()
    • Body()
    • Form()
    • File()
  • Los nuevos campos de parámetros son:

    • default_factory
    • alias_priority
    • validation_alias
    • serialization_alias
    • discriminator
    • strict
    • multiple_of
    • allow_inf_nan
    • max_digits
    • decimal_places
    • json_schema_extra

...puedes leer sobre ellos en la documentación de Pydantic.

  • The parameter regex has been deprecated and replaced by pattern.
  • New Pydantic models use an improved and simplified attribute model_config that takes a simple dict instead of an internal class Config for their configuration.
  • The attribute schema_extra for the internal class Config has been replaced by the key json_schema_extra in the new model_config dict.
  • When you install "fastapi[all]" it now also includes:
  • Ahora Pydantic Settings es un paquete opcional adicional (incluido en "fastapi[all]"). Para usar settings ahora deberías importar from pydantic_settings import BaseSettings en lugar de importar desde pydantic directamente.

  • PR #9816 por @tiangolo, incluyó todo el trabajo realizado (en múltiples PRs) en la rama beta (main-pv2).

0.99.1 (2023-07-02)

Correcciones

  • 🐛 Corregir JSON Schema aceptando booleanos como JSON Schemas válidos, ej. additionalProperties: false. PR #9781 by @tiangolo.

Docs

  • 📝 Actualizar ejemplos de código fuente para usar el nuevo campo examples de JSON Schema. PR #9776 by @tiangolo.

0.99.0 (2023-06-30)

Características

  • ✨ Añadir soporte para OpenAPI 3.1.0. PR #9770 by @tiangolo.

    • Nuevo soporte para documentar webhooks, lee la nueva documentación aquí: Guía de Usuario Avanzada: OpenAPI Webhooks.
    • Actualizar OpenAPI 3.1.0, esto usa JSON Schema 2020-12.
    • Actualizar Swagger UI a la versión 5.x.x, que soporta OpenAPI 3.1.0.
    • Actualizado el campo examples en Query(), Cookie(), Body(), etc. basado en el último JSON Schema y OpenAPI. Ahora toma una lista de ejemplos y se incluyen directamente en el JSON Schema, no por fuera. Lee más sobre esto (incluyendo los detalles técnicos históricos) en la documentación actualizada: Tutorial: Declarar Datos de Ejemplo en la Petición.
  • ✨ Añadir soporte para objetos deque y sus hijos en jsonable_encoder. PR #9433 by @cranium.

Docs

  • 📝 Corregir formulario del newsletter de FastAPI and friends. PR #9749 by @tiangolo.

Traducciones

  • 🌐 Añadir traducción al persa para docs/fa/docs/advanced/sub-applications.md. PR #9692 by @mojtabapaso.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/response-model.md. PR #9675 by @glsglsgls.

Interno

  • 🔨 Habilitar linenums en MkDocs Material durante el desarrollo local en vivo para simplificar el resaltado de código. PR #9769 by @tiangolo.
  • ⬆ Actualizar requisito de httpx de <0.24.0,>=0.23.0 a >=0.23.0,<0.25.0. PR #9724 by @dependabot[bot].
  • ⬆ Actualizar mkdocs-material de 9.1.16 a 9.1.17. PR #9746 by @dependabot[bot].
  • 🔥 Eliminar páginas dummy de traducciones faltantes, ya no son necesarias. PR #9751 by @tiangolo.
  • ⬆ [pre-commit.ci] actualización automática de pre-commit. PR #9259 by @pre-commit-ci[bot].
  • ✨ Añadir características y tarjetas de Material for MkDocs Insiders. PR #9748 by @tiangolo.
  • 🔥 Eliminar idiomas sin traducciones. PR #9743 by @tiangolo.
  • ✨ Refactorizar documentación para scripts de construcción, usar hooks de MkDocs, simplificar (eliminar) configuraciones para idiomas. PR #9742 by @tiangolo.
  • 🔨 Añadir hook de MkDocs que renombra secciones basándose en el primer archivo index. PR #9737 by @tiangolo.
  • 👷 Hacer que los cron jobs se ejecuten solo en el repo principal, no en forks, para evitar notificaciones de error por tokens faltantes. PR #9735 by @tiangolo.
  • 🔧 Actualizar MkDocs para otros idiomas. PR #9734 by @tiangolo.
  • 👷 Refactorizar el CI de Docs, ejecutar en múltiples workers con una matriz dinámica para optimizar la velocidad. PR #9732 by @tiangolo.
  • 🔥 Eliminar el antiguo GitHub Action interno watch-previews que ya no es necesario. PR #9730 by @tiangolo.
  • ⬆️ Actualizar MkDocs y MkDocs Material. PR #9729 by @tiangolo.
  • 👷 Construir y desplegar documentación solo en cambios de docs. PR #9728 by @tiangolo.

0.98.0 (2023-06-22)

Características

  • ✨ Permitir deshabilitar redirect_slashes a nivel de la app de FastAPI. PR #3432 by @cyberlis.

Docs

  • 📝 Actualizar documentación sobre Pydantic usando ujson internamente. PR #5804 by @mvasilkov.
  • ✏ Reformulación en docs/en/docs/tutorial/debugging.md. PR #9581 by @ivan-abc.
  • 📝 Añadir post de blog en alemán (Domain-driven Design mit Python und FastAPI). PR #9261 by @msander.
  • ✏️ Ajustar redacción en docs/en/docs/tutorial/security/index.md. PR #9561 by @jyothish-mohan.
  • 📝 Actualizar notas de Annotated en docs/en/docs/tutorial/schema-extra-example.md. PR #9620 by @Alexandrhub.
  • ✏️ Corregir error tipográfico Annotation -> Annotated en docs/en/docs/tutorial/query-params-str-validations.md. PR #9625 by @mccricardo.
  • 📝 Usar base de datos en memoria para testing SQL en la documentación. PR #1223 by @HarshaLaxman.

Traducciones

  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/metadata.md. PR #9681 by @TabarakoAkula.
  • 🌐 Corregir error tipográfico en traducción al español para docs/es/docs/tutorial/first-steps.md. PR #9571 by @lilidl-nft.
  • 🌐 Añadir traducción al ruso para docs/tutorial/path-operation-configuration.md. PR #9696 by @TabarakoAkula.
  • 🌐 Añadir traducción al chino para docs/zh/docs/advanced/security/index.md. PR #9666 by @lordqyxz.
  • 🌐 Añadir traducciones al chino para docs/zh/docs/advanced/settings.md. PR #9652 by @ChoyeonChern.
  • 🌐 Añadir traducciones al chino para docs/zh/docs/advanced/websockets.md. PR #9651 by @ChoyeonChern.
  • 🌐 Añadir traducción al chino para docs/zh/docs/tutorial/testing.md. PR #9641 by @wdh99.
  • 🌐 Añadir traducción al ruso para docs/tutorial/extra-models.md. PR #9619 by @ivan-abc.
  • 🌐 Añadir traducción al ruso para docs/tutorial/cors.md. PR #9608 by @ivan-abc.
  • 🌐 Añadir traducción al polaco para docs/pl/docs/features.md. PR #5348 by @mbroton.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/body-nested-models.md. PR #9605 by @Alexandrhub.

Interno

  • ⬆ Actualizar ruff de 0.0.272 a 0.0.275. PR #9721 by @dependabot[bot].
  • ⬆ Actualizar requisito de uvicorn[standard] de <0.21.0,>=0.12.0 a >=0.12.0,<0.23.0. PR #9463 by @dependabot[bot].
  • ⬆ Actualizar mypy de 1.3.0 a 1.4.0. PR #9719 by @dependabot[bot].
  • ⬆ Actualizar requisito de pre-commit de <3.0.0,>=2.17.0 a >=2.17.0,<4.0.0. PR #9251 by @dependabot[bot].
  • ⬆ Actualizar pypa/gh-action-pypi-publish de 1.8.5 a 1.8.6. PR #9482 by @dependabot[bot].
  • ✏️ Corregir tooltips para el conmutador de tema claro/oscuro en la documentación. PR #9588 by @pankaj1707k.
  • 🔧 Establecer versión mínima de hatchling necesaria para construir el paquete. PR #9240 by @mgorny.
  • 📝 Añadir enlace del repo a PyPI. PR #9559 by @JacobCoffee.
  • ✏️ Corregir errores tipográficos en datos para tests. PR #4958 by @ryanrussell.
  • 🔧 Actualizar sponsors, añadir Flint. PR #9699 by @tiangolo.
  • 👷 Hacer lint en CI solo una vez, solo con una versión de Python, ejecutar tests con todas. PR #9686 by @tiangolo.

0.97.0 (2023-06-11)

Características

  • ✨ Añadir soporte para dependencies en rutas WebSocket. PR #4534 by @paulo-raca.
  • ✨ Añadir manejador de excepciones para WebSocketRequestValidationError (que también permite sobrescribirlo). PR #6030 by @kristjanvalur.

Refactors

  • ⬆️ Actualizar y migrar completamente a Ruff, eliminar isort, incluye un par de ajustes sugeridos por la nueva versión de Ruff. PR #9660 by @tiangolo.
  • ♻️ Actualizar anotaciones de tipo internas y actualizar mypy. PR #9658 by @tiangolo.
  • ♻️ Simplificar AsyncExitStackMiddleware ya que sin Python 3.6 AsyncExitStack siempre está disponible. PR #9657 by @tiangolo.

Actualizaciones

Interno

  • 💚 Actualizar caché de CI para corregir instalaciones cuando cambian las dependencias. PR #9659 by @tiangolo.
  • ⬇️ Separar requisitos de desarrollo en sus propios archivos requirements.txt, no deberían ser extras. PR #9655 by @tiangolo.

0.96.1 (2023-06-10)

Correcciones

  • 🐛 Corregir anotaciones de tipo del header de HTTPException. PR #9648 by @tiangolo.
  • 🐛 Corregir validaciones int en campos del modelo OpenAPI, gte a ge. PR #9635 by @tiangolo.

Actualizaciones

  • 📌 Actualizar versión mínima de Pydantic a >=1.7.4. Esto corrige un problema al intentar usar una versión antigua de Pydantic. PR #9567 by @Kludex.

Refactors

  • ♻ Eliminar media_type de ORJSONResponse ya que se hereda de la clase padre. PR #5805 by @Kludex.
  • ♻ Instanciar HTTPException solo cuando sea necesario, refactor de optimización. PR #5356 by @pawamoy.

Docs

  • 🔥 Eliminar enlace al benchmark de Pydantic, ya que fue eliminado allí. PR #5811 by @Kludex.

Traducciones

  • 🌐 Corregir ortografía en traducción al indonesio de docs/id/docs/tutorial/index.md. PR #5635 by @purwowd.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/index.md. PR #5896 by @Wilidon.
  • 🌐 Añadir traducciones al chino para docs/zh/docs/advanced/response-change-status-code.md y docs/zh/docs/advanced/response-headers.md. PR #9544 by @ChoyeonChern.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/schema-extra-example.md. PR #9621 by @Alexandrhub.

Interno

  • 🔧 Añadir sponsor Platform.sh. PR #9650 by @tiangolo.
  • 👷 Añadir token personalizado a Smokeshow y Preview Docs para download-artifact, para prevenir límites de rate de la API. PR #9646 by @tiangolo.
  • 👷 Añadir tokens personalizados para GitHub Actions para evitar límites de rate. PR #9647 by @tiangolo.

0.96.0 (2023-06-03)

Características

  • ⚡ Actualizar create_cloned_field para usar una caché global y mejorar el rendimiento de inicio. PR #4645 by @madkinsz y el PR original previo por @huonw.

Docs

  • 📝 Actualizar tutorial de despliegue con Deta para compatibilidad con Deta Space. PR #6004 by @mikBighne98.
  • ✏️ Corregir error tipográfico en tutorial de despliegue con Deta. PR #9501 by @lemonyte.

Traducciones

  • 🌐 Añadir traducción al ruso para docs/tutorial/body.md. PR #3885 by @solomein-sv.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/static-files.md. PR #9580 by @Alexandrhub.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/query-params.md. PR #9584 by @Alexandrhub.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/first-steps.md. PR #9471 by @AGolicyn.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/debugging.md. PR #9579 by @Alexandrhub.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/path-params.md. PR #9519 by @AGolicyn.
  • 🌐 Añadir traducción al chino para docs/zh/docs/tutorial/static-files.md. PR #9436 by @wdh99.
  • 🌐 Actualizar traducción al español incluyendo nuevas ilustraciones en docs/es/docs/async.md. PR #9483 by @andresbermeoq.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/path-params-numeric-validations.md. PR #9563 by @ivan-abc.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/deployment/concepts.md. PR #9577 by @Xewus.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/body-multiple-params.md. PR #9586 by @Alexandrhub.

Interno

0.95.2 (2023-05-16)

Traducciones

  • 🌐 Añadir traducción al portugués para docs/pt/docs/advanced/events.md. PR #9326 by @oandersonmagalhaes.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/deployment/manually.md. PR #9417 by @Xewus.
  • 🌐 Añadir configuración para traducciones al lao. PR #9396 by @TheBrown.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/testing.md. PR #9403 by @Xewus.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/deployment/https.md. PR #9428 by @Xewus.
  • ✏ Corregir comando para instalar requisitos en Windows. PR #9445 by @MariiaRomanuik.
  • 🌐 Añadir traducción al francés para docs/fr/docs/advanced/response-directly.md. PR #9415 by @axel584.
  • 🌐 Iniciar configuración de traducción al checo. PR #9288 by @3p1463k.
  • ✏ Corregir error tipográfico en documentación en portugués para docs/pt/docs/index.md. PR #9337 by @lucasbalieiro.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/response-status-code.md. PR #9370 by @nadia3373.

Interno

  • 🐛 Corregir advertencia de flask.escape para tests internos. PR #9468 by @samuelcolvin.
  • ✅ Refactorizar 2 tests, para consistencia y simplificación. PR #9504 by @tiangolo.
  • ✅ Refactorizar tests de OpenAPI, preparación para Pydantic v2. PR #9503 by @tiangolo.
  • ⬆ Actualizar dawidd6/action-download-artifact de 2.26.0 a 2.27.0. PR #9394 by @dependabot[bot].
  • 💚 Deshabilitar caché de pip de setup-python en CI. PR #9438 by @tiangolo.
  • ⬆ Actualizar pypa/gh-action-pypi-publish de 1.6.4 a 1.8.5. PR #9346 by @dependabot[bot].

0.95.1 (2023-04-13)

Correcciones

  • 🐛 Corregir uso de Annotated en routers o path operations decoradas múltiples veces. PR #9315 by @sharonyogev.

Docs

  • 🌐 🔠 📄 🐢 Traducir documentación a Emoji 🥳 🎉 💥 🤯 🤯. PR #5385 by @LeeeeT.
  • 📝 Añadir mensaje de notificación advirtiendo sobre versiones antiguas de FastAPI que no soportan Annotated. PR #9298 by @grdworkin.
  • 📝 Corregir error tipográfico en docs/en/docs/advanced/behind-a-proxy.md. PR #5681 by @Leommjr.
  • ✏ Corregir importación incorrecta del módulo typing en traducciones al persa para docs/fa/docs/index.md. PR #6083 by @Kimiaattaei.
  • ✏️ Corregir formato, eliminar asteriscos innecesarios en docs/en/docs/help-fastapi.md. PR #9249 by @armgabrielyan.
  • ✏ Corregir error tipográfico en docs/en/docs/tutorial/query-params-str-validations.md. PR #9272 by @nicornk.
  • ✏ Corregir error tipográfico/bug en ejemplo de código en línea en docs/en/docs/tutorial/query-params-str-validations.md. PR #9273 by @tim-habitat.
  • ✏ Corregir error tipográfico en docs/en/docs/tutorial/path-params-numeric-validations.md. PR #9282 by @aadarsh977.
  • ✏ Corregir error tipográfico: 'wll' a 'will' en docs/en/docs/tutorial/query-params-str-validations.md. PR #9380 by @dasstyxx.

Traducciones

  • 🌐 Añadir traducción al francés para docs/fr/docs/advanced/index.md. PR #5673 by @axel584.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/body-nested-models.md. PR #4053 by @luccasmmg.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/alternatives.md. PR #5994 by @Xewus.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/extra-models.md. PR #5912 by @LorhanSohaky.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/path-operation-configuration.md. PR #5936 by @LorhanSohaky.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/contributing.md. PR #6002 by @stigsanek.
  • 🌐 Añadir traducción al coreano para docs/tutorial/dependencies/classes-as-dependencies.md. PR #9176 by @sehwan505.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/project-generation.md. PR #9243 by @Xewus.
  • 🌐 Añadir traducción al francés para docs/fr/docs/index.md. PR #9265 by @frabc.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/query-params-str-validations.md. PR #9267 by @dedkot01.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/benchmarks.md. PR #9271 by @Xewus.

Interno

  • 🔧 Actualizar sponsors: eliminar Jina. PR #9388 by @tiangolo.
  • 🔧 Actualizar sponsors, añadir databento, eliminar el curso de Ines y StriveWorks. PR #9351 by @tiangolo.

0.95.0 (2023-03-18)

Destacados

Esta versión añade soporte para dependencias y parámetros usando Annotated y recomienda su uso. ✨

Esto tiene varios beneficios, uno de los principales es que ahora los parámetros de tus funciones con Annotated no se verán afectados en absoluto.

Si llamas a esas funciones en otros lugares de tu código, los valores por defecto reales se mantendrán, tu editor te ayudará a notar argumentos requeridos faltantes, Python requerirá que pases los argumentos requeridos en tiempo de ejecución, podrás usar las mismas funciones para diferentes cosas y con diferentes librerías (ej. Typer pronto soportará Annotated también, entonces podrás usar la misma función para una API y un CLI), etc.

Como Annotated es Python estándar, sigues obteniendo todos los beneficios de editores y herramientas, como autocompletado, errores en línea, etc.

Uno de los mayores beneficios es que ahora puedes crear dependencias Annotated que luego son compartidas por múltiples funciones de path operation, esto te permitirá reducir mucha duplicación de código en tu base de código, mientras mantienes todo el soporte de editores y herramientas.

Por ejemplo, podrías tener código como este:

def get_current_user(token: str):
    # authenticate user
    return User()


@app.get("/items/")
def read_items(user: User = Depends(get_current_user)):
    ...


@app.post("/items/")
def create_item(*, user: User = Depends(get_current_user), item: Item):
    ...


@app.get("/items/{item_id}")
def read_item(*, user: User = Depends(get_current_user), item_id: int):
    ...


@app.delete("/items/{item_id}")
def delete_item(*, user: User = Depends(get_current_user), item_id: int):
    ...

Hay un poco de duplicación de código para la dependencia:

user: User = Depends(get_current_user)

...mientras más grande el código, más notable es.

Ahora puedes crear una dependencia anotada una vez, así:

CurrentUser = Annotated[User, Depends(get_current_user)]

Y luego puedes reutilizar esta dependencia Annotated:

CurrentUser = Annotated[User, Depends(get_current_user)]


@app.get("/items/")
def read_items(user: CurrentUser):
    ...


@app.post("/items/")
def create_item(user: CurrentUser, item: Item):
    ...


@app.get("/items/{item_id}")
def read_item(user: CurrentUser, item_id: int):
    ...


@app.delete("/items/{item_id}")
def delete_item(user: CurrentUser, item_id: int):
    ...

...y CurrentUser tiene toda la información de tipado como User, así que tu editor funcionará como se espera (autocompletado y todo), y FastAPI podrá entender la dependencia definida en Annotated. 😎

Aproximadamente toda la documentación ha sido reescrita para usar Annotated como la forma principal de declarar parámetros y dependencias. Todos los ejemplos en la documentación ahora incluyen una versión con Annotated y una versión sin él, para cada una de las versiones específicas de Python (cuando hay pequeñas diferencias/mejoras en versiones más recientes). Se añadieron alrededor de 23K nuevas líneas entre documentación, ejemplos y tests. 🚀

Las docs actualizadas clave son:

Agradecimientos especiales a @nzig por la implementación principal y a @adriangb por la inspiración e idea con Xpresso! 🚀

Características

  • ✨ Añadir soporte para PEP-593 Annotated para especificar dependencias y parámetros. PR #4871 by @nzig.

Docs

  • 📝 Ajustar consejo recomendando Annotated en la documentación. PR #9270 by @tiangolo.
  • 📝 Actualizar orden de ejemplos, última versión de Python primero, y simplificar nombres de pestañas de versión. PR #9269 by @tiangolo.
  • 📝 Actualizar toda la documentación para usar Annotated como recomendación principal, con nuevos ejemplos y tests. PR #9268 by @tiangolo.

0.94.1 (2023-03-14)

Correcciones

  • 🎨 Corregir tipos para lifespan, actualizar Starlette a 0.26.1. PR #9245 by @tiangolo.

0.94.0 (2023-03-10)

Actualizaciones

  • ⬆ Actualizar python-multipart para soportar 0.0.6. PR #9212 by @musicinmybrain.
  • ⬆️ Actualizar versión de Starlette, soportar nuevo lifespan con state. PR #9239 by @tiangolo.

Docs

  • 📝 Actualizar enlace de Sentry en la documentación. PR #9218 by @smeubank.

Traducciones

  • 🌐 Añadir traducción al ruso para docs/ru/docs/history-design-future.md. PR #5986 by @Xewus.

Interno

0.93.0 (2023-03-07)

Características

  • ✨ Añadir soporte para gestores de contexto async de lifespan (reemplazando los eventos de startup y shutdown). PR inicial #2944 by @uSpike.

Ahora, en lugar de usar eventos independientes de startup y shutdown, puedes definir esa lógica en una única función con yield decorada con @asynccontextmanager (un gestor de contexto async).

Por ejemplo:

from contextlib import asynccontextmanager

from fastapi import FastAPI


def fake_answer_to_everything_ml_model(x: float):
    return x * 42


ml_models = {}


@asynccontextmanager
async def lifespan(app: FastAPI):
    # Load the ML model
    ml_models["answer_to_everything"] = fake_answer_to_everything_ml_model
    yield
    # Clean up the ML models and release the resources
    ml_models.clear()


app = FastAPI(lifespan=lifespan)


@app.get("/predict")
async def predict(x: float):
    result = ml_models["answer_to_everything"](x)
    return {"result": result}

Nota: Esta es la forma recomendada de ahora en adelante, en lugar de usar eventos de startup y shutdown.

Lee más sobre esto en la nueva documentación: Guía de Usuario Avanzada: Eventos de Lifespan.

Docs

  • ✏ Corregir formato en docs/en/docs/tutorial/metadata.md para ReDoc. PR #6005 by @eykamp.

Traducciones

  • 🌐 Traducciones al tamil - configuración inicial. PR #5564 by @gusty1g.
  • 🌐 Añadir traducción al francés para docs/fr/docs/advanced/path-operation-advanced-configuration.md. PR #9221 by @axel584.
  • 🌐 Añadir traducción al francés para docs/tutorial/debugging.md. PR #9175 by @frabc.
  • 🌐 Iniciar configuración de traducción al armenio. PR #5844 by @har8.
  • 🌐 Añadir traducción al francés para deployment/manually.md. PR #3693 by @rjNemo.

Interno

  • 👷 Actualizar mensajes del bot de traducción. PR #9206 by @tiangolo.
  • 👷 Actualizar bot de traducciones para usar Discussions, y notificar cuando un PR está listo. PR #9183 by @tiangolo.
  • 🔧 Actualizar badges de sponsors. PR #9182 by @tiangolo.
  • 👥 Actualizar FastAPI People. PR #9181 by @github-actions[bot].
  • 🔊 Registrar errores de GraphQL en FastAPI People, porque retorna 200, con un payload con un error. PR #9171 by @tiangolo.
  • 💚 Corregir/solucionar GitHub Actions en Docker con git para FastAPI People. PR #9169 by @tiangolo.
  • ♻️ Refactorizar FastAPI Experts para usar solo discussions ahora que las preguntas han sido migradas. PR #9165 by @tiangolo.
  • ⬆️ Actualizar analítica. PR #6025 by @tiangolo.
  • ⬆️ Actualizar y reactivar la instalación de Typer-CLI. PR #6008 by @tiangolo.

0.92.0 (2023-02-14)

🚨 Esto es una corrección de seguridad. Por favor actualiza lo antes posible.

Actualizaciones

  • ⬆️ Upgrade Starlette to 0.25.0. PR #5996 by @tiangolo.
    • Esto soluciona una vulnerabilidad que podría permitir ataques de denegación de servicio usando muchos campos/archivos multipart pequeños (parts), consumiendo alta CPU y memoria.
    • Solo las aplicaciones que usan formularios (ej. subida de archivos) podrían verse afectadas.
    • Para la mayoría de los casos, actualizar no tendrá cambios importantes.

0.91.0 (2023-02-10)

Actualizaciones

  • ⬆️ Upgrade Starlette version to 0.24.0 and refactor internals for compatibility. PR #5985 by @tiangolo.
    • Esto puede resolver errores sutiles al usar middlewares. Antes de Starlette 0.24.0, se creaba una nueva instancia de cada clase de middleware cuando se añadía un nuevo middleware. Eso normalmente no era un problema, a menos que la clase de middleware esperara ser creada solo una vez, con una sola instancia, lo que ocurrió en algunos casos. Esta actualización resolvería esos casos (¡gracias @adriangb! PR de Starlette #2017). Ahora las instancias de la clase de middleware se crean una sola vez, justo antes de la primera petición (la primera vez que se llama a la app).
    • Si dependías de ese comportamiento anterior, podrías necesitar actualizar tu código. Como siempre, asegúrate de que tus tests pasen antes de fusionar la actualización.

0.90.1 (2023-02-09)

Actualizaciones

  • ⬆️ Actualizar el rango de Starlette para permitir 0.23.1. PR #5980 by @tiangolo.

Docs

Traducciones

  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/cookie-params.md. PR #5890 by @bnzone.

Interno

  • ✏ Actualizar script interno zip-docs.sh, eliminar espacio extra. PR #5931 by @JuanPerdomo00.

0.90.0 (2023-02-08)

Actualizaciones

  • ⬆️ Actualizar Starlette de 0.22.0 a 0.23.0. PR inicial #5739 by @Kludex.

Docs

  • 📝 Añadir artículo "Tortoise ORM / FastAPI 整合快速筆記" a Enlaces Externos. PR #5496 by @Leon0824.
  • 👥 Actualizar FastAPI People. PR #5954 by @github-actions[bot].
  • 📝 Micro-ajuste en documentación de ayuda. PR #5960 by @tiangolo.
  • 🔧 Actualizar selector de nuevo issue para dirigir a GitHub Discussions. PR #5948 by @tiangolo.
  • 📝 Recomendar GitHub Discussions para preguntas. PR #5944 by @tiangolo.

Traducciones

  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/body-fields.md. PR #5898 by @simatheone.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/help-fastapi.md. PR #5970 by @tiangolo.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/static-files.md. PR #5858 by @batlopes.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/encoder.md. PR #5525 by @felipebpl.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/contributing.md. PR #5870 by @Xewus.

Interno

  • ⬆️ Actualizar versión de Ubuntu para el workflow de documentación. PR #5971 by @tiangolo.
  • 🔧 Actualizar badges de sponsors. PR #5943 by @tiangolo.
  • ✨ Calcular FastAPI Experts incluyendo GitHub Discussions. PR #5941 by @tiangolo.
  • ⬆️ Actualizar isort y actualizar pre-commit. PR #5940 by @tiangolo.
  • 🔧 Añadir plantilla para preguntas en Discussions. PR #5920 by @tiangolo.
  • 🔧 Actualizar Sponsor Budget Insight a Powens. PR #5916 by @tiangolo.
  • 🔧 Actualizar datos del badge de GitHub Sponsors. PR #5915 by @tiangolo.

0.89.1 (2023-01-10)

Correcciones

  • 🐛 Ignorar clases Response en la anotación de retorno. PR #5855 by @Kludex. Ver la nueva documentación en el PR de abajo.

Docs

Traducciones

  • 🌐 Añadir traducción al turco para docs/tr/docs/tutorial/first_steps.md. PR #5691 by @Kadermiyanyedi.

0.89.0 (2023-01-07)

Características

  • ✨ Añadir soporte para anotaciones de tipo de retorno en funciones para declarar el response_model. PR inicial #1436 by @uriyyo.

Ahora puedes declarar el tipo de retorno / response_model en la anotación de tipo de retorno de la función:

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()


class Item(BaseModel):
    name: str
    price: float


@app.get("/items/")
async def read_items() -> list[Item]:
    return [
        Item(name="Portal Gun", price=42.0),
        Item(name="Plumbus", price=32.0),
    ]

FastAPI usará la anotación del tipo de retorno para realizar:

  • Validación de datos
  • Automatic documentation
    • Podría alimentar generadores automáticos de clientes
  • Data filtering

Antes de esta versión solo se soportaba vía el parámetro response_model.

Lee más sobre esto en la nueva documentación: Response Model - Return Type.

Docs

  • 📝 Añadir Enlace Externo: Authorization on FastAPI with Casbin. PR #5712 by @Xhy-5000.
  • ✏ Corregir error tipográfico en docs/en/docs/async.md. PR #5785 by @Kingdageek.
  • ✏ Corregir error tipográfico en docs/en/docs/deployment/concepts.md. PR #5824 by @kelbyfaessler.

Traducciones

  • 🌐 Añadir traducción al ruso para docs/ru/docs/fastapi-people.md. PR #5577 by @Xewus.
  • 🌐 Corregir error tipográfico en traducción al chino para docs/zh/docs/benchmarks.md. PR #4269 by @15027668g.
  • 🌐 Añadir traducción al coreano para docs/tutorial/cors.md. PR #3764 by @NinaHwang.

Interno

0.88.0 (2022-11-27)

Actualizaciones

  • ⬆ Actualizar Starlette a versión 0.22.0 para corregir codificación incorrecta de parámetros de query en el nuevo TestClient. PR #5659 by @azogue.

Docs

  • ✏️ Corregir error tipográfico en documentación para docs/en/docs/advanced/middleware.md. PR #5376 by @rifatrakib.

Traducciones

  • 🌐 Añadir traducción al portugués para docs/pt/docs/deployment/docker.md. PR #5663 by @ayr-ton.

Interno

  • 👷 Ajustar build-docs para mejorar el rendimiento del CI. PR #5699 by @tiangolo.
  • ⬆ [pre-commit.ci] actualización automática de pre-commit. PR #5566 by @pre-commit-ci[bot].
  • ⬆️ Actualizar Ruff. PR #5698 by @tiangolo.
  • 👷 Eliminar caché de pip para Smokeshow ya que depende de un requirements.txt. PR #5700 by @tiangolo.
  • 💚 Corregir caché de pip para Smokeshow. PR #5697 by @tiangolo.
  • 👷 Corregir y ajustar el manejo de caché de CI. PR #5696 by @tiangolo.
  • 👷 Actualizar acción setup-python en tests para usar la nueva característica de caché. PR #5680 by @madkinsz.
  • ⬆ Actualizar black de 22.8.0 a 22.10.0. PR #5569 by @dependabot[bot].

0.87.0 (2022-11-13)

Destacados de esta versión:

  • Starlette actualizado
    • Ahora el TestClient está basado en HTTPX en lugar de Requests. 🚀
    • Hay algunos posibles breaking changes en el uso del TestClient, pero @Kludex construyó bump-testclient para ayudarte a automatizar la migración de tus tests. Asegúrate de estar usando Git y de poder deshacer cualquier cambio innecesario (cambios falsos positivos, etc) antes de usar bump-testclient.
  • Nuevo WebSocketException (y documentación), re-exportado desde Starlette.
  • Dependencias actualizadas y relajadas para los extras del paquete all (incluyendo nueva versión de Uvicorn), cuando instalas "fastapi[all]".
  • Nueva documentación sobre cómo Ayudar a Mantener FastAPI.

Características

Docs

  • ✏️ Ajustar Help FastAPI del PR review después de hacer merge. PR #5633 by @tiangolo.
  • ✏️ Aclarar documentación sobre CORS. PR #5627 by @paxcodes.
  • 📝 Actualizar Help FastAPI: Ayudar a Mantener FastAPI. PR #5632 by @tiangolo.

Traducciones

  • 🌐 Corregir líneas de resaltado para traducción al japonés para docs/tutorial/query-params.md. PR #2969 by @ftnext.
  • 🌐 Añadir traducción al francés para docs/fr/docs/advanced/additional-status-code.md. PR #5477 by @axel584.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/request-forms-and-files.md. PR #5579 by @batlopes.
  • 🌐 Añadir traducción al japonés para docs/ja/docs/advanced/websockets.md. PR #4983 by @xryuseix.

Interno

  • ✨ Usar Ruff para linting. PR #5630 by @tiangolo.
  • 🛠 Añadir número de issue en árabe al GitHub Action Notify Translations. PR #5610 by @tiangolo.
  • ⬆ Actualizar dawidd6/action-download-artifact de 2.24.1 a 2.24.2. PR #5609 by @dependabot[bot].
  • ⬆ Actualizar dawidd6/action-download-artifact de 2.24.0 a 2.24.1. PR #5603 by @dependabot[bot].
  • 📝 Actualizar badge de cobertura para usar Smokeshow de Samuel Colvin. PR #5585 by @tiangolo.

0.86.0 (2022-11-03)

Características

  • ⬆ Añadir Python 3.11 a las versiones oficialmente soportadas. PR #5587 by @tiangolo.
  • ✅ Habilitar tests para Python 3.11. PR #4881 by @tiangolo.

Correcciones

  • 🐛 Cerrar FormData (archivos subidos) después de que la petición termine. PR #5465 by @adriangb.

Docs

  • ✏ Corregir error tipográfico en docs/en/docs/tutorial/security/oauth2-jwt.md. PR #5584 by @vivekashok1221.

Traducciones

  • 🌐 Actualizar redacción en traducción al chino para docs/zh/docs/python-types.md. PR #5416 by @supercaizehua.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/deployment/index.md. PR #5336 by @Xewus.
  • 🌐 Actualizar traducción al chino para docs/tutorial/security/oauth2-jwt.md. PR #3846 by @jaystone776.

Interno

  • 👷 Actualizar FastAPI People para excluir bots: pre-commit-ci, dependabot. PR #5586 by @tiangolo.
  • 🎨 Formatear JSON de OpenAPI en test_starlette_exception.py. PR #5379 by @iudeen.
  • 👷 Cambiar de Codecov a Smokeshow más pytest-cov a coverage puro para tests internos. PR #5583 by @tiangolo.
  • 👥 Actualizar FastAPI People. PR #5571 by @github-actions[bot].

0.85.2 (2022-10-31)

Docs

  • ✏ Corregir gramática y añadir enlaces útiles a dependencias en docs/en/docs/async.md. PR #5432 by @pamelafox.
  • ✏ Corregir enlace roto en alternatives.md. PR #5455 by @su-shubham.
  • ✏ Corregir error tipográfico en documentación sobre contribución, para compatibilidad con pip en Zsh. PR #5523 by @zhangbo2012.
  • 📝 Corregir error tipográfico en documentación con ejemplos para Python 3.10 en lugar de 3.9. PR #5545 by @feliciss.

Traducciones

  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/request-forms.md. PR #4934 by @batlopes.
  • 🌐 Añadir traducción al chino para docs/zh/docs/tutorial/dependencies/classes-as-dependencies.md. PR #4971 by @Zssaer.
  • 🌐 Añadir traducción al francés para deployment/deta.md. PR #3692 by @rjNemo.
  • 🌐 Actualizar traducción al chino para docs/zh/docs/tutorial/query-params-str-validations.md. PR #5255 by @hjlarry.
  • 🌐 Añadir traducción al chino para docs/zh/docs/tutorial/sql-databases.md. PR #4999 by @Zssaer.
  • 🌐 Añadir traducción al chino para docs/zh/docs/advanced/wsgi.md. PR #4505 by @ASpathfinder.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/body-multiple-params.md. PR #4111 by @lbmendes.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/path-params-numeric-validations.md. PR #4099 by @lbmendes.
  • 🌐 Añadir traducción al francés para deployment/versions.md. PR #3690 by @rjNemo.
  • 🌐 Añadir traducción al francés para docs/fr/docs/help-fastapi.md. PR #2233 by @JulianMaurin.
  • 🌐 Corregir error tipográfico en traducción al chino para docs/zh/docs/tutorial/security/first-steps.md. PR #5530 by @yuki1sntSnow.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/response-status-code.md. PR #4922 by @batlopes.
  • 🔧 Añadir configuración para traducciones al tamil. PR #5563 by @tiangolo.

Interno

  • ⬆ Actualizar dependencia interna mypy de 0.971 a 0.982. PR #5541 by @dependabot[bot].
  • ⬆ Actualizar nwtgck/actions-netlify de 1.2.3 a 1.2.4. PR #5507 by @dependabot[bot].
  • ⬆ Actualizar dependencia interna types-ujson de 5.4.0 a 5.5.0. PR #5537 by @dependabot[bot].
  • ⬆ Actualizar dawidd6/action-download-artifact de 2.23.0 a 2.24.0. PR #5508 by @dependabot[bot].
  • ⬆ Actualizar requisito de dependencia interna pytest-cov de <4.0.0,>=2.12.0 a >=2.12.0,<5.0.0. PR #5539 by @dependabot[bot].
  • ⬆ [pre-commit.ci] actualización automática de pre-commit. PR #5536 by @pre-commit-ci[bot].
  • 🐛 Corregir advertencias internas de tests de Trio. PR #5547 by @samuelcolvin.
  • ⬆ [pre-commit.ci] actualización automática de pre-commit. PR #5408 by @pre-commit-ci[bot].
  • ⬆️ Actualizar Typer para incluir Rich en scripts para documentación. PR #5502 by @tiangolo.
  • 🐛 Corregir llamada a mkdocs para idiomas como subprocess para corregir/habilitar el plugin de búsqueda de MkDocs Material. PR #5501 by @tiangolo.

0.85.1 (2022-10-14)

Correcciones

  • 🐛 Corregir soporte para strings en códigos de estado de OpenAPI: default, 1XX, 2XX, 3XX, 4XX, 5XX. PR #5187 by @JarroVGIT.

Docs

  • 📝 Añadir tutorial WayScript x FastAPI a la sección de Enlaces Externos. PR #5407 by @moneeka.

Interno

0.85.0 (2022-09-15)

Características

  • ⬆ Upgrade version required of Starlette from 0.19.1 to 0.20.4. Initial PR #4820 by @Kludex.
    • Esto incluye varias correcciones de bugs en Starlette.
  • ⬆️ Actualizar versión máxima de Uvicorn en extras públicos: all. De >=0.12.0,<0.18.0 a >=0.12.0,<0.19.0. PR #5401 by @tiangolo.

Interno

  • ⬆️ Actualizar dependencias para extras internos de doc y dev: Typer, Uvicorn. PR #5400 by @tiangolo.
  • ⬆️ Actualizar dependencias de test: Black, HTTPX, bases de datos, types-ujson. PR #5399 by @tiangolo.
  • ⬆️ Actualizar mypy y ajustar anotaciones de tipo internas. PR #5398 by @tiangolo.
  • 🔧 Actualizar dependencias de test, actualizar Pytest, mover dependencias de dev a test. PR #5396 by @tiangolo.

0.84.0 (2022-09-14)

Cambios Importantes

Esta versión de FastAPI elimina el soporte para Python 3.6. 🔥 Por favor actualiza a una versión soportada de Python (3.7 o superior), Python 3.6 alcanzó el fin de vida hace mucho tiempo. 😅☠

  • 🔧 Actualizar metadatos del paquete, eliminar soporte para Python 3.6, mover internals de construcción de Flit a Hatch. PR #5240 by @ofek.

0.83.0 (2022-09-11)

🚨 Esta es probablemente la última versión (o una de las últimas) en soportar Python 3.6. 🔥

Python 3.6 alcanzó el fin de vida y ya no es soportado por Python desde hace alrededor de un año.

Esperablemente ya hayas actualizado a una versión soportada de Python hace tiempo. Si no lo has hecho, realmente deberías.

Características

  • ✨ Añadir soporte en jsonable_encoder para include y exclude con dataclasses. PR #4923 by @DCsunset.

Correcciones

  • 🐛 Corregir RuntimeError lanzado cuando HTTPException tiene un código de estado sin contenido. PR #5365 by @iudeen.
  • 🐛 Corregir cuerpo de respuesta vacío cuando el status_code por defecto está vacío pero el parámetro Response con response.status_code está establecido. PR #5360 by @tmeckel.

Docs

Interno

0.82.0 (2022-09-04)

🚨 Esta es probablemente la última versión (o una de las últimas) en soportar Python 3.6. 🔥

Python 3.6 alcanzó el fin de vida y ya no es soportado por Python desde hace alrededor de un año.

Esperablemente ya hayas actualizado a una versión soportada de Python hace tiempo. Si no lo has hecho, realmente deberías.

Características

  • ✨ Exportar WebSocketState en fastapi.websockets. PR #4376 by @matiuszka.
  • ✨ Soportar descripción interna de Python en el docstring del modelo de Pydantic. PR #3032 by @Kludex.
  • ✨ Actualizar ORJSONResponse para soportar claves no str y serializar arrays de Numpy. PR #3892 by @baby5.

Correcciones

  • 🐛 Permitir que el código de salida para dependencias con yield se ejecute siempre, eliminando el limitador de capacidad para ellas, para permitir, por ejemplo, cerrar conexiones de DB sin deadlocks. PR #5122 by @adriangb.
  • 🐛 Corregir GitHub Action de FastAPI People: establecer timeout de HTTPX para petición de query de GraphQL. PR #5222 by @iudeen.
  • 🐛 Asegurar que un parámetro definido como requerido se mantenga requerido en OpenAPI incluso si se define como opcional en otra dependencia. PR #4319 by @cd17822.
  • 🐛 Corregir soporte para parámetros de path en WebSockets. PR #3879 by @davidbrochart.

Docs

  • ✏ Actualizar enlace de Hypercorn, ahora apuntando a GitHub. PR #5346 by @baconfield.
  • ✏ Ajustar redacción en docs/en/docs/advanced/dataclasses.md. PR #3698 by @pfackeldey.
  • 📝 Añadir nota sobre el operador X | Y de Python 3.10 en la explicación sobre Response Models. PR #5307 by @MendyLanda.
  • 📝 Añadir enlace al artículo de New Relic: "How to monitor FastAPI application performance using Python agent". PR #5260 by @sjyothi54.
  • 📝 Actualizar documentación para ORJSONResponse con detalles sobre mejorar el rendimiento. PR #2615 by @falkben.
  • 📝 Añadir documentación para crear una clase Response personalizada. PR #5331 by @tiangolo.
  • 📝 Añadir consejo sobre usar alias para campos de datos de formulario. PR #5329 by @tiangolo.

Traducciones

  • 🌐 Añadir traducción al ruso para docs/ru/docs/features.md. PR #5315 by @Xewus.
  • 🌐 Actualizar traducción al chino para docs/zh/docs/tutorial/request-files.md. PR #4529 by @ASpathfinder.
  • 🌐 Añadir traducción al chino para docs/zh/docs/tutorial/encoder.md. PR #4969 by @Zssaer.
  • 🌐 Corregir línea de archivo MkDocs para traducción al portugués de background-task.md. PR #5242 by @ComicShrimp.

Interno

  • 👥 Actualizar FastAPI People. PR #5347 by @github-actions[bot].
  • ⬆ Actualizar dawidd6/action-download-artifact de 2.22.0 a 2.23.0. PR #5321 by @dependabot[bot].
  • ⬆ [pre-commit.ci] actualización automática de pre-commit. PR #5318 by @pre-commit-ci[bot].
  • ✏ Corregir un pequeño error en línea de resaltado de código. PR #5256 by @hjlarry.
  • ♻ Pequeño refactor interno, mover posición del parámetro operation_id en método delete para consistencia con el código. PR #4474 by @hiel.
  • 🔧 Actualizar sponsors, deshabilitar ImgWhale. PR #5338 by @tiangolo.

0.81.0 (2022-08-26)

Características

  • ✨ Añadir advertencia <noscript> de ReDoc cuando JS está deshabilitado. PR #5074 by @evroon.
  • ✨ Añadir soporte para FrozenSet en parámetros (ej. query). PR #2938 by @juntatalor.
  • ✨ Permitir que middlewares personalizados lancen HTTPExceptions y las propaguen. PR #2036 by @ghandic.
  • ✨ Preservar información de json.JSONDecodeError al manejar JSON inválido en el cuerpo de la petición, para soportar manejadores de excepciones personalizados que usen su información. PR #4057 by @UKnowWhoIm.

Correcciones

  • 🐛 Corregir jsonable_encoder para dataclasses con campos compatibles con pydantic. PR #3607 by @himbeles.
  • 🐛 Corregir soporte para extender openapi_extras con listas de parámetros. PR #4267 by @orilevari.

Docs

  • ✏ Corregir un simple error tipográfico en docs/en/docs/python-types.md. PR #5193 by @GlitchingCore.
  • ✏ Corregir errores tipográficos en tests/test_schema_extra_examples.py. PR #5126 by @supraaxdd.
  • ✏ Corregir errores tipográficos en docs/en/docs/tutorial/path-params-numeric-validations.md. PR #5142 by @invisibleroads.
  • 📝 Añadir paso sobre actualizar pip en el venv para evitar errores al instalar dependencias docs/en/docs/contributing.md. PR #5181 by @edisnake.
  • ✏ Reformular y aclarar texto en el tutorial docs/en/docs/tutorial/body-nested-models.md. PR #5169 by @papb.
  • ✏ Corregir pequeño error tipográfico en docs/en/docs/features.md. PR #5206 by @OtherBarry.
  • ✏ Corregir pequeños errores tipográficos en docs/en/docs/async.md. PR #5125 by @Ksenofanex.
  • 📝 Añadir enlace externo a documentación: "Fastapi, Docker(Docker compose) and Postgres". PR #5033 by @krishnardt.
  • 📝 Simplificar ejemplo en documentación para Additional Responses, eliminar else innecesario. PR #4693 by @adriangb.
  • 📝 Actualizar documentación, comparar enums con identidad en lugar de igualdad. PR #4905 by @MicaelJarniac.
  • ✏ Corregir error tipográfico en docs/en/docs/python-types.md. PR #4886 by @MicaelJarniac.
  • 🎨 Corregir resaltado de sintaxis en documentación para OpenAPI Callbacks. PR #4368 by @xncbf.
  • ✏ Reformular oración confusa en archivo de documentación typo-fix-path-params-numeric-validations.md. PR #3219 by @ccrenfroe.
  • 📝 Actualizar documentación para manejar HTTP Basic Auth con secrets.compare_digest() para tener en cuenta caracteres no-ASCII. PR #3536 by @lewoudar.
  • 📝 Actualizar documentación para testing, corregir ejemplos con imports relativos. PR #5302 by @tiangolo.

Traducciones

  • 🌐 Añadir traducción al ruso para docs/ru/docs/index.md. PR #5289 by @impocode.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/deployment/versions.md. PR #4985 by @emp7yhead.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/header-params.md. PR #4921 by @batlopes.
  • 🌐 Actualizar ko/mkdocs.yml para un enlace faltante. PR #5020 by @dalinaum.

Interno

  • ⬆ Actualizar dawidd6/action-download-artifact de 2.21.1 a 2.22.0. PR #5258 by @dependabot[bot].
  • ⬆ [pre-commit.ci] actualización automática de pre-commit. PR #5196 by @pre-commit-ci[bot].
  • 🔥 Eliminar tests duplicados en tests/test_tutorial/test_sql_databases/test_sql_databases.py. PR #5040 by @raccoonyy.
  • ♻ Simplificar RegEx interno en fastapi/utils.py. PR #5057 by @pylounge.
  • 🔧 Corregir Type hint de auto_error que no necesita ser Optional[bool]. PR #4933 by @DavidKimDY.
  • 🔧 Actualizar configuración de mypy, usar strict = true en lugar de configuraciones manuales. PR #4605 by @michaeloliverx.
  • ♻ Cambiar un dict() por {} en fastapi/utils.py. PR #3138 by @ShahriyarR.
  • ♻ Mover variable interna para errores en jsonable_encoder para acercar código relacionado. PR #4560 by @GuilleQP.
  • ♻ Simplificar asignación condicional en fastapi/dependencies/utils.py. PR #4597 by @cikay.
  • ⬆ Actualizar pin de versión aceptado para Flake8, para código interno, a flake8 >=3.8.3,<6.0.0. PR #4097 by @jamescurtin.
  • 🍱 Actualizar banner de Jina, corregir error tipográfico. PR #5301 by @tiangolo.

0.80.0 (2022-08-23)

Breaking Changes - Correcciones

  • 🐛 Corregir response_model no invalidando None. PR #2725 by @hukkin.

Si estás usando response_model con algún tipo que no incluye None pero la función está retornando None, ahora lanzará un error interno del servidor, porque estás retornando datos inválidos que violan el contrato en response_model. Antes de esta versión permitiría romper ese contrato retornando None.

Por ejemplo, si tienes una app como esta:

from fastapi import FastAPI
from pydantic import BaseModel

class Item(BaseModel):
    name: str
    price: Optional[float] = None
    owner_ids: Optional[List[int]] = None

app = FastAPI()

@app.get("/items/invalidnone", response_model=Item)
def get_invalid_none():
    return None

...llamar al path /items/invalidnone lanzará un error, porque None no es un tipo válido para el response_model declarado con Item.

También podrías estar retornando implícitamente None sin darte cuenta, por ejemplo:

from fastapi import FastAPI
from pydantic import BaseModel

class Item(BaseModel):
    name: str
    price: Optional[float] = None
    owner_ids: Optional[List[int]] = None

app = FastAPI()

@app.get("/items/invalidnone", response_model=Item)
def get_invalid_none():
    if flag:
        return {"name": "foo"}
    # if flag is False, at this point the function will implicitly return None

Si tienes path operations usando response_model que necesitan poder retornar None, hazlo explícito en response_model usando Union[Something, None]:

from typing import Union

from fastapi import FastAPI
from pydantic import BaseModel

class Item(BaseModel):
    name: str
    price: Optional[float] = None
    owner_ids: Optional[List[int]] = None

app = FastAPI()

@app.get("/items/invalidnone", response_model=Union[Item, None])
def get_invalid_none():
    return None

De esta manera los datos serán correctamente validados, no tendrás un error interno del servidor, y la documentación también reflejará que esta path operation podría retornar None (o null en JSON).

Correcciones

  • ⬆ Actualizar copia de Swagger UI de oauth2-redirect.html para incluir correcciones para variantes de flujos de código de autorización en Swagger UI. PR #3439 PR inicial por @koonpeng.
  • ♻ Eliminar espacios en blanco de la descripción extraída de docstrings. PR #2821 by @and-semakin.
  • 🐛 Corregir dependencias en caché al usar una dependencia en Security() y otros lugares (ej. Depends()) con diferentes scopes de OAuth2. PR #2945 by @laggardkernel.
  • 🎨 Actualizar anotaciones de tipo para response_model, permitir cosas como Union[str, None]. PR #5294 by @tiangolo.

Traducciones

  • 🌐 Corregir errores tipográficos en traducción al alemán para docs/de/docs/features.md. PR #4533 by @0xflotus.
  • 🌐 Añadir navegador faltante para encoder.md en traducción al coreano. PR #5238 by @joonas-yoon.
  • (Merge de PR vacío por accidente) #4913.

0.79.1 (2022-08-18)

Correcciones

  • 🐛 Corregir jsonable_encoder usando parámetros include y exclude para objetos no-Pydantic. PR #2606 by @xaviml.
  • 🐛 Corregir caso extremo con nombres de alias repetidos no mostrados en OpenAPI. PR #2351 by @klaa97.
  • 📝 Añadir instalaciones de dependencias misceláneas a documentación del tutorial. PR #2126 by @TeoZosa.

Docs

Traducciones

  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/query-params.md. PR #4775 by @batlopes.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/tutorial/security/first-steps.md. PR #4954 by @FLAIR7.
  • 🌐 Añadir traducción para docs/zh/docs/advanced/response-cookies.md. PR #4638 by @zhangbo2012.
  • 🌐 Añadir traducción al francés para docs/fr/docs/deployment/index.md. PR #3689 by @rjNemo.
  • 🌐 Añadir traducción al portugués para tutorial/handling-errors.md. PR #4769 by @frnsimoes.
  • 🌐 Añadir traducción al francés para docs/fr/docs/history-design-future.md. PR #3451 by @rjNemo.
  • 🌐 Añadir traducción al ruso para docs/ru/docs/tutorial/background-tasks.md. PR #4854 by @AdmiralDesu.
  • 🌐 Añadir traducción al chino para docs/tutorial/security/first-steps.md. PR #3841 by @jaystone776.
  • 🌐 Añadir traducción al japonés para docs/ja/docs/advanced/nosql-databases.md. PR #4205 by @sUeharaE4.
  • 🌐 Añadir traducción al indonesio para docs/id/docs/tutorial/index.md. PR #4705 by @bas-baskara.
  • 🌐 Añadir traducción al persa para docs/fa/docs/index.md y ajustar CSS de derecha a izquierda. PR #2395 by @mohsen-mahmoodi.

Interno

0.79.0 (2022-07-14)

Correcciones - Breaking Changes

  • 🐛 Fix removing body from status codes that do not support it. PR #5145 by @tiangolo.
    • Establecer status_code a 204, 304, o cualquier código inferior a 200 (1xx) eliminará el cuerpo de la respuesta.
    • Esto corrige un error en Uvicorn que de otro modo sería lanzado: RuntimeError: Response content longer than Content-Length.
    • Esto elimina fastapi.openapi.constants.STATUS_CODES_WITH_NO_BODY, es reemplazado por una función en utils.

Traducciones

  • 🌐 Inicio de traducción al hebreo. PR #5050 by @itay-raveh.
  • 🔧 Añadir configuración para notificaciones de traducciones al sueco. PR #5147 by @tiangolo.
  • 🌐 Inicio de traducción al sueco. PR #5062 by @MrRawbin.
  • 🌐 Añadir traducción al japonés para docs/ja/docs/advanced/index.md. PR #5043 by @wakabame.
  • 🌐🇵🇱 Añadir traducción al polaco para docs/pl/docs/tutorial/first-steps.md. PR #5024 by @Valaraucoo.

Interno

0.78.0 (2022-05-14)

Características

  • ✨ Añadir soporte para omitir ... como valor por defecto al declarar parámetros requeridos con:

  • Path()

  • Query()
  • Header()
  • Cookie()
  • Body()
  • Form()
  • File()

Nueva documentación en Tutorial - Parámetros de Query y Validaciones de Strings - Hacerlo requerido. PR #4906 by @tiangolo.

Hasta ahora, declarar un parámetro requerido mientras se añade validación o metadatos adicionales necesitaba usar ... (Ellipsis).

Por ejemplo:

from fastapi import Cookie, FastAPI, Header, Path, Query

app = FastAPI()


@app.get("/items/{item_id}")
def main(
    item_id: int = Path(default=..., gt=0),
    query: str = Query(default=..., max_length=10),
    session: str = Cookie(default=..., min_length=3),
    x_trace: str = Header(default=..., title="Tracing header"),
):
    return {"message": "Hello World"}

...todos estos parámetros son requeridos porque el valor por defecto es ... (Ellipsis).

Pero ahora es posible y soportado simplemente omitir el valor por defecto, como se haría con campos de Pydantic, y los parámetros seguirían siendo requeridos.

✨ Por ejemplo, esto ahora es soportado:

from fastapi import Cookie, FastAPI, Header, Path, Query

app = FastAPI()


@app.get("/items/{item_id}")
def main(
    item_id: int = Path(gt=0),
    query: str = Query(max_length=10),
    session: str = Cookie(min_length=3),
    x_trace: str = Header(title="Tracing header"),
):
    return {"message": "Hello World"}

Para declarar parámetros como opcionales (no requeridos), puedes establecer un valor por defecto como siempre, por ejemplo usando None:

from typing import Union
from fastapi import Cookie, FastAPI, Header, Path, Query

app = FastAPI()


@app.get("/items/{item_id}")
def main(
    item_id: int = Path(gt=0),
    query: Union[str, None] = Query(default=None, max_length=10),
    session: Union[str, None] = Cookie(default=None, min_length=3),
    x_trace: Union[str, None] = Header(default=None, title="Tracing header"),
):
    return {"message": "Hello World"}

Docs

  • 📝 Añadir documentación recomendando Union sobre Optional y migrar ejemplos de código. Nueva documentación en Introducción a Tipos de Python - Usando Union o Optional. PR #4908 by @tiangolo.
  • 🎨 Corregir valor por defecto establecido en tutorial para Path Operations Advanced Configurations. PR #4899 by @tiangolo.
  • 📝 Añadir documentación para path operations redefinidas. PR #4864 by @madkinsz.
  • 📝 Actualizar enlaces para la documentación de Celery. PR #4736 by @sammyzord.
  • ✏ Corregir código de ejemplo con sets en tutorial para body nested models. PR #3030 by @hitrust.
  • ✏ Corregir enlaces a documentación de Pydantic. PR #4670 by @kinuax.
  • 📝 Actualizar documentación sobre self-hosting de Swagger UI con enlaces de código más nuevos. PR #4813 by @Kastakin.
  • 📝 Añadir enlace a artículo externo: Building the Poll App From Django Tutorial With FastAPI And React. PR #4778 by @jbrocher.
  • 📝 Añadir advertencia de OpenAPI a documentación de "Body - Fields" con extensiones de schema extra. PR #4846 by @ml-evs.

Traducciones

  • 🌐 Corregir ejemplos de código en traducción al japonés para docs/ja/docs/tutorial/testing.md. PR #4623 by @hirotoKirimaru.

Interno

  • ♻ Refactorizar extracción de valor de dict para minimizar búsquedas de clave en fastapi/utils.py. PR #3139 by @ShahriyarR.
  • ✅ Añadir tests para parámetros None-able requeridos y campos de body. PR #4907 by @tiangolo.
  • 👷 Corregir instalación de Material for MkDocs Insiders en CI. PR #4897 by @tiangolo.
  • 👷 Añadir pre-commit CI en lugar de GitHub Action personalizado. PR #4896 by @tiangolo.
  • 👷 Añadir workflow de GitHub Action para pre-commit. PR #4895 by @tiangolo.
  • 📝 Añadir cambio automático a modo oscuro en documentación basado en preferencia del SO. PR #4869 by @ComicShrimp.
  • 🔥 Eliminar antiguos tests pendientes sin usar, ya cubiertos en otros lugares. PR #4891 by @tiangolo.
  • 🔧 Añadir hooks de formateo de Python a pre-commit. PR #4890 by @tiangolo.
  • 🔧 Añadir pre-commit con primera configuración y primera pasada de formateo. PR #4888 by @tiangolo.
  • 👷 Deshabilitar instalación de Material for MkDocs en CI para forks. PR #4410 by @dolfinus.

0.77.1 (2022-05-10)

Actualizaciones

  • ⬆ Actualizar Starlette de 0.19.0 a 0.19.1. PR #4819 by @Kludex.

Docs

  • 📝 Añadir enlace a artículo en alemán: REST-API Programmieren mittels Python und dem FastAPI Modul. PR #4624 by @fschuermeyer.
  • 📝 Añadir enlace externo: Guía de PyCharm para FastAPI. PR #4512 by @mukulmantosh.
  • 📝 Añadir enlace externo a artículo: Building an API with FastAPI and Supabase and Deploying on Deta. PR #4440 by @aUnicornDev.
  • ✏ Corregir pequeño error tipográfico en docs/en/docs/tutorial/security/first-steps.md. PR #4515 by @KikoIlievski.

Traducciones

  • 🌐 Añadir traducción al polaco para docs/pl/docs/tutorial/index.md. PR #4516 by @MKaczkow.
  • ✏ Corregir error tipográfico en deployment. PR #4629 by @raisulislam541.
  • 🌐 Añadir traducción al portugués para docs/pt/docs/help-fastapi.md. PR #4583 by @mateusjs.

Interno

  • 🔧 Añadir notificaciones en issues para traducciones al uzbeco. PR #4884 by @tiangolo.

0.77.0 (2022-05-10)

Actualizaciones

  • ⬆ Upgrade Starlette from 0.18.0 to 0.19.0. PR #4488 by @Kludex.
    • Al crear un JSONResponse explícito, el argumento content ahora es obligatorio.

Docs

  • 📝 Añadir enlace externo al artículo: Seamless FastAPI Configuration with ConfZ. PR #4414 por @silvanmelchior.
  • 📝 Añadir enlace externo al artículo: 5 Advanced Features of FastAPI You Should Try. PR #4436 por @kaustubhgupta.
  • ✏ Reformular para mejorar la legibilidad de la docs sobre TestClient. PR #4389 por @rgilton.
  • 📝 Añadir enlace externo al blog post sobre Kafka, FastAPI, y Ably. PR #4044 por @Ugbot.
  • ✏ Corregir typo en docs/en/docs/tutorial/sql-databases.md. PR #4875 por @wpyoga.
  • ✏ Corregir typo en docs/en/docs/async.md. PR #4726 por @Prezu.

Traducciones

  • 🌐 Actualizar los resaltados del código de ejemplo para docs/zh/docs/tutorial/query-params-str-validations.md. PR #4237 por @caimaoy.
  • 🌐 Eliminar referencias a aiofiles en las traducciones de la docs ya que ya no es necesario desde AnyIO. PR #3594 por @alonme.
  • ✏ 🌐 Corregir typo en la traducción al portugués de docs/pt/docs/tutorial/path-params.md. PR #4722 por @CleoMenezesJr.
  • 🌐 Corregir el servidor de docs en vivo para traducciones de algunos idiomas. PR #4729 por @wakabame.
  • 🌐 Añadir traducción al portugués de docs/pt/docs/tutorial/cookie-params.md. PR #4112 por @lbmendes.
  • 🌐 Corregir traducción al francés de docs/tutorial/body.md. PR #4332 por @Smlep.
  • 🌐 Añadir traducción al japonés de docs/ja/docs/advanced/conditional-openapi.md. PR #2631 por @sh0nk.
  • 🌐 Corregir traducción al japonés de docs/ja/docs/tutorial/body.md. PR #3062 por @a-takahashi223.
  • 🌐 Añadir traducción al portugués de docs/pt/docs/tutorial/background-tasks.md. PR #2170 por @izaguerreiro.
  • 🌐 Añadir traducción al portugués de docs/deployment/deta.md. PR #4442 por @lsglucas.
  • 🌐 Añadir traducción al ruso de docs/async.md. PR #4036 por @Winand.
  • 🌐 Añadir traducción al portugués de docs/tutorial/body.md. PR #3960 por @leandrodesouzadev.
  • 🌐 Añadir traducción al portugués de tutorial/extra-data-types.md. PR #4077 por @luccasmmg.
  • 🌐 Actualizar traducción al alemán de docs/features.md. PR #3905 por @jomue.

0.76.0 (2022-05-05)

Actualizaciones

  • ⬆ Actualizar Starlette de 0.17.1 a 0.18.0. PR #4483 por @Kludex.

Interno

0.75.2 (2022-04-17)

Esta versión incluye actualizaciones a paquetes de terceros que manejan problemas de seguridad. Aunque hay una posibilidad de que estos problemas no te afecten en particular, por favor actualiza lo antes posible.

Correcciones

  • ✅ Corregir tests nuevos/recientes con el nuevo JSON Schema corregido de ValidationError. PR #4806 por @tiangolo.
  • 🐛 Corregir el JSON Schema para ValidationError en el campo loc. PR #3810 por @dconathan.
  • 🐛 Corregir el soporte para prefijos en WebSockets de APIRouter. PR #2640 por @Kludex.

Actualizaciones

  • ⬆️ Actualizar los rangos de ujson para CVE-2021-45958. PR #4804 por @tiangolo.
  • ⬆️ Actualizar el rango superior de dependencias para los extras "all". PR #4803 por @tiangolo.
  • ⬆ Actualizar Swagger UI - swagger-ui-dist@4. Esto maneja un problema de seguridad en Swagger UI mismo donde podría ser posible inyectar HTML en Swagger UI. Por favor, actualiza lo antes posible, en particular si expones tu Swagger UI (/docs) públicamente a usuarios no expertos. PR #4347 por @RAlanWright.

Interno

  • 🔧 Actualizar patrocinadores, añadir: ExoFlare, Ines Course; eliminar: Dropbase, Vim.so, Calmcode; actualizar: Striveworks, TalkPython y TestDriven.io. PR #4805 por @tiangolo.
  • ⬆️ Actualizar la GitHub Action de Codecov. PR #4801 por @tiangolo.

0.75.1 (2022-04-01)

Traducciones

Interno

  • 👥 Actualizar FastAPI People. PR #4752 por @github-actions[bot].
  • ➖ Temporalmente eliminar typer-cli de las dependencias y actualizar Black para desbloquear el CI de Pydantic. PR #4754 por @tiangolo.
  • 🔧 Añadir configuración para notificar traducciones al holandés. PR #4702 por @tiangolo.
  • 👥 Actualizar FastAPI People. PR #4699 por @github-actions[bot].
  • 🐛 Corregir la generación de FastAPI People para incluir el archivo faltante en el commit. PR #4695 por @tiangolo.
  • 🔧 Actualizar los enlaces del patrocinador Classiq. PR #4688 por @tiangolo.
  • 🔧 Añadir patrocinador Classiq. PR #4671 por @tiangolo.
  • 📝 Añadir el QA Bot de Jina a la docs para ayudar a las personas que quieren hacer preguntas rápidas. PR #4655 por @tiangolo basado en el PR original #4626 por @hanxiao.

0.75.0 (2022-03-04)

Características

0.74.1 (2022-02-21)

Características

  • ✨ Incluir la ruta en el scope para permitir que el middleware y otras herramientas extraigan su información. PR #4603 por @tiangolo.

0.74.0 (2022-02-17)

Cambios Importantes

  • ✨ Actualizar el AsyncExitStack interno para corregir el contexto para dependencias con yield. PR #4575 por @tiangolo.

Las dependencias con yield ahora pueden capturar HTTPException y excepciones personalizadas. Por ejemplo:

async def get_database():
    with Session() as session:
        try:
            yield session
        except HTTPException:
            session.rollback()
            raise
        finally:
            session.close()

Después de que la dependencia con yield maneje la excepción (o no), la excepción se lanza de nuevo. De modo que cualquier manejador de excepciones puede capturarla, o en última instancia, el ServerErrorMiddleware interno por defecto.

Si dependías de que las excepciones no fueran recibidas por dependencias con yield, y recibir una excepción rompe el código después de yield, puedes usar un bloque con try y finally:

async def do_something():
    try:
        yield something
    finally:
        some_cleanup()

...de ese modo el bloque finally se ejecuta sin importar si ocurre alguna excepción.

Características

  • El mismo PR #4575 de arriba también corrige el contexto de contextvars para el código antes y después de yield. Este era el objetivo principal de ese PR.

Esto significa que ahora, si estableces un valor en una variable de contexto antes de yield, el valor seguiría disponible después de yield (como intuitivamente esperarías). Y también significa que puedes restablecer la variable de contexto con un token después.

Por ejemplo, esto ahora funciona correctamente:

from contextvars import ContextVar
from typing import Any, Dict, Optional


legacy_request_state_context_var: ContextVar[Optional[Dict[str, Any]]] = ContextVar(
    "legacy_request_state_context_var", default=None
)

async def set_up_request_state_dependency():
    request_state = {"user": "deadpond"}
    contextvar_token = legacy_request_state_context_var.set(request_state)
    yield request_state
    legacy_request_state_context_var.reset(contextvar_token)

...antes de este cambio lanzaría un error al restablecer la variable de contexto, porque el contexto de contextvars era diferente, debido a la forma en que estaba implementado.

Nota: Probablemente no necesitas contextvars, y probablemente deberías evitar usarlos. Pero son potentes y útiles en algunos escenarios avanzados, por ejemplo, al migrar de código que usaba la variable semi-global g de Flask.

Detalles Técnicos: Si quieres saber más sobre los detalles técnicos puedes revisar la descripción del PR #4575.

Interno

0.73.0 (2022-01-23)

Características

Docs

  • 📝 Ajustar y mejorar la docs de Request Files. PR #4470 por @tiangolo.

Correcciones

Interno

  • 🐛 Corregir la caché de dependencias de la docs, para obtener el último Material for MkDocs. PR #4466 por @tiangolo.
  • 🔧 Añadir patrocinador Dropbase. PR #4465 por @tiangolo.

0.72.0 (2022-01-16)

Características

Docs

  • 📝 Actualizar la docs de Python Types, añadir el ejemplo 3.6 / 3.9 faltante. PR #4434 por @tiangolo.

Traducciones

  • 🌐 Actualizar traducción al chino de docs/help-fastapi.md. PR #3847 por @jaystone776.
  • 🌐 Corregir traducción al coreano de docs/ko/docs/index.md. PR #4195 por @kty4119.
  • 🌐 Añadir traducción al polaco de docs/pl/docs/index.md. PR #4245 por @MicroPanda123.
  • 🌐 Añadir traducción al chino de docs\tutorial\path-operation-configuration.md. PR #3312 por @jaystone776.

Interno

  • 🔧 Habilitar content.tabs.link de MkDocs Material Insiders. PR #4399 por @tiangolo.

0.71.0 (2022-01-07)

Características

  • ✨ Add docs and tests for Python 3.9 and Python 3.10. PR #3712 by @tiangolo.
    • Puedes empezar con Python Types Intro, explica qué cambia entre las diferentes versiones de Python, en Python 3.9 y en Python 3.10.
    • Toda la documentación de FastAPI está actualizada. Cada ejemplo de código en las docs que podría usar sintaxis diferente en Python 3.9 o Python 3.10 ahora tiene todas las alternativas en pestañas.
  • ⬆️ Actualizar Starlette a 0.17.1. PR #4145 por @simondale00.

Interno

0.70.1 (2021-12-12)

No hay nada interesante en esta versión particular de FastAPI. Es principalmente para habilitar/desbloquear la liberación de la próxima versión de Pydantic que viene repleta de funcionalidades y mejoras. 🤩

Correcciones

  • 🐛 Corregir el JSON Schema para dataclasses, soportando las correcciones en Pydantic 1.9. PR #4272 por @PrettyWood.

Traducciones

  • 🌐 Añadir traducción al coreano de docs/tutorial/request-forms-and-files.md. PR #3744 por @NinaHwang.
  • 🌐 Añadir traducción al coreano de docs/tutorial/request-files.md. PR #3743 por @NinaHwang.
  • 🌐 Añadir traducción al portugués de docs/tutorial/query-params-str-validations.md. PR #3965 por @leandrodesouzadev.
  • 🌐 Añadir traducción al coreano de docs/tutorial/response-status-code.md. PR #3742 por @NinaHwang.
  • 🌐 Añadir traducción al coreano del Tutorial - JSON Compatible Encoder. PR #3152 por @NEONKID.
  • 🌐 Añadir traducción al coreano del Tutorial - Path Parameters and Numeric Validations. PR #2432 por @hard-coders.
  • 🌐 Añadir traducción al coreano de docs/ko/docs/deployment/versions.md. PR #4121 por @DevDae.
  • 🌐 Corregir traducción al coreano de docs/ko/docs/tutorial/index.md. PR #4193 por @kimjaeyoonn.
  • 🔧 Añadir patrocinador CryptAPI. PR #4264 por @tiangolo.
  • 📝 Actualizar docs/tutorial/dependencies/classes-as-dependencies: Añadir el tipo de los parámetros de query en una descripción de Classes as dependencies. PR #4015 por @0417taehyun.
  • 🌐 Añadir traducción al francés del Tutorial - First steps. PR #3455 por @Smlep.
  • 🌐 Añadir traducción al francés de docs/tutorial/path-params.md. PR #3548 por @Smlep.
  • 🌐 Añadir traducción al francés de docs/tutorial/query-params.md. PR #3556 por @Smlep.
  • 🌐 Añadir traducción al turco de docs/python-types.md. PR #3926 por @BilalAlpaslan.

Interno

0.70.0 (2021-10-07)

Este release solo actualiza Starlette a la última versión, 0.16.0, que incluye varias correcciones de bugs y algunos pequeños cambios que rompen compatibilidad.

Estos últimos tres releases consecutivos son independientes para que puedas migrar gradualmente:

  • Primero a FastAPI 0.68.2, sin cambios que rompan compatibilidad, pero actualizando todas las sub-dependencias.
  • Luego a FastAPI 0.69.0, que actualiza Starlette a 0.15.0, con soporte para AnyIO, y una mayor probabilidad de tener cambios que rompan compatibilidad en tu código.
  • Finalmente a FastAPI 0.70.0, solo actualizando Starlette a la última versión 0.16.0 con correcciones de bugs adicionales.

De esta manera, en caso de que haya un cambio importante para tu código en alguna de las versiones, aún puedes beneficiarte de las actualizaciones anteriores. ✨

Cambios que rompen compatibilidad - Actualización

También actualiza los rangos de dependencias opcionales:

  • "jinja2 >=2.11.2,<4.0.0"
  • "itsdangerous >=1.1.0,<3.0.0"

0.69.0 (2021-10-07)

Cambios que rompen compatibilidad - Actualización

Este release añade soporte para Trio. ✨

Actualiza la versión de Starlette a 0.15.0, ahora basada en AnyIO, y los componentes async internos en FastAPI ahora también están basados en AnyIO, haciéndolo compatible tanto con asyncio como con Trio.

Puedes leer la docs sobre cómo ejecutar FastAPI con Trio usando Hypercorn.

Este release también elimina graphene como dependencia opcional para GraphQL. Si necesitas trabajar con GraphQL, la librería recomendada ahora es Strawberry. Puedes leer las nuevas docs de FastAPI con GraphQL.

Características

  • ✨ Añadir soporte para Trio vía AnyIO, actualizando Starlette a 0.15.0. PR #3372 por @graingert.
  • ➖ Eliminar graphene como dependencia opcional. PR #4007 por @tiangolo.

Docs

  • 📝 Añadir docs para usar Trio con Hypercorn. PR #4014 por @tiangolo.
  • ✏ Corregir typos en la Guía de Despliegue. PR #3975 por @ghandic.
  • 📝 Actualizar la docs con las llamadas de pip install cuando se usan extras con corchetes, usar comillas para compatibilidad con Zsh. PR #3131 por @tomwei7.
  • 📝 Añadir enlace externo al artículo: Deploying ML Models as API Using FastAPI and Heroku. PR #3904 por @kaustubhgupta.
  • ✏ Corregir typo en las rutas de archivo en docs/en/docs/contributing.md. PR #3752 por @NinaHwang.
  • ✏ Corregir un typo en docs/en/docs/advanced/path-operation-advanced-configuration.md y docs/en/docs/release-notes.md. PR #3750 por @saintmalik.
  • ✏️ Añadir una coma faltante en el tutorial de seguridad. PR #3564 por @jalvaradosegura.
  • ✏ Corregir typo en docs/en/docs/help-fastapi.md. PR #3760 por @jaystone776.
  • ✏ Corregir typo sobre la ruta de archivo en docs/en/docs/tutorial/bigger-applications.md. PR #3285 por @HolyDorus.
  • ✏ Reformular para aclarar el test client en docs/en/docs/tutorial/testing.md. PR #3382 por @Bharat123rox.
  • 📝 Corregir el código resaltado incorrecto. PR #3325 por @paxcodes.
  • 📝 Añadir enlace externo al artículo: How-to deploy FastAPI app to Heroku. PR #3241 por @Jarmos-san.
  • ✏ Corregir typo (mala traducción) en docs/en/docs/advanced/templates.md. PR #3211 por @oerpli.
  • 📝 Eliminar nota sobre la característica (ahora soportada) de Swagger UI en docs/en/docs/tutorial/request-files.md. PR #2803 por @gsganden.
  • ✏ Corregir typo, reformular en docs/tutorial/handling-errors.md. PR #2700 por @graue70.

Traducciones

Interno

  • 📝 Añadir insignia de versiones de Python soportadas. PR #2794 por @hramezani.
  • ✏ Corregir enlace en la docs en japonés de docs/ja/docs/deployment/docker.md. PR #3245 por @utamori.
  • 🔧 Corregir la configuración y el comentario de DeprecationWarning en los ajustes de pytest. PR #4008 por @graingert.
  • 🔧 Intercambiar el icono del botón de tema claro/oscuro. PR #3246 por @eddsalkield.
  • 🔧 Lint solo en Python 3.7 y superior. PR #4006 por @tiangolo.
  • 🔧 Añadir configuración de la GitHub Action notify-translations para azerbaiyano. PR #3995 por @tiangolo.

0.68.2 (2021-10-05)

Este release no tiene cambios que rompan compatibilidad. 🎉

Actualiza los rangos de versiones de sub-dependencias para permitir que las aplicaciones que usan FastAPI las actualicen fácilmente.

Pronto habrá una nueva versión de FastAPI actualizando Starlette para aprovechar mejoras recientes, pero como eso tiene una mayor probabilidad de tener cambios importantes, será en una versión separada.

Características

  • ⬆ Aumentar la versión soportada de aiofiles para suprimir las advertencias. PR #2899 por @SnkSynthesis.
  • ➖ No requerir backports en Python >= 3.7. PR #1880 por @FFY00.
  • ⬆ Actualizar la versión requerida de Python a >= 3.6.1, necesaria por typing.Deque, usada por Pydantic. PR #2733 por @hukkin.
  • ⬆️ Aumentar el rango máximo de Uvicorn a 0.15.0. PR #3345 por @Kludex.

Docs

  • 📝 Actualizar la docs de GraphQL, recomendar Strawberry. PR #3981 por @tiangolo.
  • 📝 Reescribir y ampliar la guía de Despliegue: Conceptos, Uvicorn, Gunicorn, Docker, Contenedores, Kubernetes. PR #3974 por @tiangolo.
  • 📝 Actualizar la guía de HTTPS con más explicaciones y diagramas. PR #3950 por @tiangolo.

Traducciones

  • 🌐 Añadir traducción al turco de docs/features.md. PR #1950 por @ycd.
  • 🌐 Añadir traducción al turco de docs/benchmarks.md. PR #2729 por @Telomeraz.
  • 🌐 Añadir traducción al turco de docs/index.md. PR #1908 por @ycd.
  • 🌐 Añadir traducción al francés de docs/tutorial/body.md. PR #3671 por @Smlep.
  • 🌐 Añadir traducción al francés de deployment/docker.md. PR #3694 por @rjNemo.
  • 🌐 Añadir traducción al portugués de docs/tutorial/path-params.md. PR #3664 por @FelipeSilva93.
  • 🌐 Añadir traducción al portugués de docs/deployment/https.md. PR #3754 por @lsglucas.
  • 🌐 Añadir traducción al alemán de docs/features.md. PR #3699 por @mawassk.

Interno

  • ✨ Actualizar la GitHub Action: notify-translations, para evitar condiciones de carrera. PR #3989 por @tiangolo.
  • ⬆️ Actualizar autoflake de desarrollo, soportando imports multi-línea. PR #3988 por @tiangolo.
  • ⬆️ Aumentar los rangos de dependencias para tests y docs: pytest-cov, pytest-asyncio, black, httpx, sqlalchemy, databases, mkdocs-markdownextradata-plugin. PR #3987 por @tiangolo.
  • 👥 Actualizar FastAPI People. PR #3986 por @github-actions[bot].
  • 💚 Corregir insignias en el README y la página principal. PR #3979 por @ghandic.
  • ⬆ Actualizar las dependencias internas de testing: mypy a la versión 0.910, añadir los paquetes de tipos recién necesarios. PR #3350 por @ArcLightSlavik.
  • ✨ Añadir patrocinio de Deepset. PR #3976 por @tiangolo.
  • 🎨 Ajustar los estilos CSS para las animaciones de shell. PR #3888 por @tiangolo.
  • 🔧 Añadir nuevo patrocinador Calmcode.io. PR #3777 por @tiangolo.

0.68.1 (2021-08-24)

  • ✨ Añadir soporte para read_with_orm_mode, para soportar atributos de relación de SQLModel. PR #3757 por @tiangolo.

Traducciones

  • 🌐 Añadir traducción al portugués de docs/fastapi-people.md. PR #3461 por @ComicShrimp.
  • 🌐 Añadir traducción al chino de docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md. PR #3492 por @jaystone776.
  • 🔧 Añadir nuevos issues de seguimiento de traducciones para alemán e indonesio. PR #3718 por @tiangolo.
  • 🌐 Añadir traducción al chino de docs/tutorial/dependencies/sub-dependencies.md. PR #3491 por @jaystone776.
  • 🌐 Añadir traducción al portugués de docs/advanced/index.md. PR #3460 por @ComicShrimp.
  • 🌐 Traducción al portugués de docs/async.md. PR #1330 por @Serrones.
  • 🌐 Añadir traducción al francés de docs/async.md. PR #3416 por @Smlep.

Interno

  • ✨ Añadir GitHub Action: Notify Translations. PR #3715 por @tiangolo.
  • ✨ Actualizar el cálculo de FastAPI People y patrocinadores. PR #3714 por @tiangolo.
  • ✨ Habilitar características recientes de Material for MkDocs Insiders. PR #3710 por @tiangolo.
  • 🔥 Eliminar/limpiar imports extra de los ejemplos en la docs de características. PR #3709 por @tiangolo.
  • ➕ Actualizar la librería de docs para incluir fuentes en Markdown. PR #3648 por @tiangolo.
  • ⬆ Habilitar tests para Python 3.9. PR #2298 por @Kludex.
  • 👥 Actualizar FastAPI People. PR #3642 por @github-actions[bot].

0.68.0 (2021-07-29)

Características

  • ✨ Añadir soporte para extensiones y actualizaciones al esquema OpenAPI en cada path operation. Nuevas docs: FastAPI Path Operation Advanced Configuration - OpenAPI Extra. PR inicial #1922 por @edouardlp.
  • ✨ Añadir parámetros adicionales de metadatos de OpenAPI a la clase FastAPI, mostrados en la UI automática de docs de la API. Nuevas docs: Metadata and Docs URLs. PR inicial #1812 por @dkreeft.
  • ✨ Añadir el parámetro description a todas las clases de esquemas de seguridad, ej. APIKeyQuery(name="key", description="A very cool API key"). PR #1757 por @hylkepostma.
  • ✨ Actualizar los modelos de OpenAPI, soportando modelos recursivos y extensiones. PR #3628 por @tiangolo.
  • ✨ Importar y re-exportar estructuras de datos de Starlette, usadas por las propiedades de Request, en fastapi.datastructures. PR inicial #1872 por @jamescurtin.

Docs

  • 📝 Actualizar la docs sobre async y response-model con lenguaje más inclusivo. PR #1869 por @Edward-Knight.

Traducciones

  • 🌐 Añadir traducción al ruso de docs/python-types.md. PR #3039 por @dukkee.
  • 🌐 Añadir traducción al chino de docs/tutorial/dependencies/index.md. PR #3489 por @jaystone776.
  • 🌐 Añadir traducción al ruso de docs/external-links.md. PR #3036 por @dukkee.
  • 🌐 Añadir traducción al chino de docs/tutorial/dependencies/global-dependencies.md. PR #3493 por @jaystone776.
  • 🌐 Añadir traducción al portugués de docs/deployment/versions.md. PR #3618 por @lsglucas.
  • 🌐 Añadir traducción al japonés de docs/tutorial/security/oauth2-jwt.md. PR #3526 por @sattosan.

Interno

  • ✅ Añadir el directorio docs_src a la cobertura de tests y actualizar los tests. PR inicial #1904 por @Kludex.
  • 🔧 Añadir nuevas plantillas de GitHub con formularios para nuevos issues. PR #3612 por @tiangolo.
  • 📝 Añadir el Twitter oficial de FastAPI a la docs: @fastapi. PR #3578 por @tiangolo.

0.67.0 (2021-07-21)

Características

Docs

  • 📝 Añadir enlace externo: How to Create A Fake Certificate Authority And Generate TLS Certs for FastAPI. PR #2839 por @aitoehigie.
  • ✏ Corregir la línea de código resaltada en: body-nested-models.md. PR #3463 por @jaystone776.
  • ✏ Corregir typo en body-nested-models.md. PR #3462 por @jaystone776.
  • ✏ Corregir typo "might me" -> "might be" en docs/en/docs/tutorial/schema-extra-example.md. PR #3362 por @dbrakman.
  • 📝 Añadir enlace externo: Building simple E-Commerce with NuxtJS and FastAPI. PR #3271 por @ShahriyarR.
  • 📝 Añadir enlace externo: Serve a machine learning model using Sklearn, FastAPI and Docker. PR #2974 por @rodrigo-arenas.
  • ✏️ Corregir typo en el docstring del archivo de datastructures. PR #2887 por @Kludex.
  • 📝 Añadir enlace externo: Deploy FastAPI on Ubuntu and Serve using Caddy 2 Web Server. PR #3572 por @tiangolo.
  • 📝 Añadir enlace externo, reemplaza #1898. PR #3571 por @tiangolo.

Interno

  • 🎨 Mejorar el estilo para los patrocinadores, añadir borde redondeado. PR #2388 por @Kludex.
  • 👷 Actualizar la GitHub Action latest-changes. PR #3574 por @tiangolo.
  • 👷 Actualizar la GitHub Action latest-changes. PR #3573 por @tiangolo.
  • 👷 Renombrar y aclarar los nombres de los jobs del workflow de CI. PR #3570 por @tiangolo.
  • 👷 Actualizar la GitHub Action latest-changes, intento 2 ⚾. PR #3575 por @tiangolo.
  • 🔧 Ordenar los enlaces externos en la docs para tener los más recientes al principio. PR #3568 por @tiangolo.

0.66.1 (2021-07-19)

Traducciones

  • 🌐 Añadir configuración básica para traducciones al alemán. PR #3522 por @0x4Dark.
  • 🌐 Añadir traducción al portugués de docs/tutorial/security/index.md. PR #3507 por @oandersonmagalhaes.
  • 🌐 Añadir traducción al portugués de docs/deployment/index.md. PR #3337 por @lsglucas.

Interno

  • 🔧 Configurar opciones estrictas de pytest y actualizar/refactorizar los tests. Actualizar pytest a >=6.2.4,<7.0.0 y pytest-cov a >=2.12.0,<3.0.0. PR inicial #2790 por @graingert.
  • ⬆️ Actualizar la dependencia de python-jose a >=3.3.0,<4.0.0 para los tests. PR #3468 por @tiangolo.

0.66.0 (2021-07-04)

Características

  • ✨ Permitir establecer el response_class a RedirectResponse o FileResponse y retornar la URL desde la función. Las docs nuevas y actualizadas están en la sección del tutorial Custom Response - HTML, Stream, File, others, en RedirectResponse y en FileResponse. PR #3457 por @tiangolo.

Correcciones

  • 🐛 Corregir include/exclude para dicts en jsonable_encoder. PR #2016 por @Rubikoid.
  • 🐛 Soportar campos personalizados de OpenAPI / JSON Schema en la salida generada de OpenAPI. PR #1429 por @jmagnusson.

Traducciones

  • 🌐 Añadir traducción al español de tutorial/query-params.md. PR #2243 por @mariacamilagl.
  • 🌐 Añadir traducción al español de advanced/response-directly.md. PR #1253 por @jfunez.
  • 🌐 Añadir traducción al español de advanced/additional-status-codes.md. PR #1252 por @jfunez.
  • 🌐 Añadir traducción al español de advanced/path-operation-advanced-configuration.md. PR #1251 por @jfunez.

0.65.3 (2021-07-03)

Correcciones

  • ♻ Asumir que los cuerpos de petición contienen JSON cuando no se proporciona la cabecera Content-Type. Esto corrige un cambio que rompía compatibilidad introducido por 0.65.2 con PR #2118. Debería permitir actualizar aplicaciones FastAPI con clientes que envían datos JSON sin una cabecera Content-Type. Y sigue habiendo protección contra CSRFs. PR #3456 por @tiangolo.

Traducciones

  • 🌐 Iniciar traducciones al indonesio. PR #3014 por @pace-noge.
  • 🌐 Añadir traducción al español del Tutorial - Path Parameters. PR #2219 por @mariacamilagl.
  • 🌐 Añadir traducción al español del Tutorial - First Steps. PR #2208 por @mariacamilagl.
  • 🌐 Traducción al portugués del Tutorial - Body - Fields. PR #3420 por @ComicShrimp.
  • 🌐 Añadir traducción al chino del Tutorial - Request - Forms - and - Files. PR #3249 por @jaystone776.
  • 🌐 Añadir traducción al chino del Tutorial - Handling - Errors. PR #3299 por @jaystone776.
  • 🌐 Añadir traducción al chino del Tutorial - Form - Data. PR #3248 por @jaystone776.
  • 🌐 Añadir traducción al chino del Tutorial - Body - Updates. PR #3237 por @jaystone776.
  • 🌐 Añadir traducción al chino de FastAPI People. PR #3112 por @hareru.
  • 🌐 Añadir traducción al francés de Project Generation. PR #3197 por @Smlep.
  • 🌐 Añadir traducción al francés de Python Types Intro. PR #3185 por @Smlep.
  • 🌐 Añadir traducción al francés de External Links. PR #3103 por @Smlep.
  • 🌐 Añadir traducción al francés de Alternatives, Inspiration and Comparisons. PR #3020 por @rjNemo.
  • 🌐 Corregir la discrepancia del snippet de código en la traducción al chino del Tutorial - Python Types Intro. PR #2573 por @BoYanZh.
  • 🌐 Añadir traducción al portugués de Development Contributing. PR #1364 por @Serrones.
  • 🌐 Añadir traducción al chino del Tutorial - Request - Files. PR #3244 por @jaystone776.

Interno

0.65.2 (2021-06-09)

Correcciones de seguridad

  • 🔒 Verificar la cabecera Content-Type de la petición antes de asumir JSON. PR inicial #2118 por @patrickkwang.

Este cambio corrige una vulnerabilidad de seguridad de CSRF cuando se usan cookies para autenticación en path operations con payloads JSON enviados por navegadores.

En versiones anteriores a 0.65.2, FastAPI intentaría leer el payload de la petición como JSON incluso si la cabecera content-type enviada no estaba establecida en application/json o un tipo de media compatible con JSON (ej. application/geo+json).

Así, una petición con un content type de text/plain conteniendo datos JSON sería aceptada y los datos JSON serían extraídos.

Pero las peticiones con content type text/plain están exentas de los preflights de CORS, por ser consideradas Simple requests. Por lo tanto, el navegador las ejecutaría de inmediato incluyendo las cookies, y el contenido de texto podría ser un string JSON que sería parseado y aceptado por la aplicación FastAPI.

Ver CVE-2021-32677 para más detalles.

¡Gracias a Dima Boger por el reporte de seguridad! 🙇🔒

Interno

  • 🔧 Actualizar la insignia de patrocinadores, bundle de cursos. PR #3340 por @tiangolo.
  • 🔧 Añadir nuevo patrocinador oro Jina 🎉. PR #3291 por @tiangolo.
  • 🔧 Añadir nueva insignia de patrocinador banner para el bundle de cursos de FastAPI. PR #3288 por @tiangolo.
  • 👷 Actualizar la GitHub Action Issue Manager. PR #3236 por @tiangolo.

0.65.1 (2021-05-11)

Correcciones de seguridad

0.65.0 (2021-05-10)

Cambios que rompen compatibilidad - Actualización

  • ⬆️ Actualizar Starlette a 0.14.2, incluyendo el UJSONResponse interno migrado de Starlette. Esto incluye varias correcciones de bugs y características de Starlette. PR #2335 por @hanneskuettner.

Traducciones

  • 🌐 Iniciar el nuevo idioma polaco para traducciones. PR #3170 por @neternefer.

Interno

  • 👷 Añadir caché de GitHub Action para acelerar las instalaciones del CI. PR #3204 por @tiangolo.
  • ⬆️ Actualizar la GitHub Action setup-python a v2. PR #3203 por @tiangolo.
  • 🐛 Corregir el script de la docs para generar un nuevo idioma de traducción con el boilerplate de overrides. PR #3202 por @tiangolo.
  • ✨ Añadir nueva insignia de banner de Deta con nuevo nivel de patrocinio 🙇. PR #3194 por @tiangolo.
  • 👥 Actualizar FastAPI People. PR #3189 por @github-actions[bot].
  • 🔊 Actualizar FastAPI People para permitir mejor depuración. PR #3188 por @tiangolo.

0.64.0 (2021-05-07)

Características

Correcciones

  • 📌 Fijar el rango de SQLAlchemy para tests, ya que no usa SemVer. PR #3001 por @tiangolo.
  • 🎨 Añadir las anotaciones de tipo recién requeridas para mypy. PR #2882 por @tiangolo.
  • 🎨 Eliminar el "type: ignore" interno, ahora innecesario. PR #2424 por @AsakuraMizu.

Docs

  • 📝 Añadir enlace al artículo en ruso "FastAPI: знакомимся с фреймворком". PR #2564 por @trkohler.
  • 📝 Añadir enlace externo al blog post "Authenticate Your FastAPI App with Auth0". PR #2172 por @dompatmore.
  • 📝 Corregir enlace roto al artículo: Machine learning model serving in Python using FastAPI and Streamlit. PR #2557 por @davidefiocco.
  • 📝 Añadir artículo de Medium sobre FastAPI: Deploy a dockerized FastAPI application to AWS. PR #2515 por @vjanz.
  • ✏ Corregir typo en el Tutorial - Handling Errors. PR #2486 por @johnthagen.
  • ✏ Corregir typo en los scopes de OAuth2 del Security. PR #2407 por @jugmac00.
  • ✏ Corregir typo/aclarar la docs de SQL (Relational) Databases. PR #2393 por @kangni.
  • 📝 Añadir enlace externo a "FastAPI for Flask Users". PR #2280 por @amitness.

Traducciones

  • 🌐 Corregir traducción al chino del Tutorial - Query Parameters, eliminar contenido obsoleto. PR #3051 por @louis70109.
  • 🌐 Añadir traducción al francés del Tutorial - Background Tasks. PR #3098 por @Smlep.
  • 🌐 Corregir traducción al coreano de docs/ko/docs/index.md. PR #3159 por @SueNaEunYang.
  • 🌐 Añadir traducción al coreano del Tutorial - Query Parameters. PR #2390 por @hard-coders.
  • 🌐 Añadir traducción al francés de FastAPI People. PR #2232 por @JulianMaurin.
  • 🌐 Añadir traducción al coreano del Tutorial - Path Parameters. PR #2355 por @hard-coders.
  • 🌐 Añadir traducción al francés de Features. PR #2157 por @Jefidev.
  • 👥 Actualizar FastAPI People. PR #3031 por @github-actions[bot].
  • 🌐 Añadir traducción al chino del Tutorial - Debugging. PR #2737 por @blt232018.
  • 🌐 Añadir traducción al chino del Tutorial - Security - OAuth2 with Password (and hashing), Bearer with JWT tokens. PR #2642 por @waynerv.
  • 🌐 Añadir traducción al coreano del Tutorial - Header Parameters. PR #2589 por @mode9.
  • 🌐 Añadir traducción al chino del Tutorial - Metadata and Docs URLs. PR #2559 por @blt232018.
  • 🌐 Añadir traducción al coreano del Tutorial - First Steps. PR #2323 por @hard-coders.
  • 🌐 Añadir traducción al chino del Tutorial - CORS (Cross-Origin Resource Sharing). PR #2540 por @blt232018.
  • 🌐 Añadir traducción al chino del Tutorial - Middleware. PR #2334 por @lpdswing.
  • 🌐 Añadir traducción al coreano del Tutorial - Intro. PR #2317 por @hard-coders.
  • 🌐 Añadir traducción al chino del Tutorial - Bigger Applications - Multiple Files. PR #2453 por @waynerv.
  • 🌐 Añadir traducción al chino del Tutorial - Security - Security Intro. PR #2443 por @waynerv.
  • 🌐 Añadir traducción al chino del Tutorial - Header Parameters. PR #2412 por @maoyibo.
  • 🌐 Añadir traducción al chino del Tutorial - Extra Data Types. PR #2410 por @maoyibo.
  • 🌐 Añadir traducción al japonés de Deployment - Docker. PR #2312 por @tokusumi.
  • 🌐 Añadir traducción al japonés de Deployment - Versions. PR #2310 por @tokusumi.
  • 🌐 Añadir traducción al chino del Tutorial - Cookie Parameters. PR #2261 por @alicrazy1947.
  • 🌐 Añadir traducción al japonés del Tutorial - Static files. PR #2260 por @tokusumi.
  • 🌐 Añadir traducción al japonés del Tutorial - Testing. PR #2259 por @tokusumi.
  • 🌐 Añadir traducción al japonés del Tutorial - Debugging. PR #2256 por @tokusumi.
  • 🌐 Añadir traducción al japonés del Tutorial - Middleware. PR #2255 por @tokusumi.
  • 🌐 Añadir traducción al japonés de Concurrency and async / await. PR #2058 por @tokusumi.
  • 🌐 Añadir traducción al chino del Tutorial - Security - Simple OAuth2 with Password and Bearer. PR #2514 por @waynerv.
  • 🌐 Añadir traducción al japonés de Deployment - Deta. PR #2314 por @tokusumi.
  • 🌐 Añadir traducción al chino del Tutorial - Security - Get Current User. PR #2474 por @waynerv.
  • 🌐 Añadir traducción al japonés de Deployment - Manually. PR #2313 por @tokusumi.
  • 🌐 Añadir traducción al japonés de Deployment - Intro. PR #2309 por @tokusumi.
  • 🌐 Añadir traducción al japonés de FastAPI People. PR #2254 por @tokusumi.
  • 🌐 Añadir traducción al japonés de Advanced - Path Operation Advanced Configuration. PR #2124 por @Attsun1031.
  • 🌐 Añadir traducción al japonés de External Links. PR #2070 por @tokusumi.
  • 🌐 Añadir traducción al japonés del Tutorial - Body - Updates. PR #1956 por @SwftAlpc.
  • 🌐 Añadir traducción al japonés del Tutorial - Form Data. PR #1943 por @SwftAlpc.
  • 🌐 Añadir traducción al japonés del Tutorial - Cookie Parameters. PR #1933 por @SwftAlpc.

Interno

0.63.0 (2020-12-20)

Características

  • ✨ Mejorar las anotaciones de tipo, añadir soporte para mypy --strict, internamente y para paquetes externos. PR #2547 por @tiangolo.

Cambios que rompen compatibilidad

  • ⬆️ Actualizar Uvicorn al instalar fastapi[all] a la última versión incluyendo uvloop, el nuevo rango es uvicorn[standard] >=0.12.0,<0.14.0. PR #2548 por @tiangolo.

Correcciones

  • 🐛 El PR #2547 (leer arriba) también corrige algunos errores de falso positivo de mypy con parámetros callbacks y al usar la clase OAuth2.

Docs

  • 📝 Actualizar las instrucciones de instalación de Uvicorn para usar uvicorn[standard] (incluye uvloop). PR #2543 por @tiangolo.
  • 📝 Actualizar el título del tutorial de Deta. PR #2466 por @tiangolo.
  • 👥 Actualizar FastAPI People. PR #2454 por @github-actions[bot].

Traducciones

  • 🌐 Añadir widget de selector de idioma a la docs. PR #2542 por @tiangolo.
  • 🌐 Añadir traducción al chino del Tutorial - Response Status Code. PR #2442 por @waynerv.
  • 🌐 Iniciar la traducción de la documentación para el idioma albanés. PR #2516 por @vjanz.
  • 🌐 Añadir traducción al chino del Tutorial - Extra Models. PR #2416 por @waynerv.
  • 🌐 Añadir traducción al chino del Tutorial - Response Model. PR #2414 por @waynerv.
  • 🌐 Añadir traducción al chino del Tutorial - Schema Extra Example. PR #2411 por @maoyibo.
  • 🌐 Añadir traducción al coreano de Index. PR #2192 por @hard-coders.
  • 🌐 Añadir traducción al japonés de Advanced User Guide - Additional Status Codes. PR #2145 por @Attsun1031.

Interno

  • 🐛 Corregir el directorio de overrides de la docs para traducciones. PR #2541 por @tiangolo.
  • ➖ Eliminar Typer como dependencia de construcción de la docs (cubierto por typer-cli) para corregir conflictos del resolver de pip. PR #2539 por @tiangolo.
  • ✨ Añadir newsletter: FastAPI and friends. PR #2509 por @tiangolo.
  • ✨ Añadir nuevo patrocinador Oro: InvestSuite 🎉. PR #2508 por @tiangolo.
  • 🔧 Añadir configuraciones de plantillas de issues. PR #2476 por @tiangolo.

0.62.0 (2020-11-29)

Características

  • ✨ Añadir soporte para parámetros compartidos/de nivel superior (dependencias, etiquetas, etc). PR #2434 por @tiangolo.

Hasta ahora, para varias opciones, la única forma de aplicarlas a un grupo de path operations era en include_router. Eso funciona bien, pero la llamada a app.include_router() o router.include_router() normalmente se hace en otro archivo.

Eso significa que, por ejemplo, para aplicar autenticación a todas las path operations en un router terminaría haciéndose en un archivo diferente, en lugar de mantener la lógica relacionada junta.

Establecer opciones en include_router aún tiene sentido en algunos casos, por ejemplo, para sobrescribir o aumentar configuraciones de un router de terceros incluido en una app. Pero en un router que es parte de una aplicación más grande, probablemente tendría más sentido añadir esos ajustes al crear el APIRouter.

In FastAPI

Esto permite configurar los parámetros (mayormente nuevos) (además de los parámetros ya existentes):

  • default_response_class: actualizado para manejar los valores por defecto en APIRouter y include_router.
  • dependencies: para incluir ✨ dependencias de nivel superior ✨ que aplican a toda la aplicación. Ej. para añadir autenticación global.
  • callbacks: callbacks de OpenAPI que aplican a todas las path operations.
  • deprecated: para marcar todas las path operations como deprecadas. 🤷
  • include_in_schema: para permitir excluir todas las path operations del esquema OpenAPI.
  • responses: respuestas de OpenAPI que aplican a todas las path operations.

Por ejemplo:

from fastapi import FastAPI, Depends


async def some_dependency():
    return


app = FastAPI(dependencies=[Depends(some_dependency)])

In APIRouter

Esto permite configurar los parámetros (mayormente nuevos) (además de los parámetros ya existentes):

  • default_response_class: actualizado para manejar los valores por defecto en APIRouter y include_router. Por ejemplo, no es necesario establecerlo explícitamente al crear callbacks.
  • dependencies: para incluir ✨ dependencias a nivel de router ✨ que aplican a todas las path operations en un router. Hasta ahora, esto solo era posible con include_router.
  • callbacks: callbacks de OpenAPI que aplican a todas las path operations en este router.
  • deprecated: para marcar todas las path operations en un router como deprecadas.
  • include_in_schema: para permitir excluir todas las path operations en un router del esquema OpenAPI.
  • responses: respuestas de OpenAPI que aplican a todas las path operations en un router.
  • prefix: para establecer el prefijo de ruta para un router. Hasta ahora, esto solo era posible al llamar include_router.
  • tags: etiquetas de OpenAPI para aplicar a todas las path operations en este router.

Por ejemplo:

from fastapi import APIRouter, Depends


async def some_dependency():
    return


router = APIRouter(prefix="/users", dependencies=[Depends(some_dependency)])

In include_router

La mayoría de estos ajustes ahora están soportados en APIRouter, que normalmente vive más cerca del código relacionado, por lo que se recomienda usar APIRouter cuando sea posible.

Pero include_router sigue siendo útil para, por ejemplo, añadir opciones (como dependencies, prefix, y tags) al incluir un router de terceros, o un router genérico que se comparte entre varios proyectos.

Este PR permite configurar los parámetros (mayormente nuevos) (además de los parámetros ya existentes):

  • default_response_class: actualizado para manejar los valores por defecto en APIRouter y FastAPI.
  • deprecated: para marcar todas las path operations en un router como deprecadas en OpenAPI.
  • include_in_schema: para permitir deshabilitar que todas las path operations se muestren en el esquema OpenAPI.
  • callbacks: callbacks de OpenAPI que aplican a todas las path operations en este router.

Nota: todos los parámetros anteriores siguen ahí, por lo que sigue siendo posible declarar dependencies en include_router.

Cambios Importantes

  • PR #2434 includes several improvements that shouldn't affect normal use cases, but could affect in advanced scenarios:
    • Si estás testeando el OpenAPI generado (no deberías, FastAPI ya lo testea extensivamente por ti): el orden de las tags en include_router y las path operations fue actualizado por consistencia, pero es un simple cambio de orden.
    • Si tienes lógica personalizada avanzada para acceder al route.response_class de cada ruta, o al router.default_response_class, o al app.default_response_class: el valor por defecto para response_class en APIRoute y para default_response_class en APIRouter y FastAPI es ahora un DefaultPlaceholder usado internamente para manejar y resolver los valores por defecto y las sobrescrituras. La clase de respuesta real dentro del DefaultPlaceholder está disponible en route.response_class.value.

Docs

Traducciones

  • 🌐 Añadir traducción al japonés de Advanced - Custom Response. PR #2193 por @Attsun1031.
  • 🌐 Añadir traducción al chino de Benchmarks. PR #2119 por @spaceack.
  • 🌐 Añadir traducción al chino del Tutorial - Body - Nested Models. PR #1609 por @waynerv.
  • 🌐 Añadir traducción al chino de Advanced - Custom Response. PR #1459 por @RunningIkkyu.
  • 🌐 Añadir traducción al chino de Advanced - Return a Response Directly. PR #1452 por @RunningIkkyu.
  • 🌐 Añadir traducción al chino de Advanced - Additional Status Codes. PR #1451 por @RunningIkkyu.
  • 🌐 Añadir traducción al chino de Advanced - Path Operation Advanced Configuration. PR #1447 por @RunningIkkyu.
  • 🌐 Añadir traducción al chino de Advanced User Guide - Intro. PR #1445 por @RunningIkkyu.

Interno

  • 🔧 Actualizar el enlace de TestDriven al curso en la sección de patrocinadores. PR #2435 por @tiangolo.
  • 🍱 Actualizar logos de patrocinadores. PR #2418 por @tiangolo.
  • 💚 Corregir la deshabilitación de la instalación de Material for MkDocs Insiders en forks, intento 1 ⚾. PR #2340 por @tiangolo.
  • 🐛 Corregir la deshabilitación de la instalación de Material for MkDocs Insiders en forks. PR #2339 por @tiangolo.
  • ✨ Añadir patrocinador plata WeTransfer. PR #2338 por @tiangolo.
  • ✨ Configurar y habilitar Material for MkDocs Insiders para la docs. PR #2325 por @tiangolo.

0.61.2 (2020-11-05)

Correcciones

  • 📌 Relajar el pin de versión de Swagger UI. PR #2089 por @jmriebold.
  • 🐛 Corregir bug al sobrescribir HTTPException y RequestValidationError personalizados desde exception_handlers. PR #1924 por @uriyyo.
  • ✏️ Corregir typo en las utils de dependencias y limpiar variable sin usar. PR #1912 por @Kludex.

Docs

  • ✏️ Corregir typo en el Tutorial - Path Parameters. PR #2231 por @mariacamilagl.
  • ✏ Corregir un error estilístico en la docs. PR #2206 por @ddobrinskiy.
  • ✏ Corregir typo de capitalización en la docs. PR #2204 por @imba-tjd.
  • ✏ Corregir typo en la docs. PR #2179 por @ammarasmro.
  • 📝 Actualizar/corregir enlaces en la docs para usar HTTPS. PR #2165 por @imba-tjd.
  • ✏ Corregir typos y añadir reformulaciones en la docs. PR #2159 por @nukopy.
  • 📝 Corregir consistencia del código en ejemplos del Tutorial - User Guide - Path Parameters. PR #2158 por @nukopy.
  • 📝 Corregir typo del parámetro renombrado content_type. PR #2135 por @TeoZosa.
  • ✏ Corregir typos menores en la docs. PR #2122 por @TeoZosa.
  • ✏ Corregir typos en la docs y ejemplos de código. PR #2102 por @AdrianDeAnda.
  • ✏ Corregir URLs incorrectas de Celery en la docs. PR #2100 por @CircleOnCircles.
  • 📝 Simplificar la intro a Python Types, todas las versiones de Python actualmente soportadas incluyen type hints 🎉. PR #2085 por @ninjaaron.
  • 📝 Corregir código de ejemplo con sets en el Tutorial - Body - Nested Models 3. PR #2054 por @hitrust.
  • 📝 Corregir código de ejemplo con sets en el Tutorial - Body - Nested Models 2. PR #2053 por @hitrust.
  • 📝 Corregir código de ejemplo con sets en el Tutorial - Body - Nested Models. PR #2052 por @hitrust.
  • ✏ Corregir typo en Benchmarks. PR #1995 por @AlejoAsd.
  • 📝 Añadir nota en el tutorial de CORS sobre allow_origins con ["*"] y allow_credentials. PR #1895 por @dsmurrell.
  • 📝 Añadir despliegue a Deta, el primer patrocinador oro 🎉. PR #2303 por @tiangolo.
  • 👥 Actualizar FastAPI People. PR #2282 por @github-actions[bot].
  • ✏️ Corregir mayúsculas en el Tutorial - Query parameters. PR #2245 por @mariacamilagl.
  • 📝 Añadir artículos a External Links. PR #2247 por @tiangolo.
  • ✏ Corregir typo en el índice del tutorial en español. PR #2020 por @aviloncho.

Traducciones

  • 🌐 Añadir traducción al japonés de Advanced Tutorial - Response Directly. PR #2191 por @Attsun1031.
  • 📝 Añadir traducción al japonés del Tutorial - Security - First Steps. PR #2153 por @komtaki.
  • 🌐 Añadir traducción al japonés del Tutorial - Query Parameters and String Validations. PR #1901 por @SwftAlpc.
  • 🌐 Añadir traducción al portugués de External Links. PR #1443 por @Serrones.
  • 🌐 Añadir traducción al japonés del Tutorial - CORS. PR #2125 por @tokusumi.
  • 🌐 Añadir traducción al japonés de Contributing. PR #2067 por @komtaki.
  • 🌐 Añadir traducción al japonés de Project Generation. PR #2050 por @tokusumi.
  • 🌐 Añadir traducción al japonés de Alternatives. PR #2043 por @Attsun1031.
  • 🌐 Añadir traducción al japonés de History Design and Future. PR #2002 por @komtaki.
  • 🌐 Añadir traducción al japonés de Benchmarks. PR #1992 por @komtaki.
  • 🌐 Añadir traducción al japonés del Tutorial - Header Parameters. PR #1935 por @SwftAlpc.
  • 🌐 Añadir traducción al portugués del Tutorial - First Steps. PR #1861 por @jessicapaz.
  • 🌐 Añadir traducción al portugués de Python Types. PR #1796 por @izaguerreiro.
  • 🌐 Añadir traducción al japonés de Help FastAPI. PR #1692 por @tokusumi.
  • 🌐 Añadir traducción al japonés del Tutorial - Body. PR #1683 por @tokusumi.
  • 🌐 Añadir traducción al japonés del Tutorial - Query Params. PR #1674 por @tokusumi.
  • 🌐 Añadir traducción al japonés de tutorial/path-params.md. PR #1671 por @tokusumi.
  • 🌐 Añadir traducción al japonés de tutorial/first-steps.md. PR #1658 por @tokusumi.
  • 🌐 Añadir traducción al japonés de tutorial/index.md. PR #1656 por @tokusumi.
  • 🌐 Añadir traducción al portugués de Project Generation. PR #1602 por @Serrones.
  • 🌐 Añadir traducción al japonés de Features. PR #1625 por @tokusumi.
  • 🌐 Iniciar el nuevo idioma coreano para traducciones. PR #2018 por @hard-coders.
  • 🌐 Añadir traducción al portugués de Deployment. PR #1374 por @Serrones.

Interno

  • 🔥 Limpiar después de actualizar la GitHub Action de Docs Previews. PR #2248 por @tiangolo.
  • 🐛 Corregir el preview de la docs en CI, descomprimir docs. PR #2246 por @tiangolo.
  • ✨ Añadir previews instantáneos de despliegue de docs para PRs desde forks. PR #2244 por @tiangolo.
  • ⚡️ Construir docs para idiomas en paralelo en subprocesos para acelerar el CI. PR #2242 por @tiangolo.
  • 🐛 Corregir la generación del orden de docs para traducciones parciales. PR #2238 por @tiangolo.
  • 👥 Actualizar FastAPI People. PR #2202 por @github-actions[bot].
  • ♻️ Actualizar la GitHub Action de FastAPI People para enviar el PR como github-actions. PR #2201 por @tiangolo.
  • 🔧 Actualizar la configuración de la GitHub Action de FastAPI People, ejecutar mensualmente. PR #2199 por @tiangolo.
  • 🐛 Corregir la dependencia Docker de la GitHub Action de FastAPI People, intento 1 ⚾. PR #2198 por @tiangolo.
  • 🐛 Corregir las dependencias Docker de la GitHub Action de FastAPI People. PR #2197 por @tiangolo.
  • 🐛 Corregir la GitHub Action de FastAPI People cuando no hay nada que cambiar. PR #2196 por @tiangolo.
  • 👥 Añadir nueva sección FastAPI People. PR #2195 por @tiangolo.
  • ⬆️ Actualizar la GitHub Action Latest Changes. PR #2190 por @tiangolo.
  • ⬆️ Actualizar la GitHub Action Label Approved. PR #2189 por @tiangolo.
  • 🔧 Actualizar la GitHub Action Label Approved, ejecutar a las 12:00. PR #2185 por @tiangolo.
  • 👷 Actualizar la GitHub Action Latest Changes. PR #2184 por @tiangolo.
  • 👷 Configurar la GitHub Action Label Approved para ejecutarse diariamente, no cada minuto. PR #2163 por @tiangolo.
  • 🔥 Eliminar la GitHub Action pr-approvals ya que no es compatible con forks. Usar la nueva. PR #2162 por @tiangolo.
  • 👷 Añadir GitHub Action Latest Changes. PR #2160.
  • 👷 Añadir GitHub Action Label Approved. PR #2161.

0.61.1 (2020-08-29)

Correcciones

  • Corregir issues al usar jsonable_encoder con modelos de SQLAlchemy directamente. PR #1987.

Docs

Traducciones

Interno

  • Mejorar el mantenimiento de la docs actualizando la sintaxis de hl_lines para usar rangos. PR #1863 por @la-mar.

0.61.0 (2020-08-09)

Características

  • Añadir soporte para inyectar HTTPConnection (como Request y WebSocket). Útil para compartir el estado de la app en dependencias. PR #1827 por @nsidnev.
  • Exportar WebSocketDisconnect y añadir manejo de desconexiones de WebSocket a la docs. PR #1822 por @rkbeatss.

Cambios Importantes

  • Require Pydantic > 1.0.0.
    • Eliminar el soporte para Pydantic 0.32.2 deprecado. Esto mejora el mantenimiento y permite nuevas características.
    • In FastAPI and APIRouter:
      • Eliminar el parámetro relacionado/deprecado de los path operation decorators response_model_skip_defaults (usar response_model_exclude_unset en su lugar).
      • Cambiar el valor por defecto del parámetro de los path operation decorators para response_model_exclude de set() a None (como está en Pydantic).
    • In encoders.jsonable_encoder:
      • Eliminar skip_defaults deprecado, usar en su lugar exclude_unset.
      • Establecer el valor por defecto de exclude de set() a None (como está en Pydantic).
    • PR #1862.
  • In encoders.jsonable_encoder remove parameter sqlalchemy_safe.
    • Era un hack temprano para permitir retornar modelos de SQLAlchemy, pero nunca fue documentado, y la forma recomendada es usar orm_mode de Pydantic como se describe en el tutorial: SQL (Relational) Databases.
    • PR #1864.

Docs

Interno

  • Añadir linting con Flake8. PR original #1774 por @MashhadiNima.
  • Deshabilitar el bot de Gitter, ya que está roto actualmente, y la respuesta de Gitter no muestra el problema. PR #1853.

0.60.2 (2020-08-08)

  • Corregir typo en la docs de query parameters. PR #1832 por @ycd.
  • Añadir docs sobre Async Tests. PR #1619 por @empicano.
  • Raise an exception when using form data (Form, File) without having python-multipart installed.
    • Hasta ahora la aplicación se ejecutaría, y lanzaría una excepción solo al recibir una petición con datos de formulario, el nuevo comportamiento, lanzando temprano, prevenirá desplegar aplicaciones con dependencias rotas.
    • También detecta si el paquete correcto python-multipart está instalado en lugar del incorrecto multipart (ambos importables como multipart).
    • PR #1851 basado en el PR original #1627 por @chrisngyn, @YKo20010, @kx-chen.
  • Re-habilitar el bot de releases de Gitter. PR #1831.
  • Añadir enlace al tutorial de bases de datos SQL asíncronas desde el tutorial principal de SQL. PR #1813 por @short2strings.
  • Corregir typo en el tutorial sobre estar detrás de un proxy. PR #1807 por @toidi.
  • Corregir typo en la docs en portugués. PR #1795 por @izaguerreiro.
  • Añadir configuración de traducciones para ucraniano. PR #1830.
  • Añadir enlace externo Build And Host Fast Data Science Applications Using FastAPI. PR #1786 por @Kludex.
  • Corregir la codificación de modelos de Pydantic que heredan de otros modelos con json_encoders personalizados. PR #1769 por @henrybetts.
  • Simplificar y mejorar jsonable_encoder. PR #1754 por @MashhadiNima.
  • Simplificar la sintaxis del código interno en varios puntos. PR #1753 por @uriyyo.
  • Mejorar el tipado interno, declarar parámetros Optional. PR #1731 por @MashhadiNima.
  • Añadir enlace externo Deploy FastAPI on Azure App Service a la docs. PR #1726 por @windson.
  • Añadir enlace a la docs de Starlette sobre testing de WebSocket. PR #1717 por @hellocoldworld.
  • Refactorizar la generación del dependant, fusionar bucles for. PR #1714 por @Bloodielie.
  • Actualizar el ejemplo de plantillas con Jinja para incluir el media type HTML. PR #1690 por @frafra.
  • Corregir typos en la docs de seguridad. PR #1678 por @nilslindemann.
  • Corregir typos en la docs de dependencias. PR #1675 por @nilslindemann.
  • Corregir la anotación de tipo para los parámetros **extra en FastAPI. PR #1659 por @bharel.
  • Actualizar MkDocs Material para corregir la docs en navegadores con modo oscuro. PR #1789 por @adriencaccia.
  • Eliminar el comentario de preview de docs de cada commit. PR #1826.
  • Actualizar la extracción del contexto de GitHub para el bot de notificación de Gitter. PR #1766.

0.60.1 (2020-07-22)

  • Añadir logs de depuración para las GitHub actions para inspeccionar el contexto oculto de GitHub. PR #1764.
  • Usar el tema preferido del SO para la docs online. PR #1760 por @adriencaccia.
  • Actualizar Starlette a la versión 0.13.6 para manejar una vulnerabilidad al usar archivos estáticos en Windows. PR #1759 por @jamesag26.
  • Fijar Swagger UI temporalmente, esperando una solución para swagger-api/swagger-ui#6249. PR #1763.
  • Actualizar GitHub Actions, usar el commit del PR para la vista previa de docs, no el commit del pre-merge. PR #1761.
  • Actualizar GitHub Actions, refactorizar el bot de Gitter. PR #1746.

0.60.0 (2020-07-20)

  • Añadir GitHub Action para detectar docs de vista previa faltantes y disparar un deploy de vista previa. PR #1740.
  • Añadir GitHub Action personalizado para obtener el artefacto con la vista previa de docs. PR #1739.
  • Añadir nuevos GitHub Actions para previsualizar docs desde PRs. PR #1738.
  • Añadir cobertura de pruebas XML para soportar GitHub Actions. PR #1737.
  • Actualizar insignias y eliminar Travis ahora que GitHub Actions es el CI principal. PR #1736.
  • Añadir GitHub Actions para CI, migrar desde Travis. PR #1735.
  • Añadir soporte para agregar el esquema OpenAPI para peticiones GET con un body. PR #1626 por @victorphoenix3.

0.59.0 (2020-07-10)

  • Corregir un error tipográfico en el docstring de las utilidades de OAuth2. PR #1621 por @tomarv2.
  • Actualizar la documentación de JWT para usar Python-jose en lugar de PyJWT. PR inicial #1610 por @asheux.
  • Corregir/reactivar la barra de búsqueda en la documentación. PR #1703.
  • Auto-generate a "server" in OpenAPI servers when there's a root_path instead of prefixing all the paths:
    • Añadir un nuevo parámetro para las clases de FastAPI: root_path_in_servers para deshabilitar la auto-generación de servers.
    • Nueva documentación sobre root_path y servers en Additional Servers.
    • Actualizar los ejemplos de OAuth2 para usar una URL relativa para tokenUrl="token" para asegurar que esos ejemplos sigan funcionando tal cual incluso detrás de un reverse proxy.
    • PR inicial #1596 por @rkbeatss.
  • Corregir un error tipográfico/enlace en External Links. PR #1702.
  • Actualizar el manejo de External Links para usar un archivo de datos y permitir traducir los encabezados sin que queden obsoletos rápidamente cuando se añaden nuevos enlaces. PR #https://github.com/tiangolo/fastapi/pull/1701.
  • Añadir enlace externo Machine learning model serving in Python using FastAPI and Streamlit a la documentación. PR #1669 por @davidefiocco.
  • Añadir una nota en la documentación sobre el orden en las Unions de Pydantic. PR #1591 por @kbanc.
  • Mejorar el soporte para pruebas en el editor. PR #1699.
  • Fijar dependencias. PR #1697.
  • Actualizar isort a la versión 5.x.x. PR #1670 por @asheux.

0.58.1 (2020-06-28)

0.58.0 (2020-06-15)

  • Hacer un merge profundo de las respuestas OpenAPI para preservar todos los metadatos adicionales. PR #1577.
  • Mencionar en la documentación que solo los eventos de la app principal se ejecutan (no las sub-apps). PR #1554 por @amacfie.
  • Corregir la respuesta de error de validación del body, no incluir la variable body cuando no está embebida. PR #1553 por @amacfie.
  • Corregir la prueba de los scopes de seguridad de OAuth2 cuando se usan dependencia overrides. PR #1549 por @amacfie.
  • Corregir el modelo para la palabra clave not de JSON Schema como un JSON Schema en lugar de una lista. PR #1548 por @v-do.
  • Añadir soporte para servers de OpenAPI. PR #1547 por @mikaello.

0.57.0 (2020-06-13)

0.56.1 (2020-06-12)

0.56.0 (2020-06-11)

0.55.1 (2020-05-23)

0.55.0 (2020-05-23)

0.54.2 (2020-05-16)

0.54.1 (2020-04-08)

  • Actualizar la configuración de pruebas de base de datos. PR #1226.
  • Mejorar el debugging de pruebas mostrando el texto de la respuesta en las pruebas que fallan. PR #1222 por @samuelcolvin.

0.54.0 (2020-04-05)

0.53.2 (2020-03-30)

  • Corregir el embebido automático de campos del body para dependencias y sub-dependencias. PR original #1079 por @Toad2186.
  • Corregir las dependencia overrides en pruebas de WebSocket. PR #1122 por @amitlissack.
  • Corregir el script de docs para asegurar que los idiomas siempre estén ordenados. PR #1189.
  • Iniciar traducciones al chino. PR #1187 por @RunningIkkyu.
  • Añadir documentación para Schema Extra - Example. PR #1185.

0.53.1 (2020-03-29)

0.53.0 (2020-03-27)

0.52.0 (2020-03-01)

0.51.0 (2020-03-01)

  • Re-export utils from Starlette:
    • Esto permite usar cosas como from fastapi.responses import JSONResponse en lugar de from starlette.responses import JSONResponse.
    • Es principalmente syntactic sugar, una conveniencia para la experiencia del desarrollador.
    • Ahora Request, Response, WebSocket, status pueden ser importados directamente desde fastapi como en from fastapi import Response. Esto es porque se usan frecuentemente, para usar el request directamente, para establecer encabezados y cookies, para obtener códigos de estado, etc.
    • Documentation changes in many places, but new docs and noticeable improvements:
    • PR #1064.

0.50.0 (2020-02-29)

  • Añadir enlace a las Notas de la Versión desde la documentación sobre fijar versiones para deployment. PR #1058.
  • Upgrade code to use the latest version of Starlette, including:
    • Varias correcciones de bugs.
    • Redirecciones opcionales de slashes, con o sin terminar en /.
    • Eventos para routers, "startup", y "shutdown".
    • PR #1057.
  • Añadir documentación sobre fijar versiones de FastAPI para deployment: Deployment: FastAPI versions. PR #1056.

0.49.2 (2020-02-29)

  • Corregir enlaces en las notas de la versión. PR #1052 por @sattosan.
  • Corregir un error tipográfico en las notas de la versión. PR #1051 por @sattosan.
  • Refactorizar/aclarar el nombre del parámetro serialize_response para evitar confusión. PR #1031 por @patrickmckenna.
  • Refactorizar la llamada a cada función handler de path operation en una función aislada, para simplificar el profiling. PR #1027 por @sm-Fifteen.
  • Añadir dependencias faltantes para las pruebas. PR #1026 por @sm-Fifteen.
  • Corregir la aceptación de tipos válidos para modelos de respuesta, incluyendo tipos de Python como List[int]. PR #1017 por @patrickmckenna.
  • Corregir el formato en el tutorial de SQL. PR #1015 por @vegarsti.

0.49.1 (2020-02-28)

  • Corregir parámetros duplicados en path operation cuando se usan en dependencias y en la función de path operation. PR #994 por @merowinger92.
  • Actualizar el GitHub action de deployment de vistas previas de Netlify ya que la solución ya está mergeada y hay una nueva versión. PR #1047.
  • Mover las configuraciones de mypy a un archivo de configuración. PR #987 por @hukkinj1.
  • Solución temporal para las vistas previas de Netlify no deployables desde PRs de forks. PR #1046 por @mariacamilagl.

0.49.0 (2020-02-16)

0.48.0 (2020-02-04)

0.47.1 (2020-01-18)

  • Corregir el filtrado de modelos en response_model, clonando sub-modelos. PR #889.
  • Corregir la serialización de FastAPI de modelos de Pydantic usando modo ORM bloqueando el event loop. PR #888.

0.47.0 (2020-01-18)

  • Refactorizar la documentación para hacer un Tutorial - User Guide más simple y corto y una Advanced User Guide adicional con toda la documentación adicional. PR #887.
  • Ajustar enlaces externos, formato Markdown, errores tipográficos. PR #881.
  • Corregir un bug en el tutorial que maneja HTTP Basic Auth username y password. PR #865 por @isaevpd.
  • Corregir el manejo de parámetros de path operation de formulario declarados con clases puras como list, tuple, etc. PR #856 por @nsidnev.
  • Añadir el body del request a RequestValidationError, nueva documentación: Use the RequestValidationError body. PR inicial #853 por @aviramha.
  • Actualizar External Links con nuevos enlaces y proyectos dinámicos de GitHub con el topic fastapi. PR #850.
  • Corregir el manejo de contextvars de Peewee en la documentación: SQL (Relational) Databases with Peewee. PR #879.
  • Configurar el entorno de desarrollo con Venv de Python y Flit, en lugar de requerir el extra de Pipenv duplicando dependencias. Documentación actualizada: Development - Contributing. PR #877.
  • Actualizar la documentación para HTTP Basic Auth para mejorar la seguridad contra ataques de timing. PR inicial #807 por @zwass.

0.46.0 (2020-01-08)

  • Corregir errores tipográficos y ajustar configuraciones. PR #837.
  • Añadir enlace a un artículo en chino en External Links. PR 810 por @wxq0309.
  • Implementar la clase OAuth2AuthorizationCodeBearer. PR #797 por @kuwv.
  • Actualizar el ejemplo de upgrade en la página principal de la documentación. PR #795 por @cdeil.
  • Corregir el manejo de callbacks para sub-routers. PR #792 por @jekirl.
  • Corregir errores tipográficos. PR #784 por @kkinder.
  • Añadir 4 artículos en japonés a External Links. PR #783 por @HymanZHAN.
  • Añadir soporte para subtipos de tipos principales en jsonable_encoder, ej. los UUIDs de asyncpg. PR #756 por @RmStorm.
  • Corregir el uso de HttpUrl de Pydantic en la documentación. PR #832 por @Dustyposa.
  • Corregir enlaces de Twitter en la documentación. PR #813 por @justindujardin.
  • Añadir documentación para usar FastAPI correctamente con Peewee ORM. Incluyendo cómo sobrescribir partes de Peewee para manejar correctamente hilos async. PR #789.

0.45.0 (2019-12-11)

0.44.1 (2019-12-04)

  • Añadir imágenes de vista previa social de GitHub a git. PR #752.
  • Actualizar los "trove classifiers" de PyPI. PR #751.
  • Añadir soporte completo para Python 3.8. Habilitar Python 3.8 por completo en Travis. PR 749.
  • Actualizar las plantillas de "new issue". PR #749.
  • Corregir la serialización de errores para tipos exóticos de Pydantic. PR #748 por @dmontagu.

0.44.0 (2019-11-27)

  • Añadir el GitHub action Issue Manager. PR #742.
  • Corregir errores tipográficos en la documentación. PR 734 por @bundabrg.
  • Corregir el uso de custom_encoder en jsonable_encoder. PR #715 por @matrixise.
  • Corregir un ejemplo de XML inválido. PR 710 por @OcasoProtal.
  • Corregir errores tipográficos y actualizar la redacción en la documentación de deployment. PR #700 por @marier-nico.
  • Añadir una nota sobre dependencias en la documentación de APIRouter. PR #698 por @marier-nico.
  • Añadir soporte para métodos de clase async como dependencias #681 por @frankie567.
  • Añadir un cheatsheet de FastAPI con Swagger UI a los enlaces externos. PR #671 por @euri10.
  • Corregir un error tipográfico en el protocolo HTTP en el ejemplo de CORS. PR #647 por @forestmonster.
  • Añadir soporte para versiones de Pydantic 1.0.0 y superiores, con compatibilidad hacia atrás temporal (deprecada) para Pydantic 0.32.2. PR #646 por @dmontagu.

0.43.0 (2019-11-24)

0.42.0 (2019-10-09)

  • Add dependencies with yield, a.k.a. exit steps, context managers, cleanup, teardown, ...
    • Esto permite agregar código extra después de que una dependencia termina. Puede usarse, por ejemplo, para cerrar conexiones a base de datos.
    • Las dependencias con yield pueden ser normales o async, FastAPI ejecutará las dependencias normales en un threadpool.
    • Pueden combinarse con dependencias normales.
    • Es posible tener árboles/niveles arbitrarios de dependencias con yield y los pasos de salida se manejan en el orden correcto automáticamente.
    • It works by default in Python 3.7 or above. For Python 3.6, it requires the extra backport dependencies:
      • async-exit-stack
      • async-generator
    • Nueva documentación en Dependencies with yield.
    • Documentación de base de datos actualizada SQL (Relational) Databases: Main FastAPI app.
    • PR #595.
  • Corregir el sitemap.xml en el sitio web. PR #598 por @samuelcolvin.

0.41.0 (2019-10-07)

  • Upgrade required Starlette to 0.12.9, the new range is >=0.12.9,<=0.12.9.
    • Añadir State a las apps de FastAPI en app.state.
    • PR #593.
  • Improve handling of custom classes for Requests and APIRoutes.
    • This helps to more easily solve use cases like:
      • Leer un body antes y/o después de una petición (equivalente a un middleware).
      • Ejecutar código tipo middleware solo para un subconjunto de path operations.
      • Procesar un request antes de pasarlo a una path operation function. Ej. descomprimir, deserializar, etc.
      • Procesar una respuesta después de ser generada por las path operation functions pero antes de devolverla. Ej. añadir encabezados personalizados, logging, añadir metadatos adicionales.
    • Nueva sección de documentación: Custom Request and APIRoute class.
    • PR #589 por @dmontagu.
  • Corregir la preservación de la clase de ruta personalizada en routers cuando se incluyen otros sub-routers. PR #538 por @dmontagu.

0.40.0 (2019-10-04)

0.39.0 (2019-09-29)

  • Allow path parameters to have default values (e.g. None) and discard them instead of raising an error.
    • Esto permite declarar un parámetro como user_id: str = None que puede ser tomado de un query parameter, pero la misma path operation puede ser incluida en un router con una ruta /users/{user_id}, en cuyo caso será tomado de la ruta y será obligatorio.
    • PR #464 por @jonathanunderwood.
  • Añadir soporte para establecer un default_response_class en la instancia de FastAPI o en include_router. PR inicial #467 por @toppk.
  • Añadir soporte para anotaciones de tipo usando strings y from __future__ import annotations. PR #451 por @dmontagu.

0.38.1 (2019-09-01)

  • Corregir la importación incorrecta de la clase Request. PR #493 por @kamalgill.

0.38.0 (2019-08-31)

  • Añadir artículos recientes a External Links y opiniones recientes. PR #490.
  • Actualizar el rango de soporte de Starlette para incluir 0.12.8. El nuevo rango es >=0.11.1,<=0.12.8". PR #477 por @dmontagu.
  • Actualizar el soporte a la versión 0.32.2 de Pydantic y actualizar el código interno para usarla (cambio breaking). PR #463 por @dmontagu.

0.37.0 (2019-08-31)

  • Añadir soporte para clases de ruta personalizadas para casos de uso avanzados. PR #468 por @dmontagu.
  • Permitir deshabilitar las fuentes de Google en ReDoc. PR #481 por @b1-luettje.
  • Corregir un problema de seguridad: al devolver una sub-clase de un modelo de respuesta y usar skip_defaults podría filtrar información. PR #485 por @dmontagu.
  • Habilitar pruebas para Python 3.8-dev. PR #465 por @Jamim.
  • Añadir soporte y pruebas para dataclasses de Pydantic en response_model. PR #454 por @dconathan.
  • Corregir un error tipográfico en el tutorial de OAuth2 JWT. PR #447 por @pablogamboa.
  • Usar el parámetro media_type en los parámetros de Body() para establecer el media type en OpenAPI para requestBody. PR #439 por @divums.
  • Añadir artículo Deploying a scikit-learn model with ONNX and FastAPI por Nico Axtmann. PR #438 por @naxty.
  • Allow setting custom 422 (validation error) response/schema in OpenAPI.
    • Y usar el media type de la clase de respuesta en lugar del fijo application/json (el por defecto).
    • PR #437 por @divums.
  • Corregir el uso de la respuesta extra "default" con códigos de estado al mismo tiempo. PR #489.
  • Permitir que las respuestas adicionales usen rangos de códigos de estado (como 5XX y 4XX) y "default". PR #435 por @divums.

0.36.0 (2019-08-26)

  • Corregir la implementación de skip_defaults al devolver un modelo de Pydantic. PR #422 por @dmontagu.
  • Corregir la generación de OpenAPI cuando se usa la misma dependencia en múltiples lugares para la misma path operation. PR #417 por @dmontagu.
  • Allow having empty paths in path operations used with include_router and a prefix.
    • Esto permite tener un router para /cats y todas sus path operations, mientras que una de ellas es para /cats.
    • Ahora no tiene que ser necesariamente /cats/ (con un slash al final).
    • Para usarlo, declara la ruta en la path operation como un string vacío ("").
    • PR #415 por @vitalik.
  • Corregir el error de mypy después de mergeear el PR #415. PR #462.

0.35.0 (2019-08-08)

  • Corregir un error tipográfico en el assert de routing. PR #419 por @pablogamboa.
  • Corregir un error tipográfico en la documentación. PR #411 por @bronsen.
  • Corregir el parsing de un tipo de body declarado con Union. PR #400 por @koxudaxi.

0.34.0 (2019-08-06)

  • Actualizar el rango soportado de Starlette para incluir la última 0.12.7. El nuevo rango es 0.11.1,<=0.12.7. PR #367 por @dedsm.

  • Añadir prueba para el esquema OpenAPI con modelos duplicados del PR #333 por @dmontagu. PR #385.

0.33.0 (2019-07-13)

  • Actualizar la versión de Pydantic a 0.30.0. PR #384 por @jekirl.

0.32.0 (2019-07-12)

  • Corregir un error tipográfico en la documentación de features. PR #380 por @MartinoMensio.

  • Corregir el limit del código fuente en el ejemplo de Query Parameters. PR #366 por @Smashman.

  • Actualizar la redacción en la documentación sobre OAuth2 scopes. PR #371 por @cjw296.

  • Actualizar la documentación de Enums para heredar de str y mejorar el renderizado en Swagger UI. PR #351.

  • Corregir una regresión, añadir nuevamente deep linking de Swagger UI. PR #350.

  • Añadir prueba para tener plantillas de ruta en el prefix de .include_router. PR #349.

  • Añadir nota a la documentación: Incluir el mismo router múltiples veces con diferentes prefix. PR #348.

  • Corregir la generación de OpenAPI/JSON Schema para dos funciones con el mismo nombre (en diferentes módulos) con los mismos bodies compuestos.

    • Los IDs de los bodies compuestos ahora se basan en el path, no solo en el nombre de la ruta, ya que el nombre auto-generado usa los nombres de las funciones, que pueden estar duplicados en diferentes módulos.
    • La misma generación de nuevos IDs aplica a los modelos de respuesta.
    • Esto también cambia el título generado para esos modelos.
    • Solo los bodies compuestos y los modelos de respuesta se ven afectados porque esos se generan dinámicamente, no tienen un módulo (un archivo de Python).
    • Esto también añade la posibilidad de usar .include_router() con el mismo APIRouter múltiples veces, con diferentes prefijos, ej. /api/v2 y /api/latest, y ahora funcionará correctamente.
    • PR #347.

0.31.0 (2019-06-28)

  • Upgrade Pydantic supported version to 0.29.0.
    • El nuevo rango de versiones soportadas es "pydantic >=0.28,<=0.29.0".
    • Esto añade soporte para los Generic Models de Pydantic, créditos a @dmontagu.
    • PR #344.

0.30.1 (2019-06-28)

0.30.0 (2019-06-20)

  • Añadir soporte para el modo ORM de Pydantic:

    • Documentación actualizada sobre SQL con SQLAlchemy, usando modelos de Pydantic con modo ORM, modelos de SQLAlchemy con relaciones, separación de archivos, simplificación de código y otros cambios. Nueva documentación: SQL (Relational) Databases.
    • El nuevo soporte para modo ORM corrige problemas/añade características relacionadas con ORMs con lazy-loading, propiedades híbridas, dinámicas/getters (usando decoradores @property) y varios otros casos de uso.
    • Esto aplica a ORMs como SQLAlchemy, Peewee, Tortoise ORM, GINO ORM y virtualmente cualquier otro.
    • Si tus path operations devuelven un objeto arbitrario con atributos (ej. my_item.name en lugar de my_item["name"]) Y usas un response_model, asegúrate de actualizar los modelos de Pydantic con orm_mode = True como se describe en la documentación (enlace arriba).
    • Nueva documentación sobre recibir dicts planos como bodies de request: Bodies of arbitrary dicts.
    • Nueva documentación sobre devolver dicts arbitrarios en respuestas: Response with arbitrary dict.
    • Technical Details:
      • Cuando se declara un response_model se usa directamente para generar el contenido de la respuesta, a partir de lo que haya devuelto la path operation function.
      • Antes de esto, el contenido devuelto se pasaba primero por jsonable_encoder para asegurar que era un objeto "jsonable", como un dict, en lugar de un objeto arbitrario con atributos (como un modelo ORM). Por eso debes asegúrarte de actualizar tus modelos de Pydantic para objetos con atributos para usar orm_mode = True.
      • Si no tienes un response_model, el objeto devuelto todavía se pasará primero por jsonable_encoder.
      • Cuando se declara un response_model, la misma declaración de tipo de response_model no se usará tal cual, se "clonará" para crear una nueva (un Field de Pydantic clonado con todos los submodelos clonados también).
      • Esto evita/corrige un posible problema de seguridad: como el objeto devuelto se pasa directamente a Pydantic, si el objeto devuelto era una sub-clase del response_model (ej. devuelves un UserInDB que hereda de User pero contiene campos adicionales, como hashed_password, y User se usa en el response_model), todavía pasaría la validación (porque UserInDB es una sub-clase de User) y el objeto se devolvería tal cual, incluyendo el hashed_password. Para corregir esto, el response_model declarado se clona, si es una clase de modelo de Pydantic (o contiene clases de modelo de Pydantic, ej. en un List[Item]), la clase(s) de modelo de Pydantic será una diferente (la "clonada"). Así, un objeto que es una sub-clase no simplemente pasará la validación y se devolverá tal cual, porque ya no es una sub-clase del response_model clonado. En su lugar, se creará un nuevo objeto de modelo de Pydantic con los contenidos del objeto devuelto. Así, será un objeto nuevo (hecho con los datos del devuelto), y será filtrado por el response_model clonado, conteniendo solo los campos declarados como siempre.
    • PR #322.
  • Eliminar/limpiar código RegEx no usado en el routing. PR #314 por @dmontagu.

  • Usar las descripciones por defecto de los códigos de estado de respuesta para las respuestas adicionales. PR #313 por @duxiaoyao.

  • Actualizar el soporte de Pydantic a 0.28. PR #320 por @jekirl.

0.29.1 (2019-06-13)

0.29.0 (2019-06-06)

  • Add support for declaring a Response parameter:

0.28.0 (2019-06-05)

  • Implementar caché de dependencias por petición.

    • Esto evita llamar cada dependencia múltiples veces para la misma petición.
    • Esto es útil al llamar servicios externos, realizar cálculos costosos, etc.
    • Esto también significa que si una dependencia fue declarada como dependencia de path operation decorator, posiblemente a nivel de router (con .include_router()) y luego se declara nuevamente en una path operation específica, la dependencia será llamada solo una vez.
    • El cache se puede deshabilitar por declaración de dependencia, usando use_cache=False como en Depends(your_dependency, use_cache=False).
    • Documentación actualizada en: Using the same dependency multiple times.
    • PR #292.
  • Implementar overrides de dependencias para testing.

0.27.2 (2019-06-03)

0.27.1 (2019-06-03)

  • Corregir el manejo de auto_error=False en el esquema de seguridad HTTPBearer. No raise cuando hay un encabezado Authorization incorrecto si auto_error=False. PR #282.

  • Corregir la declaración de tipo de HTTPException. PR #279.

0.27.0 (2019-05-30)

  • Corregir un enlace roto en la documentación sobre OAuth 2.0 con scopes. PR #275 por @dmontagu.

  • Refactorizar la extracción de parámetros usando Field de Pydantic:

0.26.0 (2019-05-29)

0.25.0 (2019-05-27)

  • Añadir soporte para include, exclude, by_alias de Pydantic.

    • Actualizar documentación: Response Model.
    • Añadir documentación para: Body - updates, usando skip_defaults de Pydantic.
    • Añadir tests de consistencia de métodos.
    • PR #264.
  • Añadir archivo CONTRIBUTING.md a GitHub, para ayudar a nuevos colaboradores. PR #255 por @wshayes.

  • Añadir soporte para skip_defaults de Pydantic:

0.24.0 (2019-05-24)

  • Añadir soporte para WebSockets con dependencias y parámetros.

  • Actualizar la versión compatible de Pydantic a 0.26.0.

    • Esto incluye soporte de JSON Schema para objetos de dirección IP y red, correcciones de bugs, y otras funcionalidades.
    • PR #247 por @euri10.

0.23.0 (2019-05-21)

  • Actualizar la versión compatible de Starlette a 0.12.0.

    • Esto incluye soporte para ASGI 3 (la última versión del estándar).
    • Ahora es posible usar StreamingResponse de Starlette con iteradores, como objetos tipo archivo (como los devueltos por open()).
    • Ahora es posible usar la utilidad de bajo nivel iterate_in_threadpool de starlette.concurrency (para escenarios avanzados).
    • PR #243.
  • Añadir página de redirección OAuth2 para Swagger UI. Esto permite tener autenticación delegada en la documentación de Swagger UI. Para que funcione, necesitas añadir {your_origin}/docs/oauth2-redirect a los callbacks permitidos en tu proveedor OAuth2 (en Auth0, Facebook, Google, etc).

    • Por ejemplo, durante el desarrollo, podría ser http://localhost:8000/docs/oauth2-redirect.
    • Ten en cuenta que esta URL de callback es independiente de la que usa tu frontend. Podrías tener también otro callback en https://yourdomain.com/login/callback.
    • Esto es solo para permitir autenticación delegada en la documentación de la API con Swagger UI.
    • PR #198 por @steinitzu.
  • Hacer que los route handlers de Swagger UI y ReDoc (path operations) sean funciones async en lugar de lambdas para mejorar el rendimiento. PR #241 por @Trim21.

  • Hacer que las URLs de Swagger UI y ReDoc sean parametrizables, permitiendo alojar y servir versiones locales de ellos y tener docs offline. PR #112 por @euri10.

0.22.0 (2019-05-16)

  • Añadir soporte para el parámetro dependencies:

    • Un parámetro en los path operation decorators, para dependencias que deberían ejecutarse pero cuyo valor de retorno no es importante o no se usa en la path operation function.
    • A parameter in the .include_router() method of FastAPI applications and routers, to include dependencies that should be executed in each path operation in a router.
      • Esto es útil, por ejemplo, para requerir autenticación o permisos en un grupo específico de path operations.
      • Diferentes dependencies pueden aplicarse a diferentes routers.
    • Estas dependencies se ejecutan antes de las dependencias de parámetros normales. Y las dependencias normales también se ejecutan. Se pueden combinar.
    • Las dependencias declaradas en un router se ejecutan primero, luego las definidas en los path operation decorators, y luego las declaradas en parámetros normales. Todas se combinan y se ejecutan.
    • Todo esto también soporta el uso de Security con scopes en esos parámetros de dependencies, para escenarios de seguridad OAuth 2.0 más avanzados con scopes.
    • Nueva documentación sobre dependencies en path operation decorators.
    • Nueva documentación sobre dependencies en el método include_router().
    • PR #235.
  • Corregir la documentación OpenAPI de los convertidores de URL de Starlette. Especialmente útil cuando se usa el convertidor path, para tomar una ruta completa como parámetro, como /some/url/{p:path}. PR #234 por @euri10.

  • Hacer que las utilidades de parámetros por defecto exportadas desde fastapi sean funciones en lugar de clases (las nuevas funciones devuelven instancias de esas clases). Para poder sobrescribir los tipos de retorno y corregir errores de mypy en el código de los usuarios de FastAPI. Aplica a Path, Query, Header, Cookie, Body, Form, File, Depends, y Security. PR #226 y PR #231.

  • Separar los scripts de desarrollo test.sh, lint.sh, y format.sh. PR #232.

  • Re-habilitar las verificaciones de formato black para Python 3.7. PR #229 por @zamiramir.

0.21.0 (2019-05-15)

  • En errores de parsing de body, hacer raise from de la excepción anterior, para permitir mejor introspección en el código de logging. PR #192 por @ricardomomm.

  • Usar el logger de Python llamado "fastapi" en lugar del logger raíz. PR #222 por @euri10.

  • Actualizar Pydantic a la versión 0.25. PR #225 por @euri10.

  • Corregir un error tipográfico en el routing. PR #221 por @djlambert.

0.20.1 (2019-05-11)

  • Añadir información de typing al paquete incluyendo el archivo py.typed. PR #209 por @meadsteve.

  • Añadir bot de FastAPI para Gitter. Para anunciar automáticamente nuevas versiones. PR #189.

0.20.0 (2019-04-27)

  • Actualizar OAuth2:

    • Actualizar el flujo de Password usando Bearer tokens para usar el código de estado HTTP correcto 401 UNAUTHORIZED, con cabeceras WWW-Authenticate.
    • Actualizar, simplificar y mejorar toda la documentación de seguridad.
    • Añadir el nuevo scope_str a SecurityScopes y actualizar la documentación: OAuth2 scopes.
    • Actualizar docs, imágenes, tests.
    • PR #188.
  • Incluir Hypercorn como un servidor ASGI alternativo en la documentación. PR #187.

  • Añadir documentación para Static Files y Templates. PR #186.

  • Añadir documentación para el manejo de Response Cookies y Response Headers. PR #185.

  • Corregir errores tipográficos en la documentación. PR #176 por @chdsbd.

0.19.0 (2019-04-26)

0.18.0 (2019-04-22)

  • Añadir documentación para HTTP Basic Auth. PR #177.

  • Mejorar el manejo de HTTP Basic Auth con cabeceras automáticas (prompt de inicio de sesión automático del navegador). PR #175.

  • Actualizar las dependencias de seguridad. PR #174.

  • Añadir documentación para Middleware. PR #173.

0.17.0 (2019-04-20)

  • Hacer que Flit publique desde CI. PR #170.

  • Añadir documentación sobre el manejo de CORS (Cross-Origin Resource Sharing). PR #169.

  • Por defecto, codificar por alias. Esto permite usar los parámetros alias de Pydantic funcionando por defecto. PR #168.

0.16.0 (2019-04-16)

  • Mejorar el análisis del docstring de las path operations para soportar descripciones Markdown adecuadas. Nueva documentación en Path Operation Configuration. PR #163.

  • Refactorizar el uso interno de Pydantic para usar los tipos de datos correctos. PR #164.

  • Actualizar Pydantic a la versión 0.23. PR #160 por @euri10.

  • Corregir error tipográfico en el Tutorial sobre Extra Models. PR #159 por @danielmichaels.

  • Corregir los ejemplos de URL de Query Parameters en la documentación. PR #157 por @hayata-yamamoto.

0.15.0 (2019-04-14)

0.14.0 (2019-04-12)

  • Mejorar los nombres generados automáticamente de las path operations en OpenAPI (en la documentación del API). Una función read_items en lugar de tener un nombre generado "Read Items Get" tendrá "Read Items". PR #155.

  • Añadir documentación para: Testing FastAPI. PR #151.

  • Actualizar el /docs de Swagger UI para habilitar deep linking. Esto permite compartir la URL que apunta directamente a la documentación de la path operation en la documentación. PR #148 por @wshayes.

  • Actualizar las dependencias de desarrollo, Pipfile.lock. PR #150.

  • Incluir Falcon y Hug en: Alternatives, Inspiration and Comparisons.

0.13.0 (2019-04-09)

  • Improve/upgrade OAuth2 scopes support with SecurityScopes:
    • SecurityScopes puede ser declarado como un parámetro al igual que Request, para obtener los scopes de todas las super-dependencias/dependientes.
    • Mejorar el manejo de Security, combinando los scopes al declarar SecurityScopes.
    • Permitir usar clases SecurityBase (como OAuth2) con Depends y aún así documentarlas. Ahora Security solo se necesita para declarar scopes.
    • Documentación actualizada sobre: OAuth2 with Password (and hashing), Bearer with JWT tokens.
    • Nueva documentación sobre: OAuth2 scopes.
    • PR #141.

0.12.1 (2019-04-05)

  • Corregir bug: manejo de responses adicionales en APIRouter.include_router(). PR #140.

  • Corregir error tipográfico en el tutorial de SQL. PR #138 por @mostaphaRoudsari.

  • Corregir errores tipográficos en la sección sobre modelos anidados y OAuth2 con JWT. PR #127 por @mmcloud.

0.12.0 (2019-04-05)

  • Add additional responses parameter to path operation decorators to extend responses in OpenAPI (and API docs).
    • También permite extender las responses existentes generadas desde response_model, declarar otros tipos de medios (como imágenes), etc.
    • La nueva documentación está aquí: Additional Responses.
    • También se pueden añadir responses a .include_router(), la documentación actualizada está aquí: Bigger Applications.
    • PR #97 originalmente iniciado por @barsi.
  • Actualizar scripts/test-cov-html.sh para permitir pasar parámetros extra como -vv, para desarrollo.

0.11.0 (2019-04-03)

  • Añadir el parámetro auto_error a las funciones de utilidad de seguridad. Permitiendo que sean opcionales. También permitiendo tener múltiples esquemas de seguridad alternativos que luego se verifican en una única dependencia en lugar de que cada uno verifique y devuelva el error al cliente automáticamente cuando no se cumple. PR #134.

  • Actualizar el SQL Tutorial para cerrar las sesiones de la base de datos incluso cuando hay excepciones. PR #89 por @alexiri.

  • Corregir dependencia duplicada en pyproject.toml. PR #128 por @zxalif.

0.10.3 (2019-03-30)

0.10.2 (2019-03-29)

  • Corregir OpenAPI (JSON Schema) para declaraciones de Union de Python (JSON Schema additionalProperties). PR #121.

  • Actualizar Background Tasks con una nota sobre Celery.

  • Documentar modelos de respuesta usando unions y listas, actualizado en: Extra Models. PR #108.

0.10.1 (2019-03-25)

0.10.0 (2019-03-24)

0.9.1 (2019-03-22)

0.9.0 (2019-03-22)

  • Actualizar la versión compatible de Pydantic a 0.21.0. PR #90.

  • Añadir documentación para: Application Configuration.

  • Corregir error tipográfico en la documentación. PR #76 por @matthewhegarty.

  • Corregir enlace en "Deployment" a "Bigger Applications".

0.8.0 (2019-03-16)

  • Hacer ejecutables los scripts de desarrollo. PR #76 por @euri10.

  • Añadir soporte para añadir tags en app.include_router(). PR #55 por @euri10. Documentación actualizada en la sección: Bigger Applications.

  • Actualizar la documentación relacionada con Uvicorn para usar la nueva opción --reload de la versión 0.5.x. PR #74.

  • Actualizar los imports de isort y los scripts para ser compatibles con versiones más nuevas. PR #75.

0.7.1 (2019-03-04)

0.7.0 (2019-03-03)

0.6.4 (2019-03-02)

0.6.3 (2019-02-23)

  • Añadir Favicons a la documentación. PR #53.

0.6.2 (2019-02-23)

0.6.1 (2019-02-20)

0.6.0 (2019-02-19)

0.5.1 (2019-02-18)

0.5.0 (2019-02-16)

0.4.0 (2019-02-16)

0.3.0 (2019-02-12)

0.2.1 (2019-02-12)

  • Corregir jsonable_encoder para modelos de Pydantic con Config pero sin json_encoders: #29.

0.2.0 (2019-02-08)

  • Corregir errores tipográficos en la sección de Security: #24 por @kkinder.

  • Añadir soporte para encoders JSON personalizados de Pydantic: #21 por @euri10.

0.1.19 (2019-02-01)

  • Actualizar la versión de Starlette a la última actual 0.10.1: #17 por @euri10.