github tokio-rs/tokio tokio-1.44.0
Tokio v1.44.0

2 days ago

1.44.0 (March 7th, 2025)

This release changes the from_std method on sockets to panic if a blocking socket is provided. We determined this change is not a breaking change as Tokio is not intended to operate using blocking sockets. Doing so results in runtime hangs and should be considered a bug. Accidentally passing a blocking socket to Tokio is one of the most common user mistakes. If this change causes an issue for you, please comment on #7172.

Added

  • coop: add task::coop module (#7116)
  • process: add Command::get_kill_on_drop() (#7086)
  • sync: add broadcast::Sender::closed (#6685, #7090)
  • sync: add broadcast::WeakSender (#7100)
  • sync: add oneshot::Receiver::is_empty() (#7153)
  • sync: add oneshot::Receiver::is_terminated() (#7152)

Fixed

  • fs: empty reads on File should not start a background read (#7139)
  • process: calling start_kill on exited child should not fail (#7160)
  • signal: fix CTRL_CLOSE, CTRL_LOGOFF, CTRL_SHUTDOWN on windows (#7122)
  • sync: properly handle panic during mpsc drop (#7094)

Changes

  • runtime: clean up magic number in registration set (#7112)
  • coop: make coop yield using waker defer strategy (#7185)
  • macros: make select! budget-aware (#7164)
  • net: panic when passing a blocking socket to from_std (#7166)
  • io: clean up buffer casts (#7142)

Changes to unstable APIs

  • rt: add before and after task poll callbacks (#7120)
  • tracing: make the task tracing API unstable public (#6972)

Documented

  • docs: fix nesting of sections in top-level docs (#7159)
  • fs: rename symlink and hardlink parameter names (#7143)
  • io: swap reader/writer in simplex doc test (#7176)
  • macros: docs about select! alternatives (#7110)
  • net: rename the argument for send_to (#7146)
  • process: add example for reading Child stdout (#7141)
  • process: clarify Child::kill behavior (#7162)
  • process: fix grammar of the ChildStdin struct doc comment (#7192)
  • runtime: consistently use worker_threads instead of core_threads (#7186)

Don't miss a new tokio release

NewReleases is sending notifications on new releases.