Skip to content

Releases: frostyplanet/crossfire-rs

2.1.7 remove futures dep

08 Nov 06:13

Choose a tag to compare

[2.1.7] - 2025-11-08

Changed

  • Depend on futures-core crate instead of futures (issue #45)

[2.1.6] - 2025-10-10

Changed

  • Delete the code probing tokio (to prevent an issue in cargo 1.87-1.90 triggering the code without tokio feature enable)

[2.1.5] - 2025-10-06

Fixed

  • Remove doc_auto_cfg because removal by rust

v2.1.4 Minor speed up

01 Oct 16:29

Choose a tag to compare

Full Changelog: v2.1.3...v2.1.4

[2.1.4] - 2025-10-01

Changed

  • Adjust backoff for Arm, increase size 1 speed

  • async: Use try_change_state() to reset init instead of get_state(), minor improvement on x86 bounded_100_async_n_n.

v2.1.3 smol support

25 Sep 20:32

Choose a tag to compare

Full Changelog: v2.1.0...v2.1.3

[2.1.3] - 2025-09-26

Added

  • Add send_with_timer() and recv_with_timer() for other async runtime (eg. smol).

  • Add test and benchmark with smol.

2.1.0 refactor

25 Sep 09:13

Choose a tag to compare

[2.1.0] - 2025-9-21

Changed

  • Refactor to drop dependency of crossbeam-channel, the underlayering is modified version of crossbeam-queue.

  • Bounded channel speed receive massive boost.

  • AsyncTx can convert back and forth with Tx, and AsyncRx can convert back and forth with Rx.

  • Optimise for VM machine that only have 1 cpu.

  • Use MaybeUninit to optimise the moving of large blob message for bounded channel, in nearly full scenario.

  • Rename ReceiveFuture to RecvFuture, ReceiveTimeoutFuture to RecvTimeoutFuture.

Removed

  • Remove AsyncTx::send_blocking() and AsyncRx::recv_blocking(), instead, you can use type conversion into Tx/Rx.

2.0.26

30 Aug 12:55

Choose a tag to compare

Full Changelog: v2.0.25...v2.0.26

[2.0.26] - 2025-08-30

Fixed

  • waker_registry: Fix hang detect by miri in cancel_waker(), issue #34, bug introduced from v2.0.20
  • Added miri to the test workflow

v2.0.25

29 Aug 08:46

Choose a tag to compare

Full Changelog: v2.0.24...v2.0.25

[2.0.25] - 2025-08-29

Fixed

  • More strict with the waker status, issue #34 (use SeqCst in reset_init)

2.0.24

26 Aug 01:01

Choose a tag to compare

Full Changelog: v2.0.22...v2.0.24

More strict with the waker status:

  • Change is_disconnected() to SeqCst
  • Change get_state() to SeqCst
  • Deal with the failure of commit_waiting(), (waker is waked before returning Poll::Pending)

2.0.22

21 Aug 06:04

Choose a tag to compare

Full Changelog: v2.0.20...v2.0.22

  • Add clone_to_vec() for senders and receivers
  • Fix typo in AsyncSink drop, might leave its waker not clear. (which is not a big deal)
  • RegistryMulti: Fix fire defend against infinte loop (for using poll function of sink / stream )

2.0.20

17 Aug 11:13

Choose a tag to compare

Added

  • AsyncTxTrait: Add Into<AsyncSink>

  • AsyncRxTrait: Add Into<AsyncStream>

Fixed

  • Change the behavior of AsyncSink::poll_send() and AsyncStream::poll_item(), to make sure
    stream/sink wakers are notified, preventing deadlock from happening if user wants to cancel the operation.
    Add explanation to the document.

  • Defend against infinite loop when waking up all wakers, given the change of sink/stream.