Skip to content

v0.20.0

Compare
Choose a tag to compare
@niklasad1 niklasad1 released this 11 Aug 15:19
· 190 commits to master since this release
v0.20.0
f329540

[v0.20.0] - 2023-08-11

Another breaking release where the major changes are:

  • host filtering has been moved to tower middleware instead of the server API.
  • the clients now supports default port number such wss://my.server.com
  • the background task for the async client has been refactored to multiplex send and read operations.

Regarding host filtering prior to this release one had to do:

let acl = AllowHosts::Only(vec!["http://localhost:*".into(), "http://127.0.0.1:*".into()]);
let server = ServerBuilder::default().set_host_filtering(acl).build("127.0.0.1:0").await.unwrap();

After this release then one have to do:

let middleware = tower::ServiceBuilder::new().layer(HostFilterLayer::new(["example.com"]).unwrap());
let server = Server::builder().set_middleware(middleware).build("127.0.0.1:0".parse::<SocketAddr>()?).await?;

Thanks to the external contributors @polachok, @bobs4462 and @aj3n that contributed to this release.

[Added]

  • feat(server): add SubscriptionMessage::new (#1176)
  • feat(server): add SubscriptionSink::connection_id (#1175)
  • feat(server): add Params::get (#1173)
  • feat(server): add PendingSubscriptionSink::connection_id (#1163)

[Fixed]

  • fix(server): host filtering URI read authority (#1178)

[Changed]

  • refactor: make ErrorObject::borrowed accept &str (#1160)
  • refactor(client): support default port number (#1172)
  • refactor(server): server host filtering (#1174)
  • refactor(client): refactor background task (#1145)
  • refactor: use RootCertStore::add_trust_anchors (#1165)
  • chore(deps): update criterion v0.5 and pprof 0.12 (#1161)
  • chore(deps): update webpki-roots requirement from 0.24 to 0.25 (#1158)
  • refactor(server): move host filtering to tower middleware (#1179)