| The Gaudi Framework v32r1 (f65d50dc)

release

##

version: v30r0 date: 2017-11-17

## supported_builds: [CMake]

Package Coordinators: Marco Clemencic, Charles Leggett, Benedikt Hegner

# Release Notes

For this major release we started introducing backward incompatible changes (which will probably continue in the v30rX series).

- Build System
  - Handle correctly removed dictionary dependencies (mr !413)
  - Improved GitLab-CI configuration (use CentOS7 + gcc7, mr !433)
  - Improved behaviour of `get_host_binary_tag.py` for unknown distribution detection fails (mr !471)
  - Add support for CTest stdout compression in XML reports (mr !453)
- C++ Framework
  - Modernization and simplification
    - Simplify `GaudiSequencer` (mr !483)
    - Modernize `HistoDef` (mr !492), `FileMgr` (mr !493), `HepRndmEngines` (mr !494), `genconf` (mr !437)
    - Change `IDataManagerSvc` and `IDataProviderSvc` to `use boost::string_ref` (mr !474, !508)
    - Prefer C++14 `..._t<T>` over `typename ...<T>::type` (mr !411)
  - Clean up
    - Remove deprecated header `cbrt.h` (mrs !486)
    - Update regex in `PluginService` (mr !504)
    - Remove Phoenix v2 scaffolding (mr !447)
    - Remove unnecessary `long`/`StatusCode` conversions (mr !495)
    - Remove `IssueSeverity` support from `StatusCode` (mr !477)
    - Remove include of deprecated `GaudiKernel/AlgFactory.h` header (mr !414)
  - Bugfixes
    - Fix abnormal termination caused by use of an invalid context when AlgExecStateSvc is verbose (mrs !475)
    - Fix unnamed lock in example code (mr !487)
    - StatusCode check fixes (mr !463)
    - MacOS Fixes (mr !464)
    - Fix compilation on gcc5.4 (Ubuntu 16.04) (mr !465)
    - Fix messaging performance regression (mr !428)
    - Fix various printouts (mr !416)
    - Add missing header guard to `invoke.h` (mr !457)
    - Implement rigorous locking in `HiveWhiteBoard` (mr !388, !432)
    - Tweak overload resolution of `TupleObj::farray` for gcc7 (mr !430)
    - Fix warnings (mr !423)
    - Fixed handling of data dependencies in `ToolHandles` (mr !429, !501)
    - Fixed use of messages in `ApplicationMgr::i_startup` (mr !436)
  - Improvements
    - Add compile-time warning about ignoring returned `StatusCode` (mr !386)
    - Reverse the order in which `IoComponentMgr` io_finalizes components (mr !469)
    - Add `TaggedBool` (mr !435)
- Configuration
  - Fixes for CI tests (mr !503)
  - MacOS Fixes (mr !464)
- Documentation
  - Add documentation for `apply-formatting` target (mr !484)
  - Update build instructions (mr !410)
- Task Scheduling
  - Removed `DataFlowManager` (mr !472)
  - Added protection on event slot creation in `HiveWhiteBoard` (mr !502)
  - Made `PrecedenceSvc` recognize data loader algorithm (mr !473, !506)
  - Improvements to temporal and topological execution flow tracer !444
  - Optimized `AvalancheScheduler` by avoiding the use of algo names and prefering algo indexes (mr !482)
  - Replaced all `std::bind` by lambdas in `AvalancheScheduler` (mr !481)
  - Fixed race condition in `AvalancheScheduler` (mr !479)
  - Dropped unused member `m_updateNeeded` in `AvalancheScheduler` (mr !478)
  - Simplified (aka optimized) usage of ttb tasks in `AvalancheScheduler` (mr !452)
  - Add `DecisionNode` negation/inversion to `AvalancheScheduler` (mr !434)
  - Fix task-based conditions handling (mr !431)
  - Remove forward scheduler and connected components (mr !412)
- Tests
  - Migrate GaudiHive tests to QMT format (mr !419)
  - Fixes for CI tests (mr !503)
  - Fixed handling of data dependencies in `ToolHandles` (mr !429, !501)
  - Made `PrecedenceSvc` recognize data loader algorithm (mr !473, !506)
  - Added test for the `TimelineSvc` (mr !415)
  - Add support for CTest stdout compression in XML reports (mr !453)
  - Made multi_input tests more reliable (mr !468)

The full list of changes can be found on Gitlab.

Externals version: LCG 91