Releases: johanhelsing/matchbox
Releases · johanhelsing/matchbox
v0.10.0
What's Changed
- Update
bevy_matchbox
to Bevy 0.14 by @Jondolf in #455 - Remove serde-serialize feature by @RaoulHC in #438
- Update to axum-0.7/hyper-1.2 by @RaoulHC in #436
- Fix new warnings in rust 1.77 by @johanhelsing in #443
- fix: error: direct implementation of
ToString
by @johanhelsing in #457 - Upgrade dependencies, including webrtc 0.11 by @johanhelsing in #458
- chore(deps): bump rust from 1.75-slim-bullseye to 1.79-slim-bullseye in /matchbox_server by @dependabot in #451
New Contributors
Full Changelog: v0.9.0...v0.10.0
v0.9.0
What's Changed
- Upgrade to bevy 0.13 by @johanhelsing in #424
- Upgrade to webrtc-rs 0.10 by @johanhelsing in #425
Documentation
- fix: [bevy_ggrs example] add tonemapping_luts bevy feature by @AgustinRamiroDiaz in #418
- Fix bevy_ggrs example not working on native by @johanhelsing in #423
New Contributors
- @AgustinRamiroDiaz made their first contribution in #418
Full Changelog: v0.8.1...v0.9.0
v0.8.1
v0.8.0
What's Changed
Features
- Updated to Bevy 0.12 and latest Bevy GGRS by @bushrat011899 in #366
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 - fixbevy_matchbox
withsignaling
feature by @RJ in #346- Add missing
RTCIceCredentialType
to theRTCIceServer
by @tedsteen in #320
Other changes
- Update to webrtc 0.9 by @tedsteen in #318
- Test
bevy_matchbox
signaling
feature in CI by @johanhelsing in #354 - Fix pink materials in bevy_ggrs example by @johanhelsing in #358
- Add examples for
bevy_matchbox
by @johanhelsing in #362 - Fix a clippy lint by @JoJoJet in #307
- Add more information to error messages by @JoJoJet in #306
New Contributors
- @JoJoJet made their first contribution in #307
- @tedsteen made their first contribution in #318
- @RJ made their first contribution in #346
- @KAIYOHUGO made their first contribution in #343
- @bushrat011899 made their first contribution in #366
Full Changelog: v0.7.0...v0.8.0
v0.7.0
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
- Move task handle into bevy Resource / Component by @garryod in https://github.com
- Add signalling utils to
bevy_matchbox
by @garryod in #215 - Derive Display for PeerID by @garryod in #255
- Bevy 0.11 by @simbleau in #277
- Added connection attempt delay by @simbleau in #227
Bug fixes
- fix: failed send panic by @mikeder in #220
WebRtcConnection.update_peers()
error handling. by @gibbz00 in #223
Other changes
matchbox_server
re-written withmatchbox_signaling
by @simbleau in #225- Update webrtc-rs to 0.8 by @johanhelsing in #239
New Contributors
- @mikeder made their first contribution in #213
- @alepez made their first contribution in #222
- @gibbz00 made their first contribution in #223
Full Changelog: v0.6.1...v0.7.0
v0.6.1
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 fromtake_channel
/get_channel
- Build errors with
ggrs
feature on wasm - Regression: panic when ice candidates arrive after handshake completion #183
Merged PRs
- Make
GetChannelError
public by @johanhelsing in #199 - Update README.md by @simbleau in #196
- Fix panic when signal is received after handshake was completed by @tdzienniak in #204
- Add missing
ggrs/wasm-bindgen
dependency forggrs
feature by @johanhelsing in #206 - Release
matchbox_socket
v0.6.1 by @johanhelsing in #205
New Contributors
- @tdzienniak made their first contribution in #204
Full Changelog: v0.6.0...v0.6.1
v0.6.0
What's Changed
New crates
matchbox_signaling
: highlevel API for building a custom signaling servermatchbox_protocol
: Shared signaling protocol betweenmatchbox_server
,matchbox_signaling
andmatchbox_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 toWebRtcSocket::new_unreliable
WebRtcSocket::accept_new_connections
replaced withWebRtcSocket::update_peers
WebRtcSocketConfig
replaced withWebRtcSocketBuilder
ggrs-socket
feature renamed toggrs
- Peer ids are no longer strings, but their own
PeerId
type, wrapping aUuid
Merged PRs
- Support multiple reliable and unreliable data channels by @heartlabs in #64
- Server: Update log target name by @johanhelsing in #73
- Build & Publish
matchbox_server
on tagged release by @garryod in #71 - Add
WebRtcSocket::broadcast_on_channel
by @johanhelsing in #74 - Remove commented out code by @johanhelsing in #75
- Run github actions ci workflow on pull_request events by @johanhelsing in #76
- Inline format argument by @garryod in #78
- Fix inferred bound warning by @garryod in #77
- Update to rust edition 2021 by @garryod in #80
- fixed document typo by @simbleau in #86
- chore: stun server fallback options by @simbleau in #87
- Add "contributing" section to readme by @johanhelsing in #89
- Forbid unsafe rust by @johanhelsing in #92
- Replace Warp with Axum for the signalling server by @simbleau in #82
- Disconnected peers by @simbleau in #94
- a possible way of handling disconnected peers by @rozgo in #84
- Add rustfmt by @simbleau in #98
- Begin error propogation by @simbleau in #97
- Minor cleanups by @johanhelsing in #100
- cfg-if, socket logic move, remove WebRtcSocket::default by @simbleau in #101
- Upgrade to webrtc 0.7 by @johanhelsing in #109
- Refactor
signalling_loop
by exposing providers via a trait by @garryod in #79 - Documentation enhancements by @simbleau in #116
- Simple demo cleanup by @simbleau in #114
- Fixes native break on web client disconnect by @simbleau in #115
- Refactor
messaging_loop
by exposing providers via a trait by @garryod in #112 - Signalling attempts by @simbleau in #104
- Have server produce
PeerId
by @garryod in #111 - Change default to only use 2 stun servers by @johanhelsing in #121
- Unify connections and disconnections API, detect p2p disconnections by @johanhelsing in #117
- Markdownlint by @johanhelsing in #124
- Project Organization by @simbleau in #123
- added clone to WebRtcSocket meta structs by @simbleau in #125
- feat: publicize more types by @simbleau in #126
- add update_peers usage to bevy_ggrs example by @johanhelsing in #132
- matchbox_protocol by @simbleau in #127
- Pass example arguments as values in readme snippet by @garryod in #134
- Abstract message loop implementation by @garryod in #128
- expose PeerId by @simbleau in #137
- Remove
uuid
dependency by @johanhelsing in #139 - Don't require
&mut self
forWebRtcSocket::id
,players
by @johanhelsing in #140 - Remove redundant Native Peer status change handling by @garryod in #142
- Improve logging and code clarity by @johanhelsing in #141
- docs: Link to example folders, not READMEs by @johanhelsing in #149
- Fix panic on receive after socket future is dropped by @johanhelsing in #150
- Make
PeerId
aUuid
newtype by @johanhelsing in #151 - Fix native crash when connecting to wasm, async blocks by @garryod in #156
- Use builder pattern to construct
WebRtcSocket
by @garryod in #158 - Remove
UnknownPeerId
error by @johanhelsing in #159 - Update/remove deps by @johanhelsing in #161
- Provide abstraction for a channel by @garryod in #160
- Use
rust-cache
to speed up CI by @garryod in #164 - Lint
toml
withtaplo
by @garryod in #163 - Split CI into Code & Markdown Lint by @garryod in #165
- Add a Bevy plugin by @garryod in #157
- Add
signaling_keep_alive_interval
to socket builder by @johanhelsing in #166 - Minor style/logging cleanups by @johanhelsing in #167
- Check all targets in CI by @garryod in #168
- Signaling Server API by @simbleau in #135
- Include
bevy_matchbox
in a few missed places by @garryod in #172 - Rename
ggrs-socket
feature toggrs
by @johanhelsing in #176 - Make
close_socket
command extension usable by @johanhelsing in #181 - Add
get_channel
, makechannel
panicky by @johanhelsing in #177 - Add channel type helpers to socker builder by @garryod in #187
- Add
ggrs
feature tobevy_matchbox
by @johanhelsing in #186 - Make tests pass on windows by @johanhelsing in #180
- Refactor Code CI by @garryod in #184
- Update bevy_matchbox and bevy_ggrs_example to Bevy 0.10 by @simbleau in #190
- Expand bevy plugin usage options by @garryod in #188
- Docs updates ahead of 0.6 by @garryod in #169
- Add simple constructors to bevy_matchbox by @johanhelsing in #193
- docs: Remove links to internal api by @johanhelsing in #194
- Release 0.6.0 by @johanhelsing in #162
New Contributors
Full Changelog: v0.5.0...v0.6.0
v0.5.0
What's Changed
- Cross-platform (native to wasm) connections are now supported by @rozgo in #54
- The disconnections on Firefox are gone #36
- Upgrade bevy to 0.9 in demo by @hfaulds in #67
- Upgrade to webrtc-0.6 by @rozgo in #50
- Fix demo issues with latest clap by @pinkforest in #51
- Fix panic on wasm by @johanhelsing in #57
- Remove RtcIceCandidate hacks by @johanhelsing in #60
- Minor demo tweaks and upgrade dependencies by @johanhelsing in #69
New Contributors
- @rozgo made their first contribution in #50
- @pinkforest made their first contribution in #51
- @hfaulds made their first contribution in #67
Full Changelog: v0.4.0...v0.5.0
v0.4.0
What's Changed
Most notably, we added support for TURN servers and authentication, added a native implementation (still no cross-play, though, see #47 )
- Add support for native clients by @johanhelsing in #8
- Simple wasm demo by @sapir in #17
- #13: scoped rooms by @Vrixyz in #19
- update "ggrs_socket" feature and matchbox_demo to ggrs 0.9 by @gschup in #20
- Remove WebRtcNonBlockingSocket by @johanhelsing in #23
- Add KeepAlive request to prevent websockets from auto-closing by @johanhelsing in #24
- Make ICE server URLs configurable by @heartlabs in #28
- Server: Don't panic when signal receiver is unknown by @johanhelsing in #33
- Update matchbox_demo to Bevy 0.8 by @tracteurblinde in #39
- Upgrade version of webrtc dependency by @heartlabs in #40
- Fix deprecated JsValue::from_serde usage by @johanhelsing in #42
- Add ice auth support by @johanhelsing in #37
- Rustdocs for everything! by @johanhelsing in #43
New Contributors
- @Vrixyz made their first contribution in #19
- @gschup made their first contribution in #20
- @heartlabs made their first contribution in #28
- @tracteurblinde made their first contribution in #39
Full Changelog: v0.3.0...v0.4.0
v0.3.0
Full Changelog: v0.2.0...v0.3.0