PackageTrack
Sign in Get early access

poem

Poem is a full-featured and easy-to-use web framework with the Rust programming language.

3.1.12 5.5M downloads/mo #4341 most downloaded on crates.io poem-web/poem

What this package is like to depend on

Last release 1 years ago

28 Jul 2025

Ships fairly regularly

a new release about every 4 weeks

Some releases are documented

notes for 135 of 229 stable releases

7 versions withdrawn

withdrawn after publishing

6 years old

236 releases · first in 2020

0 releases in the last 12 months

see the full history below

Release timeline

236 releases · Aug 2020 to Jul 2025
2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 60 of 236
  1. 3.1.12 28 Jul 2025
    Release notes
    • Bump tokio-tungstenite to 0.27
    • Bump opentelemetry
    • Bump x509-parser to 0.17
    Open source →
  2. 3.1.11 06 Jun 2025
    Release notes
    • bump tokio-tungstenite to 0.26
    • chore: bump prometheus for RUSTSEC #1012
    • chore: upgrade nix version #1034
    • chore(deps): update redis requirement from 0.28 to 0.31 #1040
    • chore(poem): make Error small #1050
    • chore(deps): update opentelemetry-semantic-conventions requirement from 0.29.0 to 0.30.0 #1044
    Open source →
  3. 3.1.10 03 May 2025
    Release notes
    • rustls: populate default provider #1021
    Open source →
  4. 3.1.9 13 Apr 2025
    Release notes
    • add CookieJar::get_ignore_ascii_case method.
    Open source →
  5. 3.1.8 25 Mar 2025
    Release notes
    • chore: bump rand to 0.9 #984
    • feat(static-files): allow setting no-cache header on index file #980
    • chore: bump rustls, use aws_lc_rs instead of ring #985
    • feat: add Partitioned option for CookieConfig #975
    • chore: bump csrf #994
    • feat: support zstd compression #998
    • chore: add track_caller to test asserts #1002
    • chore(poem): fix ring security issue warning, bump tokio-metrics #1006
    • fix: update OpenTelemetry #1010
    • Update MSRV to 1.85.0
    Open source →
  6. 3.1.7 21 Feb 2025
    Release notes
    • fix(poem): Handle richer libcsrf error #953
    • chore: bump redis to 0.28 #981
    • fix: update OpenTelemetry to v0.28 #977
      • Update MSRV to 1.83.0
    Open source →
  7. 3.1.6 04 Jan 2025
    Release notes
    • fix: update otel semconv as well #916
    • chore: bump thiserror and tokio-tungstenite #931
    • Implement middleware for &T: Middleware<_> #936
    • Respect client cookie precedence #943
    • Set a Path on the CSRF cookie #944
    Open source →
  8. 3.1.5 25 Nov 2024
    Release notes
    • Bump opentelemetry to 0.27.0
    • Add WebSocketStream::get_config method to get the WebSocket configuration. #900
    • feat: implement conversion from libcookie to poem cookie #898
    Open source →
  9. 3.1.4 20 Nov 2024
    Release notes
    • Add Server::http2_max_header_list_size method to set the max size of received header frames.
    • Update MSRV to 1.81.0
    Open source →
  10. 3.1.3 21 Oct 2024
    Release notes
    • Add Middleware::combine_if method.
    Open source →
  11. 3.1.2 21 Oct 2024
    Release notes
    • Add Middleware::combine method to combine two middlewares.
    Open source →
  12. 3.1.1 02 Oct 2024
    Release notes
    • Add WebSocket::config method to set the WebSocket configuration.
    Open source →
  13. 3.1.0 08 Sep 2024
    Release notes
    • build(deps): update nix requirement from 0.28.0 to 0.29.0 #851
    • Add manual Default implementation for #[handler] #848
    • Fix EmbeddedFilesEndpoint not working for index.html in subdirectories #825
    • chore: bump redis to 0.26 #856
    • chore: bump tokio-tungstenite,quick-xml, up tokio, openssl to avoid security warning #857
    • feat: allow to set a custom name for the csrf cookie (#801) #864
    • add sonic-rs feature to replace serde_json with sonic_rs #819
    • fix: setting path pattern in opentelemetry traces #878
    • update MSRV to 1.81.0
    • feat: implement StdErr for poem::Error #868
    Open source →
  14. 3.0.4 27 Jul 2024
    Release notes
    • Add manual Default implementation for #[handler] #848
    • feat: add AsyncSeek trait to Upload::into_async_read return type #853
    • Fix EmbeddedFilesEndpoint not working for index.html in subdirectories #825
    • chore: Bump redis to 0.26 #856
    • chore: bump tokio-tungstenite, quick-xml, tokio, openssl #857
    Open source →
  15. 3.0.3 19 Jul 2024
    Release notes
    • bump opentelemetry from 0.23 to 0.24
    Open source →
  16. 3.0.2 19 Jul 2024
    Release notes
    • bump opentelemetry to 0.23
    • fix(prometheus): use correct content-type header #839
    • updated swagger UI to v5.17.14 #842
    • fix: catch unwind for serve_connection #844
    • add some methods to Server for HTTP2 settings
    Open source →
  17. 3.0.1 18 May 2024
    Release notes
    • Fix error response builder, missing Content-Type header #808
    • Fast fix for acme #804
    • RequestId Middleware #806
    • Bump hyper-util from 0.1.1 to 0.1.3
    Open source →
  18. 3.0.0 30 Mar 2024
    Release notes
    • use AFIT instead of async_trait
    • bump priority-queue to 2.0
    • bump x509-parser to 0.16
    • bump nix to 0.28
    • bump redis to 0.25
    • bump reqwest to 0.12
    • bump opentelemetry to 0.22 #784
    • bump sync_wrapper to 1.0.0
    • bump rcgen to 0.13.0
    • bump base64 to 0.22.0
    Open source →
  19. 2.0.1 04 Mar 2024
    Release notes
    • update rustls-pemfile to 2.0 #736
    • update cookie to 0.18 #737
    • fix #762 #763
    Open source →
  20. 2.0.0 06 Jan 2024
    Release notes
    • Remove inline and concrete attributes of Object and Union macros, now automatically generate reference names for generic objects.
    • Response 404 NOT FOUND when parsing path parameters fails. #279
    Open source →
    Release notes
    • upgrade to hyper1
    • allow WebSocket casing for upgrade header #709
    Open source →
  21. 1.3.59 19 Nov 2023
    Release notes
    • added permissions and owner to UnixListener #668
    • In the examples, listen on 0.0.0.0`` instead of 127.0.0.1``#672
    • Add support for wildcard '*' in cors domains #563
    Open source →
  22. 1.3.58 02 Sep 2023
    Release notes
    • bump rust-embed from 6.3 to 8.0
    • bump quick-xml from 0.29.0 to 0.30.0
    Open source →
  23. 1.3.57 23 Jul 2023
    Release notes
    • bump syn from 1.0 to 2.0
    Open source →
  24. 1.3.56 06 Jun 2023
    Release notes
    • allow not falling back to index file #524
    • Public path pattern #522
    • feat: add just_at method for Router #530
    • fix: alive connections counter for graceful shutdown #526
    • chore: update deps shields. bump tokio-metrics #532
    • Trivial doc change to add test to the list of optional #570
    • feat: upsert default_headers to dynamically change while testing #569
    • fix(server): graceful shutdown of established connections #550
    Open source →
  25. 1.3.55 18 Feb 2023
    Release notes
    • fix: export real error RedisSessionError for redis-session [#501](fix: export real error RedisSessionError for redis-session)
    • Add From<HashMap> implementation for I18NArgs #507
    • fix errors when parse yaml & xml request #498
    • fix SSE::keep_alive caused the event stream to not terminate properly.
    Open source →
  26. 1.3.54 03 Feb 2023

    Nothing published for this version

  27. 1.3.53 03 Feb 2023
    Release notes
    • fix: static_files percent encode filename #495
    • bump tokio-tungstenite from 0.17.1to 0.18.0 #463
    • bump base64 from 0.13.0 to 0.21.0
    Open source →
  28. 1.3.52 13 Jan 2023
    Release notes
    • Add yaml support #476
    Open source →
  29. 1.3.51 11 Jan 2023
    Release notes
    • More compact packing of random bytes in session_id #437
    • Fixes opentelemetry_metrics: Correct duration conversion #449
    • Support fall back to the index file when serving static files #450
    • Record and use PathPattern in response #462
    • listener::rustls: add support for elliptic curve private keys #460
    • Add Error::set_error_message to change the error message
    Open source →
  30. 1.3.50 01 Dec 2022
    Release notes
    • Fixes not enough randomness in session keys #430
    Open source →
  31. 1.3.49 21 Nov 2022
    Release notes
    • Bump quick-xml to 0.26.0
    Open source →
  32. 1.3.48 25 Oct 2022
    Release notes
    • Fixes #416
    • Re-enable the brotli compression algorithm.
    • Add Compress::with_quality and Compression::with_quality methods.
    • Add Compression::algorithms to specify the enabled algorithms.
    • Make WebSocketUpgraded<T> and BoxWebSocketUpgraded public #415
    Open source →
  33. 1.3.47 19 Oct 2022
    Release notes
    • Fixes #346 #395
    • Bump redis version to 0.22.0 #412
    • Bump opentelemetry from 0.17.0 to 0.18.0
    Open source →
  34. 1.3.46 17 Oct 2022
    Release notes
    • Add path_pattern to log #337
    • Add support to generics handler #408
    Open source →
  35. 1.3.45 29 Sep 2022
    Release notes
    • Add Error::is_from_response method.
    Open source →
  36. 1.3.44 26 Sep 2022
    Release notes
    • Add Error::status method to get the status code of error.
    Open source →
  37. 1.3.43 23 Sep 2022
    Release notes
    • Removed dependency on typed-headers. #394
    Open source →
  38. 1.3.42 11 Sep 2022
    Release notes
    • Fixed StaticFileEndpoint returning an incorrect Content-Length header when a Range header is in the request.
    • Fixed Compression middleware returning incorrect Content-Length header.
    • Disabled brotli(CompressionAlgo::BR) algorithm, very slow, still looking for the reason.
    Open source →
  39. 1.3.41 06 Sep 2022
    Release notes
    • Use the real IP as the remote_addr in the logs of the Tracing middleware. #370
    • Automatically decode percent-encoded path parameters. #375
    • Fix: trace nested route with original uri. #371
    • Automatically decode percent-encoded path parameters. #375
    • Add ForceHttps::filter method to determine if a request should be redirect. #360
    • Add content-length for StaticFileResponse #373
    Open source →
  40. 1.3.40 16 Aug 2022

    Nothing published for this version

  41. 1.3.39 16 Aug 2022
    Release notes
    • CORS middleware use 403 instead of 401. #368
    Open source →
  42. 1.3.38 12 Aug 2022
    Release notes
    • Expose libcookie iter() #361
    Open source →
  43. 1.3.37 02 Aug 2022
    Release notes
    • Add StaticFilesEndpoint::redirect_to_slash_directory to enable Redirects to a slash-ended path when browsing a directory.
    • Add has_source method to poem::Error #349
    • Use LENGTH_REQUIRED instead of BAD_REQUEST in SizeLimit middleware #348
    Open source →
  44. 1.3.36 26 Jul 2022

    Nothing published for this version

  45. 1.3.35 16 Jul 2022
    Release notes
    • Expose macro impl_apirequest_for_payload for custom payload type and add an example to demonstrating the custom payload. #309
    • Add Accept extractor.
    • Add TcpAcceptor::from_tokio method. #317
    Open source →
  46. 1.3.34 12 Jul 2022

    Nothing published for this version

  47. 1.3.33 10 Jul 2022
    Release notes
    • Chose Compress algorithm with priority #302
    • Increase the MSRV to 1.61
    Open source →
  48. 1.3.32 28 Jun 2022
    Release notes
    • Add XML support #297
    • Add RealIp extractor
    Open source →
  49. 1.3.31 17 Jun 2022
    Release notes
    • Add openssl TLS listener. #289
    Open source →
  50. 1.3.30 15 May 2022
    Release notes
    • Fix route variable matching incorrectly. #275
    Open source →
  51. 1.3.29 18 Apr 2022

    Nothing published for this version

  52. 1.3.28 16 Apr 2022 withdrawn
    Release notes
    • Add support for multiple domains to RustlsConfig.
    • Bump rustls-pemfile from 0.3.0 to 1.0.0.
    Open source →
  53. 1.3.27 15 Apr 2022

    Nothing published for this version

  54. 1.3.26 14 Apr 2022

    Nothing published for this version

  55. 1.3.25 13 Apr 2022

    Nothing published for this version

  56. 1.3.24 13 Apr 2022
    Release notes
    • Do not include a body for HTTP 304 #257
    • An error created by a status code should be converted to a response without a body.
    Open source →
  57. 1.3.23 11 Apr 2022
    Release notes
    • Integrate with rust-embed. #251
    Open source →
  58. 1.3.22 08 Apr 2022
    Release notes
    • Make the AutoCert middleware to register an account only when it needs to create a new certificate.
    Open source →
  59. 1.3.21 07 Apr 2022
    Release notes
    • Add CatchPanic middleware.
    Open source →
  60. 1.3.20 01 Apr 2022

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive