Tags give the ability to mark specific points in history as being important
  • v32r0

    This release features many fixes and improvements, but also a few backward incompatible changes:

    • removed GaudiGSL package (in preparation for the licensing under Apache 2) (!879)
    • change of IEventProcessor interface (!877)
    • change (const correctness) of custom containers interfaces (!896)
    • removed a few unused components: HLTEventLoopMgr (!876), AlgErrorAuditor (!874)
    • drop support for Python custom event loop in gaudirun.py (!878)

    Among the various additions you can find:

    • Counter-based timers (!787)
    • example of an interface for accessing conditions, which require experiment specific implementation (!838)
    • a new interface (Gaudi::Interfaces::IAsyncEventProcessor) to allow decoupling of the main thread from the event processing thread(s) (!878)
    • a simplified application steering class (Gaudi::Application) (!878)

    Changed

    • Update clang-format to 8 (!872)
    • Factor TES path related code out of GaudiCommon (!904)
    • More explicit management of EventContext in IEventProcessor (!877)
    • Small clean up in EventLoopMgr implementations (!876)
    • Remove GaudiGSL (!879)
    • Do not return non-const pointers to elements of const containers (!896)
    • Drop backwards compatibility code (!883, !900)
    • HiveDataBroker: throw exception in case of same output locations in two different algorithms (!858)
    • Delete AlgErrorAuditor (!874)
    • PrecedenceSvc: demote 'Verifying rules' message to debug (!873)
    • Replace boost::string_ref with std::string_view (!859)

    Added

    • Add optional extension of EventProcessor for asynchronous processing (!878)
    • Add example of ConditionAccessorHolder implementation for integration in Functional (!838)
    • Bits for the cross-experiment study on heterogeneous workflows (!828)
    • Generalize Gaudi::Functional to support LHCb-style conditions handles (!899)
    • Add a synthetic performance stress test for the scheduler (!865)
    • New Minimal Event Store: EvtStoreSvc (!882)
    • Add Counter-based timers (!787)
    • Add support for Gaudi::Algorithm as base class of Functional algorithms (!897)
    • Create a queue for all schedule-able algorithms (!869)
    • Add support for specific architectures in BINARY_TAG (!853)
    • Add getIfExits for DataHandles with AnyDataWrapper (!854)
    • Add support for std::chrono::duration in counters (!849)
    • Add the possibility to ask for Mode in python data handle property (!845)

    Fixed

    • Tweaks to Gaudi::Functional (!903)
    • HiveDataBroker: Improve error message when unknown requested input (!906)
    • Avoid copy of EventContext in Gaudi::Utils::AlgContext (!902)
    • Reverse order of tbb task_scheduler_init and global_control (!895)
    • Make StatusCodeSvc thread-safe (!885)
    • ThreadPoolSvc: prefer std::unique_ptr (!889)
    • Ensure thread termination tools only run in initialized threads (!887)
    • Updates for MacOS and clang (!888, !894, !893)
    • Enable std::iterator_traits<vector_of_const_<T>::iterator> (!855)
    • Fix MessageSvc::reinitialize (!871)
    • Fixes to EventIDRange (!860)
    • ApplicationMgr: Call all state transition for MessageSvc and JobOptionsSvc (!866)
    • Fix tunneling of CF decisions to inactive graph regions in multi-parent configurations (!863)
    • Use [[fallthrough]] attribute instead of the fallthrough comment (!862)
    • Restructure PRG sources and add visitor for Concurrent/Prompt CF inconsistency detection (!861)
    • Sort data dependencies in HiveDataBroker debug printout (!868)
    • Avoid displaying unused Binomial counters (!830)
    • Python 2 & 3 compatibility (!832, !852)
  • v29r5
    37229091 · Prepare v29r5 tag ·

    This is a bugfix release only to fix a warning with the most recent version of CMake (3.13), see the changes on Gitlab.

  • v31r0

    The main reason for this major release is to the change of the Algorithm base class with a re-entrant execute method (#47, !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). 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)
    • Make new counters work with Gaudi::Algorithm (#57, !834, !839)
    • Update clang-format version and style rules (!788)
    • Make DataObjectHandle::{put,getOrCreate} const (!833)
    • Simplify IAlgExecStateSvc interface (!775)
    • Simplify Algorithm constructor (!766)
    • Improve the scheduler's execution flow simulator and fix the intra-event occupancy logger (!819)
    • Reentrant Algorithm base class (#47, !703)

    Added

    • Introduced CPUCrunchSvc (!840)
    • Added a boolean parameter to turn on verbose view algorithm status (!835)
    • Added MsgStream support for counters (!826)
    • Message: Add option to print full event ID (!824)
    • IoComponentMgr: Add interface to retrieve all filenames of component (!823)
    • Add example for Consumer<void()> (!797)

    Fixed

    • Fix lookup/use of nosetests for LCG 95 (!842)
    • Check coding conventions in build stage of Gitlab-CI (!848)
    • Make gaudi_add_compile_test also work for succeeding compilations (!844)
    • Fix build of Gaudi with LCG 95rc1 in ATLAS context (!847)
    • Explicitly define StatusCode constants (!841)
    • Fix handling of EventContext in Gaudi::Functional::Transformer arguments (!837)
    • Extensions to allow EventIDRanges limited by both time-stamps and run/LB pairs (!831)
    • Improve ROOT dictionary dependency computation (!825)
    • Fix issues in preparation for LCG 95 (!820)
    • Improve QMT test wrapper (!812)
    • Improvements for tests (!812, !817)
    • Fixes/workrounds for thread-safety (!815, !829)
    • Code clean up (!808, !811, !814, !809, !827, !843)
    • Fixes to thread local initialization (!816, !807)
  • v30r5
    2c70e73e · Minor fix in change log ·

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

    Supersedes 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

    [YANKED] Do not use this version

    Improvements, modernization and fixes (see all changes).

    Changed

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

    Added

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

    Fixed

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

    Clean up

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

    Improvements, modernization and fixes (changes since v30r2).

    Deprecated

    • Print warning if begin/endRun are used in serial jobs (!666)
    • Fully deprecate DeclareFactoryEntries.h (!648)

    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

    • Add support for EventContext as input to Gaudi::Functional algorithms (!671)
    • Add operator() to Property (!679)
    • Add producer for KeyedContainer and vector to GaudiExamples (!673)
    • Implementation of new counters classes (!629, !676, !677)
    • Change log (!649)

    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

    Bugfix release (changes since v28r2)

    Fixed

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

    Added

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

    Bugfix release (changes since v29r3)

    Fixed

    • Add test and fix of version propagation in KeyedContainer move (mr !662, issue #27)
    • Handle incompatible values for DataObjectHandleBase props (mr !654)

    Changed

    • Improve Gitlab-CI configuration (mr !655, backport of mr !651)
  • v30r2
    version: v30r2
    date: 2018-03-20
    supported_builds: [CMake]

    Package Coordinators: Marco Clemencic, Charles Leggett, Benedikt Hegner

    Release Notes

    This release contains several bugfixes and improvements, and some backward incompatible change.

    Backward Incompatible Changes

    • Dropped backward compatibility with XyzFactory classes (mr !420)
      • obsolete XyzFactory.h header files and macros DECLARE_XYZ_FACTORY have been removed
    • Add category support to StatusCode (mr !514)
      • StatusCode internal code is now an enum class and conversion to/from integer has been made explicit
    • Remove obsolete MT components (mr !546, mr !608)
      • unused GaudiMT and GaudiMTTools have been removed
    • Externalize shared python tools (mr !612)
      • a couple of Python tools have been moved to independent projects
    • Dropped unused ICounterSvc, its implementation and its tests (mr !628)
      • not used

    Deprecations

    • Add deprecation warning in PropertyProxy (mr !633)
      • properties with [[deprecated]] in the doc string print a deprecation warning when assigned
    • Deprecate Algorithm begin/end run methods (mr !542)
      • beginRun and endRun methods of Algorithm are deprecated

    All Merge Requests

    • Bug Fix
      • EventView isolation fix, and added testing (mr !540)
      • TaggedBool: use a more specific header guard name (mr !584)
      • Fix formatting of current master (mr !586)
      • [[deprecated]] does not compile with using statements (mr !587)
      • Fixed Python formatting (mr !588)
      • Make uncompiled exported headers compilable (mr !590)
      • Fix compilation with gcc 5.4 (Ubuntu 16.04) (mr !607)
      • Allow updating of registered Timeline Event records (mr !610)
      • Fix compilation with C++17 (mr !616)
      • Speed up TimelineSvc (mr !620)
      • Remove constexpr from StatusCode default constructor for Coverity scans (mr !630)
      • Fix deduction of property return values (mr !634)
      • AvalancheSchedulerSvc: Fix undefined output ordering (mr !635)
      • Fix warnings seen when compiling with gcc8 (mr !638)
      • Prevent property deprecation warnings when unpickling options (mr !641)
      • Fixed a couple of bugs found by Coverity (mr !644)
    • Build System
      • Fixed typo in CMake option name (mr !578)
      • Fix distcc support and add icecream (mr !585)
      • Require Python 2.7 until Python 3 migration is complete (mr !606)
      • Externalize shared python tools (mr !612)
      • Remove restrictions on names of installed headers (mr !615)
    • C++ Framework
      • Add thread friendly THistSvc (mr !455)
      • Make Gaudi::Property<T> work even if T is only copy-constructible (mr !470)
      • Version of !508 closer to the original !474 version (mr !509)
      • Implement EventIDBase ordering in a generic way by specifying projections (mr !510)
      • Add category support to StatusCode (mr !514)
      • Use tool type as default name for auto registered ToolHandles (mr !535)
      • Deprecate Algorithm begin/end run methods (mr !542)
      • Remove obsolete MT components (mr !546)
      • CommonMessaging: allow msgLevel to be called early (mr !566)
      • Add support for Gaudi::Range_ to DataObjectHandle (mr !571)
      • Demoted a few AvalancheSchedulerSvc messages (mr !576)
      • Add Range & Selection support to Gaudi::Functional (mr !579)
      • Added support for direct reading over WebDAV to IoComponentMgr (mr !580)
      • Use GaudiKernel/compose.h (mr !582)
      • ToolHandle: add TaggedBool parameter to control retrieval (mr !583)
      • ToolHandle: throw exception if retrieval fails (mr !591)
      • Revert some interface changes of THistSvc (mr !594)
      • ToolHandle: add EnableTool tagged bool to control retrieval (mr !595)
      • Add declareTool(handle) convenience method to Algorithm (mr !598)
      • CommonMessaging: Improved inlining and branch predicition (mr !600)
      • Use deduction guide in C++17 version of compose and rename it to overloaded (mr !621)
      • StatusCode: have setters return reference to *this (mr !627)
      • ThreadInitTask: MT fix (mr !631)
    • Code Cleanup
      • Dropped backward compatibility with XyzFactory classes (mr !420)
      • Avoid C-style casts (mr !526)
      • Change Tuple ownership implementation (mr !534)
      • Revisit in-failure and in-stall console dumps of scheduler state, plus few other misc. things (mr !541)
      • Use detected_or idiom to simplify Range.h (mr !572)
      • Remove unused IIncidentListener inheritance from RndmEngine (mr !573)
      • Extend detected_or implementation and use it in CommonMessaging (mr !574)
      • Cleanup GaudiKernel/reverse.h (mr !581)
      • Restore thread-wise task schedule reporting in scheduler state dumps (mr !593)
      • Remove deprecated header GaudiKernel/ThreadGaudi.h (mr !608)
      • Simplify TupleObj::columns (mr !623)
      • EventIDBase: improve printout (mr !626)
      • Dropped unused ICounterSvc, its implementation and its tests (mr !628)
      • Add deprecation warning in PropertyProxy (mr !633)
      • Remove deprecation warning from ExtraInputs and ExtraOutputs properties (mr !639)
    • Configuration
      • Update Gaudi and LCG versions, and release notes (mr !601)
    • Task Scheduling
      • Adapt RunSimulator visitor to new downward navigation gears in the CF PRG realm (mr !539)
    • Tests
      • Add test build of public headers (mr !592)
      • Small improvement to the TimelineSvc test (mr !611)
      • Add gaudi_add_compile_test and StatusCode compilation test (mr !613)

    The full list of changes can also be found on Gitlab.

    Externals version: LCG 93

  • v29r3
    version: v29r3
    date: 2018-03-02
    supported_builds: [CMake]

    Package Coordinators: Marco Clemencic, Charles Leggett, Benedikt Hegner

    Release Notes

    This is a bugfix release including these changes:

    The full list of changes can be found on Gitlab.

    Externals version: LCG 93

  • v30r1
    version: v30r1
    date: 2017-12-21
    supported_builds: [CMake]

    Package Coordinators: Marco Clemencic, Charles Leggett, Benedikt Hegner

    Release Notes

    This minor release features mainly bugfixes ans clean up of the code, but also some new features and improvements in the task scheduling.

    • Build System
      • Proper use of C++ GSL and Range-v3 in CMake (mr !497)
      • Add support for +cov optimization subtype (mr !519)
      • Cache os calls to make xenv faster (mr !533)
    • Configuration
      • Fixed use of zlib (mr !553)
      • Update versions for Gaudi v30r1 (mr !549)
    • C++ Framework
      • Replace DataObjID{,Coll}Property with `Gaudi::Property<DataObjID{,Coll}>`` (mr !426)
      • Add AnyDataWrapperBase::size() (mr !454)
      • Avoid heap-allocation of ParticleDataTable (mr !490)
      • Optimize AlgsExecutionStates (mr !498)
      • Set algorithm exec state/status in Algorithm::sysExecute (mr !523)
      • GaudiAlg FunctionalDetails apply range size check in debug builds only (mr !529)
      • Fixed missing check for outputEnabled in RootHistCnv/src/PersSvc.cpp (mr !536)
      • Optimized allocation of TES slot in HiveWhiteBoard (mr !538)
      • Fix counter printout issue in Hive by using TBB map instead of std map (mr !544)
      • Sort components by name in HistorySvc dump (mr !552)
    • Code Cleanup
      • Modernize ContextSpecificPtr (mr !456)
      • Replace FuncPtrCast with reinterpret_cast (mr !485)
      • Modernize MetaDataSvc (mr !488)
      • Modernize AlgExecStateSvc (mr !489)
      • Modernize HiveSlimEventLoopMgr (mr !512)
      • Modernize ContextEventCounter (mr !513)
      • Modernize constructors and destructors (mr !515)
      • Add missing header guard (mr !516)
      • Remove implicit StatusCode bool/long conversions (mr !517)
      • Remove HiveEventRegistryEntry.h (mr !521)
      • Remove virtual qualifiers on member functions of a final class (mr !522)
      • Fix clang 5.0 warnings (mr !525)
      • Simplify CallgrindProfile (mr !527)
      • Modernize InertMessageSvc (mr !528)
      • Prefer std::make_unique over explicit call to new (mr !530)
      • Reduce indirection in Service lock map (mr !531)
      • Fix TBB/clang feature detection problem symptoms and some clang warnings (mr !532)
    • Task Scheduling
      • Add EventView handling to AvalancheScheduler (mr !496)
      • Added a new event loop manager for HLT like usage, that is very simple and very fast scheduling (mr !537)
      • Fix a bug in data/condition object state detection in temporal and topological tracer's (3T) graph assembling (mr !543)

    The full list of changes can be found on Gitlab.

    Externals version: LCG 91

  • v29r2
    7a580596 · v29r2 release notes ·
    version: v29r2
    date: 2017-12-20
    supported_builds: [CMake]

    Package Coordinators: Marco Clemencic, Charles Leggett, Benedikt Hegner

    Release Notes

    This is a bugfix release including these changes:

    • Build System
      • Cache os calls to make xenv faster (mr !548)
      • Add support for +cov optimization subtype (mr !547)
      • Proper use of C++ GSL and Range-v3 in CMake (mr !520)
    • Configuration
      • Fixed use of zlib (mr !561)
      • Update versions for Gaudi v29r2 (mr !550)
    • Tests
      • Made multi_input tests more reliable (mr !554)
      • Migrate GaudiHive tests to QMT format (mr !564)
      • Fixes for CI tests (mr !565)
    • C++ Framework
      • StatusCode check fixes (mr !562)
      • Fix unnamed lock in example code (mr !559)
      • Remove IssueSeverity support from StatusCode (mr !557)
      • GaudiAlg FunctionalDetails apply range size check in debug builds only (mr !556)
      • Update regex in PluginService (mr !558)
      • Reverse the order in which IoComponentMgr io_finalizes components (mr !555)
      • Sort components by name in HistorySvc dump (mr !563)

    The full list of changes can be found on Gitlab.

    Externals version: LCG 92

  • v30r0
    c919700c · Prepare v30r0 (mr !511) ·

    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

  • v29r1
    5cd95fa2 · Fixed release date ·

    This is a bugfix release including these changes:

    The full list of changes can be found on Gitlab.

    Externals version: LCG 91

  • v29r0

    The main changes in the major release are

    • support for conditions handling tasks in the scheduler
    • automatic enforcing of coding conventions (see instructions, GAUDI-1176 and GAUDI-936)
    • improved support for MacOS

    This release includes several bug fixes and improvements, like

    • improvements for multithreading
    • code modernization and clean up
    • various fixes

    The full list of changes can be found on Gitlab.

    Externals version: LCG 91

    See https://cern.ch/gaudi/releases/v29r0

  • v28r3
  • v28r2
  • v28r1
  • v28r0
  • v27r1.002   tag v27r1.002