Release Notes » Release 3.11.0 (Master)

Taskflow 3.11.0 is the newest developing line to new features and improvements are actively introduced and supported. It is also where this documentation is generated. Many things are considered experimental and may change or break from time to time. While maintaining full consistency can be challenging as new features are added, we continually strive to preserve backward compatibility.

Download

To download the newest version of Taskflow, please clone the master branch from Taskflow's GitHub.

System Requirements

To use Taskflow v3.11.0, you need a compiler that supports C++17:

  • GNU C++ Compiler at least v8.4 with -std=c++17
  • Clang C++ Compiler at least v6.0 with -std=c++17
  • Microsoft Visual Studio at least v19.27 with /std:c++17
  • Apple Clang Xcode Version at least v12.0 with -std=c++17
  • Nvidia CUDA Toolkit and Compiler (nvcc) at least v11.1 with -std=c++17
  • Intel C++ Compiler at least v19.0.1 with -std=c++17
  • Intel DPC++ Clang Compiler at least v13.0.0 with -std=c++17

Taskflow works on Linux, Windows, and Mac OS X.

Release Summary

This release improves scheduling performance through optimized memory ordering in the notification algorithm and fixes a few bugs related to exception handling. We also revised multiple cookbook pages to enhance readability.

New Features

Taskflow Core

Utilities

  • added coprime function
  • added floor_log2 function

Bug Fixes

  • toggled exception block in executor (#690)
  • fixed missing exception on thread creation failure in executor (#693)
  • fixed segmentation fault caused by empty async dependency (#700)
  • fixed compilation errors for CUDA 13 (#721)
  • fixed missing exception on recursive runtime tasking (#724)
  • fixed memory leak in exception handling for async tasks (#730)

Breaking Changes

  • removed tf::corun(graph) due to a design flaw in its exception-handling behavior
// previously
taskflow.emplace([&](tf::Runtime& rt){
  rt.corun(graph);
});
// now - simply use tf::Executor::corun
taskflow.emplace([&](tf::Runtime& rt){
  executor.corun(graph);
});

Documentation

Miscellaneous Items

  • Taskflow won the best poster award from 2025 CppCon!
Image

If you are interested in collaborating with us on applying Taskflow to your projects, please feel free to reach out to Dr. Tsung-Wei Huang!