Skip to content

Releases: litestar-org/litestar

v2.15.2

Choose a tag to compare

@provinzkraut provinzkraut released this 06 Apr 12:31
4faf016

Sponsors 🌟

Thanks to these incredible business sponsors:

Thanks to these incredible personal sponsors:

What's changed

New contributors 🎉

Bugfixes 🐛

  • fix: check for default headers before appending to cors header failures by @saska in #4015
  • fix(events): ensure callable metadata is replicated by @Harshal6927 in #4045
  • fix: explicit specification of arguments in FileSystemAdapter open func. by @nisemenov in #4049
  • fix(typing): Correctly handle typing_extensions.TypeAliasType on typing-extensions>4.13.0 (fix #4088) by @provinzkraut in #4089

Full Changelog
v2.15.1...v2.15.2

v2.15.1

Choose a tag to compare

@provinzkraut provinzkraut released this 27 Feb 17:51
c5dbb6c

Sponsors 🌟

Thanks to these incredible business sponsors:

Thanks to these incredible personal sponsors:

New contributors 🎉

Bugfixes 🐛

Other changes

  • docs: Use "click to toggle" instead of "click to expand" by @eandersons in #4032

Full Changelog
v2.15.0...v2.15.1

v2.15.0

Choose a tag to compare

@provinzkraut provinzkraut released this 26 Feb 10:55
86ceeb3

Sponsors 🌟

Thanks to these incredible business sponsors:

Thanks to these incredible personal sponsors:

What's changed

New contributors 🎉

Bugfixes 🐛

  • fix(ASGI mounts): Prevent accidental scope overrides by mounted ASGI apps by @provinzkraut in #3945
  • fix: corrected import of attrs by @euri10 in #3947

New features 🚀

  • feat(jwt): Added revoked token handler support by @oek1ng in #3960
  • feat: allow route_reverse params of type uuid to be passed as str by @aedify-swi in #3972
  • feat(CLI): Make better error message for invalid --app string by @RenameMe1 in #3977
  • feat(DTOs): Support @property fields for msgspec and dataclass by @provinzkraut in #3981
  • feat(core): new base middleware by @provinzkraut in #3996
  • feat: Add SerializationPlugin and InitPlugin to replace their respective protocols by @provinzkraut in #4025
  • feat(debugger): passing debugger to app by @oek1ng in #3967

Full Changelog
v2.14.0...v2.15.0

v2.14.0

Choose a tag to compare

@cofin cofin released this 08 Jan 21:05
4c7166a

Summary

We are pleased to publish our first release of 2025!

Since our last release in November, everyone's been busy. In that short time, we've managed to squeeze in a huge amount of fixes, features, and (most, importantly) Python 3.13 support. Thank you to everyone in the community who contributed to this.

As we move towards 3.0, you'll see a few deprecations being added to packages. Please don't hesitate to join our discord to discuss any deprecation specifics or any other change you'd like to see in 3.0

Sponsors 🌟

Thanks to these incredible business sponsors:

Thanks to these incredible personal sponsors:

What's changed

New contributors 🎉

Bugfixes 🐛

  • fix: remove optional group for litestar-htmx by @cofin in #3870
  • fix(pydantic): Add moved URL types to type map by @provinzkraut in #3874
  • fix: patching of otel middleware to work with subclasses by @vikigenius in #3876
  • fix(ci): Pin PDM version for 3.8 by @Alc-Alc in #3878
  • fix: update Makefile by @adhtruong in #3880
  • fix(devcontainers): Replace PDM with UV by @Alc-Alc in #3879
  • fix: resource warnings by @gsakkis in #3838
  • fix: Enum OAS generation (#3518) by @wallseat in #3525
  • fix: typo in exception message for ImproperlyConfiguredException by @Zimzozaur in #3885
  • fix(file response): Support varying mtime semantics across different fsspec implementations by @provinzkraut in #3902
  • fix(OpenAPI): Query-only properties included in path, cookie and header parameter schema and response headers (#3908) by @provinzkraut in #3909
  • fix(sqlalchemy): updates to documentation based on upstream changes by @cofin in #3917
  • fix(picologging): better handle unsupported environments by @cofin in #3918
  • fix(channels): use SQL function for psycopg by @cofin in #3916
  • fix(compression middleware): Fix resource handling by @provinzkraut in #3927
  • fix(ci): only install dev tools in ubuntu by @cofin in #3931

New features 🚀

  • feat: move litestar.contrib.prometheus to litestar.plugins.prometheus by @cofin in #3863
  • feat: move litestar.contrib.attrs to litestar.plugins.attrs by @cofin in #3862
  • feat: add future flag to experimental_features by @cofin in #3864
  • feat(core): Streaming multipart parser by @provinzkraut in #3872
  • feat: upgrade minimum litestar-htmx version by @cofin in #3884
  • feat: WebSocket send stream by @provinzkraut in #3894
  • feat: add query params to redirect response by @marcuslimdw in #3901
  • feat: add Valkey as a native store by @ftsartek in #3892
  • feat: use "path" as an error message source by @250MHz in #3920
  • feat: added subprocess test client by @aranvir in #3655
  • feat: add support for Python 3.13 by @cofin in #3850
  • feat(ci): implement psycopg client installation for macos and windows by @cofin in #3932

Other changes

Full Changelog
v2.13.0...v2.14.0

v2.13.0

Choose a tag to compare

@provinzkraut provinzkraut released this 20 Nov 16:14
1b9d1c8

Sponsors 🌟

Thanks to these incredible business sponsors:

Thanks to these incredible personal sponsors:

And a huge 'Thank you!' to all sponsors across Polar.sh, OpenCollective and GitHub Sponsors!

What's changed

New contributors 🎉

Bugfixes 🐛

New features 🚀

  • feat: OpenAPI plugins send CSRF request header by @floxay in #3754
  • feat: deprecate litestar.contrib.sqlalchemy by @cofin in #3755
  • feat: implement HTMX plugin using litestar-htmx by @cofin in #3837
  • feat(Pydantic): honor hide_input_in_errors in throwing validation exceptions by @charles-dyfis-net in #3843
  • feat: deprecate litestar.contrib.pydantic by @cofin in #3852

Documentation

  • docs: update copyright notice year to 2024 by @findstar in #3751
  • docs(readme): Remove reference to litestar-pg-redis-docker by @Alc-Alc in #3779
  • docs: Fix python code highlight in many examples by @sobolevn in #3788
  • docs: fix a typo in requests usage docs by @sobolevn in #3794
  • docs: fix typos in sqlalchemy examples by @sobolevn in #3798
  • docs: fix typos in sqlalchemy/models_and_repository.rst by @sobolevn in #3797
  • docs: fix missing import in cache usage by @sobolevn in #3795
  • docs: make sure that channels use finally in all examples by @sobolevn in #3796
  • docs: change the ExperimentalFeatures.DTO_CODEGEN description by @sobolevn in #3802
  • docs: change sync-to-thread-info.rst wording about sync_to_thread by @sobolevn in #3799
  • docs: add missing rename strategy to dto docs by @sobolevn in #3805
  • docs: fix highlighted lines in DTO usage by @sobolevn in #3808
  • docs: fix "DTO Factory and PATCH requests" section by @sobolevn in #3819
  • docs: fix DTO Data section with a new example by @sobolevn in #3813
  • docs: fix highlight of code example in "Providing values for nested data" by @sobolevn in #3815
  • docs: rewrite htmx guide by @sobolevn in #3825
  • docs: refactor "Hooks" usage documentation by @sobolevn in #3826
  • docs: fix API reference for asgi_types scopes by @sobolevn in #3831
  • docs: rewrite "Builtin middleware" usage by @sobolevn in #3830
  • docs: refactor "Custom Middleware" guide by @sobolevn in #3833
  • docs: refactor exception usage by @sobolevn in #3823
  • docs: remove references to python-jose by @cofin in #3847
  • docs: Changing incorrect indentation in the code example "creating-middleware#inheriting-abstractmiddleware" by @RenameMe1 in #3857
  • docs: improve openapi/index.rst page by @sobolevn in #3856
  • docs: fix the description of when to use the synchronous function by @vvanglro in #3849
  • docs: Added debug=True in Testing to display exception stack trace by @RenameMe1 in #3860

Full Changelog
v2.12.1...v2.13.0

v2.12.1

Choose a tag to compare

@provinzkraut provinzkraut released this 21 Sep 14:40
b9a91e6

Sponsors 🌟

Thanks to these incredible business sponsors:

A huge 'Thank you!' to all sponsors across Polar.sh, OpenCollective and GitHub Sponsors!

What's changed

Bugfixes 🐛

Full Changelog
v2.12.0...v2.12.1

v2.12.0

Choose a tag to compare

@provinzkraut provinzkraut released this 21 Sep 09:17
06efa69

Sponsors 🌟

Thanks to these incredible business sponsors:

Thanks to these incredible personal sponsors:

A huge 'Thank you!' to all sponsors across Polar.sh, OpenCollective and GitHub Sponsors!

What's changed

Bugfixes 🐛

New features 🚀

Other changes

Full Changelog
v2.11.0...v2.12.0

v2.11.0

Choose a tag to compare

@Alc-Alc Alc-Alc released this 27 Aug 17:55
d7dd27c

Sponsors 🌟

Thanks to these incredible business sponsors:

Thanks to these incredible personal sponsors:

A huge 'Thank you!' to all sponsors across Polar.sh, OpenCollective and GitHub Sponsors!

What's changed

New contributors 🎉

Bugfixes 🐛

  • fix(connection): Fix creation of FormMultiDict in Request.form to properly handle multi-keys by @provinzkraut in #3639
  • fix: Small docs update. by @Zimzozaur in #3661
  • fix(DTO): Inconsistent use of strict mode by @provinzkraut in #3685
  • fix(prometheus): use path template for prometheus metrics by @evstratbg in #3687
  • fix: OpenTelemetry doesn't capture exceptions in the outermost application layer by @provinzkraut in #3689
  • fix: updated sqlalchemy samples & unpin advanced-alchemy by @cofin in #3693
  • fix(#3554): correct module_to_os_path to return directory paths by @supercoder-dev in #3565
  • fix: csrf middleware excluding router by @trim21 in #3698
  • fix: inconsistent behavior between signature_namespace and signature_types by @cofin in #3696
  • fix(JWT): Response with 401 on token payload validation by @provinzkraut in #3705

New features 🚀

Other changes

  • docs: fixed bad links in flask migration guide by @jlr295 in #3660
  • docs: Fix misplaced comment in dependency-injection.rst for better clarity by @Zimzozaur in #3671
  • docs: Added Posting tool as an alternative to Postman in 06-receiving-data.rst by @Zimzozaur in #3670
  • docs: Document custom types by @stewit in #3603
  • docs: stale reference to pydantic signature models by @cofin in #3697
  • docs: Fixing spelling in request.rst by @aarcex3 in #3703
  • docs: fixed incorrect docs for default status code for http handler by @FarhanAliRaza in #3702

Full Changelog
v2.10.0...v2.11.0

v2.10.0

Choose a tag to compare

@provinzkraut provinzkraut released this 26 Jul 18:21
592b77d

Sponsors 🌟

Thanks to these incredible business sponsors:

Thanks to these incredible personal sponsors:

A huge 'Thank you!' to all sponsors across Polar.sh, OpenCollective and GitHub Sponsors!

What's changed

New contributors 🎉

Bugfixes 🐛

  • fix(signature): Fix #3593: Ensure signature model internal function signatures don't clash with model signature by @provinzkraut in #3605
  • fix(OpenAPI): Correctly handle Annotated NewType by @sherbang in #3615
  • fix: use ASGIConnection instead of Request for flash by @cofin in #3626
  • fix(handlers): Allow returning Response[None] from head route handlers by @provinzkraut in #3641

New features 🚀

  • feat: allow creating parent directories for a file store by @Murtagy in #3526
  • feat(logging): add param logging_module to LoggingConfig by @jderrien in #3578
  • feat: add handler name to exceptions in handler validation. by @rafalkrupinski in #3575
  • feat(Pydantic): added parameters in pydantic plugin to support strict validation and all the model_dump args by @Anu-cool-007 in #3608

Other changes

Full Changelog
v2.9.1...v2.10.0

v2.9.1

Choose a tag to compare

@provinzkraut provinzkraut released this 21 Jun 18:31
e9c9839

Sponsors 🌟

Thanks to these incredible business sponsors:

A huge 'Thank you!' to all sponsors across Polar.sh, OpenCollective and GitHub Sponsors!

What's changed

New contributors 🎉

Bugfixes 🐛

Other changes

  • docs(logging): use queue_listener as mentioned in the warning by @jderrien in #3540
  • docs: Changed cli to concurrency in concurrency.rst by @PossiblePanda in #3557
  • docs: update ui_plugins.rst by @eltociear in #3563
  • docs(logging): advise to use log_exceptions="always" by @jderrien in #3577
  • refactor(logging): improve LoggingConfig & deprecate LoggingConfig.propagate by @jderrien in #3543

Full Changelog
v2.9.0...v2.9.1