Skip to content

Releases: Tinche/uapi

v23.3.0

19 Dec 23:02
Compare
Choose a tag to compare
  • Return types of handlers are now type-checked.
    (#57)
  • Introduce Response Shorthands, port the str, bytes, None and attrs response types to them.
    (#57)
  • Unions containing shorthands and uapi response classes (and any combination of these) are now better supported.
    (#57)
  • uapi is now tested against Mypy.
    (#57)

v23.2.0

10 Dec 22:30
Compare
Choose a tag to compare

v23.2.0 - 2023-12-10

Changed

  • datetime.datetime and datetime.date are now supported in the OpenAPI schema, both in models and handler parameters.
    (#53)
  • Simple forms are now supported using uapi.ReqForm[T]. Learn more.
    (#54)
  • uapi now sorts imports using Ruff.

v23.1.0

12 Nov 15:55
Compare
Choose a tag to compare

Changed

  • Add the initial header implementation.
  • Function composition (dependency injection) is now documented.
  • Endpoints can be excluded from OpenAPI generation by passing them to App.make_openapi_spec(exclude=...) or App.serve_openapi(exclude=...).
  • Initial implementation of OpenAPI security schemas, supporting the apikey type in Redis session backend.
  • Update the Elements OpenAPI UI to better handle cookies.
  • Flesh out the documentation for response types.
  • Add OpenAPI support for string literal fields.
  • Add OpenAPI support for generic attrs classes.
  • Add OpenAPI support for unions of a single attrs class and None (optionals).
  • Properly set the OpenAPI required attribute for attrs fields without defaults.
  • Add OpenAPI support for primitive types in unions.
  • uapi now uses PDM.
  • Dictionary request bodies and attrs classes with dictionary fields are now supported.
  • OpenAPI operationId properties for operations are now generated from handler names.
  • OpenAPI summaries and descriptions are now supported, and can be overridden.
  • aiohttp.web.StreamResponse is now handled as the root class of aiohttp responses.
  • uapi.aiohttp.AiohttpApp.run now uses the aiohttp App runners internally.
  • uapi is now tested against Flask 3.
  • uapi is now tested against Python 3.12.

Fixed

  • Stringified annotations for return types are now handled properly.
  • Framework-specific request objects are ignored for OpenAPI.
  • Fix OpenAPI generation so items produced by the dependency injection system are properly generated.
  • Fix OpenAPI generation for models with identical names.
  • Fix OpenAPI generation for response models with lists of attrs classes.