Skip to content

v1.3.0

Choose a tag to compare

@dankmeme01 dankmeme01 released this 04 Feb 14:52
· 138 commits to main since this release
  • Make arc::spawn and Runtime::spawn accept function objects that return futures, making it not UAF to use lambda captures
  • Add a oneshot message channel (arc::oneshot)
  • Clearer IoDriver implementation
  • Add arc::joinAll(std::vector<Fut>) for joining a dynamic amount of futures
  • Add extra assertions to prevent wacky crashes
  • Add mpsc::Receiver::empty() and change mpsc::Receiver::drain() to return the messages
  • Add a way to set a name for tasks
  • Add a way to set the global runtime pointer
  • Add blockOn() for BlockingTaskHandle
  • Add debug info to tasks when building with the debug feature
  • Change poll to require a Context& argument, remove the global context
  • Allow choosing which features to compile and which to not
  • Throw in debug when recursing too deep
  • Refactor all internals to use vtables for ABI stability
  • Make a bunch of class members private
  • Fix pollable metadata not working on MSVC
  • Fix blocking tasks causing use after free when awaited
  • Fix shutdown() causing use after frees, abort tasks properly
  • Bump fmt and asp to newer versions