BlackSheep Versions Save

Fast ASGI web framework for Python

v2.0a12

6 months ago
  • Adds support for Python 3.12, by @bymoye
  • Replaces pkg_resources with importlib.resources for all supported Python versions except for 3.8.
  • Runs tests against Pydantic 2.4.2 instead of Pydantic 2.0 to check support for Pydantic v2.
  • Upgrades dependencies.
  • Adds .webp and .webm to the list of extensions of files that are served by default.

v2.0a11

8 months ago
  • Resolves bug in 2.0a10 caused by incompatibility issue with Cython 3.
  • Pins Cython to 3.0.2 in the build job.

v2.0a10

9 months ago
  • Add support for .jinja extension by @thearchitector.
  • Makes the .jinja extension default for Jinja templates. ⚠️ breaking change*

*it requires changing the extension of the template files from .html to .jinja, or setting an environment variable: APP_JINJA_EXTENSION=".html"

v1.2.18

10 months ago
  • Fixes bug #394, causing the Content max body size to be 2147483647 (C int max value). Reported and fixed by @thomafred

v2.0a9

10 months ago
  • Fixes bug #394, causing the Content max body size to be 2147483647 (C int max value). Reported and fixed by @thomafred

v2.0a8

10 months ago
  • Adds support for StreamedContent with specific content length; fixing #374 both on the client and the server side.
  • Fixes #373, about missing closing ASGI message when an async generator does not yield a closing empty bytes sequence (b"").
  • Makes version dynamic in pyproject.toml, simplifying how the version can be queried at runtime (see #362).
  • Fixes #372. Use the ASGI scope root_path when possible, as base_path.
  • Fixes #371. Returns status 403 Forbidden when the user is authenticated but not authorized to perform an action.
  • Fixes TypeError when writing a request without host header.
  • Adds support for Pydantic v2: meaning feature parity with support for Pydantic v1 (generating OpenAPI Documentation).
  • Adds support for Union types in sub-properties of request handlers input and output types, for generating OpenAPI Documentation, both using simple classes and Pydantic #389

v1.2.17

11 months ago
  • Fixes TypeError when writing a request without host header.
  • Fixes TypeError when writing a small request with streamed content of known length.
  • Fixes #372. Use the ASGI scope root_path when possible, as base_path.
  • Fixes #371. Returns status 403 Forbidden when the user is authenticated but not authorized to perform an action.

v1.2.16

11 months ago
  • Add support for StreamedContent with specific content length; fixing #374 both on the client and the server side.
  • Fix #373, about missing closing ASGI message when an async generator does not yield a closing empty bytes sequence (b"").

Thanks to @thomafred for reporting issues with HTTP proxy implementations, that lead to these fixes.

v1.2.15

11 months ago
  • Fixes bug in CORS handling when multiple origins are allowed.
  • Adds a Vary: Origin response header for CORS requests when the value of Access-Control-Allow-Origin header is a specific URL.

v2.0a7

11 months ago
  • Fixes bug in CORS handling when multiple origins are allowed.
  • Adds a Vary: Origin response header for CORS requests when the value of Access-Control-Allow-Origin header is a specific URL.
  • Adds algorithms parameter to JWTBearerAuthentication constructor, by @tyzhnenko.
  • Improves the code API to define security definitions in OpenAPI docs, by @tyzhnenko.
  • Applies a correction to the auto-import function for routes and controllers.