Releases: Totodore/socketioxide
Socketioxide v0.18.1
- fix: issue #627. In case of namespace connect failure,
the socket was not properly removed from the adapter and the namespace.
What's Changed
- fix(socketio/ns): remove socket in case of ns connect failure by @Totodore in #655, thanks @Julian332 to the bug report!
- chore(socketio): v0.18.1 by @Totodore in #657
Full Changelog: socketioxide-v0.18.0...socketioxide-v0.18.1
Socketioxide Redis v0.4
socketioxide-redis 0.4.0
feat(breaking): bump the redis peer dependency to 1.0.
What's Changed
- chore(deps): bump tokio from 1.48.0 to 1.49.0 by @dependabot[bot] in #646
- chore(deps): switch to redis v1 by @Totodore in #606
Full Changelog: redis-v0.3...redis-v0.4
Engineioxide v0.17.2
Changelog
- fix:
Nooppacket was emitted only one time during the upgrade mechanism, leading to an infinite upgrade loop when the client sent multiple http polling requests. - fix: the socket closing process was incorrect in some edge cases, leading to leaky sockets. This fix ensures that sockets are properly closed and resources are released.
- feat: improve traces in the upgrade and closing mechanisms.
What's Changed
- chore(deps): bump tokio from 1.46.1 to 1.47.0 by @dependabot[bot] in #552
- chore(deps): bump tokio-util from 0.7.15 to 0.7.16 by @dependabot[bot] in #556
- chore(deps): bump tokio from 1.47.0 to 1.47.1 by @dependabot[bot] in #557
- fix(engineio): fix
Nooppacket emission when upgrading transport by @Totodore in #554 - chore: backport #554 and bump engineioxide to v0.17.1 by @Totodore in #559
- chore(deps): bump thiserror from 2.0.12 to 2.0.15 by @dependabot[bot] in #566
- chore(deps): bump serde_json from 1.0.142 to 1.0.143 by @dependabot[bot] in #568
- chore(deps): bump hyper from 1.6.0 to 1.7.0 by @dependabot[bot] in #567
- chore(deps): bump mongodb from 3.2.4 to 3.2.5 by @dependabot[bot] in #570
- feat(engineio): improve
engineioxide::OpenPacketserde impl by @CaptainTux in #572 - chore(deps): bump tracing-subscriber from 0.3.19 to 0.3.20 by @dependabot[bot] in #574
- fix(engineio/v3): incorrect
NOOPpacket formating when upgrading by @Totodore in #560 - chore(deps): bump tracing-subscriber from 0.3.19 to 0.3.20 in /examples by @dependabot[bot] in #601
- chore(deps): bump memchr from 2.7.5 to 2.7.6 by @dependabot[bot] in #589
New Contributors
- @CaptainTux made their first contribution in #572
Full Changelog: engineioxide-v0.17.1...engineioxide-v0.17.2
Socketioxide v0.18.0
Changelog
- feat(breaking): remove sync handlers to gain 50% of compilation speed.
- feat: Socket rooms will be removed only after the disconnect handler execution,
making them available in the disconnect handler (thanks @Mettwasser).
What's Changed
- chore(deps): bump tokio from 1.44.2 to 1.45.0 by @dependabot[bot] in #512
- feat(socketio): add utility methods by @Totodore in #514
- feat(socketio): remove sync handlers by @Totodore in #516
- chore(deps): bump hyper-util from 0.1.11 to 0.1.12 by @dependabot[bot] in #517
- chore(deps): bump tokio from 1.45.0 to 1.45.1 by @dependabot[bot] in #521
- chore(deps): bump hyper-util from 0.1.12 to 0.1.13 by @dependabot[bot] in #522
- chore(deps): bump hyper-util from 0.1.13 to 0.1.14 by @dependabot[bot] in #524
- chore(deps): bump smallvec from 1.15.0 to 1.15.1 by @dependabot[bot] in #526
- fix(socketio): move tracing macro call from trait to impl by @Totodore in #529
- docs: update changelog from latest release by @Totodore in #530
- chore(deps): bump memchr from 2.7.4 to 2.7.5 by @dependabot[bot] in #532
- chore(deps): bump tokio from 1.45.1 to 1.46.1 by @dependabot[bot] in #539
- chore(deps): bump hyper-util from 0.1.14 to 0.1.15 by @dependabot[bot] in #540
- fix(clippy): global clippy lints by @Totodore in #546
- chore(deps): bump serde_json from 1.0.140 to 1.0.142 by @dependabot[bot] in #553
- chore(deps): bump tokio from 1.46.1 to 1.47.0 by @dependabot[bot] in #552
- chore(deps): bump tokio-util from 0.7.15 to 0.7.16 by @dependabot[bot] in #556
- chore(deps): bump tokio from 1.47.0 to 1.47.1 by @dependabot[bot] in #557
- chore(deps): bump arbitrary from 1.4.1 to 1.4.2 by @dependabot[bot] in #565
- chore(deps): bump thiserror from 2.0.12 to 2.0.15 by @dependabot[bot] in #566
- chore(deps): bump serde_json from 1.0.142 to 1.0.143 by @dependabot[bot] in #568
- chore(deps): bump tracing-subscriber from 0.3.19 to 0.3.20 by @dependabot[bot] in #574
- chore(deps): bump serde from 1.0.219 to 1.0.223 by @dependabot[bot] in #581
- chore(deps): bump hyper-util from 0.1.15 to 0.1.17 by @dependabot[bot] in #583
- chore(deps): bump serde from 1.0.223 to 1.0.225 by @dependabot[bot] in #585
- chore(deps): bump serde_json from 1.0.143 to 1.0.145 by @dependabot[bot] in #584
- examples(warp): add latest warp example by @Totodore in #586
- fix(ci): rollback to 1.89 by @Totodore in #604
- tests(socketio): graceful error if ws closed by @Totodore in #605
- fix(ci): use redis bitnami legacy images by @Totodore in #607
- chore(deps): bump tracing-subscriber from 0.3.19 to 0.3.20 in /examples by @dependabot[bot] in #601
- chore(deps): bump axum from 0.8.4 to 0.8.6 by @dependabot[bot] in #594
- chore(deps): bump memchr from 2.7.5 to 2.7.6 by @dependabot[bot] in #589
- fix(ci): use all-green ci check by @Totodore in #608
- feat(ci): codspeed benchmarking by @Totodore in #609
- chore(deps): bump tokio-tungstenite from 0.26.2 to 0.28.0 by @dependabot[bot] in #610
- deps(redis-adapter): release v0.3 by @Totodore in #612
- chore(deps): bump tokio from 1.47.1 to 1.48.0 by @dependabot[bot] in #611
- feat: make rooms available in disconnect handler by @Mettwasser in #613
New Contributors
- @CaptainTux made their first contribution in #572
- @Mettwasser made their first contribution in #613
Sponsors
Thanks to @dollannn and @AprilNEA for their sponsoring!
Full Changelog: socketioxide-v0.17.2...socketioxide-v0.18.0
Socketioxide Redis v0.3
socketioxide-redis 0.3.0
- deps: bump
redisto 0.32
v0.17.0
This new release introduce the socketioxide-mongodb adapter crate. This adapter enables horizontal scaling of your Socketioxide servers across distributed deployments by leveraging MongoDB as a message bus.
The Socket::on_fallback method will allow you to set a fallback event handler if you want to handle incoming event dynamically. Extract the associated dynamic event with the Event extractor.
Changelog
socketioxide 0.17.0
- deps: bump
socketioxide-coreto 0.17 - feat: add
SocketIo::on_fallback
andEventextractor to add a fallback event handler and
dynamically extract the incoming event. - MSRV: rust-version is now 1.86 with edition 2024
socketioxide-core 0.17.0
- feat(breaking): remote-adapter packets are now refactored in the core crate. Any adapter implementation can use
it through theremote-adapterflag. - MSRV: rust-version is now 1.86 with edition 2024
socketioxide-mongodb 0.1.0
- Initial release!
What's Changed
- test(parser/common): fix flaky unordered map comparison by @Totodore in #499
- chore: rust 2024 migration by @Totodore in #501
- chore(deps): bump redis from 0.29.5 to 0.30.0 by @dependabot in #502
- feat(socketio): on_fallback handler and Event extractor by @Totodore in #504
- chore(docs): move changelog to crate folders by @Totodore in #505
- feat(adapter/mongodb): mongodb adapter crate by @Totodore in #493
- refactor(core): factor-out remote adapter packets by @Totodore in #506
- fix(ci): breaking test with PR #506 by @Totodore in #508
Full Changelog: v0.15.0...socketioxide-v0.17.0
v0.16.2
Changelog
engineioxide-core 0.1.0
- New crate to share engineioxide core types.
engineioxide 0.16.2
- fix: pause heartbeat when the socket is being upgraded to avoid the client
from resending polling requests to respond to ping packets. - deps: use engineioxide-core 0.1 as a dependency
socketioxide-redis 0.2.1
- doc: add an incompatibility warning with the
@socket.io/redis-adapterpackage.
socketioxide-core 0.16.1
- deps: use engineioxide-core 0.1 rather than engineioxide
socketioxide 0.16.2
- deps: bump engineioxide to 0.16.2
What's Changed
- chore(ci): fix release ci by @Totodore in #454
- Prepare release v0.16.1 by @Totodore in #453
- test(socketio): mock http/ws connections by @Totodore in #455
- docs: remove instability warning by @Totodore in #456
- test(socketio): fix service doctest by @Totodore in #457
- doc(redis): add incompat section by @Totodore in #461
- chore(deps): exclude fuzzing targets from workspace by @Totodore in #462
- chore(deps): bump tokio-tungstenite from 0.26.1 to 0.26.2 by @dependabot in #467
- chore(deps): bump rand from 0.8.5 to 0.9.0 by @dependabot in #464
- chore(deps): bump redis from 0.28.2 to 0.29.0 by @dependabot in #465
- chore(deps): bump serde_json from 1.0.135 to 1.0.139 by @dependabot in #463
- feat(engineio-core): create engineioxide-core for common types by @Totodore in #468
- chore(deps): bump hyper from 1.5.2 to 1.6.0 by @dependabot in #471
- chore(deps): bump bytes from 1.9.0 to 1.10.0 by @dependabot in #472
- chore(deps): bump bytes from 1.10.0 to 1.10.1 by @dependabot in #476
- chore(deps): bump redis from 0.29.0 to 0.29.1 by @dependabot in #477
- chore(deps): bump http from 1.2.0 to 1.3.1 by @dependabot in #483
- fix(engineio/bench): fix breaking change from #468 by @Totodore in #486
- fix(eio/upgrade): 25s upgrade latency due to multiple polling req while upgrading by @Totodore in #487
Full Changelog: v0.16.1...v0.16.2
v0.16.1
Changelog
engineioxide 0.16.1
- feat: add
Config::ws_read_buffer_sizeto set the read buffer size for each websocket.
It will default to 4KiB (previously 128KiB). You can increase it if you have high message throughput and less sockets.
socketioxide 0.16.1
- feat: add
Config::ws_read_buffer_sizeto set the read buffer size for each websocket. - deps: bump
engineioxideto 0.16.1.
socketioxide-parser-common 0.16.1
- fix: clone partial packets when keeping them to avoid holding a reference to the ws read buffer for too long. Otherwise it cause the ws read buffer to grows indefinitely in a many binary packets scenario.
socketioxide-redis 0.2
- deps: bump
redisto 0.28.2 - feat(breaking): the redis cluster adapter constructor now takes a
&redis::cluster::ClusterClient
to match all other adapter constructors.
What's Changed
- chore(ci): remove tagging from release ci by @Totodore in #443
- test(engineio): mock http/ws connections and improve integration tests by @Totodore in #447
- fix(engineio/ws): add read_buffer_size option and set default to 4KiB by @Totodore in #450
- feat: improve memory usage by @Totodore in #451
- feat(redis): use
ClusterClientfor redis cluster creation by @Totodore in #452
Full Changelog: v0.16.0...v0.16.1
v0.16.0
News
- Socketioxide has a new logo!
- Remote adapters are finally here! You can use them to scale your socket.io application easily.
See this article for more info. - Thanks to @dollannn and @BrianWiz for their sponsoring!
Changelog
From now all crate versions are disjoined.
socketioxide 0.16.0
- feat(breaking): remote adapters, see this article for more details.
- deps: bump
thiserrorto 2.0 - deps: bump
axumto 0.8 - deps: bump
engineioxideto 0.16.0 - docs: fix grammar/typos
socketioxide-parser-msgpack 0.16.0
- feat(breaking): remote adapters
socketioxide-parser-common 0.16.0
- feat(breaking): remote adapters
socketioxide-core 0.16.0
- feat(breaking): remote adapters
socketioxide-redis 0.1.0
- Initial release!
engineioxide 0.16.0
- deps: bump
thiserrorto 2.0 - deps: bump
tokio-tungsteniteto 0.26 - docs: fix grammar/typos
- fix(engineio): heartbeat start delay
What's Changed
- doc: factor-out repetitive documentation by @Totodore in #394
- feat(socketio): add broadcast operator on
iostruct by @Totodore in #401 - chore(deps): bump thiserror to 2.0 by @Totodore in #406
- doc: fix grammar and typos by @Totodore in #407
- feat(core): async adapter by @Totodore in #419
- chore(deps): bump axum to 0.8 by @Totodore in #426
- chore(deps): bump tokio tungstenite to 0.26 by @Totodore in #428
- doc(redis): add doc and examples by @Totodore in #430
- chore(redis): set readme path on cargo.toml by @Totodore in #431
- chore(clippy): apply clipy lints by @Totodore in #432
- test: move e2e test suites to this repo by @Totodore in #433
- docs: add icon by @Totodore in #434
- chore(ci/e2e): fix polling ping timeout test by @Totodore in #436
- fix(engineio): heartbeat delay by @Totodore in #437
- doc(examples): replace nested_service by fallback_service by @Totodore in #438
- test: test redis adapter by @Totodore in #439
- chore(deps): prepare v0.16 by @Totodore in #441
Full Changelog: v0.15.1...v0.16.0
v0.15.1
Changelog
socketioxide
- deps: remove smallvec deps
- doc: fix some links
engineioxide
- fix: issue #390. First ping was sent twice because of tokio interval behavior defaulting to bursting when interval tick is missed.
What's Changed
- doc: fix doc links by @Totodore in #387
- deps(socketio): remove smallvec dep by @Totodore in #388
- fix(engineio/socket): heartbeat delay causing ping burst by @Totodore in #392
Full Changelog: v0.15.0...v0.15.1