namespace tf {

/** @page release-4-2-0 Release 4.2.0 (Master)

%Taskflow 4.2.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 features are experimental and may change. 
While we strive for backward compatibility, breaking changes may occur when necessary 
to improve performance or simplify the software architecture.

@tableofcontents

@section release-4-2-0_summary Release Summary


@section release-4-2-0_download Download

To download the newest version of %Taskflow, please clone the master branch 
from <a href="https://github.com/taskflow/taskflow">%Taskflow's GitHub</a>.

@section release-4-2-0_system_requirements System Requirements

To use %Taskflow v4.2.0, you need a compiler that supports C++20:

@li GNU C++ Compiler at least v11.0 with -std=c++20
@li Clang C++ Compiler at least v12.0 with -std=c++20
@li Microsoft Visual Studio at least v19.29 (VS 2019) with /std:c++20
@li Apple Clang (Xcode) at least v13.0 with -std=c++20
@li NVIDIA CUDA Toolkit and Compiler (nvcc) at least v12.0 with host compiler supporting C++20
@li Intel oneAPI DPC++ Compiler at least v2022.0 with -std=c++20

@note
If your project does not support C++20, please use %Taskflow v3.11.0, which can be downloaded <a href="https://github.com/taskflow/taskflow/releases/tag/v3.11.0">here</a>.

@section release-4-2-0_new_features New Features

@subsection release-4-2-0_taskflow_core Taskflow Core

+ added two tf::Taskflow::emplace overloads for module tasks
  + tf::Taskflow::emplace(tf::GraphLike) equivalent to tf::Taskflow::composed_of
  + tf::Taskflow::emplace(tf::Graph&&) equivalent to tf::Taskflow::adopt
+ refactored the core with several new concepts to enhance type safety and readability
  + tf::InputIteratorLike to check if a type is a stateful iterator
  + tf::AsyncTaskLike to check if a type is tf::AsyncTask
  + tf::UnaryOperationLike to check if a unary operation is valid
  + tf::BinaryOperationLike to check if a binary operation is valid
  + tf::UnaryTransformLike to check if a unary transform is valid
  + tf::BinaryTransformLike to check if a binary transform is valid
+ fixed missing tf::TaskParamsLike concept usage in async tasking
+ replaced generic template type in dependent async tasks with std::input_iterator

@subsection release-4-2-0_utilities Utilities

@section release-4-2-0_bug_fixes Bug Fixes 

@section release-4-2-0_breaking_changes Breaking Changes

@section release-4-2-0_documentation Documentation

@section release-4-2-0_miscellaneous_items Miscellaneous Items

If you are interested in collaborating with us on applying %Taskflow to your projects, please feel free to reach out to @twhuang!

*/

}


