The Gaudi Framework  v30r5 (c7afbd0d)
Changelog

All notable changes to this project will be documented in this file.

Project Coordinators: Marco Clemencic , Charles Leggett

The format is based on Keep a Changelog.

Unreleased

v30r5 - 2018-11-15

This release is mainly to revert !462 (Reimplemenation of DataHandle), which caused problems in ATLAS code.

Seupersede v30r4

Changed

  • refer error in databroker when multiple algorithms declare the same output and remove some error messages (!799)
  • Remove redundant code from GaudiKernel/StdArrayAsProperty.h (!790)
  • Use generic boost::callable_traits over hand-rolled solution (!785)
  • Revert "Reimplementation of `DataHandle` (!462)" (!794)

Added

  • Added printing of Inputs/Outputs for HiveDataBroker in debug mode (!801)
  • Support Boost >= 1.67 Python library name convention (!743)

Fixed

  • Reduce dependency on LHCb env tools in CI jobs (!805)
  • Make sure algorithms managed by AlgorithmManager are correctly initialized and started (!804)
  • test_LBCORE_716: Use the default linker and not the system linker (!783)
  • CountersUnitTest: Fix C++14 compiler warning (!795)

v30r4 - 2018-11-02 [YANKED]

Improvements, modernization and fixes.

Changed

  • Reorganization of Gaudi::Parsers code (!759)
  • Update LCG to 94 and Gaudi version to v30r4 (!776)
  • Update minimum required CMake version to 3.6 (!789)
  • Remove m_event_context from Algorithm (!784)
  • Reimplementation of DataHandle (!462)
  • Improve extension API in EventContext (!770)
  • Change return type of interger counters operations, like mean, to float (!786, #50)
  • Clean up IDataProviderSvc and IDataManagerSvc interfaces (!674)
  • Avoid printing empty counters (!777)
  • Use unique_ptr for EventContexts (!732, #37)
  • ConcurrencyFlags: move setting from AvalancheScheduler to HiveWhiteBoard (!726)
  • Introduce a generic IDataStoreAgent implementation (!661)
  • MetaDataSvc: save data for all clients of the JobOptionsSvc (!720)
  • Adding actual type of object in data store to error messages (!715)

Added

  • Add Gaudi::Property constructors which accept an update handler (!769)
  • Optionally capture and print exception backtrace (!653)
  • Add build and runtime support for gcc/clang sanitizers (!744)
  • Add debug builds to Gitlab-CI and other improvements to CI configuration (!756)
  • Introduce IDataBroker interface, and HiveDataBroker implementation (!685, !739)
  • Added an accumulate helper function to new counters (!717)

Fixed

  • HiveWhiteBoard::freeStore: check whether slot was already free (!779, #49)
  • Fix segfault when scheduling EventViews (!781)
  • Fixed bug in BinomialCounter when using buffer (!764)
  • Clarify scalar operator() signature in MultiScalarTransform (!755)
  • Fix potential race condition in TimelineSvc (!750)
  • Implicitly convert DataObjectHandleBase to str properties (!773)
  • Filter out install and build files from make apply-formatting (!747, )
  • Fixed issues reported by gcc/clang sanitizers (!749, !757, !758, !752, !751, !746, !772, !753)
  • Make sure a test fails if its reference file is not found (!734)
  • Fix Floating Point Exception in counters.h (!760)
  • Make the CMake tests more resilient to symlinks (!742)
  • Add support for versioned ROOT libraries (!737)
  • Make event views bookkeeping thread-safe (!729, #36)
  • Avoid using a (possibly invalid) EventContext pointer (!727)
  • Mark dependencies as required when the build requires them (!731)
  • Use std::filesystem only with C++17 (!738)
  • Fixed indentation of new counters to be backward compatible (!717)
  • Fixed error handling of qmt parsing errors (!714)
  • Stop profiling on finalize if needed (!713)
  • THistSvc: fix memory corruption in deReg(string) (!728)
  • Avoid possible memory corruption in PluginService (!733)
  • Added correct vector_of_const_::operator[] and ::at (!710)

Clean up

  • Make VectorMap nothrow_move_constructible (!791)
  • Fix some gcc 8 warnings (!782)
  • Remove unused mutex member in Algorithm (!767)
  • Replaced invalid std::forward with std::move in PluginService (!745)
  • Counters: improve doxygen (!754)
  • Minor code clean up (!408, !740, !774)

v30r3 - 2018-08-01

Improvements, modernization and fixes.

Deprecated

Changed

  • Implement error detection for Hive scheduler/eventloopmgr (!706)
  • Modernize memory management in PrecedenceRulesGraph (!684)
  • Simplify HLTEventLoopMgr (!686)
  • Rewrite of PluginService in modern C++ (!709)
  • Sort uids map before printing the content at finalize (in DEBUG) (!702)
  • Remove NTUPLEINFO (!688)
  • Revert IRegsitry modification from !604 (!704)
  • Move to event-wise stall detection (!690)
  • Avoid superfluous visitor-to-scheduler handovers of in-view DR algorithms (!689)
  • Add set-to-set lookups for faster AlgsExecutionStates matching (!687)
  • FileMgr: replace integer with bitset (!667)
  • Enable top-level 3T dumps for event views (!675)
  • Add support for multiple CF parents to 3T (!672)
  • Applied new formatting (see !651, !448)
  • Remove DataHandle::commit() (!625)
  • Modernize Registry usage in (Ts)DataSvc (!604, #5)
  • Improve Gitlab-CI configuration (!651, !448)
  • Implemented a new property for IoComponentMgr to hold search patterns for direct I/O input file names (!646)
  • Allow retrieval of const services, lost with !526 (!647)
  • Add renamePFN and deletePFN methods to FileCatalog (!645)
  • Do string conversion in stream operator for AlgsExecutionStates::State (!643)
  • Use apply in Gaudi::Functional (!622)

Fixed

  • Fixes for clang build (!724)
  • Fix dependency of generated PCM files (!705)
  • Fix tests in special configurations (!701)
  • Fix asynchronous task scheduling (!697)
  • Make sure we do not use ninja from LCG (!695)
  • Increase timeout for event view tests (!696)
  • Fix message service format in GaudiMP (!694)
  • CommonAuditor: only print CustomEventType deprecation warning if the property is used (!691)
  • Fix for crash when events are deleted while view algorithms are still running (!670)
  • Fix environment for Gitlab-CI
  • Unset GIT_DIR/GIT_WORK_TREE before cloning xenv (!669)
  • Add test and fix of version propagation in KeyedContainer move (!663, #27)
  • Fixed the list of files used for formatting check in Gitlab-CI (!664)
  • Avoid (false positive) clang warning (!656)
  • Handle incompatible values for DataObjectHandleBase props (!650)
  • Fixed bug in THistSvc introduced with !594 (!652)

Added

Clean up

  • Simplify Property forwarding functions (!683)
  • Simplify counter implementation (!682)
  • Update C++17 / lib fundamentals v2 implementations (!681)
  • Modernize GaudiPython (!680)
  • Modernize RootCnv (!660)
  • Modernize RootHistCnv (!659)
  • Protect logging and clean up headers in HiveSlimEventLoopMgr (!692)
  • Remove unused variables in Algorithm (!668)
  • Remove unreferenced code (!658)

v28r2p1 - 2018-06-15

Bugfix release

Fixed

  • Add test and fix of version propagation in KeyedContainer move (!665, #27)

Added

  • Gitlab-CI configuration (!665, backport from master)

v29r4 - 2018-04-17

Bugfix release.

Fixed

Changed

  • Improve Gitlab-CI configuration (!655, backport of !651)

Old versions

Details about old versions of the project can be found in the [ReleaseNotes](ReleaseNotes) folder and in the release.notes files in GaudiRelease/doc.