Skip to content

axum v0.8.0-rc.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@jplatte jplatte released this 17 Dec 23:03
· 32 commits to main since this release
axum-v0.8.0-rc.1
5cdd8a4

Note: there are further relevant changes in axum-core's changelog.

Since v0.8.0-alpha.1:

  • breaking: Move Host extractor to axum-extra (#2956)
  • breaking: Remove WebSocket::close.
    Users should explicitly send close messages themselves. (#2974)
  • breaking: Make serve generic over the listener and IO types (#2941)
  • breaking: Remove Serve::tcp_nodelay and WithGracefulShutdown::tcp_nodelay.
    See serve::ListenerExt for an API that let you set arbitrary TCP stream properties. (#2941)
  • breaking: Option<Path<T>> and Option<Query<T>> no longer swallow all error conditions,
    instead rejecting the request in many cases; see their documentation for details (#2475)
  • fixed: Skip SSE incompatible chars of serde_json::RawValue in Event::json_data (#2992)
  • fixed: Don't panic when array type is used for path segment (#3039)
  • fixed: Avoid setting content-length before middleware.
    This allows middleware to add bodies to requests without needing to manually set content-length (#2897)
  • added: Add method_not_allowed_fallback to set a fallback when a path matches but there is no handler for the given HTTP method (#2903)
  • added: Add NoContent as a self-described shortcut for StatusCode::NO_CONTENT (#2978)
  • added: Add support for WebSockets over HTTP/2.
    They can be enabled by changing get(ws_endpoint) handlers to any(ws_endpoint) (#2894)
  • added: Add MethodFilter::CONNECT, routing::connect[_service]
    and MethodRouter::connect[_service] (#2961)
  • added: Extend FailedToDeserializePathParams::kind enum with (ErrorKind::DeserializeError)
    This new variant captures both key, value, and message from named path parameters parse errors,
    instead of only deserialization error message in ErrorKind::Message. (#2720)