0.7.0 - 2023-07-22
- BREAKING: Create tokio executors from currently entered runtimes as well as handles.
- BREAKING: The tokio builder types. As tokio now exposes the
runtime_flavour
, we can use it to keep you from creating a runtime of the wrong type. Thus the builder types are no longer needed.
- BREAKING: glommio to v0.8
0.6.0 - 2022-04-24
- BREAKING: update glommio to 0.7.
0.5.1 - 2022-01-06
- forward SpawnBlocking trait from
tracing_futures::Instrumented
andtracing_futures::WithDispatch
.
0.5.0 - 2022-01-04
- BREAKING: update glommio to 0.6.
- add
SpawnBlocking
trait andBlockingHandle
.
0.4.2 - 2021-06-10
- feature
external_doc
is removed in rustdoc 1.54.
- support for Glommio current thread executor. Thanks to @qiujiangkun.
YieldNow
trait.SpawnBlocking
trait andBlockingHandle
.Timer
trait for agnostic sleep and timeout. Thanks to @nmathewson for sharing their work on tor-rtcompat.TokioIo
trait.
0.4.1 - 2021-04-24
- a missing feature flag on futures-util.
0.4.0 - 2021-01-01
- support for async-global-executor v2.
- support for tokio v1
0.4.0-beta.2 - 2020-11-05
- support for async-global-executor.
0.4.0-beta.1 - 2020-11-01
- BREAKING CHANGE: support tokio 0.3. Will go out of beta when tokio releases 1.0.
- add example for use with tracing.
- update cargo deny.
0.3.0 - 2020-06-10
- update to async-std 1.6. Local spawn still requires the
unstable
feature on async-std so async_executors enables that.
0.3.0-beta.1 - 2020-05-10
- futures 0.3.5 has been released, so we no longer have to vendor RemoteHandle. It means we are now
forbid( unsafe )
and the spawn_handle feature has been removed since we no longer require extra dependencies in order to provide the traits. - update to async-std 1.6.0-beta.1. Async-std is now backed by smol. It now supports Wasm and
LocalSpawn
. Local spawning is unstable, so we turn on the unstable feature. As they are still in beta, we reflect that in our version.
0.2.2 - 2020-04-25
- Temporarily remove forbid unsafe. A non-breaking change update of pin-utils now causes a macro to no longer pass. We have this because we vendor RemoteHandle from futures until they release a new version.
- Improve an error message for a panic on JoinHandle.
0.2.1 - 2020-04-08
- JoinHandle::detach didn't work properly. Sorry, my bad as it wasn't even tested.
- remove the Unpin impl from JoinHandle. The joinhandle is still Unpin anyway.
- run cargo deny in CI.
- Vamp up the docs, removing some errors and adding examples.
TokioCt
andTokioTp
block_on no longer require&mut self
, just&self
. Since they implementClone
, it didn't protect against re-entrance anyway.- improve performance of
spawn_handle_local
onTokioCt
as I mistakenly thoughttokio::JoinHandle<T>
requiredT
to beSend
, so I was not using the nativeJoinHandle
. - only build on default target on docs.rs.
- clean up and configure the CI configuration.
0.2.0 - 2020-02-29
-
BREAKING CHANGE: the API of SpawnHandle has been reworked. 0.1 had double traits, one not object safe. There were two reasons for this:
- the os version needed an extra boxing. Benchmarks showed that the overhead from this is neglectable.
- the os version needs to have the output type on the trait instead of on the spawn function.
this is inconvenient if you need to take in an executor that can spawn for several output types, but
since it is merely inconvenient, I feel this is not a good enough argument to have the traits in 2
versions. Workaround examples have been added to the documentation of
SpawnHandle
andLocalSpawnHandle
.
The
SpawnHandle
trait now takes aFutureObj
instead of aPin<Box<dyn Future>>
. This should be better forno_std
compatibility. An extension trait has been added much likeSpawnExt
in the futures lib to allow spawning futures without having to manually create aFutureObj
. -
tracing-futures 0.2.3 is out, so no patching required anymore.
-
RemoteHandle is still vendored until the next release of futures.
-
TokioCt now uses tokio::task::LocalSet, removing the single line of unsafe we had. This also improves performance dramatically. Thanks @Yandros for pointing out LocalSet.
0.1.0 - 2020-02-24
- Re-add TokioHandle to work around the fact that tokio::Runtime can't be dropped in async context.
- fix error in feature name.
- clean up readme.
This is an alpha release because:
- tracing integration should be tested
- examples for tracing/bindgen/spawn_handle/using futures executors
- remote_handle currently vendored until: rust-lang/futures-rs#2081 lands
- tracing-futures currently patched until 0.2.3 to get the needed PR's
- no cross framework support for spawn_blocking yet.
- wasm-bindgen-cli does not compile on windows, breaking CI: rustwasm/wasm-bindgen#2006