v0.20.0
[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)