Skip to content

Releases: litestar-org/litestar

v2.14.0

08 Jan 21:05
4c7166a
Compare
Choose a tag to compare

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 🌟

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

20 Nov 16:14
1b9d1c8
Compare
Choose a tag to compare

Sponsors 🌟

Thanks to these incredible business 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

21 Sep 14:40
b9a91e6
Compare
Choose a tag to compare

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

21 Sep 09:17
06efa69
Compare
Choose a tag to compare

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

27 Aug 17:55
d7dd27c
Compare
Choose a tag to compare

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

26 Jul 18:21
592b77d
Compare
Choose a tag to compare

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

21 Jun 18:31
e9c9839
Compare
Choose a tag to compare

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

v2.9.0

02 Jun 16:34
31bc080
Compare
Choose a tag to compare

Sponsors 🌟

Thanks to these incredible business sponsors:

Thanks to these incredible personal sponsors:

What's changed

New contributors 🎉

Bugfixes 🐛

New features 🚀

  • Add async websocket_connect to AsyncTestClient by @kedod in #3328
  • Add SecretString and SecretBytes datastructures by @peterschutt in #3322

Other changes

Full Changelog
v2.8.3...v2.9.0

v2.8.3

06 May 07:09
Compare
Choose a tag to compare

⚠️ Important ⚠️

This release contains a patch for a vulnerability that would allow path traversal in the static file serving functionality of Litestar. It is highly recommended to update your minor version to this patch release.

You can find more background information in the related discussion #3473 .

Sponsors 🌟

Thanks to these incredible business sponsors:

Scalar (@scalar), Telemetry Sports (via @chris-telemetry), Stok (@stok-team)

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

What's changed

New contributors 🎉

Bugfixes 🐛

Documentation

Full Changelog
v2.8.2...v2.8.3

v2.7.2

06 May 07:18
Compare
Choose a tag to compare

⚠️ Important ⚠️

This release contains a patch for a vulnerability that would allow path traversal in the static file serving functionality of Litestar. It is highly recommended to update your minor version to this patch release.

You can find more background information in the related discussion #3473 .

Sponsors 🌟

Thanks to these incredible business sponsors:

Scalar (@scalar), Telemetry Sports (via @chris-telemetry), Stok (@stok-team)

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

What's changed