|  | 
|  | 1 | +# 1.48.0 (October 14th, 2025) | 
|  | 2 | + | 
|  | 3 | +The MSRV is increased to 1.71. | 
|  | 4 | + | 
|  | 5 | +### Added | 
|  | 6 | + | 
|  | 7 | +- fs: add `File::max_buf_size` ([#7594]) | 
|  | 8 | +- io: export `Chain` of `AsyncReadExt::chain` ([#7599]) | 
|  | 9 | +- net: add `SocketAddr::as_abstract_name` ([#7491]) | 
|  | 10 | +- net: add `TcpStream::quickack` and `TcpStream::set_quickack` ([#7490]) | 
|  | 11 | +- net: implement `AsRef<Self>` for `TcpStream` and `UnixStream` ([#7573]) | 
|  | 12 | +- task: add `LocalKey::try_get` ([#7666]) | 
|  | 13 | +- task: implement `Ord` for `task::Id` ([#7530]) | 
|  | 14 | + | 
|  | 15 | +### Changed | 
|  | 16 | + | 
|  | 17 | +- deps: bump windows-sys to version 0.61 ([#7645]) | 
|  | 18 | +- fs: preserve `max_buf_size` when cloning a `File` ([#7593]) | 
|  | 19 | +- macros: suppress `clippy::unwrap_in_result` in `#[tokio::main]` ([#7651]) | 
|  | 20 | +- net: remove `PollEvented` noise from Debug formats ([#7675]) | 
|  | 21 | +- process: upgrade `Command::spawn_with` to use `FnOnce` ([#7511]) | 
|  | 22 | +- sync: remove inner mutex in `SetOnce` ([#7554]) | 
|  | 23 | +- sync: use `UnsafeCell::get_mut` in `Mutex::get_mut` and `RwLock::get_mut` ([#7569]) | 
|  | 24 | +- time: reduce the generated code size of `Timeout<T>::poll` ([#7535]) | 
|  | 25 | + | 
|  | 26 | +### Fixed | 
|  | 27 | + | 
|  | 28 | +- macros: fix hygiene issue in `join!` and `try_join!` ([#7638]) | 
|  | 29 | +- net: fix copy/paste errors in udp peek methods ([#7604]) | 
|  | 30 | +- process: fix error when runtime is shut down on nightly-2025-10-12 ([#7672]) | 
|  | 31 | +- runtime: use release ordering in `wake_by_ref()` even if already woken ([#7622]) | 
|  | 32 | +- sync: close the `broadcast::Sender` in `broadcast::Sender::new()` ([#7629]) | 
|  | 33 | +- sync: fix implementation of unused `RwLock::try_*` methods ([#7587]) | 
|  | 34 | + | 
|  | 35 | +### Unstable | 
|  | 36 | + | 
|  | 37 | +- tokio: use cargo features instead of `--cfg` flags for `taskdump` and `io_uring` ([#7655], [#7621]) | 
|  | 38 | +- fs: support `io_uring` in `fs::write` ([#7567]) | 
|  | 39 | +- fs: support `io_uring` with `File::open()` ([#7617]) | 
|  | 40 | +- fs: support `io_uring` with `OpenOptions` ([#7321]) | 
|  | 41 | +- macros: add `local` runtime flavor ([#7375], [#7597]) | 
|  | 42 | + | 
|  | 43 | +### Documented | 
|  | 44 | + | 
|  | 45 | +- io: clarify the zero capacity case of `AsyncRead::poll_read` ([#7580]) | 
|  | 46 | +- io: fix typos in the docs of `AsyncFd` readiness guards ([#7583]) | 
|  | 47 | +- net: clarify socket gets closed on drop ([#7526]) | 
|  | 48 | +- net: clarify the behavior of `UCred::pid()` on Cygwin ([#7611]) | 
|  | 49 | +- net: clarify the supported platform of `set_reuseport()` and `reuseport()` ([#7628]) | 
|  | 50 | +- net: qualify that `SO_REUSEADDR` is only set on Unix ([#7533]) | 
|  | 51 | +- runtime: add guide for choosing between runtime types ([#7635]) | 
|  | 52 | +- runtime: clarify the behavior of `Handle::block_on` ([#7665]) | 
|  | 53 | +- runtime: clarify the edge case of `Builder::global_queue_interval()` ([#7605]) | 
|  | 54 | +- sync: clarify bounded channel panic behavior ([#7641]) | 
|  | 55 | +- sync: clarify the behavior of `tokio::sync::watch::Receiver` ([#7584]) | 
|  | 56 | +- sync: document cancel safety on `SetOnce::wait` ([#7506]) | 
|  | 57 | +- sync: fix the docs of `parking_lot` feature flag ([#7663]) | 
|  | 58 | +- sync: improve the docs of `UnboundedSender::send` ([#7661]) | 
|  | 59 | +- sync: improve the docs of `sync::watch` ([#7601]) | 
|  | 60 | +- sync: reword allocation failure paragraph in broadcast docs ([#7595]) | 
|  | 61 | +- task: clarify the behavior of several `spawn_local` methods ([#7669]) | 
|  | 62 | +- task: clarify the task ID reuse guarantees ([#7577]) | 
|  | 63 | +- task: improve the example of `poll_proceed` ([#7586]) | 
|  | 64 | + | 
|  | 65 | +[#7321]: https://github.com/tokio-rs/tokio/pull/7321 | 
|  | 66 | +[#7375]: https://github.com/tokio-rs/tokio/pull/7375 | 
|  | 67 | +[#7490]: https://github.com/tokio-rs/tokio/pull/7490 | 
|  | 68 | +[#7491]: https://github.com/tokio-rs/tokio/pull/7491 | 
|  | 69 | +[#7494]: https://github.com/tokio-rs/tokio/pull/7494 | 
|  | 70 | +[#7506]: https://github.com/tokio-rs/tokio/pull/7506 | 
|  | 71 | +[#7511]: https://github.com/tokio-rs/tokio/pull/7511 | 
|  | 72 | +[#7526]: https://github.com/tokio-rs/tokio/pull/7526 | 
|  | 73 | +[#7530]: https://github.com/tokio-rs/tokio/pull/7530 | 
|  | 74 | +[#7533]: https://github.com/tokio-rs/tokio/pull/7533 | 
|  | 75 | +[#7535]: https://github.com/tokio-rs/tokio/pull/7535 | 
|  | 76 | +[#7554]: https://github.com/tokio-rs/tokio/pull/7554 | 
|  | 77 | +[#7567]: https://github.com/tokio-rs/tokio/pull/7567 | 
|  | 78 | +[#7569]: https://github.com/tokio-rs/tokio/pull/7569 | 
|  | 79 | +[#7573]: https://github.com/tokio-rs/tokio/pull/7573 | 
|  | 80 | +[#7577]: https://github.com/tokio-rs/tokio/pull/7577 | 
|  | 81 | +[#7580]: https://github.com/tokio-rs/tokio/pull/7580 | 
|  | 82 | +[#7583]: https://github.com/tokio-rs/tokio/pull/7583 | 
|  | 83 | +[#7584]: https://github.com/tokio-rs/tokio/pull/7584 | 
|  | 84 | +[#7586]: https://github.com/tokio-rs/tokio/pull/7586 | 
|  | 85 | +[#7587]: https://github.com/tokio-rs/tokio/pull/7587 | 
|  | 86 | +[#7593]: https://github.com/tokio-rs/tokio/pull/7593 | 
|  | 87 | +[#7594]: https://github.com/tokio-rs/tokio/pull/7594 | 
|  | 88 | +[#7595]: https://github.com/tokio-rs/tokio/pull/7595 | 
|  | 89 | +[#7597]: https://github.com/tokio-rs/tokio/pull/7597 | 
|  | 90 | +[#7599]: https://github.com/tokio-rs/tokio/pull/7599 | 
|  | 91 | +[#7601]: https://github.com/tokio-rs/tokio/pull/7601 | 
|  | 92 | +[#7604]: https://github.com/tokio-rs/tokio/pull/7604 | 
|  | 93 | +[#7605]: https://github.com/tokio-rs/tokio/pull/7605 | 
|  | 94 | +[#7611]: https://github.com/tokio-rs/tokio/pull/7611 | 
|  | 95 | +[#7617]: https://github.com/tokio-rs/tokio/pull/7617 | 
|  | 96 | +[#7621]: https://github.com/tokio-rs/tokio/pull/7621 | 
|  | 97 | +[#7622]: https://github.com/tokio-rs/tokio/pull/7622 | 
|  | 98 | +[#7628]: https://github.com/tokio-rs/tokio/pull/7628 | 
|  | 99 | +[#7629]: https://github.com/tokio-rs/tokio/pull/7629 | 
|  | 100 | +[#7635]: https://github.com/tokio-rs/tokio/pull/7635 | 
|  | 101 | +[#7638]: https://github.com/tokio-rs/tokio/pull/7638 | 
|  | 102 | +[#7641]: https://github.com/tokio-rs/tokio/pull/7641 | 
|  | 103 | +[#7645]: https://github.com/tokio-rs/tokio/pull/7645 | 
|  | 104 | +[#7651]: https://github.com/tokio-rs/tokio/pull/7651 | 
|  | 105 | +[#7655]: https://github.com/tokio-rs/tokio/pull/7655 | 
|  | 106 | +[#7661]: https://github.com/tokio-rs/tokio/pull/7661 | 
|  | 107 | +[#7663]: https://github.com/tokio-rs/tokio/pull/7663 | 
|  | 108 | +[#7665]: https://github.com/tokio-rs/tokio/pull/7665 | 
|  | 109 | +[#7666]: https://github.com/tokio-rs/tokio/pull/7666 | 
|  | 110 | +[#7669]: https://github.com/tokio-rs/tokio/pull/7669 | 
|  | 111 | +[#7672]: https://github.com/tokio-rs/tokio/pull/7672 | 
|  | 112 | +[#7675]: https://github.com/tokio-rs/tokio/pull/7675 | 
|  | 113 | + | 
| 1 | 114 | # 1.47.1 (August 1st, 2025) | 
| 2 | 115 | 
 | 
| 3 | 116 | ### Fixed | 
|  | 
0 commit comments