mirror of
https://github.com/tokio-rs/tokio.git
synced 2026-08-28 00:00:11 +02:00
10 KiB
10 KiB
0.2.10 (January 21, 2019)
Fixes
#[tokio::main]whenrt-corefeature flag is not enabled (#2139).- remove
AsyncBufReadfromBufStreamimpl block (#2108). - potential undefined behavior when implementing
AsyncReadincorrectly (#2030).
Added
BufStream::with_capacity(#2125).- impl
FromandDefaultforRwLock(#2089). io::ReadHalf::is_pair_ofchecks if providedWriteHalfis for the same underlying object (#1762, #2144).runtime::Handle::try_current()returns a handle to the current runtime (#2118).stream::empty()returns an immediately ready empty stream (#2092).stream::once(val)returns a stream that yields a single value:val(#2094).stream::pending()returns a stream that never becomes ready (#2092).StreamExt::chain()sequences a second stream after the first completes (#2093).StreamExt::collect()transform a stream into a collection (#2109).StreamExt::fuseends the stream after the firstNone(#2085).StreamExt::mergecombines two streams, yielding values as they become ready (#2091).- Task-local storage (#2126).
0.2.9 (January 9, 2019)
Fixes
AsyncSeekimpl forFile(#1986).- rt: shutdown deadlock in
threaded_scheduler(#2074, #2082). - rt: memory ordering when dropping
JoinHandle(#2044). - docs: misc API documentation fixes and improvements.
0.2.8 (January 7, 2019)
Fixes
- depend on new version of
tokio-macros.
0.2.7 (January 7, 2019)
Fixes
- potential deadlock when dropping
basic_schedulerRuntime. - calling
spawn_blockingfrom within aspawn_blocking(#2006). - storing a
Runtimeinstance in a thread-local (#2011). - miscellaneous documentation fixes.
- rt: fix
Waker::will_waketo return true when tasks match (#2045). - test-util:
time::advanceruns pending tasks before changing the time (#2059).
Added
net::lookup_hostmaps aT: ToSocketAddrsto a stream ofSocketAddrs(#1870).process::Childfields are made public to matchstd(#2014).- impl
Streamforsync::broadcast::Receiver(#2012). sync::RwLockprovides an asynchonous read-write lock (#1699).runtime::Handle::currentreturns the handle for the current runtime (#2040).StreamExt::filterfilters stream values according to a predicate (#2001).StreamExt::filter_mapsimultaneously filter and map stream values (#2001).StreamExt::try_nextconvenience for streams ofResult<T, E>(#2005).StreamExt::takelimits a stream to a specified number of values (#2025).StreamExt::take_whilelimits a stream based on a predicate (#2029).StreamExt::alltests if every element of the stream matches a predicate (#2035).StreamExt::anytests if any element of the stream matches a predicate (#2034).task::LocalSet.awaitruns spawned tasks until the set is idle (#1971).time::DelayQueue::lenreturns the number entries in the queue (#1755).- expose runtime options from the
#[tokio::main]and#[tokio::test](#2022).
0.2.6 (December 19, 2019)
Fixes
fs::File::seekAPI regression (#1991).
0.2.5 (December 18, 2019)
Added
io::AsyncSeektrait (#1924).Mutex::try_lock(#1939)mpsc::Receiver::try_recvandmpsc::UnboundedReceiver::try_recv(#1939).writevsupport forTcpStream(#1956).time::throttlefor throttling streams (#1949).- implement
Streamfortime::DelayQueue(#1975). sync::broadcastprovides a fan-out channel (#1943).sync::Semaphoreprovides an async semaphore (#1973).stream::StreamExtprovides stream utilities (#1962).
Fixes
- deadlock risk while shutting down the runtime (#1972).
- panic while shutting down the runtime (#1978).
sync::MutexGuarddebug output (#1961).- misc doc improvements (#1933, #1934, #1940, #1942).
Changes
- runtime threads are configured with
runtime::Builder::core_threadsandruntime::Builder::max_threads.runtime::Builder::num_threadsis deprecated (#1977).
0.2.4 (December 6, 2019)
Fixes
sync::Mutexdeadlock whenlock()future is dropped early (#1898).
0.2.3 (December 6, 2019)
Added
- read / write integers using
AsyncReadExtandAsyncWriteExt(#1863). read_buf/write_buffor reading / writingBuf/BufMut(#1881).TcpStream::poll_peek- pollable API for performing TCP peek (#1864).sync::oneshot::error::TryRecvErrorprovides variants to detect the error kind (#1874).LocalSet::block_onaccepts!'statictask (#1882).task::JoinErroris nowSync(#1888).- impl conversions between
tokio::time::Instantandstd::time::Instant(#1904).
Fixes
- calling
spawn_blockingafter runtime shutdown (#1875). LocalSetdrop inifinite loop (#1892).LocalSethang under load (#1905).- improved documentation (#1865, #1866, #1868, #1874, #1876, #1911).
0.2.2 (November 29, 2019)
Fixes
- scheduling with
basic_scheduler(#1861). - update
spawnpanic message to specify that a task scheduler is required (#1839). - API docs example for
runtime::Builderto include a task scheduler (#1841). - general documentation (#1834).
- building on illumos/solaris (#1772).
- panic when dropping
LocalSet(#1843). - API docs mention the required Cargo features for
Builder::{basic, threaded}_scheduler(#1858).
Added
- impl
Streamforsignal::unix::Signal(#1849). - API docs for platform specific behavior of
signal::ctrl_candsignal::unix::Signal(#1854). - API docs for
signal::unix::Signal::{recv, poll_recv}andsignal::windows::CtrlBreak::{recv, poll_recv}(#1854). File::into_stdandFile::try_into_stdmethods (#1856).
0.2.1 (November 26, 2019)
Fixes
- API docs for
TcpListener::incoming,UnixListener::incoming(#1831).
Added
tokio::task::LocalSetprovides a strategy for spawning!Sendtasks (#1733).- export
tokio::time::Elapsed(#1826). - impl
AsRawFd,AsRawHandlefortokio::fs::File(#1827).
0.2.0 (November 26, 2019)
A major breaking change. Most implementation and APIs have changed one way or another. This changelog entry contains a highlight
Changed
- APIs are updated to use
async / await. - most
tokio-*crates are collapsed into this crate. - Scheduler is rewritten.
tokio::spawnreturns aJoinHandle.- A single I/O / timer is used per runtime.
- I/O driver uses a concurrent slab for allocating state.
- components are made available via feature flag.
- Use
bytes0.5 tokio::codecis moved totokio-util.
Removed
- Standalone
timerandnetdrivers are removed, useRuntimeinstead current_threadruntime is removed, usetokio::runtime::Runtimewithbasic_schedulerinstead.
0.1.21 (May 30, 2019)
Changed
- Bump
tokio-trace-coreversion to 0.2 (#1111).
0.1.20 (May 14, 2019)
Added
tokio::runtime::Builder::panic_handlerallows configuring handling panics on the runtime (#1055).
0.1.19 (April 22, 2019)
Added
- Re-export
tokio::sync::Mutexprimitive (#964).
0.1.18 (March 22, 2019)
Added
TypedExecutorre-export and implementations (#993).
0.1.17 (March 13, 2019)
Added
- Propagate trace subscriber in the runtime (#966).
0.1.16 (March 1, 2019)
Fixed
- async-await: track latest nightly changes (#940).
Added
sync::Watch, a single value broadcast channel (#922).- Async equivalent of read / write file helpers being added to
std(#896).
0.1.15 (January 24, 2019)
Added
- Re-export tokio-sync APIs (#839).
- Stream enumerate combinator (#832).
0.1.14 (January 6, 2019)
- Use feature flags to break up the crate, allowing users to pick & choose components (#808).
- Export
UnixDatagramandUnixDatagramFramed(#772).
0.1.13 (November 21, 2018)
- Fix
Runtime::reactor()when no tasks are spawned (#721). runtime::Builderno longer uses deprecated methods (#749).- Provide
after_startandbefore_stopconfiguration settings forRuntime(#756). - Implement throttle stream combinator (#736).
0.1.12 (October 23, 2018)
- runtime: expose
keep_aliveon runtime builder (#676). - runtime: create a reactor per worker thread (#660).
- codec: fix panic in
LengthDelimitedCodec(#682). - io: re-export
tokio_io::io::readfunction (#689). - runtime: check for executor re-entry in more places (#708).
0.1.11 (September 28, 2018)
- Fix
tokio-async-awaitdependency (#675).
0.1.10 (September 27, 2018)
- Fix minimal versions
0.1.9 (September 27, 2018)
- Experimental async/await improvements (#661).
- Re-export
TaskExecutorfromtokio-current-thread(#652). - Improve
Runtimebuilder API (#645). tokio::runpanics when called from the context of an executor (#646).- Introduce
StreamExtwith atimeouthelper (#573). - Move
length_delimitedintotokio(#575). - Re-organize
tokio::netmodule (#548). - Re-export
tokio-current-thread::spawnin current_thread runtime (#579).
0.1.8 (August 23, 2018)
- Extract tokio::executor::current_thread to a sub crate (#370)
- Add
Runtime::block_on(#398) - Add
runtime::current_thread::block_on_all(#477) - Misc documentation improvements (#450)
- Implement
std::error::Errorfor error types (#501)
0.1.7 (June 6, 2018)
- Add
Runtime::block_onfor concurrent runtime (#391). - Provide handle to
current_thread::Runtimethat allows spawning tasks from other threads (#340). - Provide
clock::now(), a configurable source of time (#381).
0.1.6 (May 2, 2018)
- Add asynchronous filesystem APIs (#323).
- Add "current thread" runtime variant (#308).
CurrentThread: Expose innerParkinstance.- Improve fairness of
CurrentThreadexecutor (#313).
0.1.5 (March 30, 2018)
- Provide timer API (#266)
0.1.4 (March 22, 2018)
- Fix build on FreeBSD (#218)
- Shutdown the Runtime when the handle is dropped (#214)
- Set Runtime thread name prefix for worker threads (#232)
- Add builder for Runtime (#234)
- Extract TCP and UDP types into separate crates (#224)
- Optionally support futures 0.2.
0.1.3 (March 09, 2018)
- Fix
CurrentThread::turnto block on idle (#212).
0.1.2 (March 09, 2018)
- Introduce Tokio Runtime (#141)
- Provide
CurrentThreadfor more flexible usage of current thread executor (#141). - Add Lio for platforms that support it (#142).
- I/O resources now lazily bind to the reactor (#160).
- Extract Reactor to dedicated crate (#169)
- Add facade to sub crates and add prelude (#166).
- Switch TCP/UDP fns to poll_ -> Poll<...> style (#175)
0.1.1 (February 09, 2018)
- Doc fixes
0.1.0 (February 07, 2018)
- Initial crate released based on RFC.