# Release Notes » Release 2.5.0 (2020/06/01)

Starting from v2.5.0, we have renamed Cpp-Taskflow to Taskflow to broaden its impact and support. Taskflow will explore multiple scopes of applications and language bindings, rather than just C++. This also made Taskflow naming more succinct and concise.

Taskflow 2.5.0 is the 7th release in the 2.x line! This release includes several new changes such as CPU-GPU tasking, web-based profiler, documentation, and unit tests.

## Download

Taskflow 2.5.0 can be downloaded from here.

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

## New Features

- enhanced the performance of the work-stealing algorithm
- enhanced the interface of concurrent CPU-GPU tasking (added tf::cudaFlow::zero, tf::cudaFlow::memset, tf::cudaFlow::memcpy, tf::cudaFlow::fill)
- enhanced unittests for tf::cudaFlow
- added per-thread stream to avoid synchronizing with the default stream in running a cudaFlow
- added tf::cudaFlow::repeat and tf::cudaFlow::predicate for iterative execution of a cudaFlow
- added Learning from Examples pages
- made observer a std::shared_ptr object
- enabled multiple observers to coexit in an executor
- created the TFProf project (image below) to provide visualization and tooling needed for Taskflow programs

## Bug Fixes

- fixed the bug in assigning the block pointer before constructor of an object in object pool
- fixed the namespace conflicting in using MPark.Variant from upstream code

## Miscellaneous Items

- fixed the warning between unsigned and size_t conversion in tf::Executor
- submitted the technical paper to arXiv

Tab / T to search, Esc to close
…

Search for symbols, directories, files, pages or modules. You can omit any prefix from the symbol or file path; adding a `:` or `/` suffix lists all members of given symbol or directory.

Use ↓ / ↑ to navigate through the list, Enter to go. Tab autocompletes common prefix, you can copy a link to the result using ⌘ L while ⌘ M produces a Markdown link.

Sorry, nothing was found.