Package Coordinators: Marco Clemencic, Charles Leggett
# Release Notes
The main reason for this major release is to the change of the `Algorithm` base
class with a re-entrant `execute` method ([#47](https://gitlab.cern.ch/gaudi/Gaudi/issues/47), [!703](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/703)). For backward compatibility the
base class for algorithms is `Gaudi::Algorithm`, while the name `Algorithm` in
the top level namespace is used for a backward compatible implementation. This
change also required a backward incompatible change in the `IAlgorithm`
interface, so some code may require adaptation.
We also took the occasion to update the version of `clang-format` we use from
3.9 to 7, and to switch Python formatting from `autopep8` to `yapf` ([!788](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/788)).
Because of the differences (fixes and new features) in the versions of
`clang-format`, we also updated the style rules.
As of this version, Gaudi requires C++17 compatible compiler.
C++14 compatibility is not required in merge requests, nor guaranteed on the
_master_ branch.
On top of that, we have the usual collection of minor fixes and improvements.
### Changed
- Use gcc 8 instead of gcc 7, and drop gcc 6.2 in CI jobs ([!836](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/836))
- Make new counters work with Gaudi::Algorithm ([#57](https://gitlab.cern.ch/gaudi/Gaudi/issues/57), [!834](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/834), [!839](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/839))
- Update clang-format version and style rules ([!788](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/788))
- Make `DataObjectHandle::{put,getOrCreate}` const ([!833](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/833))
- Improve the scheduler's execution flow simulator and fix the intra-event occupancy logger ([!819](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/819))
- Reentrant Algorithm base class ([#47](https://gitlab.cern.ch/gaudi/Gaudi/issues/47), [!703](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/703))
- Fix issues in preparation for LCG 95 ([!820](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/820))
- Improve QMT test wrapper ([!812](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/812))
- Improvements for tests ([!812](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/812), [!817](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/817))
- Fixes/workrounds for thread-safety ([!815](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/815), [!829](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/829))
- Code clean up ([!808](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/808), [!811](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/811), [!814](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/814), [!809](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/809), [!827](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/827), [!843](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/843))
- Fixes to thread local initialization ([!816](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/816), [!807](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/807))
Package Coordinators: Marco Clemencic, Charles Leggett
# Release Notes
The main reason for this major release is to the change of the `Algorithm` base
class with a re-entrant `execute` method ([#47](https://gitlab.cern.ch/gaudi/Gaudi/issues/47), [!703](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/703)). For backward compatibility the
base class for algorithms is `Gaudi::Algorithm`, while the name `Algorithm` in
the top level namespace is used for a backward compatible implementation. This
change also required a backward incompatible change in the `IAlgorithm`
interface, so some code may require adaptation.
We also took the occasion to update the version of `clang-format` we use from
3.9 to 7, and to switch Python formatting from `autopep8` to `yapf` ([!788](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/788)).
Because of the differences (fixes and new features) in the versions of
`clang-format`, we also updated the style rules.
As of this version, Gaudi requires C++17 compatible compiler.
C++14 compatibility is not required in merge requests, nor guaranteed on the
_master_ branch.
On top of that, we have the usual collection of minor fixes and improvements.
### Changed
- Use gcc 8 instead of gcc 7, and drop gcc 6.2 in CI jobs ([!836](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/836))
- Make new counters work with Gaudi::Algorithm ([#57](https://gitlab.cern.ch/gaudi/Gaudi/issues/57), [!834](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/834), [!839](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/839))
- Update clang-format version and style rules ([!788](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/788))
- Make `DataObjectHandle::{put,getOrCreate}` const ([!833](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/833))
- Improve the scheduler's execution flow simulator and fix the intra-event occupancy logger ([!819](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/819))
- Reentrant Algorithm base class ([#47](https://gitlab.cern.ch/gaudi/Gaudi/issues/47), [!703](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/703))
- Fix issues in preparation for LCG 95 ([!820](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/820))
- Improve QMT test wrapper ([!812](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/812))
- Improvements for tests ([!812](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/812), [!817](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/817))
- Fixes/workrounds for thread-safety ([!815](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/815), [!829](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/829))
- Code clean up ([!808](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/808), [!811](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/811), [!814](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/814), [!809](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/809), [!827](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/827), [!843](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/843))
- Fixes to thread local initialization ([!816](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/816), [!807](https://gitlab.cern.ch/gaudi/Gaudi/merge_requests/807))