Skip to content

Releases: rsocket/rsocket-rust

Release v0.7.2

01 Sep 13:30
d30c147
Compare
Choose a tag to compare
Release v0.7.2 Pre-release
Pre-release

New Feature

  • Implement cancel frame handling which based on AbortHandle. #49

Release v0.7.0

14 Jan 15:20
3c555e7
Compare
Choose a tag to compare
Release v0.7.0 Pre-release
Pre-release

Chore

  • update deps (#42)
  • config chglog (#41)
  • use mkcert to generate TLS example certificates and keys (#38)
  • add RSocket trait example in readme
  • fix readme
  • bump tokio to v0.3.6
  • rustfmt: optimize import (#39)

Feat

  • close connection correctly when client is dropped (#40)
  • migrate to tokio v1
  • change transport api (#35)
  • implment tls transport (#31)
  • redesign RSocket trait based on async_trait
  • request_response: handle empty response correctly

Fix

  • register client-side responder correctly (#36)
  • simplify Option convert
  • remove useless examples

Release v0.6.0

13 Dec 15:28
Compare
Choose a tag to compare
Release v0.6.0 Pre-release
Pre-release

New Features

  • add keepalive support.

Others

  • reimplement transport trait.

Release v0.5.3

11 Jun 15:25
Compare
Choose a tag to compare
Release v0.5.3 Pre-release
Pre-release
  1. Support unix socket.
  2. Remove Sync trait from RSocket.

Release v0.5.2

26 May 15:07
7677730
Compare
Choose a tag to compare
Release v0.5.2 Pre-release
Pre-release

New features: RSocket Messaging 🌟

Example:

#[macro_use]
extern crate serde_derive;

use rsocket_rust_messaging::Requester;

#[derive(Serialize, Deserialize, Debug)]
pub struct Student {
    id: i64,
    name: String,
    gender: u8,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct Classroom {
    id: u32,
    name: String,
}

#[tokio::main]
async fn main() {
    let requester = Requester::builder()
        .connect_tcp("127.0.0.1", 7878)
        .build()
        .await
        .expect("Connect failed!");
    // Query all students of some classroom
    let res: Vec<Student> = requester
        .route("students.v1")
        .data(Classroom {
            id: 1,
            name: "some classroom".to_owned(),
        })
        .retrieve_flux()
        .block()
        .await
        .expect("Retrieve failed!");
    for it in res.iter() {
        info!("===> NEXT: {:?}", it);
    }
}

Release v0.5.1

06 Apr 13:57
Compare
Choose a tag to compare
Release v0.5.1 Pre-release
Pre-release
  1. Support fragmentation.
  2. Change acceptor function to boxed Fn.
  3. Bugfix.

Release v0.5.0

22 Feb 09:47
Compare
Choose a tag to compare
Release v0.5.0 Pre-release
Pre-release
  1. New Features:
  • Websocket Transport.
  • WASM Websocket Transport. (Client-Side only)
  1. Project struct changed.
  2. Transport API changed: now you must import your transport implementation:
  • rsocket_rust_transport_tcp
  • rsocket_rust_transport_websocket
  • rsocket_rust_transport_wasm

Release v0.4.0

24 Dec 12:03
ecae88d
Compare
Choose a tag to compare
Release v0.4.0 Pre-release
Pre-release
  1. Support RSocket URL string.
  2. Optimize and tuning.
  3. Bugfix for REQUEST_RESPONSE.

v0.3.0

04 Dec 02:43
777d554
Compare
Choose a tag to compare
v0.3.0 Pre-release
Pre-release

New features:

  1. Support basic RequestChannel.
  2. Support RoutingMetadata extension.

async/await!

29 Nov 10:12
b4154b3
Compare
Choose a tag to compare
async/await! Pre-release
Pre-release
  1. Support rust v1.39+
  2. Support async/await.
  3. Upgrade dependencies: tokio0.2, futures0.3, bytes0.5.
  4. Broken APIs.