Skip to content

Releases: johanhelsing/matchbox

v0.11.0

21 Dec 09:25
Compare
Choose a tag to compare

What's Changed

BREAKING CHANGES

  • Refactor: Drop typestate pattern for building sockets by @caspark in #468

We dropped the typestate pattern on WebRtcSocket. This means no more WebRtcSocket<SingleChannel> or WebRtcSocket<MultiChannel> There is simply WebRtcSocket. And the same goes for bevy_matchbox' MatchboxSocket.

A single channel socket is now just a socket with one channel.

Code that previously used WebRtcSocket<SingleChannel> now just needs to use the channel accessor to get to the channel:

v0.10

socket.send(message, peer);

v0.11

socket.channel_mut(0).send(message, peer);

We've also removed the ggrs convenience constructors. Users are now expected to know that they need an unreliable channel for GGRS to work optimally. The ggrs socket implementation is now removed from the socket itself and only implemented by the channels. See the example for how to use matchbox with GGRS.

Features

Other fixes

  • bevy_matchbox example header comments to include reference to cargo dependency changes when needed for integration. by @CodyTheDoer in #465
  • Upgrade to webrtc-rs 0.12 by @johanhelsing in #472

New Contributors

Full Changelog: v0.10.0...v0.11.0

v0.10.0

15 Jul 07:04
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.9.0...v0.10.0

v0.9.0

09 Mar 10:49
Compare
Choose a tag to compare

What's Changed

Documentation

New Contributors

Full Changelog: v0.8.1...v0.9.0

v0.8.1

12 Jan 09:59
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.8.0...v0.8.1

v0.8.0

14 Nov 06:55
Compare
Choose a tag to compare

What's Changed

Features

Bug fixes

  • Fix broken matchbox_server docker image by @johanhelsing in #293
  • fix: receive() no longer blocks infinitely by @simbleau in #330
  • Don't log null ice candidates as errors on native by @simbleau in #327
  • Remove unwraps in MessageLoop by @simbleau in #283
  • Fix GLIB version mismatch in ARM docker image by @KAIYOHUGO in #343
  • Fix bevy matchbox signaling panic by @johanhelsing in #355
  • Command::apply, not write - fix bevy_matchbox with signaling feature by @RJ in #346
  • Add missing RTCIceCredentialType to the RTCIceServer by @tedsteen in #320

Other changes

New Contributors

Full Changelog: v0.7.0...v0.8.0

v0.7.0

11 Aug 09:52
cc1faa2
Compare
Choose a tag to compare

What's Changed

To make this changelog useful, it only includes PRs relevant to users of the library (i.e. dependency updates, ci changes etc.)

Features

Bug fixes

Other changes

New Contributors

Full Changelog: v0.6.1...v0.7.0

v0.6.1

07 Apr 14:49
Compare
Choose a tag to compare

What's Changed

This is a bug fix release with fixes for the following issues

  • GetChannelError was accidentally private, making it impractical to handle errors from take_channel/get_channel
  • Build errors with ggrs feature on wasm
  • Regression: panic when ice candidates arrive after handshake completion #183

Merged PRs

New Contributors

Full Changelog: v0.6.0...v0.6.1

v0.6.0

31 Mar 13:28
Compare
Choose a tag to compare

What's Changed

New crates

  • matchbox_signaling: highlevel API for building a custom signaling server
  • matchbox_protocol: Shared signaling protocol between matchbox_server, matchbox_signaling and matchbox_socket
  • bevy_matchbox: For simplified usage with Bevy

New features in matchbox_socket

  • Multiple data channels can now be added
  • Support for reliable channels and custom reliability
  • Builder API for creating a new socket
  • Peer disconnections now reported through update_peers
  • Configurable signaling server reconnection attempts (defaults to 2)
  • Signaling server keep alive interval can now be configured or disabled (only needed if the signaling server or its proxy is aggressively killing idle websocket connections)

Bug fixes

  • Development builds no longer panic after ~10 minutes #72
  • Socket no longer panics when connecting to the signaling server fails #93
  • Fixed some panics that could happen on incorrect API usage (dropping a socket future before the socket)

Breaking/Migration

  • WebRtcSocket::new renamed to WebRtcSocket::new_unreliable
  • WebRtcSocket::accept_new_connections replaced with WebRtcSocket::update_peers
  • WebRtcSocketConfig replaced with WebRtcSocketBuilder
  • ggrs-socket feature renamed to ggrs
  • Peer ids are no longer strings, but their own PeerId type, wrapping a Uuid

Merged PRs

New Contributors

Full Changelog: v0.5.0...v0.6.0

v0.5.0

13 Jan 10:32
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.4.0...v0.5.0

v0.4.0

27 Oct 16:03
Compare
Choose a tag to compare

What's Changed

Release announcement

Most notably, we added support for TURN servers and authentication, added a native implementation (still no cross-play, though, see #47 )

New Contributors

Full Changelog: v0.3.0...v0.4.0