Skip to content

Releases: Totodore/socketioxide

v0.11.0

06 Mar 04:25
fc599c3
Compare
Choose a tag to compare

Changelog

socketioxide

  • fix: a panic was raised sometimes under heavy traffic with socketio v5 when the connect timeout handler is destroyed but that the chan sender is still alive.
  • (Breaking): Emit errors now contains the provided data if there is an issue with the internal channel (for example if it is full) or if the socket closed.
  • (Breaking): Operators are now splitted between Operators and BroadcastOperators in order to split logic and fn signatures between broadcast and non-broadcast operators.

engineioxide

  • fix #277: with engine.io v3, the message byte prefix 0x4 was not added to the binary payload with ws transport.
  • bump dependency base64 to 0.22.0.

What's Changed

  • fix(socketio/client): connect timeout panic under heavy traffic by @Totodore in #252
  • doc(example): add an axum tls example by @Totodore in #253
  • doc(example): chat room example with loco as a backend by @kaplanelad in #254
  • chore(conf): disable example by default by @Totodore in #256
  • fix(ci): by @Totodore in #257
  • fix(ci): by @Totodore in #259
  • chore(deps-dev): bump vite from 5.0.7 to 5.0.12 in /examples/loco-rooms-chat/client by @dependabot in #255
  • chore(deps): update loco-rs requirement from 0.2.3 to 0.3.1 by @dependabot in #263
  • feat(socketio/socket): Return emitted data in case of emission error. by @Totodore in #262
  • chore(deps): update salvo requirement from 0.65.0 to 0.66.0 by @dependabot in #266
  • fix(engineio/ws): missing extra byte in websocket binary frame on EIO v3 by @kelnos in #278
  • chore(deps): update base64 requirement from 0.21.0 to 0.22.0 by @dependabot in #279
  • chore(ci): add a heaptrack job by @Totodore in #265
  • chore(deps): bump to v0.11 by @Totodore in #281

New Contributors

Full Changelog: v0.10.2...v0.11.0

v0.10.2

22 Jan 12:20
1932548
Compare
Choose a tag to compare

socketioxide

  • New rooms fn to get all the rooms of a namespace.

What's Changed

Full Changelog: v0.10.1...v0.10.2

v0.10.1

19 Jan 12:01
92f675f
Compare
Choose a tag to compare

Socketioxide

  • New as_str fn for Sid.
  • Http request is now cloned for the websocket transport (it was not possible before http v1). Therefore it is possible to get headers/extensions of the initial request.

What's Changed

  • fix(clippy): errors by @Totodore in #223
  • feat(engineio/sid): add as_str fn for Sid by @Totodore in #224
  • feat(engineio/ws): Clone http request for ws transport by @Totodore in #227
  • chore(deps): update salvo requirement from 0.63.0 to 0.64.0 by @dependabot in #228
  • chore(deps): viz 0.8.0 by @fundon in #230
  • chore(deps): update salvo requirement from 0.64.0 to 0.65.0 by @dependabot in #235
  • docs(socketio): correct links in the socket.io doc homepage by @zaregata in #238
  • chore(ci): add release pipeline by @Totodore in #239
  • docs(socketio): Document emit variable arguments fn by @Totodore in #240

Full Changelog: v0.10.0...v0.10.1

v0.10.0

02 Jan 11:31
6032ffb
Compare
Choose a tag to compare

socketioxide

  • Rework for emit_with_ack fns. It now returns an AckStream that can be used either as a future when expecting one ack or as a stream when expecting multiple acks. When expecting multiple acks the AckStream will yield AckResults as well as their corresponding socket id.

What's Changed

  • fix: compile viz-echo by @fundon in #218
  • test(socketio): improve testing by directly using the rust_socketio client by @Totodore in #219
  • doc(example): add cors for salvo_echo by @Totodore in #221
  • feat: Better ergonomy for ack responses with custom AckStream struct by @Totodore in #201

Full Changelog: v0.9.1...v0.10.0

v0.9.1

21 Dec 20:07
Compare
Choose a tag to compare

Changelog

  • Add SocketIo::get_socket and Operators::get_socket methods to get a socket ref from its id.
  • Switch to pin-project-lite instead of pin-project.

What's Changed

  • doc(socketio/extract): add missing extractors to the list by @Totodore in #199
  • chore(deps): switch to pin-project-lite for Pin Projection by @Totodore in #200
  • doc: Fix version compatibility (Axum - Hyper - Socketioxide) by @tausifcreates in #202
  • fix(git): Cargo.lock should be ignored by @fundon in #204
  • doc: add a PR template and update contrib doc by @Totodore in #208
  • refactor: service implementation by @fundon in #205
  • doc: Fix wrong links to axum in README.md by @AkiraMiyakoda in #209
  • examples: add viz-echo example by @fundon in #203
  • doc: add tokio discordl ink by @Totodore in #210
  • examples: Add Room based chat example, built with React and Socketioxide. by @tausifcreates in #211
  • feat: get a socket by the specified sid by @fundon in #216

New Contributors

Full Changelog: v0.9.0...v0.9.1

v0.9.0

15 Dec 21:56
Compare
Choose a tag to compare

0.9.0

  • Bump hyper to 1.0.1. It is now possible to use frameworks based on hyper v1.*. Check the compatibility table for more details.
  • Bump http to 1.0
  • Bump http-body to 1.0
  • Bump tokio-tungstenite to 0.21.0

What's Changed

v0.8.0

11 Dec 17:25
Compare
Choose a tag to compare

socketioxide

  • Add transport_type and protocol fn on the Socket struct. It allows to know the transport type and the protocol used by the socket.
  • Dynamic DisconnectHandler. Now the on_disconnect handler take a dynamic handler that maybe async and contain any type that implements FromDisconnectParts. It allows to extract data from the disconnection, like the socket, the reason of the disconnection, the state etc.
  • New state feature flag. It enables global state management. It is useful to share data between handlers. It is disabled by default.

engineioxide

  • Packet encoding/decoding optimizations.

What's Changed

New Contributors

Full Changelog: v0.7.3...v0.8.0

v0.7.3

05 Dec 21:19
Compare
Choose a tag to compare

Changelog

  • Fix #189. Async message handlers were never called because the returned future was not spawned with tokio::spawn.

Full Changelog: v0.7.2...v0.7.3

v0.7.2

22 Nov 17:52
c0e2b22
Compare
Choose a tag to compare

Changelog

  • The on_disconnect callback now takes a SocketRef rather than an Arc<Socket> to match other handlers. It also avoids that the user clone the socket and create a memory leak.
  • Documentation improvements (see https://docs.rs/socketioxide).
  • Bump library dependencies (see below).

What's Changed

Full Changelog: v0.7.1...v0.7.2

v0.7.1

12 Nov 20:10
596442e
Compare
Choose a tag to compare

Changelog

socketioxide

  • Fix #154, build was broken when using the hyper-v1 feature flag because of hyper-util dependency which is not published on crates.io.

What's Changed

  • chore(deps): specify version 0 for hyper util by @Totodore in #153
  • fix: implement manually tokio_io module for hyper v1 by @Totodore in #155

Full Changelog: v0.7.0...v0.7.1