The Gaudi Framework  v30r3 (a5ef0a68)
Package: GaudiSvc
Package manager : Marco Clemencic
Commit Id: $Format:%H$

================================ Gaudi v28r3 =================================

! 2017-05-30 - scott snyder (commit 418b25f5)

 - Merge branch 'clang-warn-20170525' into 'master'

   Fix some clang compilation warnings: unused variables, parameters, typedefs.
    See merge request !344

================================ Gaudi v28r2 =================================

! 2017-02-08 - Charles Leggett (commit 09859bd)

 - add sysExecute(EventContext) and extract errorCount from Algorithm base class

   We need to extract the `m_errorCount` variable from the Algorithm base class,
    as it's not important on a per-instance basis, but rather on a job level.
   This is moved to the AlgExecStateSvc.
    This merge request also adds an explicit `IAlgorithm::sysExecute(const
   EventContext&)`, which should become the standard entry point to
   `Algorithm::execute`. This sets the local m_event_context variable, so
   derived classes can get quick access to the current context instead of going
   through the slower thead local `Gaudi::Hive::currentContext()`.
    Note that `IAlgorithm::sysExecute()` has been removed, to avoid "overloaded
   virtual" compiler errors, and should be replaced in all clients with
   `IAlgorithm::sysExecute(EventContext)`, or if the context is not immediately
   available, with `IAlgorithm::sysExecute(Gaudi::Hive::currentContext())`.
    All this is being done in preparation to re-introduce the ReEntrantAlgorithm
   class from merge !177 (see also !274)
    See merge request !273

================================ Gaudi v28r1 =================================

! 2016-12-14 - Attila Krasznahorkay (commit a42ff2a)

 - CMake configuration changes to build Gaudi with optional externals missing

   In the last days I experimented a bit with teaching Gaudi how to build when
   only ROOT, Boost and TBB are available to it. This is the result. As far as I
   can tell the code builds in the same way as the current master branch when
   all possible externals are available. (All the ones available in a full ATLAS
   offline build at least.) And I'm also able to build the project in these
   modes:
     * On Ubuntu 16.04 with the system provided Boost and TBB versions, against
   a privately built ROOT 6 version.
     * On macOS Sierra against privately built Boost, ROOT and TBB versions.
   Both when building the project completely on its own, and when building it
   against an ATLAS externals project.
    Some notes:
     * The code uses C++14 expressions in quite a few places by now. So I raised
   the default C++ standard to C++14. This is the default in ATLAS builds since
   a while, I only saw this as an issue when building Gaudi "on its own" with a
   very minimal configuration command.
     * While the code advertises that it still has support for ROOT 5, it's not
   able to build against it since a wile. Since the updates I put in for TLS
   variables on macOS. (The macros used there are ROOT 6 only.) And this update
   makes things even worse. As the code now relies on not providing the
   definition of some classes to the dictionary generator in GaudiPython that
   are not available. (Because AIDA or XercesC is missing.) While ROOT 6 handles
   this with just a build warning, ROOT 5's genreflex treats this with an ERROR
   message. That I was unable to get rid of.
    So, extended testing is clearly necessary, the configuration code could
   definitely be fine tuned as I probably turned off the build of more source
   files than absolutely necessary, but I think we should move ahead with such a
   configuration organisation.
    See merge request !241

! 2016-12-07 - many contributors (commit dc1b505)

 - port LHCb MT developments to Gaudi master

   among others we have
   - `Gaudi::Functional`: base classes to write algorithms as pure functions
   - `AnyDataWrapper`/`AnyDataHandle`: helper to store any type in the Transient
   Store (DataSvc)
   - fixes to `DataObjectHandle`
   - fixes to `GaudiHive`
   - new tests and examples
   - modernization (removed empty destructors, ...)
    See merge request !245

================================ Gaudi v28r0 =================================

! 2016-10-27 - Gerhard Raven, Marco Clemencic (commit b111898)

 - modernization of Property

   This is a major rewrite of the system of `Property` classes. Started as  the
   implementation of GAUDI-1214, it continued as a review of
   `IProperty` and `PropertyMgr`, to end up in a complete rewrite
   (and optimization) of `PropertyWithValue`.

   * Fixes GAUDI-1214
    - added missing `declareProperty` signature
    - added `PropertyHolder` (an updated `PropertyMgr`)
    - adapted all properties in Gaudi
   * improved use of `PropertyHolder`
    - use inheritance instead of composition
    - removed ~200 (duplicated) lines of code in GaudiKernel
   * optimization of Property (fixes GAUDI-1229)
    - use templates and automatic code generation to handle efficiently
      both value and reference properties
      - avoid creation of values on the heap (see GAUDI-1229)
      - removed the *owned* boolean flag
      - improved usability of properties (e.g. begin/end wrappers for
        C++11 loops, increment/decrement operators...)
      - deprecated use of C arrays as properties
    - merged features of `PropertyWithVerifier`, `SimpleProperty` and
      `SimplePropertyRef` into `PropertyWithValue`
    - deduplication of name and doc strings via

   [`boost::string_ref`](http://www.boost.org/doc/libs/1_61_0/libs/utility/doc/html/string_ref.html)

      and a static storage  (see GAUDI-1229)
   * Fixes GAUDI-1205
   * add deprecation warnings in service accessors of `Algorithm` (@graven)
   * renamed `Property` base class to `Gaudi::Details::PropertyBase` and
   `PropertyWithValue` to `Gaudi::Property`
    - added backward compatibility type aliases (but not compatible with
      forward declarations of `class Property`, which should be replaced
      by `#include "GaudiKernel/PropertyFwd.h"`)
   * added macro `GAUDI_PROPERTY_v2` to allow easy implementation of
    backward compatible changes in derived projects (e.g. when user code
    relied on `DoubleProperty` having a verifier)
   * Fixes GAUDI-1268
    The changes are as backward compatible as much as possible (except if you
   explicitly inherit from `SimpleProperty`, or you forward declared
   `class Property`, which now are typedefs), but must be validated in the
   experiment frameworks.
    See merge request !182

! 2016-10-24 - Attila Krasznahorkay (commit ac4dbc7)

 - Changes to build on MacOS X 10.11

   See merge request !200


! 2016-10-24 - Marco Clemencic (commit a8d6605)

 - hidden/fixed "missing override" warnings exposed after !192

   - warnings from external headers are hidden declaring the include directories
   as `-system`
   - warnings from a couple of new files have been fixed
   - warnings in `HistogramSvc` are hidden because unavoidable (see f83c3d8e)
   - warnings related to CLHEP-136 have been hidden with a special trick (see
   0a238135)
    See merge request !205

! 2016-10-19 - Charles Leggett (commit 958570b)

 - Algorithm Execution State Service

   Introduction of AlgExecStateSvc
    All event state information removed from Algorithm base class
   (m_filterPassed, m_isExecuted) as it will cause difficulties with re-entrant
   Algorithms.
    event success/fail flag removed from EventContext
    These flags are moved to be under control of a new service, the
   AlgExecStateSvc, which keeps track of the execution state of all Algorithms,
   and the Event as a whole.
    Algorithm status kept in a new class ```AlgExecState``` which has
   ```
       bool m_filterPassed  {true};
       bool m_isExecuted    {false};
       StatusCode m_execStatus  {StatusCode::FAILURE};
   ```
    AlgExecStateSvc holds an AlgExecState for each Algorithm in each Event
   Slot, as well as an overall ```EventStatus``` for each EventSlot, which can
   be one of

   ```
     Invalid = 0,
     Success = 1,
     AlgFail = 2,
     AlgStall = 3,
     Other = 4
   ```
    Algorithms add themselves to the AlgExecStateSvc upon initialization, but
   the Service's initialization of  the data structures is deferred until the
   first time ```AlgExecStateSvc::reset()``` is called, at which point it's
   probably safe to figure out if there's a WhiteBoard, and the number of slots
   to allocate.
    The EventLoopMgr should call ```AlgExecStateSvc::reset()``` at the start of
   each event. If it's a concurrent EventLoopMgr, it should be
   ```AlgExecStateSvc::reset(EventContext)```, after the EventContext object
   has been updated to reflect the new event.
    Also added an EventContext object to the MinimalEventLoopMgr, so that
   serial/concurrent behaviour is similar.
    Concurrent queries to the AlgExecStateSvc must contain the EventContext, so
   the correct EventSlot can be determined. Serial access is via methods that
   don't have the EventContext as a parameter. For access from Algorithm base
   class (eg from setFilterPassed, isExecuted, etc), if the EventContext ptr
   (m_event_context) in the Algorithm is null, we assume we're running
   serially.
    See merge request !197

! 2016-10-12 - Marco Clemencic (commit b5e05a1)

 - improved handling of package version in CMake configuration

   use project version if a package version is not provided
    See GAUDI-1215.
    See merge request !175

! 2016-10-01 - Marco Clemencic (commit 99b1001)

 - enable missing override warnings (gcc >= 5.1)

   Fixes GAUDI-1241
    See merge request !192

! 2016-07-25 - Marco Clemencic (commit e3d4b07)

 - remove CMT configuration and related files

   * removed CMT configuration files
   * adapted scripts not to use CMT
    Fixes GAUDI-1216 Fixes GAUDI-979
    See merge request !186

! 2016-05-25 - Charles Leggett (commit 8c5261b)

 - fix typo in THistSvc::getHists()

   check inheritance from `TH1` instead of `TH11`
    Fixes GAUDI-1209
    See merge request !170 and atlas/Gaudi!26

! 2016-05-18 - Sami Kama (commit 9eeef96)

 - allow build of Gaudi without LCG and fix ThreadPoolSvc

   Allow building of Gaudi with local externals.
    It also contains a fix to an issue introduced with merge request !160
   (GAUDI-1212).
    Fixes GAUDI-1211, GAUDI-1212.
    See merge request !166

! 2016-03-22 - Attila Krasznahorkay (commit 60532ce)

 - Fixing a logic error in THistSvc::deReg

   The error that made it impossible to de-register histograms.
    With this fix the ATLAS code seems to behave as expected.
    See merge request !143

=============================== GaudiSvc v22r1 ===============================

! 2016-03-11 - commit 4912fc9

 - Renamed MetaDataSvc to Gaudi::MetaDataSvc

   MetaDataSvc is moved into the Gaudi namespace to avoid conflicts
 with the
   existing MetaDataSvc in ATLAS.
    This also includes a minor fix to MetaDataSvc.
    Fixes GAUDI-1199
    See merge request !138

! 2016-03-10 - commit 2de9290

 - added metadata service

   The metadata service adds information about n-tuple production into the
   resulting n-tuple.
    Update and overrides !128
    See merge request !136

! 2016-03-10 - commit 4a18175

 - removed uses of templates implements[1-4], extends[1-4] and
   extend_interfaces[1-4]

   Since merge request !22 they are unnecessary.
    See merge request !133

! 2016-03-10 - commit 8a11f51

 - fixed unprotected debug messages

   I also added the possibility of dumping a stack trace for unprotected

   messages.
    Fixes GAUDI-1192
    See merge request !129

! 2016-02-22 - commit acafe77

 - correctly initialize CommonMessaging::m_level

   Fixes GAUDI-1185
    See merge request !118

! 2016-02-11 - commit b0618f7

 - Improve CommonMessaging

   Implementation of GAUDI-1146: Improve CommonMessaging and use it in more
   places.

   See merge request !76

   Conflicts:
   GaudiExamples/tests/qmtest/refs/AlgTools2.ref
   GaudiExamples/tests/qmtest/refs/MultiInput/Read.ref
   GaudiExamples/tests/qmtest/refs/conditional_output/write.ref
   GaudiKernel/GaudiKernel/AlgTool.h
   GaudiKernel/GaudiKernel/Algorithm.h
   GaudiKernel/GaudiKernel/Service.h
   GaudiKernel/src/Lib/AlgTool.cpp
   GaudiKernel/src/Lib/Algorithm.cpp


! 2016-02-06 - commit d905569

 - introduce DataHandle and DataObjectHandle

   See merge requests !57 !94 !95

=============================== GaudiSvc v22r0 ===============================

! 2015-11-02 - commit 57f356c

 - Merge branch 'hive' into 'master'

   Fixes GAUDI-978.

   See merge request !65


! 2015-10-26 - commit de80db5

 - More modernization changes

   Fix (almost) all warnings from clang 3.7, and use clang-modernize to further
   modernize the code.

   Fixes GAUDI-1118.

   See merge request !49

=============================== GaudiSvc v21r7 ===============================

! 2015-09-25 - commit 35dd00c

 - Merge branch 'dev-smartif-use' into 'master'

   Provide (and use) C++11 smart pointer 'look and feel' for SmartIF

   The aim of this branch is to confine, for everything that inherits from
   IInterface, the calls to addRef(), release() and queryInterface() to the
   SmartIF implementation. Exceptions are a few places where interfaces
   (currently) return bare pointers (instead of SmartIF...) and where one thus
   has to addRef() explicitly to avoid returning a dangling pointer. This can be
   avoided by changing the relevant interface to return a SmartIF instead of a
   bare pointer.

   In addition, make SmartIF 'look and feel' like a smart pointer.

   - use explict bool conversion instead of .isValid()
   - add SmartIF::as<IFace>(), to return a SmartIF<IFace> to an alternate
      interface -- which (together with move) encourages the use of auto
   - add ISvcLocator::as<IFace>(), to return a SmartIF<IFace> to the current
   ISvcLocator.
   - add ServiceManager::service<IFace>() which return SmartIF<IFace> which
   encourages
      the use of auto

   And add a few other C++11 modernizations (eg. prefer STL over raw loop)

   Fixes GAUDI-1094

   See merge request !24


! 2015-09-14 - commit f7feb7c

 - GAUDI-1082: Fixed compilation with CLHEP 2 after merge request !7



! 2015-09-11 - commit c062cbe

 - C++11 modernization changes

   Some trivial - and some not so trivial! - changes which take advantage of
   C++11...

   See merge request !7

! 2015-02-27 - Marco Clemencic
 - Updated test reference file.

! 2014-04-24 - Charles Leggett
 - updated generate_rootmap to generate_componentlist

M	cmt/requirements

=============================== GaudiSvc v21r6 ===============================
! 2015-05-21 - Marco Clemencic
 - Fixed compilation with CMT.

! 2015-03-14 - Marco Clemencic
 - GAUDI-1024: Replaced GaudiKernel/Tokenizer with the new AttribStringParser.

! 2015-04-09 - Marco Clemencic
 - Use C++11 lambdas instead of boost::bind in FileMgr.

=============================== GaudiSvc v21r5 ===============================
! 2015-01-07 - Marco Clemencic
 - Fixed g++ 4.9 warning (unused typedef).

=============================== GaudiSvc v21r4 ===============================
! 2014-09-18 - Marco Clemencic
 - Fixed Eclipse Code Analysis warning.

=============================== GaudiSvc v21r3 ===============================
! 2014-06-11 - Charles Leggett
 - FileMgr: execActs(): check iterator
M       src/FileMgr/FileMgr.cpp

! 2014-06-09 - Charles Leggett
 - FileMgr: made execActions() const, fixed some mem isssues.
M       src/FileMgr/FileMgr.h
M       src/FileMgr/FileMgr.cpp

=============================== GaudiSvc v21r2 ===============================
! 2014-04-14 - Marco Clemencic
 - Removed obsolete/pointless call to 'generate_rootmap' pattern.

=============================== GaudiSvc v21r1 ===============================
! 2014-03-18 - Ben Couturier
 - Fixed bug #104127: remove hwaf configuration.

! 2014-02-21 - Marco Clemencic
 - Modified the genconfig_add_extraModules pattern.

=============================== GaudiSvc v21r0 ===============================
! 2013-12-11 - Sebastien Binet
 - Added hwaf configuration files.

! 2013-07-19 - Marco Clemencic
 - Clean up in the use of the new PluginService.

! 2013-07-18 - Marco Clemencic
 - Removed use of obsolete AlgFactory.h, SvcFactory.h, ToolFactory.h,
   AudFactory.h and CnvFactory.h.

! 2013-07-17 - Marco Clemencic
 - Use the new ROOT-free Plugin Service.

! 2013-07-17 - Marco Clemencic
 - Removed factories forward declarations.

! 2013-07-03 - Marco Clemencic
 - Removed explicit link against Reflex from cmt/requirements.
 - Replaced references to ROOT::Reflex::PluginService with Gaudi::PluginService.

=============================== GaudiSvc v20r1 ===============================
=============================== GaudiSvc-20-00-00 =========================
! 2013-08-30 - Charles Leggett
 - retag for Atlas merge

! 2013-06-24 - Marco Clemencic
 - Fixed compilation with C++11 after the changes to THistSvc.cpp.
 - Added FileMgr to CMake configuration.

! 2013-04-18 - Charles Leggett
 - added GaudiMonitor to list of extra modules

M       python/ExtraModules.py

! 2013-04-05 - Charles Leggett
 - automatically import modules from GaudiCoreSvc and GaudiCommonSvc into
   GaudiSvcConf.py for ATLAS tag via genconfig_add_extraModules pattern and use
   of python/ExtraModules.py file

A       python
A       python/ExtraModules.py
M       cmt/requirements


! 2013-03-06 - Charles Leggett
 - merge with GaudiSvc-18-13-39
 - add FileMgr
 - update THistSvc

M       cmt/requirements
A       src/FileMgr
A       src/FileMgr/POSIXFileHandler.cpp
A       src/FileMgr/RootFileHandler.cpp
A       src/FileMgr/FileMgr.cpp
A       src/FileMgr/POSIXFileHandler.h
A       src/FileMgr/RootFileHandler.h
A       src/FileMgr/FileMgr.h
M       src/THistSvc/THistSvc.icc
M       src/THistSvc/THistSvc.cpp
M       src/THistSvc/THistSvc.h

=============================== GaudiSvc v19r4 ===============================
!2013-04-09 - Hubert Degaudenzi
 - src/THistSvc/THistSvc.cpp: fixed cppcheck warning.

=============================== GaudiSvc v19r3 ===============================
! 2012-11-07 - Marco Clemencic
 - Fixes to use the '-pedantic' option.

=============================== GaudiSvc v19r2 ===============================
! 2012-07-27 - Marco Clemencic
 - Rationalized the permissions of files in the repository.

=============================== GaudiSvc v19r1 ===============================
! 2012-06-08 - Marco Clemencic
 - Added CMake configuration files.

=============================== GaudiSvc v19r0 ===============================
! 2011-12-05 - Marco Clemencic
 - Removed the unused FastContainerSvc.
 - Moved ParticlePropertySvc to a dedicated package and wrapped it in the
   namespace Gaudi.

! 2011-12-02 - Marco Clemencic
 - Moved VFSSvc from GaudiSvc to GaudiUtils.
 - Moved to GaudiMonitor:
   - AlgContextSvc
   - ExceptionSvc
   - HistorySvc
   - IssueLogger

! 2011-11-01 - Marco Clemencic
 - Moved core services out of GaudiSvc and into the new packages GaudiCoreSvc
   and GaudiCommonSvc. (patch #1816)
 - Removed AIDATupleSvc.

! 2011-12-07 - Marco Clemencic
 - Fixed bug #89653: Gaudi is not ready for Boost 1.48 (filesystem V3)
 - Problem with Boost (1.48) Spirit: disabled to -pedantic option (temporarily)

============================== GaudiSvc v18r17 ===============================
! 2011-10-12 - Charles Leggett
 - THistSvc: call Reset() on all TTrees and THNs in io_reinit when copying to
   worker directory. This prevents the data recorded in the first (n) events
   during a multi-process job from appearing in all the worker outputs, as the
   first (n) events get rerun.
 M       src/THistSvc/THistSvc.cpp

! 2011-09-29 - Charles Leggett
 - Fixed bug #87253:  Don't override exception type when re-throwing
 M       src/ExceptionSvc/ExceptionSvc.cpp
 M       src/ExceptionSvc/ExceptionSvc.h

! 2011-08-24 - Charles Leggett
 - Fixed bug #86086: print warning message when an AlgTool fails to finalize

! 2011-10-28 - Marco Clemencic
 - Changed the usage of make_pair to support C++0x.

============================== GaudiSvc v18r16 ===============================
! 2011-09-01 - Markus Frank
 - Fix in OutputStream to correctly support the SVC keyword.

============================== GaudiSvc v18r15 ===============================
! 2011-08-25 - Charles Leggett
 - Fixed bug #85983: PersistencySvc::decodeAddrHdr() always returns CLID=0

! 2011-08-16 - Marco Clemencic
 - Fixed some tests (checks) on Windows.

! 2011-08-15 - Marco Clemencic
 - Fixed compilation on WinXP (patch #4891).

! 2011-08-15 - Charles Leggett
 - Patch #5014: GaudiMP fixes and MSG::DEBUG protection
   - Remove TGraphs from "mother" files before migrating them to the "worker"
     ones during io_reinit when running in multiprocess mode.
   - Clean up some DEBUG output, and protect against dereferencing NULL pointers.

! 2011-08-08 - Sasha Mazurov
 - Patch #5012: Fixed handling of property references in the new JobOptionsSvc
   References to properties (@Other.Prop) have to be resolved at the end.

! 2011-08-08 - Marco Clemencic
 - Fixing bug #83775: unprotected MSG::DEBUG/VERBOSE
   - ApplicationMgr
   - ServiceManager
   - EventLoopMgr

! 2011-08-05 - Marco Clemencic
 - Fixing bug #83775: unprotected MSG::DEBUG
   Fixed ToolSvc, DetectorDataSvc, IncidentSvc, PersistencySvc

! 2011-08-04 - Charles Leggett
 - Patch #4942: THistSvc: consolidated patches to bring trunk to GaudiSvc-18-13-09
   - interoperability with GaudiMP
   - added AutoFlush option for TTrees, explicitly set to 0 for default
   - added lots of log.level() checks for DEBUG/VERBOSE output
  Requires patch #4941 (GaudiKernel > v27r14, GaudiMP > v1r1)

! 2011-07-27 - Marco Clemencic
 - Fixed compilation waring in PropertyValue.cpp.

! 2011-07-26 - Marco Clemencic
 - Fixed HistorySvc::dumpState to prevent segmentation faults in case of
   failure in the dynamic_cast.
 - Fixed a small inconsistency in the non-XML output of HistorySvc.

! 2011-07-26 - Sasha Mazurov
 - Fixed a problem in the new parser (patch #4891): add support for references
   (@Other.Prop).

! 2011-07-25 - Marco Clemencic
 - Modifed the new output of the JobOptionsSvc to be more readable (and easier
   to ignore in the tests).

! 2011-07-22 - Sasha Mazurov
 - Patch #4891: New parsers for Gaudi Configuration
   - Fully rewritten parsers (less amount of code, more readable and more robust)
   - Based on Boost.Spirit 2
   - New parsers for std::set and std::list
   - Job options files: variables introduced

! 2011-07-21 - Charles Leggett
 - Patch #4943: Consolidate GaudiSvc and GaudiKernel patches in Atlas tags
   Update HistorySvc to use new HistoryObj base classes, and provide XML output
   (Requires GaudiKernel > v27r14)
 - Patch #4976: Fixed a couple of unchecked StatusCodes in ApplicationMgr

! 2011-06-23 - Hubert Degaudenzi
 - fixed warnings from the eclipse code analysis engine.

! 2011-06-09 - Marco Clemencic
 - Fixed bug #82945: Untested StatusCode in OutputStream::writeObjects
 - Follow up on task #20172: changed the verbosity of the print out of the
   property CnvServices of PersistencySvc from INFO to DEBUG and updated
   the reference files.

! 2011-06-07 - Marco Clemencic
 - Task #20172: Change default for HistogramPersistencySvc::m_SvcNames
   Removed HbookHistSvc from the list of known services.

============================== GaudiSvc v18r14 ===============================
! 2011-04-15 - Charles Leggett
 - Patch #4819: THistSvc: protect DEBUG messages, add AutoFlush property
   This patch adds a new integer property AutoFlush to the THistSvc to set the
   ROOT AutoFlush value for TTrees, and protects DEBUG messages so that they
   only get created if the logging level is sufficiently low.

! 2011-04-15 - Marco Clemencic
 - Fixed a warning triggered by the macro NDEBUG.

! 2011-04-08 - Marco Clemencic
 - Introduced two new incidents: BeginProcessing and EndProcessing.
   They are needed to reintroduce the signals around the processing loop as
   it was the case for BeginEvent and EndEvent before GaudiSvc v17r0.

! 2011-03-23 - Marco Clemencic
 - Fixed VC9 warnings.
   - Replaced C-style string manipulation and formatting with C++ (and Boost)
     implementations.
   - Disabled some warnings.

! 2011-03-16 - Charles Leggett, Marco Clemencic
 - Patch #4722: detect unprotected DEBUG and VERBOSE messages

============================== GaudiSvc v18r13 ===============================
! 2011-02-18 - Marco Clemencic
 - Added another special case for the order of service finalization
   (NTupleSvc after ToolSvc, because of GaudiTupleTool).

============================== GaudiSvc v18r12 ===============================
! 2011-01-20 - Marco Clemencic
 - Fixed bug #74981: failure in algorithm initialization doesn't stop
                     DataOnDemandSvc
   Changed the behavior of the PreInitialize flag so that a failure can be
   trapped at initialize time (a new flag can be used to restore the old
   behavior).

! 2011-01-19 - Markus Frank
 - Fixes for bug #77109.
   Remove call to "DataObject::serialize()" from H1D, since these are no
   longer supported by the base class. Though keep methods to allow
   e.g. sending histograms through sockets.
   (patch #4613)

! 2011-01-17 - Brett Viren, Marco Clemencic
 - Fixed bug #75996: Support for CLHEP 2.0
   Added a "using namespace CLHEP".

! 2011-01-17 - Marco Clemencic
 - Bug #76642: Strange behavior of InputCopyStream
   Modified DataSvcFileEntriesTool to detect when the objects in the transient
   store have changed the address between the BeginEvent incident and the
   moment they collect the list of entries, so that an error is reported when
   OutputStream is called before InputCopyStream. It doesn't fix the bug, but
   it change the behavior such that we get an error instead of the wrong
   output.

! 2011-01-11 - Marco Clemencic
 - Fixed some ICC remarks.

! 2011-01-06 - Charles Leggett
 - Patch #4588: moved code from HistorySvc::finalize to HistorySvc::stop

============================== GaudiSvc v18r11 ===============================
! 2010-09-20 - Marco Clemencic
 - Fixed bug #70956: Add method to find the reason for termination of the
                     event loop
   - Use the new return code constants in case of failure opening input files
     (EventSelector).
   - Modified EventLoopMgr to propagate failures to the caller of
     nextEvent(int) and set the application return code.

! 2010-07-19 - Marco Clemencic
 - Fixed a warning introduced with patch #4215 (appearing only on SLC4).

============================== GaudiSvc v18r10 ===============================
! 2010-07-13 - Marco Clemencic
 - Fixed a bug in InputCopyStream when no input items where specified.

! 2010-06-25 - Charles Leggett
 - Patch #4215: updates to THistSvc
   - setting max file size of output to 10Gb (user definable)
   - expanded interface to get all hists/trees in a file/dir
   - register all hists/trees in a file/dir
   - fire FileIncident when there are errors opening/writing/closing files
   - test if tree/hist exists
   (includes patch #3447)

! 2010-06-23 - Marco Clemencic
 - Fixed bug #67543: InputCopyStream copies data not defined in its OptItemList
   Added an implementation of the interface IDataStoreLeaves and modified
   InputCopyStream to use it.
   Modified OutputStream to avoid duplicates in the output.

! 2010-06-21 - Marco Clemencic
 - Fixed bug #67366: undefined pattern library_Clinkopts
   Removed the usage of pattern library_Clinkopts (a left-over of some old
   clean-up).

! 2010-05-27 - Charles Leggett
 - Patch #3683: Ignore unchecked StatusCodes in xxxDict.so libraries
   Added the property IgnoreDicts (default = true) to StatusCodeSvc to instruct
   it to ignore unchecked status codes from Reflex dictionaries (usually false
   positives).

=============================== GaudiSvc v18r9 ===============================
! 2010-04-22 - Marco Clemencic
 - Changed the default values of ApplicationMgr properties StopOnSignal and
   StalledEventMonitoring.
   The event watchdog and the signal handler are disabled by default.

! 2010-04-22 - Marco Clemencic
 - Added the integer property "ReturnCode" to the ApplicationMgr to record error
   conditions occurring during the execution and that should trigger a non-zero
   exit code (e.g. signals).
 - Set the ReturnCode to 2 in case of problems opening files.

! 2010-04-20 - Marco Clemencic
 - Removed ICC warnings and remarks.

! 2010-04-19 - Marco Clemencic
 - Moved the EventTimeoutWatchdog thread from the EventLoopMgr to a dedicated
   service in GaudiUtils.
   The thread is enabled by default, but can be disabled using the
   ApplicationMgr property "StalledEventMonitoring".

! 2010-04-16 - Markus Frank
 - Patch #4008: Fix for task #13714: FSRs should be copied as the OpenNewFile
                incident
   Fix to ensure FSRs are read in the event the file has no events.
   On a FILE_OPEN_READ incident, the incident is handled and if
   RecordDataSvc.AutoLoad is set to true, the entire FSR is automatically
   loaded into the records-store.
 - Patch #3942: Patch to reduce output level in records service (bug #64477)

! 2010-04-16 - Marco Clemencic
 - Modified the implementation of the fix to bug #62374 (Handling of signal
   SIGXCPU).
   The new implementation is based on a couple of extra services instead of
   being integrated in EventLoopMgr (less intrusive).
   The extra services are enables by default, but can be disabled with the
   ApplicationMgr property "StopOnSignal".

=============================== GaudiSvc v18r8 ===============================
! 2010-03-11 - Markus Frank
 - Patch #3875: Small fix to GaudiSvc/EventLoopMgr
 - Patch #3876: Added StoreSnifferAlg
   The StoreSnifferAlg allows to scan the TES after an event is processed. At
   the end of the job a summary is printed about the data accesses to the
   various leaves in the TES, which origin from persistent media (i.e. which
   have an opaque address).

! 2010-03-08 - Charles Leggett
 - Fixed bug #63844: Various fixes to THistSvc
   - when root TTrees grow beyond TTree::fgMaxFileSize, a new file is created,
     and the UIDs in the THistSvc need to be updated. THistSvc had a minor bug
     in this regard where the iterator was incremented incorrectly
   - we need the job to abort if the output file gets too large. This is done by
     polling the size of each TFile once per each EndEvent incident, and issuing
     a stopRun() if it gets too large. a job option (MaxFileSize) is added to
     control the max size
   - made the MsgStream a member data to speed up message output.

! 2010-02-26 - Marco Clemencic
 - Added an implementation of the WatchdogThread in the EventLoopMgr
   (EventTimeoutWatchdog) to spot events that are taking too much time (10min by
   default). When the time-out occurs, some warning messages are printed.
   The length of the time-out can be adjusted using EventLoopMgr.EventTimeout (0
   to disable the watchdog).

! 2010-02-19 - Marco Clemencic
 - Fixed bug #62374: Handling of signal SIGXCPU
   Added a small signal handler to keep track of the received signals (only for
   the requested ones).
   Modified EventLoopMgr to check for SIGINT (ctrl-c) and SIGXCPU (used by LSF)
   and stop the event loop as soon as possible, printing a message with the
   received signal. Configuration options allow to ignore the signals.

! 2010-01-29 - Marco Clemencic
 - Fixed icc remark #1599: declaration hides variable

! 2010-01-28 - Marco Clemencic
 - Fixed icc remark #111: statement is unreachable
 - Fixed icc remark #177: X declared but never referenced

=============================== GaudiSvc v18r7 ===============================
! 2010-01-19 - Markus Frank
 - Modified EventCollectionSvc to accept the syntax SVC= (alternative to TYP=)
   when specifying collection files for the EventSelector, as it was already the
   case for normal files.

! 2009-12-18 - Marco Clemencic
 - Modified DetDataSvc::updateObject to avoid the check of the validity of the
   updated object if not in the RUNNING state (needed for conditions database
   validation in LHCb).

! 2010-01-11 - Vanya Belyaev
 - Patch #3487: Minor improvement for CPU-performance of DataOnDemand & Incident Services
   Use Gaudi::StringKey class for the implementation of internal "maps" for
   DataOnDemand & Incident Services (see the detailed discussion for patch #2978).
   The patch allows to minimize a bit the (small) overhead for these services.

! 2010-01-11 - Charles Leggett
 - Fixed bug #60162: THistSvc::initialize changes the current ROOT directory

! 2009-12-15 - Marco Clemencic
 - Fixed bug #59797: Untested StatusCodes in EventLoopMgr.cpp

! 2009-11-19 - Marco Clemencic
 - Removed run-time dependency on PCRE (which has been removed from LCGCMT).
 - Modified ExceptionSvc to use the "new" system of interfaces (removed by patch #3083).

=============================== GaudiSvc v18r6 ===============================
! 2009-11-10 - Rob Lambert
 - Patch #3444: Patch to fix logic error in RecordStream
   - Suppress incidents for RecordService
   - This would cause a logic error in event counting for luminosity purposes

! 2009-11-09 - Marco Clemencic
 - Fixed bug #57416: improve IncidentSvc printout when an exception is thrown by handlers
   Added the incident type to the message, as suggested.

================ GaudiSvc v18r5 ====================================
! 2009-10-12 - Roel Aaij
 - Patch #3330: SequentialOutputStream, create several sequentially numbered output files
   Simple extension to OutputStream to split the output in several files with N
   (configurable) events each.
   WARNING: It does not work with the File Summary Record.

! 2009-10-09 - Marco Clemencic, Karol Kruzelecky
 - Minor clean-up (and speed up) of the counting of messages in MessageSvc.

! 2009-10-07 - Vanya Belyaev
 - Patch #3277: Remove caching of IsFixedBin property in Axis.h
   Needed to allow potential mismatch in case the underlying histogram is
   manipulated directly (e.g. using AIDA2Root).

! 2009-10-02 - Marco Clemencic
 - Fixed bug #55292: Algorithms are never deleted
   - Fixed a problem in the reference counting of sub-algorithms.

! 2009-09-24 - Rob Lambert
 - Patch #3275: Patch to fix Incident consistencies
   - Changed OutputStream to adopt new name of FailOutputFile incident

! 2009-09-21 - Marco Clemencic
 - Removed obsolete queryInterface method from RecordDataSvc.

! 2009-09-18 - Rob Lambert
 - Patch #3249: OutputStream, fire incidents on writing/failure

! 2009-09-10 - Rob Lambert
 - Patch #3236: Bugfix - EventSelector
   - Accidentally dereferencing a pointer when the creation was not successful.

! 2009-09-08 - Rob Lambert
 - Patch #3222: Patch to Issue incidents for Input Files
   - Details required for the documentation of output
     files in the Summary services
   - Added functionality to EventSelector
     will fire a BeginInputFile incident when firstInNextStream is called
     will fire a EndInputFile incident when the end of a stream is reached

================ GaudiSvc v18r4 ====================================
! 2009-07-30 - Marco Clemencic
 - Fixed some doxygen warnings.

! 2009-07-27 - Marco Clemencic
 - Modified CounterSvc to print counters in alphabetical order during finalize.

! 2009-07-20 - Marco Clemencic
 - Added '-no_static' to the declaration of the libraries (implemented since CMT
   v1r20p20081118).

================ GaudiSvc v18r3 ====================================
! 2009-07-02 - Charles Leggett
 - Patch #3083: update to ExceptionSvc to permit greater flexibility
   See doc/ExceptionSvc.txt for details.

================ GaudiSvc v18r2 ====================================
! 2009-06-15 - Hubert Degaudenzi
 - use the new LCG tag convention.

! 2009-06-11 - Marco Clemencic
 - Added the declaration of the DataStreamTool factory that was in the _load.cpp
   file.

! 2009-06-10 - Marco Clemencic
 - Removed _dll.cpp and _load.cpp files (not needed anymore).

================ GaudiSvc v18r1 ====================================
! 2009-05-15 - Marco Clemencic
 - Fixed bug #50389: AppMgr.algorithm/tool/algorithms does not work for
                     GaudiPython::PyAlg<TYPE>
   Changed the inheritance from "implements#": replaced "virtual public" with
   "public" (more correct and does not confuse PyROOT).

! 2009-05-06 - Marco Clemencic
 - Modified PartitionSwitchTool to avoid the usage of SmartIF::pRef. It might
   have caused a mismatch in the reference count.
 - Removed the call to the constructor
     SmartIF<IService>(InterfaceID,IInterface*)
   in RndmGenSvc.

! 2009-04-27 - Marco Clemencic
 - Added specific macros to disable specific backward compatibility hacks.
   See GaudiKernel release.notes.

================ GaudiSvc v18r0 ====================================
! 2009-04-23 - Patrick Koppenburg
 - Patch #2779: InputCopyStream : allow to copy some additional TES locations.

! 2009-04-22 - Marco Clemencic
 - Added a check for correct reference counting in ServiceManager::finalize()
   and a work-around to avoid a segmentation fault.

! 2009-04-20 - Marco Clemencic
 - Removed the code introduced with patch #2601 (prototype for file summary
   records) made obsolete by patch #2699.

! 2009-04-07 - Marco Clemencic
 - Moved back the namespace MSG to the global namespace.

! 2009-04-07 - Markus Frank
 - Patch #2955: Fixup to Records service
   - Fire incident if new records arrive. Incident can be set by option
     FireRecordsSvc.IncidentName = "...";
     if empty no incident will be fired.
     Default: FileRecordsDataSvc: NEW_FILE_RECORD
     Default: RunRecordsDataSvc:  NEW_RUN_RECORD
     to retrieve incident name in order to connect clients use e.g.:
	SmartIF<IProperty> prp(m_recordSvc);
	setProperty("IncidentName",prp->getProperty("IncidentName"));
   - Automatically load all file records on registering a new leaf.
     This feature by default is enabled. It can be disabled with the option:
     FireRecordsSvc.AutoLoad = false;

! 2009-04-06 - Charles Leggett
 - Fixed bug #48942: missing start() and stop() methods for ToolSvc

! 2009-04-06 - Marco Clemencic
 - Renamed back the namespace Msg to MSG and moved it into the namespace Gaudi.

! 2009-04-06 - Marco Clemencic
 - Renamed back INamed to INamedInterface.

! 2009-04-06 - Charles Leggett
 - Patch #2754: Set compression level on ROOT files in THistSvc
   Allows the user to set the compression level on root files generated by the
   THistSvc, via a jobOption.

! 2009-04-03 - Markus Frank
 - Patch #2792: Update to file records service
   - Renamed /RunRecords to /FileRecords.
   - Removed the default sub-directories in the RecordDataSvc.

! 2009-04-03 - Charles Leggett
 - Patch #2721: Differentiate between exceptions and return codes in ExceptionSvc
   Added a new Property to control the return code behavior of the service.

! 2009-03-26 - Marco Clemencic
 - Fixed a problem in the return value of OutputStream::connectConversionSvc().

! 2009-03-25 - Marco Clemencic
 - Fixed an infinite recursion in PersistencySvc when the conversion service is
   specified with "type/name".

! 2009-03-13 - Marco Clemencic
 - Task #9061: Introduction of component managers
   - Modified the services according to the changes in ISvcLocator.
   - Modified ServiceManager and AlgorithmManager to extend ComponentManager.
   - Updated test reference file.

! 2009-02-19 - Marco Clemencic
 - Patch #2790: Rename the namespace MSG to Msg

! 2009-02-06 - Marco Clemencic
 - Moved the implementation of the methods addRef and release to the templated
   base class implements<> (avoids duplication).

! 2009-01-30 - Marco Clemencic
 - Fixed compilation warnings when using Boost 1.38 (Spirit changed includes).
 - Replaced all the occurrences of endreq with endmsg.

! 2009-01-29 - Marco Clemencic
 - Symbol visibility
   - Added a hack to force the export of the symbols of AIDA interfaces to allow
     the dynamic_cast. This is a temporary work-around, the real solution is to
     have a linker library with the virtual destructors (and typeinfos) of the
     interfaces with the correct visibility.

! 2009-01-29 - Marco Clemencic
 - Restored the special implementation of queryInterface for AlgorithmManager
   and DLLClassManager.

! 2009-01-23 - Marco Clemencic
 - Added a NOMSG in IncidentSvc.cpp to avoid the usual conflicts of macros on
   Windows.

! 2009-01-22 - Marco Clemencic
 - Adapted to the new IInterface functionalities (see GaudiKernel release.notes)

================ GaudiSvc v17r3 ====================================
! 2008-12-11 - Charles Leggett
 - Fixed bug #45180: AuditorSvc creates duplicate auditors.

! 2008-12-10 - Markus Frank
 - Patch #2699: First version of run records service
   Add RunRecord service to persistency block. The block consists of:
   -- The RunRecordDataSvc (src/DataSvc)
   -- The RunRecordStream  (src/Persistency).
   When a new datafile is opened the data service retrieves an incident
   from the persistency area (currently only from POOL) together with an opaque
   address describing the run record. These history records are put onto the
   run-records datastore under the name of the logical file (FID):
   /RunRecords/<FID>/.....

   The data service by default has two top level leafs:
   /RunRecords/SOR   (start-of-run-record)  and
   /RunRecords/EOR   (end-of-run-record)

   Hence, each history records can be addresses the same way:
   /RunRecord/<FID>/SOR  (/EOR)

! 2008-12-09 - Charles Leggett
 - Patch #2698: StatusCodeSvc checks filter list too early
   Modified StatusCodeSvc to record unchecked StatusCodes only when in the
   initialized state (avoid false positives due to Python options).

! 2008-12-07 - Marco Clemencic
 - Fixed compilation warning with gcc 4.3.

================ GaudiSvc v17r2 ====================================
! 2008-11-10 - Frank Winklmeier
 - Patch #2608. Thread-safe IncidentSvc
   Made the IncidentSvc (trivially) thread safe with few locks.

! 2008-11-10 - Marco Clemencic
 - Added an option to ApplicationMgr to enable/disable the initialization loop
   check.

! 2008-11-04 - Marco Cattaneo
 - Patch #2601. Introduce support for file summary records.
   A new output stream, OutputFSRStream, which clears and reinitialises the TES
   after the last event (in the stop transition). Any objects written to the TES
   by any algorithm during finalize can be written to the output file as a last
   record. The content of this record is controlled by the options "FSRItemList"
   and "FSROptItemList".

! 2008-10-30 - Marco Clemencic
 - Clean the the DataStreamTool memory during initialize of EventSelector to be
   sure that we start from an empty list during a re-initialize.

! 2008-10-28 - Marco Clemencic
 - Fixed bug #38572, THistSvc initialize/finalize cycles
   Clear internal structures during finalize.

! 2008-10-28 - Charles Leggett
 - Fixed bug #42509: allow THistSvc to write multiple streams to the same file
   Added a check to avoid double delete if a TFile is shared between different
   streams.

! 2008-10-27 - Marco Clemencic
 - Fixed warnings reported by gcc 4.3:
   - type qualifiers ignored on function return type

! 2008-10-27 - Marco Clemencic
 - Fixed compilation errors and some warnings on gcc 4.3.

! 2008-10-22 - Marco Clemencic
 - Fixed bug #41136. ToolSvc keeps tools even if initialize fails
   Added a small smart pointer (ToolCreateGuard) to take care of the deletion of
   the not initialized tool and its removal from the list of known tools.

! 2008-10-21 - Marco Clemencic, Frank Winklmeier
 - Fixed bug #37049. Use recursive mutexes in MessageSvc
   - Replaced boost::mutex to boost::recursive_mutex.

! 2008-10-20 - Marco Clemencic
 - Fixed bug #41058. Better warning messages when a factory can't be loaded
   - Call System::getLastErrorString() after setting errno to 0xAFFEDEAD
     (value used internally to Gaudi to identify errors occurred loading a
     library).

! 2008-10-17 - Marco Clemencic
 - Fixed bug #36917. Listen to all incidents
   Fixed a problem with listeners registered for "ALL" incidents: they were
   never triggered. The current behavior is to call the specific listeners, then
   loop over the list of generic ones.

! 2008-10-09 - Pere Mato
 - Patch #2261. Introducing name alias for Algorithms and Services
   Added the new macros DECLARE_NAMED_ALGORITHM_FACTORY(type,name) to be used
   instead of the current DECLARE_ALGORITHM_FACTORY(type) for algorithms with
   templates. Similarly for Services.

! 2008-10-09 - Markus Frank
 - Patch #2400. Allow to suppress warnings in the EventLoopMgr
   Add properties to suppress WARNING messages from HistogramPersistencySvc
   and EventLoopMgr. Fix bug in EventLoopMgr, which created MsgStream before
   calling the initialization.

! 2008-10-09 - Vanya Belyaev
 - Patch #2058. Extensions for AIDA::TProfile1D
    * src/HistogramSvc/HistogramSvc.h
    * src/HistogramSvc/HistogramSvc.cpp
    * src/HistogramSvc/GaudiPI.h
    * src/HistogramSvc/P1D.h
    * src/HistogramSvc/P1D.cpp
   Update a little bit the implementations of few methods to propagate the
   options to the TProfile constructor.

! 2008-10-03 - Charles Leggett
 - Patch #1963. Add getGraphs() method to THistSvc.

! 2008-10-01 - Marco Clemencic, Frank Winklmeier
 - Reimplemented IssueLogger::getTraceBack() in terms of the version of
   System::backTrace() introduced with patch #1797.

! 2008-10-01 - Frank Winklmeier
 - Patch #1796: Performance improvement for message reporting

! 2008-10-01 - Vanya Belyaev
 - Patch #1750. Improved printout of Data-On-Demand Service.

================ GaudiSvc v17r1 ====================================
! 2008-06-30 - Marco Clemencic
 - Cleaned up Boost link options plus a fix for Boost 1.35.

================ GaudiSvc v17r0 ====================================
! 2008-06-12 - Marco Clemencic
 - Modified the way the protocols knows by implementation of IFileAccess is
   defined: the implementation must report what it is able to handle.

! 2008-06-06 - Marco Clemencic
 - Modified the way the EndEvent incident is fired by the EventLoopMgr. Instead
   of after the top algorithms, it is now fired before BeginEvent (if
   appropriate) and at the beginning of EventLoopMgr::stop. The reason of the
   change is to avoid that the control is passed to an interactive session after
   the EndEvent.
 - Modified ServiceManager::stop to call the stop of services in order reversed
   with respect to the start.

! 2008-06-05 - Marco Clemencic
 - Fixed bug #26327. JobOptionsSvc::finalize is never invoked.
   Finalize the JobOptionsSvc just after the MessageSvc.

! 2008-06-04 - Charles Leggett
 - Patch #1865. Better printouts for HistorySvc.
   - Prints out more information about the various History objects to the output
     file.

! 2008-06-03 - Charles Leggett
 - Patch #1819. Fix printout in THistSvc
   Made the hist->Print() only appear when the log level is DEBUG and below.

! 2008-06-03 - Marco Clemencic
 - Fixed compilation warning in THistSvc.cpp (unused variable).
 - Fixed a problem introduced with the merge of the patch for Task #5809 and a
   previous change (the MessageSvc got finalized twice).

! 2008-06-02 - Marco Clemencic
 - Task #5809. Extension to Gaudi Application state machine.
   - Adapted all the services to the changes in GaudiKernel.
   - Updated the reference file of the test.

! 2008-05-23 - Marco Clemencic
 - Fixed the misplacement of the release of the MessageSvc. Now is located in the
   terminate() method of the ApplicationMgr (the symmetric of the creation location).

! 2008-05-14 - Patrick Koppenburg
 - Patch #1806. Reduced default print-out of DataOnDemandSvc.

! 2008-05-14 - Vanya Belyaev
 - Patch #1801. Allow exclusion in HistogramPersistencySvc
   In some cases, it is useful to have temporary histograms that should not be
   stored. The patch add the properties ConvertHistos and ExcludeHistos.
   If ConvertHistos is empty (default) the conversion is done for all the
   histograms, otherwise only the histograms matched by the strings in it will
   be converted.
   ExcludeHistos is used to disable the conversion of histograms overriding what
   ConvertHistos suggested.

! 2008-05-13 - Marco Clemencic
 - Fixed reference files after Patch #1761.

! 2008-05-13 - Vanya Belyaev
 - Patch #1761. Fixed print-out in ToolSvc
   - Some ToolSvc methods were passing a wrong name (name + extra string) to the
     message service, making problematic the control of output level.
 - Patch #1756. Improvements for Chrono/ChronoStat&IChronoSvc
   - src/Lib/ChronoStatSvc.h,.cpp
     update for change in chronoStart/chronoStop return values
     "(const) StatEntity*" instead of "void"

! 2008-05-09 - Marco Clemencic
 - Added small service (VFSSvc, Virtual File System Service) implementing the
   interface IFileAccess, to dispatch the call to tools implementing the actual
   protocols.
 - Added a tool to provide the basic implementation of IFileAccess to access
   files on the filesystem.
 - Modified the ParticlePropertySvc to use VFSSvc to open the file containing
   particle properties.

================ GaudiSvc v16r5 ====================================
! 2008-04-11 - Yushu Yao
 - Patch #1765: Patch to THistSvc to be able to write to the same file that
                storegate is writing to.
   It caches all output in a temp file and merge the differences in finalize().
   This functionality is needed for the UserDataSvc in ATLAS.

! 2008-04-11 - Marco Clemencic
 - Hack to change the order of finalization such that HistorgamDataSvc is
   finalized after ToolSvc (avoids segmentation faults).

! 2008-04-04 - Marco Clemencic
 - Fixed a problem introduced with patch #1757.
   Modified ApplicationMgr to call sysInitialize instead of initialize for
   JobOptionSvc and MessageSvc (see also bug #26327).
   Modified also NTupleSvc, TagCollectionSvc and RndmGenSvc to use sysInitialize
   instead of initialize for their sub-services.

! 2008-04-04 - Charles Leggett
 - Patch #1763. Demote some ERROR messages to WARNINGs in HistorySvc.
   The modified messages were not errors in the sense that the HistorySvc does
   not fail in those cases, but can go on happily.
 - Patch #1757. Detect creation/initialization loops for services.
   Modified the service manager to check if the requested service is actually
   initialized. If it is only CONFIGURED, it means that there is a loop
   (service1 needs a service2 that needs service1) and an error is reported.

! 2008-04-03 - Charles Leggett
 - Patch #1744. Speed up HistorySvc caching a MsgStream.
   Added a MsgStream data member to HistorySvc in order to improve performances.

! 2008-04-03 - Marco Clemencic
 - Patch #1725. New IAuditor interface.
   Modified AuditorSvc according to the new interface of IAuditor and
   IAuditorSvc.
   The obsolete methods cannot be called (they throw and exception).

! 2008-03-03 - Marco Clemencic
 - Fixed Bug #34121. Setting tool properties in Python
   The check on the emptiness of tool type/name moved from

      ToolSvc::retrieve ( const std::string& tooltype ,
                          const std::string& toolname ,
                          const InterfaceID& iid      ,
                          IAlgTool*&         tool     ,
                          const IInterface*  parent   ,
                          bool               createIf )

   where it should be allowed (if toolname is not empty and createIf is false),
   to

      ToolSvc::retrieve ( const std::string& tooltype ,
                          const InterfaceID& iid      ,
                          IAlgTool*&         tool     ,
                          const IInterface*  parent   ,
                          bool               createIf )

   where it was missing.

================ GaudiSvc v16r4 ====================================
! 2008-02-27 - Charles Leggett
 - Patch #1711. Get all instances of a tool type.
   Function used in the Atlas event display.

! 2008-02-21 - Charles Leggett
 - Improved a nested loop in THistSvc.cpp.

! 2008-02-20 - Hubert Degaudenzi
 - replaced the default values for the format and the timeFormat with the ones
   defined in Message.h (Message::DEFAULT_FORMAT and Message::DEFAULT_TIME_FORMAT)

! 2008-02-04 - Frank Winklmeier
 - Patch #1656: Debugging messages for IncidentSvc
   Added some useful debugging messages to IncidentSvc (on registration, call
   and un-registration).

! 2008-02-04 - Marco Clemencic
 - Fixed Bug #33036: Unchecked StatusCode in HistorySvc::initialize
   Added the check of the status code returned by Service::initialize().

! 2008-02-04 - Charles Leggett
 - Patch #1652: Fix reference counting in HistorySvc
   HistorySvc was not incrementing and decrementing the reference count of the
   registered algorithms.

================ GaudiSvc v16r3 ====================================
! 2008-01-15 - Marco Clemencic
 - Fixed bug #31950. Missing call to Service::finalize.
   Added the call to:
     - ChronoStatSvc
     - IssueLogger
     - THistSvc
 - Fixed bug #32476.
   Added a checking of the status code returned by decodeAlgorithms in:
     - OutputStream::acceptAlgsHandler
     - OutputStream::requireAlgsHandler
     - OutputStream::vetoAlgsHandler
   In case of failure a GaudiException is thrown.

! 2008-01-15 - Charles Leggett
 - Patch #1610.
   If StatusCodeSvc.AbortOnError was set to true, the filter list was ignored.
 - Patch #1607.
   Fixed a memory leak in HistorySvc, occurring when an algorithm or a tool
   was registered twice.

! 2008-01-14 - Chris Rob Jones
 - Patch #1584.
   - Fixed a crash (WIN32) or an infinite loop (Linux) when the DataOnDemandSvc
     is configured but not initialized.

! 2008-01-14 - Marco Clemencic
 - Fixed a problem introduced with patch #1621.
   The keyword "assert" is not defined on Win32 and gcc41.

! 2008-01-11 - Gerhard Raven
 - patch #1621 (bug #32466).
   Add to IToolSvc/ToolSvc the possibility of using observers to monitor the
   creation of and retrieval of tools.

! 2008-01-11 - Marco Clemencic
 - Modified ToolSvc to allow to specify the name of a tool in the type argument
   (Type/Name), which takes precedence over the provided name.

! 2008-01-10 - Marco Clemencic
 - Fixed a bug in StatusCodeSvc which was making it ignore the options.
   (Service::initialize was not called)

! 2007-12-12 - Marco Clemencic
 - patch #1585.
   Fixed warnings about breaking of strict-aliasing rules (gcc 4.1 optimized).

! 2007-12-12 - Marco Clemencic & Markus Frank
 - Simplified the implementation of MultiStoreSvc fixing a segmentation fault
   occurring on gcc 4.1 optimized.

! 2007-12-06 - Sascha Mazurov
 - Fixed a problem preventing the parsing of option files with Boost 1.34.1
   (the version in LCG 54).

================ GaudiSvc v16r2 ====================================
! 2007-11-16 - Charles Leggett
 - patch #1533.
   Modified THistSvc to check if the file associated with a TTree has changed
   and update the relevant structures. This happens when a ROOT file grows above
   the maximum allowed size (a parameter in ROOT).

! 2007-11-16 - Marco Clemencic
 - Moved the pointer to the IncidentSvc from EventloopMgr to MinimalEventLoopMgr
   (needed to handle the new type of incident AbortEvent).

! 2007-11-12 - Marco Clemencic
 - Moved the *.qmt files to the implicit suite (directory) "gaudisvc.qms".

! 2007-11-02 - Hubert Degaudenzi
 - removed the message "ApplicationMgr       INFO Successfully loaded modules :"
   if the list of loaded modules is empty.

! 2007-10-25 - Markus Frank
 - patch #1469. PersistencySvc.cpp
   improve method getService(const std::string& service_type, IConversionSvc*& refpSvc)
   to also check attached services and services known by name

! 2007-10-24 - Marco Clemencic
 - Modified the output of StoreExplorerAlg. Now it prints the pointer to the
   DataObject as a pointer and not as an unsigned long (i.e. exadecimal)
 - Moved the source code for the test component library (GaudiSvcTest) from
   "test" to "tests/src/component".
 - Added a QMTest test (with a reference file) for the option
   "options/Test.opts".

! 2007-10-16 - Paolo Calafiura
 - patch #1416. new DirSearchPath method and test
   - Moved the test from GaudiSvc to GaudiKernel

================ GaudiSvc v16r1   ==========================================
! 2007-10-09 - Marco Clemencic
 - Moved DirSearchPath from GaudiSvc/src/JobOptionsSvc to GaudiKernel
   (requested by Paolo Calafiura).
   Note: the 2 tests using DirSearchpath are still in GaudiSvc.

! 2007-09-28 - Marco Clemencic
 - bug #30021. Two "private" statements in the requirements and no "end_private"
   Removed the second (useless) "private".

! 2007-09-28 - Sascha Mazurov
 - Fix to allow any of the following commands in the job options:
   #printOptions full
   #printOptions FULL
   #printOptions

! 2007-09-28 - Charles Leggett
 - patch #1213.
   Finalize HistorySvc before any other service.

! 2007-09-28 - Vanya Belyaev & Sascha Mazurov
 - patch #1392.
   - Allow "::" in algorithm and tool names to configure them, e.g.:
     MyNamespace::MyAlg.MyProperty = 123;

! 2007-09-26 - Vanya Belyaev
 - patch #1375. Allow configuration of Histogram1D from job options.
   - Allow tuple-like quantities to appear as right-hand-expressions in job
     options. (Sascha Mazurov)
   - Allow the "on-the-fly" redefinition of the histogram properties via options
     of the HistogramSvc.

! 2007-09-25 - Charles Leggett
 - Patch #1358.
   Fixed a bug in THistSvc. In the initialization clause of a "for" loop, the
   iterator was set using "==" instead of "=".

! 2007-09-25 - Vanya Belyaev
 - Patch #1359. (fixes bug #28603)
   Added 2 warnings in case an option file is included twice (one at the parser
   level and one at the JobOptionSvc level).
   Note: The included file is processed only the first time it is included.

! 2007-09-24 - Vanya Belyaev
 - Patch #1346.
   - Add the possibility to print all properties of application manager
     (it is VERY convenient for debugging).
     The properties are printed in ApplicationMgr::configure()
     if the (new) property "PropertiesPrint" is set to true (default is false).

! 2007-09-19 - Vanya Belyaev
 - patch #1273. (Not main goal: side effect)
   - Avoid print out of the table header for empty stats (ChronoStatSvc).

! 2007-08-31 - Hubert Degaudenzi & Paolo Calafiura
 - Patch #1260.moved the MinimalEventLoopMgr from GaudiSvc to GaudiKernel.
   The factory for this service is still in GaudiSvc

! 2007-08-06 - Vanya Belyaev
 - patch #1231.
   Added new properties to format the counters to ChronoStatSvc and CounterSvc:
    * "StatTableHeader" : (string) the header line for printout of the table
    * "RegularRowFormat" : (string) the format of the row for the regular
                                    counters
    * "EfficiencyRowFormat" : (string) the format of the row for the "binomial
                                       efficiency counters"
    * "UseEfficiencyRowFormat": (bool) the flag to allow the special formatting
                                       of "binomial efficiency" counters

! 2007-07-24 - Charles Leggett
 - patch #1252.
   * Do not dereference the TFile pointer in finalize if it is a temporary
     file (== NULL).
   * Add a job option to turn on/off printing of all TObjects in finalize.
     (off by default)
   * Convert all double slashes ("//") to single slashes (so that the path
     "A/B/C" matches "A//B/C") to avoid problems in case of typos in job
     options.

! 2007-07-18 - Sebastien Binet
 - patch #1249. Fix to avoid "use" cycle with GaudiSvc.

! 2007-07-18 - Charles Leggett
 - patch #1234.
   Modified the way the ToolSvc uses the HistorySvc. ToolSvc will try to
   get the HistorySvc when creating a tool and cache the pointer if it is
   available.

! 2007-07-17 - Scott Snyder
 - patch #1242. fixed small memory leak in THistSvc::finalize: when
   files are closed, the TFile objects are not deleted.

! 2007-07-17 - Charles Leggett
 - patch #1218.
   Added missing initialization of MessageSvc::m_msgCount elements.

! 2007-07-16 - Marco Clemencic
 - changed the syntax for specialization of templated function in namespace
   for gcc 4.1 future use.

! 2007-07-13 - Chris Jones
 - Patch #1243: Equipe ApplicationMgr with a new job option
   ReflexPluginDebugLevel which is used to set the debug level of
      ROOT::Reflex::PluginService::SetDebug(level).
   Useful to aid in the debugging of library loading problems.

! 2007-07-11 - Marco Clemencic
 - task #5157 (Make MessageSvc thread-safe)
    * Added 3 boost mutexes to MessageSvc to protect few internal data
      members from possible concurrent access.

! 2007-06-18 - Vanya Belyaev
 - patch #1178.
    * The proposed patch substitute the internal counters, used for
      (I)CounterSvc by generic counters of type StatEntity.
    * This allow to reuse the useful functionality of StatEntity class.
    * In addition it will allow an easy publishing and integration of
      counters with monitoring tasks.
    * Also it adds more functionality for grouping of counters, in
      particular the extraction of the whole group of counters
      (required by Matt Needham)
    * The printout of counters is now coherent with printout of
      generic counters through GuadiCommon<T>.

================ GaudiSvc v16r0   ==========================================
! 2007-05-30 - Charles Leggett + Marco Clemencic
 - Patch #1146. HistorySvc is now capturing the state of algorithms and
   service during the BeginEvent incident. It uses the new feature of the
   incident service to be called only once.

! 2007-05-24 - Marco Clemencic
 - Extended IncidentSvc to make it possible to register a listener for only
   one occurrence of the requested event (see bug #25552).
 - Fixed bug #25552. If a listener is removed in the middle of an incident,
   there will not be a segmentation fault. If a listener unregister itself,
   it will not be called again. If the listener is removed from outside, the
   listener will be called once more.

! 2007-05-24 - Vanya Belyaev
 - patch #1171. The enhancement of existing Algorithm Context Service
   is the primary goal of the proposed patch. The existing
   AlgContextSvc is not safe with respect to e.g. Data-On-Demand
   service or to operations with subalgorithms. The patched service
   essentially implements the queue of executing algorithms, thus the
   problems are eliminiated. In addition the enriched interface
   provides the access to the whole queue of executing algorithms.

! 2007-05-23 - Sebastien Binet
 - patch #1169. fixes an unchecked StatusCode in
   AuditorSvc::getAuditor.

! 2007-05-23 - Sasha Mazurov & Vanya Belyaev
 - patch #1172. Consider the first line of an option file as a comment if
                it starts with "#!".

! 2007-05-23 - Vanya Belyaev
 - patch #1161. Improvements and clean-up in StatEntity:
    - Removed "weight"-related functions and methods (unused)
    - Added binomial error calculation for efficiency-like counters
    - Improved print-out format
    - Added methods to make StatEntity mode DIM friendly
    - Some clean up in comments

! 2007-05-23 - Marco Clemencic
 - patch #1160. Changed the returned value of
    - Algorithm::setExecuted()
    - Algorithm::resetExecuted()
    - Algorithm::setFilterPassed()
   from StatusCode to void.

! 2007-05-15 - Vanya Belyaev
 - patch #1162 (cumulative)
   - Fix a bug with vectors-properties in "python"-format.
   - New features for "#printOptions" directive:

     1) "#printOptions FULL" directives now switches off ("#pragma print OFF")
        the printout of properties during the processiong phase and blocks the
        subsequent actions of "#pragma print OFF" directives. The feature has
        been requested by Gloria Corti for Gauss.

     2) The printout of parser catalogue (activated by "#printOptions FULL"
        directive) is modified to include the trailing semicolumn symbol ";". It
        allows the usave of this printout through cut-n-paste as configuration
        file for other jobs.

     3) One can now dump the content of parser catalogue into a file.
        It is controlled by the property of JobOptionsSvc "DumpFile". The value
        of the property is a name of the output file for dumping of
        parser/property catalogue. The default value of this property is
        empty. It also check the environment variable "JOBOPTSDUMPFILE", where
        one can specify the name of output file:

           JOBOPTSDUMPFILE=dump.opts Gaudi.exe ExtendedProperties.opts

        use it later:

           Gaudi.exe dump.opts


! 2007-05-15 - Sebastien Binet
 - patch #1130. Here is a patch to allow doing this (in pseudo-code)
   from the C++ side:
	StatusCode Alg::initialize()
	{
	 // blah-blah IProperty * svc = 0;
	 service( "THistSvc", svc, createIf=false ).ignore();
	 StringArrayProperty outputProperty( svc->getProperty(pName) );
	 // update/modify the property and send it back to the service
	 return svc->setProperty( outputProperty );
	}
    ie: even if the THistSvc has already gone through its initialize
    method, the configuration of in-/output (ROOT) streams will be
    reconfigured. This patch replaces std::vector<std::string>
    properties by StringArrayProperty and attaches to each of them a
    callback method.

! 2007-05-10 - Charles Leggett
 Patch #1104:
 - Currently, one can have the MessageSvc summarize all message counts
   at the end of the job using the showStats boolean prop. However,
   this only works if the enableSuppression prop is set to True. This
   patch to MsgSvc.cpp separates the two functions to make them
   independantly configurable. If you're not using these flags, it
   won't affect you (by default, these flags are set to False).
 - extension to only print stats above a certain level if desired,
   controlled using a new property "statLevel".

! 2007-05-08 - Sebastien Binet
 - patch #1060. Added multiple log feature to the
   MessageSvc. One can define a log file per algorithm.
     MessageSvc.loggedStreams = {
	'MyAlg1' : 'some_file.log',
	'MyAlg2' : 'some_other_file.log',
	'MyAlg3' : 'some_file.log'
     };


! 2007-04-30 - Andy Salnikov
 - fix to bug #25852. The patch is quite small and touches only two
   classes - Message and MessageSvc. Messages now have one more format
   flag '%t' which is replaced with the formatted timestamp on
   output. Default format string has not changed so default output
   will look identical to what it was before. The format of the
   timestamp can be changed through the additional format string
   similarly to the message format string. Time format can contain
   anything that is accepted by strftime plus additional '%f' code for
   milliseconds.

! 2007-04-27 - Mattias Ellert
 - patch #24974. fixed test building.

================ GaudiSvc v15r3   ==========================================
! 2007-03-15 - Hubert Degaudenzi
 - fixed bug #24769. use of the TFile::Open method instead of the
   TFile constructor to open a file. This enable the use of the ROOT
   plugins (castor, rfio, gfal, ...)

! 2007-03-13 - Hubert Degaudenzi
 - reverted to ranlux instead of ranlux64 for the random
   engine. (please see bug #24689)

! 2007-03-12 - Vanya Belyaev
 - Patch #1073. Simple modification of IExceptionSvc interface (and
   the implementation ExceptionSvc) to avoid the explicit appearence
   of class Algorithm in the interface. The interface is modified to
   substitute Algorithms with INamedInterface. It allows to use the
   service in much wider context, in particular with tools, services
   and auditors.

! 2007-03-12 - Sebastien Binet
 - Patch #1060. patch to MessageSvc to be able to log individual
   message sources ("Alg1", "Foo") to individual ofstreams
   ("Alg1.log", "Foo.log").

! 2007-02-27 - Vanya Belyaev
 Patch #1035
 - changed the storage of the seeds of HepRdm::Engine to vector<long>
   instead of vector<int>
 - removed the C-cast (long *) to initialize the CLHEP seeds
 - changed the default engine from Ranlux to Ranlux64 (it gives the
   same sequence of random numbers on 32bits and 64bits platforms)

! 2007-02-26 - Sebastien Binet
 patch #1041
 - removes some warnings wrt hidden methods

================ GaudiSvc v15r2   ==========================================
! 2007-02-23 - Hubert Degaudenzi
 - added the factory declaration of the DataStreamTool (removed from
   GaudiKernel).

! 2007-02-13 - Sebastien Binet
  Patch #1017: Here is a patch to ChronoStatSvc to optionally dumps
  its stats into an ASCII file (a .INI-like format) to ease the
  offline processing of these stats (usefull for, eg, a performance
  monitoring framework).

! 2007-02-13 - Vanya Belyaev
 patch #1001
 - src/ToolSvc/ToolSvc.cpp
    Couple of fixes with allows to use the private tools from
    Auditors. Frankly speaking, the service itself now sets only one
    condition for the "parent" of the private tool - it should have a
    valid query for "INamedInterface"
 - src/AuditorSvc/AuditorSvc.cpp
    Allow to have an auditor with name not equal to the type, e.g.
    opts-file:
       AuditorSvc.Auditors += { "TimingAuditor/TIMER"} ;
 - src/ApplicationMgr/ApplicationMgr.cpp
    add INamedInterface into ApplicationMgr::queryInterface method

! 2007-02-12 - Scott Snyder
 - patch #1018. Fix memory leak in the IncidentSvc class.

! 2007-02-12 - Charles Leggett
 - fix (to bug #23471) in the MinimalEvtLoopMgr to catch exception.

! 2007-02-02 - Marco Clemencic
 - patch #1008: in the last version of Gaudi, it is not possible
   anymore to create a service using the name format
   "ServiceType/ServiceName". This patch fixes that.

! 2007-02-02 - Charles Leggett
 - patch #1006. The various finalize methods in the ToolSvc don't
   propagate errors that occur during the finalization of tools back
   up the chain. Exceptions are caught, and error messages are
   printed, but a StatusCode::SUCCESS is always returned. This patch
   causes a FAILURE to be returned if an error is encountered.

! 2007-02-01 - Charles Leggett
 - patch #981. MinimalEventLoopMgr doesn't remove algs from the
   algmanager during finalize.

! 2007-01-29 - Charles Leggett
 - patch #994. If the finalization of a service fails, a warning
   message is printed, but the return code is always a success. This
   makes it difficult for the applicationManager to figure out if
   something went wrong. ServiceManager::finalize() should return a
   failure if any of the services it's trying to finalize failed. This
   patch is fixing this problem.

! 2007-01-23 - Pere Mato
 - ToolSvc.cpp: Fixed problem reported by David Quarrie. Return
   StatusCode::FAILURE if tool can not be instantiated.

! 2007-01-22 - Charles Leggett
 patch #973.
 - sets up limits on numbers of messages issued by any
   source. suppresses messages if count is exceeded. prints out
   summary at end of job. controlled by jobopts, for each MSG::LEVEL
   individually, or a global limit. default is not to do anything.
 - also prints out stats on all messages if requested.

! 2007-01-18 - Charles Leggett
 patch #972.
 - add messageCount to IMessageSvc
 - extend Auditor::(sys)afterExecute to pass a const StatusCode&,
   which is the return code of the algorithm
 - new auditor to monitor algorithms, issue message if algorithm
   writes out an ERROR or FATAL, but returns SUCCESS

! 2007-01-15 - Hubert Degaudenzi
 - Removed the DataListenerSvc. It is now located in the GaudiGridSvc
   package.

! 2007-01-12 - Marco Clemencic
 - fix to patch #954. Modification of the interface of IDataStreamTool
   to avoid explicit reference to std::vector.
 - added the method addStream, in parallel to addStreams.

! 2007-01-10 - Charles Leggett
 - Patch #966. Don't force the creation of the HistorySvc in the
   ToolSvc - if it's not available, it's because it hasn't been
   created in the ApplicationMgr, and that's because ActivateHistory
   == false.

! 2007-01-10 - Hubert Degaudenzi
 - fixed DataListenerSvc in order to respect the new IMonitorSvc
   interface introduced by the patch #943.

================ GaudiSvc v15r1   ==========================================
! 2006-12-15 - Andres Osorio
 patch #954.
 - Moved EventSelectorDataStream from GaudiSvc to GaudiKernel
 - EventSelector uses an IDataStreamTool to loop over the files
   (by default the implementation DataStreamTool, overridable with the option
   EventSelector.StreamManager)

! 2006-12-22 - Charles Leggett
 - patch #951. fix memory leak in HistorySvc.

! 2006-12-14 - Hubert Degaudenzi
 - fixed JobOptionsSvc.cpp for the new constructors of SimpleProperty.
 - StatusCode checks fixing.

! 2006-11-30 - Pere Mato
  Adpated package to the new PluginSvc. The following changes have
  been done:
  - Removed protected from constructor/destructors and fiendship of
    Factory class
  - Removed files: ConverterFactory.cpp(h), ObjectFactory.cpp(h)
  - All the references to factories removed.

! 2006-11-29 - Hubert Degaudenzi
 - this is the beginning of the release notes for the merge with the
   v14r13 release (v14r10b branch).

! 2006-11-28 - Hubert Degaudenzi
 - removed duplicated ToStream method. This was induced by the patch
   #922 on GaudiKernel

! 2006-11-03 - Alexander Mazurov
 - patch #882. The proposed patch fixes the problem with the unique
   Parser Catalogue for reading of multiple *.opts files. The fix does
   not affect at all the "regular" Gaudi job, but it is vital for
   GaudiPython-based applications, e.g. Bender, where the reading of
   several configuration *.opts-files is possible.

! 2006-11-02 - Ivan Belyaev
 - patch #895. Add new functionality for Particle Property Service:
   (1) Modified to add possibility to redefine properties of existing
      particles and to read additional files. New property
      "OtherFiles" (default is empty vector) is introduced. Service
      parses additional files after the main one.
	// read additional properties
	ParticlePropertySvc.OtherFiles = {
	"$SOMELOCATION1/file1.txt" ,
	"$SOMELOCATION2/file2.txt"
	} ;
   (2) Add possibility to modify only certain particles through the new
       property "Particles" (default is empty list), each line is
       interpreted as a line in particle data table, e.g.
	// redefine the properties of H_20 and H_30 particles:
	ParticlePropertySvc.Particles = {
	"H_20 88 35 0.0 120.0 9.4e-26 Higgs'0 35 0.0e+00" ,
	"H_30 89 36 0.0 40.0 1.0e-12 A0 36 0.0e+00"
	} ;
    The replaces/modified particles are reported.

! 2006-11-01 - Hubert Degaudenzi
 - fixed the random engine declaration in the GaudiSvc_load.cpp file.

! 2006-10-25 - Hubert Degaudenzi
 - reenabled the DataListener service. Changed the ApMon version to
   2.2.1. This version is now compatible with windows.

! 2006-10-17 - Ivan Belyaev
 - patch #881. Changes on the DataOnDemand service. New properties
   have been added:
    - "AlgMap" - the map<string,string> property for mapping of
      address in TES and the algorithm
    - "NodeMap" - the map<string,string> property for mapping of address
      in TES and some predefined data type
    - "Prefix" - the default prefix for TES locations, which could be
      omitted from TES location.
   These new properties are equipped with update handlers, and
   therefore Data-On-Demand configuration could be easily
   modified/changed during the interactive session in python

   Old properties "Algorithms" and "Nodes" are still exist. But they
   are primary internally translated into new maps. Currently
   everything is backward compatible.  Old properties are also
   equipped with update handlers.

   The treatment of "preceding paths" has been modified a bit. Now
   for each data location also all upwards directories are
   automatically added as "nodes" (if other behaviour for the
   particular not is not defined explicitly) of default directory
   type "DataObject". As a result a bit confusing coupling of some the
   algorithms as "node creators" is removed.

! 2006-10-12 - Marco Clemencic
 - Patch #871. Added protection to avoid the instantiation of a tool
   using an empty string as tool type/name. It prints an error
   message.

! 2006-10-06 - Marco Clemencic
 - Patch #863. Add map property "Environment" to ApplicationMgr.
   Adding a pair ("VARNAME","VALUE") have the result of setting the
   environment variable VARNAME to the value "VALUE" before starting any
   service (except the message and job option ones) or algorithm.
   Setting the variable to "" results in removing it from the environment
   (same behavior on windows and linux, see System::setEnv).
   If the variable is already present it prints a warning.

! 2006-11-29 - Hubert Degaudenzi
 - this is the end of the release notes for the merge with the
   v14r13 release (v14r10b branch).

! 2006-11-17 - Pere Mato
 - ServiceManager.cpp(.h) implementation of ISvcLocator::eraseService()
 - ApplicationMgr.cpp: Added the creation of StatusCodeSvc if
   StatusCode check is enabled
 - Fixed some StatusCode checks

! 2006-11-13 - Hubert Degaudenzi
 - disable StatusCode checking in finalize method of the
   StatusCodeSvc.
 - fixed the call to the terminate method in the Gaudi main loop.

! 2006-11-10 - Markus Frank - Patch #908
 - Remove the dependency from PI.
   -- Implement 1D, 2D, 3D histograms and 1D, 2D profiles directly.
   -- Remove implementation of AIDA IHistogramFactory
   -- NOTE: Implementation of HistogramSvc::histogramFactory returns NULL.
            This call should be removed from thre interface.
      -> Slices and projections are no longer possible.
         This functionality can however easily be recovered if needed.

! 2006-11-09 - Pere Mato
 - Removed dependency to GaudiHistory. The package will be deleted and
   its contents moved to GaudiKernel.

================ GaudiSvc v15r0   ==========================================
! 2006-09-21 - Hubert Degaudenzi
 - replace the OS dependent function for the stacktracing by the ones
   in GaudiKernel/System.cpp.

! 2006-09-13 - Charles Leggett & Hubert Degaudenzi
 - removed AlgContextAuditor (moved to GaudiAud)
 - fixed many StatusCode Check.
 - dynamic switch of the StatusCode checking in the Application
   manager.

	    ApplicationMgr.StatusCodeCheck = true/false;

   By default the checking is on. It is disabled anyway at the
   ApplicationMgr::finalize method to avoid problems with GaudiPython.

! 2006-09-09 - Charles Leggett & Hubert Degaudenzi
 - added new services: ExceptionSvc, StatusCodeSvc, IssuLogger and THistSvc.

! 2006-09-09 - Vanya BELYAEV patch #839
 - src/JobOptionsSvc/JobOptionsSvc.cpp
   remove ugly cast from JobOptionsSvc::setMyProperties
   from not the setting of properties relies only on
   IProperty::setProperty ( const Property& ) and
   Property::load/Property::assign. No extra gymnastic is required
 - src/JobOptionsSvc/ParserGrammar.h
    use Gaudi::Utils::toString conversion instead of
    lexical_cast in the method RealUnitsGrammar::matchRealUnits
    to avoid the absolutely ugly printout of doubles [the problem has been
    reported by Florence in the tests of Panoramix]
 - src/JobOptionsSvc/Parser.cpp
    improve a little bit the printout of options, when the directive
     "#printOptions full" is activated

================ GaudiSvc v14r10   ==========================================
! 2006-09-05 - Hubert Degaudenzi
 - Commented out King's service (DataListenerSvc) temporarily since it
   doesn't compile on windows.

! 2006-09-01 - Ivan Belyaev
 - Fix for the ToolSvc::create that didn't return a
   StatusCode::FAILURE if the AlgTool::setProperties fails. Now the
   job should stop cleanly.

! 2006-08-30 - Ben King
 - creation of the DataListenerSvc service

   DataListenerSvc implements the declareInfo methods from IMonitorSvc
   (without the histogram and pair methods which have empty
   implementations) and the handle method from IIncidentListener to
   provide monitoring of variables within a GAUDI algorithm.

   Once instantiated as an IMonitorSvc e.g. IMonitorSvc*
   m_DataListenerSvc, the declareInfo methods can be used to monitor
   variables e.g.

	 m_DataListenerSvc->declareInfo("Psi+ P", m_jPsiPlusP, "The
	 m_DataListenerSvc->Psi Momentum", this);

   Three types of monitoring
     * Text file of last monitored variables' information in MonitorLog.txt
     * XML logs - one for each time the variables are monitored in
       log{#}.xml where {#} is the number of times monitoring called
       when written 0,1,...
     * MonALISA publishing - sent to MonALISA server which can produce
       history plots

   Options file usage:
     * Monitoring can be turned on or off
            DataListenerSvc.MonALISAMonitoring = 1;
	    DataListenerSvc.XMLMonitoring = 1;
	    DataListenerSvc.FileMonitoring = 0;
     * Frequency of each MonALISA publishing and XML Monitoring
            can be specified
	    DataListenerSvc.EventFrequency = 8;
            DataListenerSvc.MLEventFrequency = 5;
     * For MonALISA, the configuration file, clustername and nodename
       (jobID)can be specified
	    DataListenerSvc.MLClusterName = "DataListenerSvcTesting";
            DataListenerSvc.MonaLisaMonitoring = "./destinations.conf";
            DataListenerSvc.MLjobID = 1;

! 2006-08-21 - Alexander Mazurov
 - Patch #816. Fix for "-=" to work nicely with new Job Options.
   - it remove the first occurance of the element in the sequence,
     e.g.

     A.a = {"a" ,"b" , "c" , "b" , "d"} ;
     A.a -= {"b"} ;

     The final vector will be: ["a","c","b","d"]

   - It is *NOT* an error to remove nonexisting elements,
     The parser issues the warnings, but the execution
     continues, e.g.:

     A.a = {"a" ,"b" , "c" , "b" , "d"} ;
     A.a -= {"b"} ;
     A.a -= {"b"} ;
     A.a -= {"b"} ;
     A.a -= {"b"} ;
     A.a -= {"b"} ;

     Btw: it is an indirect way to remove ALL occurencies!

   - for associative properties, like maps, one needs to specify both
     the key and the *VALID* value to be removed, e.g.

     A.a = { 'a' : 10 ,
       'b' : 2 ,
       'c' : 3 } ;
     A.a -= { 'a' : 1 } ;
     In this case he key 'a' will not be remove from the map.

     A.a -= { 'a' : 10 } ;

     In this case the key 'a' will be removed from the map. (Vanya for
     the detailed explanations).

! 2006-08-02 - Markus Frank
 patch #796
 - Improve output stream:
   - If intermediate leaves in the TES are not given in the ItemList
     (or OptItemList) then they are automatically added:
     e.g. "/Event/MC/Particles" will add: "/Event" (if not already
     present)
               "/Event/MC"            (if not already present)
               "/Event/MC/Particles"
     This behaviour can be switched OFF by setting the options
     OutputStream.VerifyItems = false;
   - Add optional stream specification SHARED='YES' to be passed
     directly to the conversion service for further usage.
   - Do not connect output device if the leaf list is empty
   - Remove unnecessary call to setProperties in initialize().
 - Create a new output stream PersistencySvc/TagCollectionStream.  See
   the header file for further information.
 - Implement service remapping in the ApplicationMgr differing from
   the default <class-name>-<class-name> mapping.  Option SvcMapping
   (vector<string>) allows to change the default services
   (EventDataSvc etc.). Option SvcOptMapping allows to enter
   additional mappings.
 - NTuples and tag collections:
   - Remove "endreq" entries and replace them by "endmsg"
   - Fix bug in NTupleSvc::isConnected()

! 2006-08-17 - Chris Jones
 - patch #763. The attached patch encases the library loading in a try
   block, and makes it much easier to spot the throwing of
   exeception(s) during that phase.

! 2006-07-31 - Pere Mato
 - Fix bug #18581 overview: Memory leak due to changed behaviour of
   JobOptionsSvc

================ GaudiSvc v14r9   ==========================================
! 2006-07-17 - Pere Mato
 - fixed bug in RndmGen which was deleting twice the parameters of the
   generators in RndmGen::~RndmGen and RndmGen::finalize. Remove the
   deletion from the finalize() method.

! 2006-07-11 - Ivan Belyaev
 - fix for the reading of environment variable in the options files.
 - fix for reading empty property vector

! 2006-06-28 - Ivan Belyaev
 - A number of changes in the JobOptions service to avoid to use the
   cout directly and use MessageSvc instead

! 2006-06-28 - Pere Mato
 - changed fs::no_check by fs::native to avoid fatal exceptions when the
   new properties are used on Windows. It was never tested :-(

! 2006-06-01 - Ivan Belyaev & Alexander Mazurov
 - added the new property parser/compiler.

! 2006-06-01 - Ivan Belyaev
 -The 5-argument method ToolSvc::retrieve is modified to allow
  "ToolType:PUBLIC" ( before it allowed "ToolType",
  "ToolType/ToolName", "ToolType/ToolName:PUBLIC"). "ToolType:PUBLIC"
  was wrongly resolved in type = "ToolType:PUBLIC" (with correct name
  "ToolType").

================ GaudiSvc v14r8   ==========================================
! 2006-05-04 - Marco Clemencic
 - Patch #720. Added a specialized DataSvc for TransientFastContiner:
   FastContainersSvc.  Lifetime of the objects in this store is the
   same of objects in DetDataSvc.  Each BeginEvent incident triggers a
   clear() of all the instances of TransientFastContinerBase.

! 2006-04-20 Hubert Degaudenzi
 - removed legacy compiler code in the MsgSvc.

! 2006-04-20 Markus Frank
 patch #707
 - Suppress Application manager startup banner if property:
   ApplicationMgr.AppName = "";
 - Allow to attach runables and event loop managers with different
   type/name combinations.  (as it always was for the external
   services....)

! 2006-04-13 Charles Leggett and Hubert Degaudenzi
 - inserted ATLAS feature INamedInterface.

! 2006-04-12 Pere Mato
 - PropertyCompiler.cpp: fixed to allow for a 'f', 'F', 'l', 'L', 'u',
   or 'U' at the end of a numerical value. Reported by Wim Lavrijsen.

================ GaudiSvc v14r7   ==========================================
! 2006-04-04 Pere Mato
 - EventSelector.cpp: reset flag m_reconfigure after first call to
   firstOfNextStream() This should solved the problem observed by
   Thomas that from Python the same first file was read again and
   again.

! 2006-03-06 Markus Frank
 patch #692:
 - Add support for objects in N-tuples. Note: This only works for
   NTuple::Item.  NTuple::Array and NTuple::Matrix is __NOT__
   supported for objects. If you need this functionality store an
   std::vector<Object*>. See GaudiExamples/POOLIO/EvtCollectionWrite
   for an example of the usage.  Affected file:CollectionCloneAlg.cpp
 - Fix memory leak in EventSelector::releaseContext: context object
   was not always deleted.

================ GaudiSvc v14r6   ==========================================
! 2006-01-27 - Hubert Degaudenzi
 - modification of the GaudiPI includes according to the gaudi way
   (please have a look at the GaudiPI package).

! 2006-01-25 - Marco Clemencic
 - patch #659. Modified POOLIO and RootIO examples replacing
   ITime+TimePoint with Gaudi::Time.

! 2006-01-25 - Marco Clemencic
 - patch #648. Currently, an incident listener cannot stop the
   execution of a program even if it throws an exception. In some
   cases it is important to exit if a problem occurs, to avoid hard to
   debug problems.
   A simple way to allow an incident listener to stop the program is
   to use the IEventProcessor::stopRun() method.

! 2006-01-19 - Pere Mato
 - adapted to use genreflex (Reflex from ROOT)

! 2006-01-10 - Hubert Degaudenzi
 - use of the DECLARE_XXX_FACTORY macros. replacement of the
   corresponding code.

================ GaudiSvc v14r5   ==========================================
! 2006-01-05 - Pere Mato
 - PersistencySvc.cpp: replaced "if" by "if else". Typo found by RD Schaffer

! 2005-12-20 - Hubert Degaudenzi
 - commented out the AIDATupleSvc.

! 2005-12-05 - Manuel Domenech
 - removed AIDATupleSvc/AIDATuple.h and .cpp (no longer needed)
 - added comments to AIDATupleSvc/AIDATupleSvc.h and .cpp for doc purposes
 - added setCriteria method to allow passing selection criteria as string to
   filter input rows when reading a tuple with POOL.

================ GaudiSvc v14r4   ==========================================
! 2005-11-21 - Vanya Belyaev
 - MinimalEventLoop.cpp: resetExecuted() to all "known" algorithms
   instead to only the topAlgs. This is need to be able to call
   sequences by the DataOnDemand service (for more than just the first
   event).

================ GaudiSvc v14r3   ==========================================
! 2005-11-09 - Pere Mato
 - DirSearchPath.cpp: fixed joboption path on Windows

! 2005-10-26 - Hubert Degaudenzi
 - modified requiements file for future use of the new package GaudiPI.

! 2005-10-26 - Hubert Degaudenzi
 - bug #12556. fix behavior for the "-=" of the property compiler. Now
   only issues a warning if the keyword to be removed is not in the
   list. Before it was stopping the job (Patrick Koppenburg).

================ GaudiSvc v14r2   ==========================================
! 2005-10-21 - Hubert Degaudenzi
 - Changes in the DataOnDemand service to use reflex (Markus Frank)

================ GaudiSvc v14r1   ==========================================
! 2005-07-21 - Hubert Degaudenzi
 - fixed bug #9467

2005-07-15 - Hubert Degaudenzi
   - fix bug #9477. fixed name clash (Mattias Ellert)

================ GaudiSvc v14r0   ==========================================
2005-07-7 - Marco Clemencic - patch #443
   - fix 2 typos (Enable -> Unable).
   - use TimePoint instead of ITime* (should be faster)
	(side effect: DetDataSvc::validEventTime() returns always true)
   - when finalizing, if persistency is activated, the root node is
     created twice (none of which needed). I also fixed it.

2005-07-5 - Hubert Degaudenzi - support #100831
  - added the StagerSvc. Will only be build if CMTSITE is set to
    CERN. The function of this service is to stage in advance is set
    of CASTOR files.
  - Modifications of EventSelector.{h,cpp} to add the incident fired
    when a file has just been processed.

2005-07-03 - Markus Frank - patch #446
  - src/PersistencySvc/InputCopyStream.h/cpp
    Implementation of an output stream doing a shallow copy
    of the main input file identified by it's dbase set in /Event.
    /Event may be overwritten by ItemList[0].
    Also sub-trees may be written for interactive analysis,
    by specifying several sub-trees in ItemList.
    Otherwise identical behavior to OutputStream.
  - src/EventSelector/EventSelectorDataStream.h/cpp,
  - src/EventSelector/EventSelector.cpp
    Explicitly finalize each stream after usage. It turns out
    that for several thousands of input files even the properties
    allocate several MBytes of memory (found by Niko during LHCb-RTTC).

2005-05-31 15:23  Patrick Koppenburg
  - cmt/requirements, src/JobOptionsSvc/PropertyCompiler.cpp,
    src/JobOptionsSvc/PropertyCompiler.h: The property compiler now
    supports the removal of an option (-=)

================ GaudiSvc v13r4   ==========================================
! 2005-05-23 - Pere Mato
 - Fixed bug #8498 overview: cannot use the same file twice as input
   to EventSelector.EventSelector/EventSelector.cpp: Added a warning
   when the input file is already in the list and continue.
 - Fixed bug #5476 overview: Gaudi crashes when having 2 topalgs with
   the same name. ApplicationMgr/MinimalEventLoopMgr.cpp added extra addRef().

!2005-05-18 - Hubert Degaudenzi  <Hubert.Degaudenzi@cern.ch>
 - JobOptionsSvc/PropertyCompiler.cpp
   (openPropertyFile): remove the previous bug fix. Added test to
   detect if the files was the same and contained a "$".

!2005-05-13 - Hubert Degaudenzi  <Hubert.Degaudenzi@cern.ch>
 - JobOptionsSvc/PropertyCompiler.cpp (resolveEnv): added fix to
   raise an error if an environment variable is not know in the path
   of an option include file.

================ GaudiSvc v13r3   ==========================================
! 2005-03-20 - Markus Frank
 - EventSelector/EventSelectorDataStream.cpp - fix code to allow for
   the creation of a specific selector service to be instantiated at run-time
   depending on the EventSelector.Input specification.

! 2005-03-18 - Florence RANJARD
 - ApplicationMgr/ApplicationMgr.cpp - include <ctime> to compile on Win32

! 2005-03-18 - Manuel Domenech
 - AidaTupleSvc - few fix for Windows
 - requirements - compile AIDATupleSvc
                  append the required libraries to PI_linkopts ( should be
                  moved to LCG_Interface/PI/requirements)
                  update version to v13r3

! 2005-03-07 - Marco Cattaneo
 - ApplicationMgr: Add AppName and AppVersion properties, and print a welcome
                   message using their value

================ GaudiSvc v13r2   ==========================================
! 2005-03-04 - Manuel Domenech
 - AIDATupleSvc.cpp:  Fixed minor bug opening pi_aida::Proxy_Stores.
			    Debug messages removed.

! 2005-03-01 - Markus Frank
 - EventSelector.cpp: Use unmanaged service for sub-event
   selector. Subevent selector
                      management is entirely done by the eventselector itself.
 - AlgorithmManager.cpp: Add interface call to access factory by name.
                         Suppress loading algorithms by module with same name
 - ServiceManager.cpp: Add interface call to access factory by name.
                         Suppress loading algorithms by module with same name.
                         Suppress creation of services by creator function.

! 2005-02-28 - Olivier Callot
 - Add an option to print the list of jobOptions, sorted.  The line
   "#printOptions" switches off completely the printing of jobOptions
   during their processing, but afterwards print a sorted list of
   options, truncated to about 100 characters.
     Truncation can be suppressed by adding the keyword 'full'
     i.e. "#printOptions full" prints all options.
 - Make the "#pragma print on/off" nested, i.e. a counter is used,
   incremented by "print off" and decremented by "print on", and
   printing of options is done only when the counter is zero.
 - The included files (open/return) are printed only if the print
   level is zero.

================ GaudiSvc v13r1   ==========================================
! 2005-02-25 - Chris Jones
 - ToolSvc.cpp(.h): Added catch clauses in initialization and
   finalization of tools

! 2005-02-24 - Manuel Domenech
- Added AIDATupleSvc to work with tuples using the AIDA interfaces.
        Currently suports ROOT and XML persistency.
- Dll/GaudiSvc_load.dll: added AIDATupleSvc declaration,
        DECLARE_OBJECT( AIDATupleSvc );

================ GaudiSvc v13r0   ==========================================
! 2005-01-28 - Markus Frank
 - EventSelector.cpp: Fixed logic bug when releasing event loop
   context, which caused a resource leak since sub-event selectors
   were never released.
 - Lowered print level for DataOnDemandSvc from ALWAYS to INFO for information
   about automatic leaf creation.

! 2005-01-18 - Pere Mato
 - PropertyCompiler: Fixed problem with boost::filesystem::path when
   non existing file that was hanging on SLC3

! 2005-01-11 - Pere Mato
 - Added profile histograms (Charles Leggett)

! 2005-01-10 - Pere Mato
 - EventSelector: Changed the printout of record numbers and streams
   to start from 1 instead of 0. This is
                  to match numerically with the property "FirstEvent".
 - EventLoopMgr: Added inplemenation of IEventProcessor::stopRun() to
   schedule a stop of the event loop
 - Adapted to new CLHEP version taking into account namespace CLHEP

! 2004-12-07 - Markus Frank
 - EventSelector.cpp: Properly handle failures when "next()"
   fails. Until now this gave a core dump in the event the last input
   file was missing.

! 2004-09-16 - Markus Frank
 - NTupleSvc/CollectionCloneAlg.cpp Added algorithm to merge event
   collections

! 2004-09-13 - Markus Frank
 - Update to StoreExplorerAlg to force object access for
   ContainedObject(s). in ObjectContainerBase(s)

 - Updated description in DataOnDemandSvc header file

! 2004-09-03 - Markus Frank
 - Changes to options for the DataOnDemandSvc.Algorithms property:
   DataOnDemandSvc.Algorithms = {
     "DATA='/Event/Rec/Muon/Digits' TYPE='MuonDigitAlg/MyMuonDigits'"
   };
   If the algorithm name is omitted the class name will be the
   instance name.

================ GaudiSvc v12r6   ==========================================
! 2004-11-05 - Pere Mato
 - ApplicationMgr: Changed the of finalizing managed algorithms. Now
   they are done before the services
 - ApplicationMgr: Added code to remove duplicated DLLs in the list of
   DLLs (by Chris Jones)

================ GaudiSvc v12r5   ==========================================
! 2004-10-25 - Pere Mato
 - Removed AlgorithmFactory.h(.cpp) and replaced by
   AlgorithmManager.h(cpp)
 - AlgorithmManager keeps a list of "managed algorithms". These
   algorithms are added into the list when the flag managed=true on
   ::createAlgorithm() method.  They are initialized and finalized by
   the AlgorithManager.
 - ApplicationMgr.cpp: added a call to
   m_algManager->finalizeAlgorithms();
 - DataOnDemandSvc.cpp: added managed=true when creating an Algorithm

================ GaudiSvc v12r4   ==========================================
! 2004-10-19 - Patrick Koppenburg
 - Bug fix in CollectionCloneAlg.cpp: typo in float and double
   types. It prevented stripping.

! 2004-10-11 - Marco Cattaneo
 - Bug fix in DataOnDemandSvc.cpp: initialize algorithms when they are
   created by the service

================ GaudiSvc v12r3   ==========================================
! 2004-09-16 - Markus Frank
 - NTupleSvc/CollectionCloneAlg.cpp Added algorithm to merge event
   collections

! 2004-09-13 - Markus Frank
 - Update to StoreExplorerAlg to force object access for
   ContainedObject(s). in ObjectContainerBase(s)

 - Updated description in DataOnDemandSvc header file

! 2004-09-03 - Markus Frank
 - Changes to options for the DataOnDemandSvc.Algorithms property:
   DataOnDemandSvc.Algorithms = {
     "DATA='/Event/Rec/Muon/Digits' TYPE='MuonDigitAlg/MyMuonDigits'"
   };
   If the algorithm name is omitted the class name will be the
   instance name.

! 2004-08-03 - Vanya BELYAEV
 - src/ChronoStatSvc/ChronoEntity.h
   src/ChronoStatSvc/ChronoEntity.cpp
   src/ChronoStatSvc/StatEntity.h
   src/ChronoStatSvc/StatEntity.cpp
   Files are moved into GaudiKernel package
 - src/ChronoStatSvc/ChronoStatSvc.h(.cpp)
   Two new methods from IChronoStatSvc are
   implemented to allow public run-time inspection of
   Chrono & Stat counters
 - src/ParticlePropertySvc/ParticlePropertySvc.h(.cpp)
   Modification to fill a proper
   particle <--> antiparticle relations for
   ParticleProperty objects

================ GaudiSvc v12r2p1   ==========================================
! 2004-08-05 - Markus Frank
 - EventLoopMgr: Release event loop context on finalize
 - EventSelector: Finalize properly input streams to release
   sub-EventSelector instances

! 2004-08-02 - Pere Mato
 - MinimalEventLoopMgr.cpp: Moved resetExecuted() out of the loop of
   top Algorihms. We need first to reset the executed flag of all
   Algorithms before starting executing them.  (Reported by Patrick
   Koppenburg)

================ GaudiSvc v12r2   ==========================================
! 2004-07-24 - Pere Mato
 - EvtSelector: Fixed bug that the option EventSelector.FirstEvent was
   skiping twice the number of events. Reported by Marco Cattaneo.
 - EvtSelector: Improved printout of EvtSelector with the real record
   number (total and per stream)

 ! 2004-07-24 - Vanya Belyaev
 - ToolSvc: Added the option to switch between "private" and "public"
   tools based on the name given to the tool. If the tool name ends
   with ":PUBLIC", the tool will be public.  This allows to change the
   nature of the tool just by using JobOptions and without chnanging
   the code.

================ GaudiSvc v12r1   ==========================================
! 2004-07-20 - Pere Mato
 - Fixed bug concerning empty or non specified Event selector input.
   Reported by Marco when running Ex/DetDescExample.

! 2004-07-13 - Charles Leggett
 - Added HistorySvc/* and moved AlgContextSvc/* from Athena
 - use property callbacks in MessageSvc so works properly with Python.

================ GaudiSvc v12r0   ==========================================
! 2004-07-13 - Pere Mato
  - Added ':' (';' on windows) as path separator in addition to ','
    for JobOptionsDir
  - Changed to non-cheking mode DirSearchPath (replaced native by
    no_check)

! 2004-06-20 - Markus Frank
  - Add new Service: MultiStoreSvc Transient datastore with several
    concurrent partitions all initialized with the same opaque
    address, hence the same persisten data content. However when
    adding data different algorithms could act on.
  - Add algorithm PartitionSwitchAlg & Tool to switch e.g. above
    service in a squence.
  - New algorithm: SToreExplorerAlg
    Explore data stores to see content. May or may not load objects.
    Very useful debugging tool.
  - Modify DataOnDemandSvc to take standard type/name tuples for
    algorithm creation: DataOnDemandSvc.Algorithms = {
     "DATA='/Event/Rec/Muon/Digits' TYPE='MuonDigitAlg/MyMuonDigits'"
    };
  - Modify SvcManager to accept standard type/name tuples for Service
    creation:
      getService("svc/myinstance", IMyService, createIf)
  - Add a test directory, which creates a loadable gaudi component
    image.  The image can be used for generic testing within any gaudi
    program.  Tests currently only involve the counter service and the
    store explorer, but can easily be extended.  The corresponding job
    options file is in gaudiSvc/options/Test.opts.


! 2004-05-05 - Markus Frank
  - New Service: DataOnDemandSvc
    The DataOnDemandSvc listens to
    incidents typically triggered by the data service of the
    configurable name "IncidentName".  In the job options handlers can
    be declared, which allow to configure this service. Such handlers
    are either:

    - Node handlers, if objects other than the default object
      type have to be instantiated.
      DataOnDemandSvc.Nodes = {
        "DATA='/Event/Rec'      TYPE='DataObject'",
        "DATA='/Event/Rec/Muon' TYPE='DataObject'"
      };

    - Leaf handlers (Algorithms), which get instantiated
      and executed on demand.
      DataOnDemandSvc.Algorithms = {
        "DATA='/Event/Rec/Muon/Digits' TYPE='MuonDigitAlg' NAME='MyMuonDigits'"
      };

    The handlers only get called if the exact path matches. In the
    event already the partial path to any handler is missing a leaf
    handler may be triggered, which includes the partal pathes (
    DataOnDemandSvc.UsePreceedingPath = true )

  - Update event selector sub-package to use the new interface of
    Carmine Introduce all changes from Carmine
  - Modify several implementation files and replace
    StatusCode::isFailure with !StatusCode::isSuccess(), which is a
    more appropriate test for customized return codes.
  - Allow for logical names (environment variables) in file
    specifications of OutputStream, EventSelector and
    HistogramPersistencySvc

================ GaudiSvc v12r0   ==========================================
! 2004-06-02 - Pere Mato
  - PropertyCompiler.cpp: Fixed infinite loop reporting errors when
    "unit" file is not present

================ GaudiSvc v11r6p1 ==========================================
! 2004-04-19 - Pere Mato
 - ServiceManager: added debug output when finilizing services

================ GaudiSvc v11r6 ==========================================
! 2004-04-02 - Pere Mato
 - DetDataSvc: output in log file the database name used by the
   service [bugs #2854] Print the abosule path of the XML detector
   geometry/description file

! 2004-03-29 - Marco Cattaneo
 - OutputStream: add an option PreloadOptItems (default false) to
   preload also the objects defined in OptItemList. This is needed
   when making a copy of a dataset containg OptItems

! 2004-03-10 - Chris Jones
 - ToolSvc: Follow up from the previous change that didn't fully solve
   the problem.

     The problem is essentially that Marco warned of, which is released
   tools being used after deletion. I am not 100% sure how or where
   this happens, but my suspicion lies with the fact it is possible
   for the method release() to be called on a tool, which then deletes
   itself in a way which is not known by the toolsvc, by which I mean
   the internal list of tools which the toolsvc keeps can still
   contain a non-null pointer to the now deleted tool.

     My "solution" to this is a bit of a pigs-ear, but does allow me to
   run Boole and Brunel with all detectors on and with no warnings
   from the RICH code. In a nut-shell what I have done is manually
   increment the ref count of all tools such that they do not delete
   themselves, and then perform a final controlled(?) release and
   delete as a second step. This is ugly and hides the true problem I
   think, but seems to work with the current applications. Neither do
   I issue any guarantees against it breaking in the future.

================ GaudiSvc v11r5 ==========================================
! 2004-03-09 - Chris Jones
 - ToolSvc: Fixed a long standing problem on the finalize Tools when they
            have cyclic dependencies. Here is the full explanation from Chris:

  1. ToolSvc::finalize()
    This method was making a single loop over all known tools, and tries
  to  finalise each of them. If it failed (since the ref. count wasn't
  equal to 1) it simple removed this tool from the list and went to the
  next. The problem here was that at least for the RICH I have tools using
  other tools, and thus the order you try to finalise the tools is
  important. I've re-worked this so that instead of simply removing a tool
  from the list which cannot be finalised, it is placed at the front of
  the list so it will be tried again in due course.

  2.  ToolSvc::releaseTool( IAlgTool* tool )
    A second problem I found (after fixing the first one) was that for
  reasons I haven't been able to fully understand, this method was being
  called for tools that actually already been finalised and deleted, and
  thus was crashing. I "fixed" this by first making a test to check if the
  tool being released is in the list of active tools.

  I think that the fact this fix is needed indicates a deeper problem,
  which is tools are being finalised and deleted before all users have
  released them. One thing which does confuse me a little is the fact that
  the method ToolSvc::finalize() contains one call to itool->addRef() but
  two calls to itool->release() ? I don't really understand why this is
  done, but my guess is this is forcing the refcout down by 1and thus
  forcing some tools to finalise.

================ GaudiSvc v11r4 ==========================================
! 2004-03-04 - Gloria Corti
 - ParticlePropertySvc: Adaptation to new interface
   IParticlePropertySvc New format for the input file is parsed and
   the default is now read from $PARAMFILESROOT/data/ParticleTable.txt
   A new input file is also provided, that has a new name:
   ParticleTable.txt.  This new file should be put in $PARAMFILESROOT
   and is used now instead of particle.cdf.

================ GaudiSvc v11r3 ==========================================
! 2004-02-09 - Pere Mato
 - EventSelector.cpp: Fixed a crash that was preventing from using the
   event selector interactively with GaudiPython starting from the
   python prompt.

================ GaudiSvc v11r2 ==========================================
! 2004-01-01 - David Rousseau
 - ChronoStatSvc: improve printout
 - DetectorDataSvc: Removed the action done in reinitialize() to avoid
   to clear the
                    detector transient store.
! 2003-11-06 - David Rousseau
 - ChronoStatSvc: add possibility for MemStatAuditor to skip 1st nevents
 - StatEntity.h: idem!

================ GaudiSvc v11r1 ==========================================
!-2004-01-16 - Pere Mato
 - PropertyCompiler.cpp: Removed dependency to ecvt function that is
   not portable


!-2004-01-08 - Vanya Belyaev
 - JobOptionsSvc: Added the possibility to read additional option files.
   >>>IJobOptionsSvc interface has been modified<<<<

! 2003-12-12 - Markus Frank
  - Added additional POOL storage types as known types to the
    persistency service

================ GaudiSvc v11r0 ==========================================
! 2003-10-28 - Grigori Rybkine
  - Replaced HTL used by HistogramSvc with the ROOT based AIDA histograms
    implementation from the LCG PI project
    This includes:
    - change to the new AIDA version 3.0.0
    - the new histogram classes H1D, H2D, H3D, each describing the
      corresponding fixed and variable bin size histograms (classes
      H1DVar, H2DVar, H3DVar removed); most of the AIDA histogram
      interface functions are now implemented
    - modifications to HistogramSvc.h/.cpp and HistogramFactory.cpp;
      more of the AIDA IHistogramFactory interface functions are now
      implemented

    Required changes:
    - modifications to GaudiKernel/IHistogramSvc.h
      (due to the introduction of the AIDA namespace )
    - use of interface package PI (instead of HTL)

! 2003-11-26 - Pere Mato
 - Chnages for Mac OSX (Guy Barrand)

! 2003-11-20 - Pere Mato
 - Added incident type names in GaudiKernel/Incident.h

! 2003-10-24 - Paolo Calafiura
 - DirSearchPath: don't force alpha ordering of SEARCHPATH (bug #1663)

! 2003-09-05 - Paolo Calafiura
 - PropertyCompiler: fix handling of double includes (bug #1388)

! 2003-08-08 - Paolo Calafiura
 - PropertyCompiler: Don't fail when job opt file included twice

! 2003-08-05 - Paolo Calafiura
 - PropertyCompiler: Fail when job opt file missing (Bug #1255)

! 2003-08-05 - Vanya Belyaev
  ToolSvc.cpp. Minor modification in ToolSvc::retrieve methods nesessary to
  support new GaudiTool class

! 2003-07-03 - Markus Frank
  Major upgrade for use of POOL. Main change: extend technology specifier to
  int from unsigned char.

  HistogramAgent.h Fix to verify that histograms must exist in order
  to be written EventSelector.cpp Add missing service release()

  ConverterFactory.cpp/h
  NTupleSvc.cpp/h         Extend technology specifier to int
  PersistencySvc.cpp/h

  EventSelectorDataStream.cpp
  TagCollectionSvc.cpp   Support for PoolDb collections

================ GaudiSvc v10r3p1 ==========================================
! 2003-07-07 - Paolo Calafiura
 - PropertyCompiler: skip files already included (Bug #1071)

! 2003-06-25 - Paolo Calafiura, Pere Mato
 - ApplicationMgr.cpp: Changed the order of initialization of Runable
   back to old policy. (Bug #926)

================ GaudiSvc v10r3 ============================================
! 2003-06-06 - Paolo Calafiura
 - JobOptionsSvc: introduced search path for job opts (a la LD_LIBRARY_PATH)
 - src/tests: new directory for unit tests
 - PersistencySvc: gcc 3.2 bug fix (remove ends) in encodeAddrHdr

================ GaudiSvc v10r2 ============================================

! 2003-05-06 - Paolo Calafiura
 - PersistencySvc: use updated IAddressCreator interface

! 2003-04-29 - Sebastien Ponce
 - Undo previous change. See comment in EventSelector.cpp.

! 2003-04-15 - Paolo Calafiura
 - EventSelector.cpp: delete m_start in destructor

! 2003-04-12 - Markus Frank
 - Fix memory leak in the event selector. The opaque object address
   was not deleted when skipping initial event records (FirstEvent
   property set).

! 2003-04-04 - Pere Mato
 - Fixed Bug #348. Modified PropertyCompiler to to do a case
   insensitive compare when appending string options into an option
   array.

! 2003-04-01 - Sebastien PONCE
 - coding conventions application
 - add error handling missing in ApplicationMgr

! 2003-03-11 - Paolo Calafiura
 - src/ApplicationMgr: rename ThreadLibGaudi.h as ThreadGaudi.h

! 2003-03-07 - Pere Mato, Witek Pokorski
 - Changed CLHEP Random Number distribution from RandGauss to RandGaussQ.
   This avoids the problem that the former was always generating the numbers
   in pairs thus caching the next one even in the case of setting a new seed.

! 2003-02-27 - Charles Leggett
 - MessageSvc: support colored messages on xterms

! 2003-02-25 - Werner Wiedenmann, Paolo Calafiura
 - Added NoOfThreads and MultiThreadExtSvc properties to ApplicationMgr to
   support event-level multi-threading. Throw when property handlers fail.
 - MinimalEventLoopMgr throws when top algs and output streams can not
   be loaded
 - MinimalEventLoopMgr.{h,cpp} : create automatically an
      algorithm copy for each thread when necessary

! 2003-01-29 - Florence Ranjard
 - requirements - add -no_auto_import to AIDA

! 2003-01-29 - Paolo Calafiura
 - Added MessageSvcType property to ApplicationMgr to select alternative
   MessageSvc implementations

! 2003-01-21 - Markus Frank
  - PersistencySvc.cpp/h
    OutputStream.cpp/h
    Implement/use connectOutput call of conversion service interface.
    Second argument allows to specify the opening mode
    (NEW, RECREATE, UPDATE)

! 2003-01-22 - Markus Frank
 - EventSlector.cpp/h   : Implement proper ability to reinitialize for
                          changing the input specification
 - HepRndmEngine.cpp/h  : Implement new option RandSvc.Engine.SetSingleton
                          If set to true, set the default engine in
                          HepRandom.
                          (Does not work for the time being, because CLHEP
                           is not a shared image)

! 2003-01-10 - Pere Mato
 - Corrected bug found by Marco in finalizing ToolSvc when Tools
   are not properly released by end-users.

! 2003-01-06 - Sebastien Ponce
 - better support for gcc 3.2

================ GaudiSvc v10r1p2 ============================================
! 2002-12-11 - Markus Frank
 - Corrected reference counting of ConversionSvc in OutputStream.cpp
   This was producing a crash at the end of Brunel. Reported by Marco.

================ GaudiSvc v10r1p1 ============================================
! 2002-11-29 - Pere Mato
 - Corrections to support linking applications statically

! 2002-11-21 - Sebastien Ponce
 - memory leak fixes in DetDataSvc and PersistencySvc

! 2002-11-19 - Sebastien Ponce
 - memory leak fix in EventLoopMgr

! 2002-11-06 - Sebastien Ponce
 - fixes in order to remove deprecated warnings on gcc 3.2
 - coding conventions applications

================ GaudiSvc v10r1 ============================================
! 2002-11-08 - M.Frank
 - Add seperate service for histogram persistency. Allows to read
   histogram input from several sources.
   Required changes:
     No necessity to check everywhere for
     "ApplicationMgr.HistogramPersistency".  It is only done in
     HistogramPersistencySvc, which is ALWAYS created, but depending
     on the real value of "ApplicationMgr.HistogramPersistency"
     invokes the proper histogram conversion service for HBOOK, ROOT
     etc.

     End user implications: Normally None
     However, if explicit properties for HBOOK/ROOT should be set
     like the PAWC size, the service to talk to is
     - HbookHistSvc for HBOOK
     - RootHistSvc  for ROOT

     Required changes:
     - ApplicationMgr
     - EventLoopMgr
     - HistogramSvc
       New property "Input": vector<string> histogram input
       (format as for N-tuple Svc)
     - PersistencySvc
       Minor updates.

   New files:
     - src/ApplicationMgr/HistogramAgent.h
     - src/PersistencySvc/HistogramPersistencySvc.cpp
     - src/PersistencySvc/HistogramPersistencySvc.h

================ GaudiSvc v10r0p1 ============================================
 - Change all factories to export only IFactory reference:
   Makes GaudiSvc_load much simpler.
   Specialized IXXXFactory reference is not necessary

! 2002-11-04 - Pere Mato
 - Changed INFO to DEBUG the messages generated by OutputStream when adding
   items into the output list
 - Changes in printing in JobOptions:
   - printing always what include files are included
   - do not print when switch on/off printing
   - printing on/off is inherited by included files but not inherited back
     when returning to parent file.

! 2002-10-29 - Pere Mato
 - Minor warnings on gcc 3.2

================ GaudiSvc v10r0 ============================================
! 2002-10-04 - Pere Mato
 - Added accessors to the JobOptions Catalogue to allow to edit from any
   client: getClients(), getProperties(...), addProperyToCatalogue(...),
   removePropertyFromcatalogue(...)
   New version of IJobOptionsSvc.

! 2002-09-27 - Sebastien Ponce
 - fixes in order to compile on gcc 3.2
 - lots of coding conventions applications

! 2002-09-27 - Sebastien Ponce
 - fixes in order to compile on gcc 3.2
 - lots of coding conventions applications

! 2002-09-27 - Pere Mato
 - Added the following properties to MessageSvc to allow the control
   of output level for objects that can not be controlled by job
   options (e.g. DetectorElement, etc.)  MessageSvc.setVerbose +=
   {"name1", "name2"}; (or setDebug, setInfo, setWarning, setError,
   setFatal, setAlways )

! 2002-09-25 - Sebastien Ponce
 - implementation of reinitialize method for DetDataSvc
 - implementation of histogram serialization and deserialization

! 20020924 - Pere Mato
 - Changes to clean the reference counting and memory deallocation
   detected by the "valgrind" tool.
   Modified files: ApplicationMgr.cpp(h),
   AlgorithmFactory.cpp, AppMgrRunable.cpp(h),  ConverterFactory.cpp,
   DLLClassManager.cpp(h), EventLoopMgr.cpp(h), MinimalEventLoopMgr.cpp,
   ObjectManager.cpp(h), ServiceManager.cpp, AuditorSvc.cpp, EvtDataSvc.cpp(h),
   EventSelector.cpp, HistogramSvc.cpp, PropertyCompiler.cpp, MessageSvc.cpp,
   RndmEngine.cpp, RndmGen.cpp, RndmGenSvc.cpp

!============================== v9r0p1=====================================
! 20020910 - Florence Ranjard
  - requirements - use v*

!============================== v9r0p0======================================
! 20020903 Pere Mato
  - Fixed uninitialized m_refCount in RndmGen class

! 20020805 Markus Frank
  - Fix bug in CLHEP random number engine:
    Terminate seed array with 0 if not yet done.

! 20020717 Markus Frank
  - Bug fix: EventSelector.h/.cpp added finalize stream. This fixes
    the problem detected when running a job over several ROOT files that
    were not closed properly and their memory buffers deallocated.

! 20020705 Pere Mato
  - Modified/Fixed JobOptions service (PropertyCompiler) to support
    properties with units.  The file containing the unit equivalences
    is specified as:
    #units "units file"
    The format of the file is:
    <value> <unit_name> = <equivalent_value>
    For example:
      1 m  = 1000
      1 cm = 10
    The syntax in the JobOptions files is:
    <numerical_value>[*]<unit_name>
    For example:
    PropertyAlg.ArrayWithUnits  = { 1.1 m2 , 2.cm, 3.3*cm, 0.4e-03 * m };

! 20020703 Paolo Calafiura
  - Annotation.cpp dont set map iterator to 0

! 20020516 Paolo Calafiura
  - ApplicationMgr.* bring back in line with v8r0, remove extra addRefs

! 20020515 Paolo Calafiura
  - Massimo refactoring of ApplicationMgr. Affected classes
    AlgorithmFactory, ApplicationMgr, ConverterFactory,
    DLLClassManager, ObjectManager, ServiceManager (+ GaudiKernel/PropertyMgr)

================v8r2==================================
! 20020701 Pere Mato
  - Removed printout when loading dll modules
  - Print summary of loaded modules successfully and failed
  - Implemented "GaussianTail distribution" requested by Chris Parkes
    Rndm::GaussianTail( cut, sigma)

! 2002-06-26 - Marco Cattaneo
 - OutputStream issues a warning if it cannot find an object on
   OutputStream.ItemList

! 20020611 Pere Mato
  - Changed MSG::INFO to MSG::ALWAYS for printing event number
    (EventSelector). Request CT0000000067821

================v8r1==================================
! 20020618 Markus Frank
  - Add option to output stream: OutputStream.OptItemList
    Elements in this option are not required to be present
    in the transient datastore to be written. However, if
    present, they get wrttwen to the stream as well.

================v8r0==================================
! 20020407 Pere Mato
  - Decrease dependency with HTL by addding -no_auto_imports

! 20020327 Pere Mato
  - Changes needed for Solaris (by Wim Lavrijsen). Details:
    +++ GaudiSvc/src/EventSelector/EventSelector.cpp
        prepended "const"
    +++ GaudiSvc/src/MessageSvc/MessageSvc.h
        removed virtual inheritence in class MessageSvc
    +++ GaudiSvc/src/ChronoStatSvc/ChronoStatSvc.h
        removed virtual inheritence in class ChronoStatSvc
    +++ GaudiSvc/src/JobOptionsSvc/JobOptionsSvc.h
        removed virtual inheritence in class JobOptionsSvc

! 20010315  Markus Frank
  PersistencySvc.h/cpp add call "commitOutput" as required by interface
                       IConversionSvc
  OutputStream.cpp     Call commitOutput after object conversion.

! 20020318 - Pere Mato
  - Moved ListItem.h to GaudiKernel package since it is quite usefull
    helper class.

! 20020313 - Pere Mato (David Quarrie)
  - New property "OutStreamType" for the ApplicationMgr to select the
	  default type for Output Streams. The default value is "OutputStream"
		be compatible.

! 20020226 - Pere Mato
  - Adapted to use AIDA 2.2
  - Introduced 3D Histograms (fix and variable binning)

! 20020225 - Markus Frank
  - Problem reported by Kambiz Mahboubi fixed concerning the
    user defined random number generator (i.e. DefinedPdf)
  - RndmGenSvc/HepRndmGerators.cpp

================v7r3==================================

! 20020205 - Gloria Corti (v7r3)
 - Modification necessary to correctly name a private tool belonging
   to an other tool.

================v7r2==================================
! 20020205 - Pere Mato (v7r2)
 - Fixed bug reported by O. Callot that failing to load a DLL
   should fail the configuration phase of ApplicationMgr.

! 20020123 - Marco Cattaneo & Pere Mato (v7r1)
 - Changed search list for the job options path.
   It would take:
     - argv[1] if it exists else
     - JOBOPTPATH if it is set else
     - default to ../options/job.opts

! 20020123 - Sebastien Ponce
 - Removed the use of variable DDDB in DetDataSvc

================v7r0=================================
! 20011207 - Sebastien Ponce
 - Adapted PersistencyService to the new IConversionSvc interface

! 20011203 - Pere Mato - Andrea Valassi
 - Minor correction in DetDataSvc
 - Changed ApplicationMgr to take precedence of the joboptions file
   the command argument and then the JOBOPTPATH environment variable.

! 20011130 - Gloria Corti - Pere mato
 - ParticlePropertySvc. Fixing mapping of geant3 id to PDG number for non
   standard PDG particles.

! 20011130 - Andrea Valassi - Pere mato
 - DetDataSvc.h .cpp added functionality for the conditions data

! 20011121 - Pere Mato
 - Removed default services being creted by ApplicationMgr

! 20011120 - Markus Frank
  - Allow to switch on and of printing of job options
    while reading the job options text file.
    Usage:
    #pragma print on
    #pragma print off
    off will switch printing off; on will switch it on.

! 20011115 - Pere Mato
  - Changed ToolSvc to make use of the new methods initialize() and
    finalize() in the IAlgTool interface modified in GaudiKernel.
  - Implement new method of IToolSvc::releaseTool()

! 20011112 - Markus Frank
  - Many Changes for the DataStore classes re-design. See details in
    separate note

! 20011108 - Pere Mato
 - Removed functionality from ApplicationMgr and moved to ServiceManager
   in what concerns dealing with Services.
 - Interface ISvcManager improved and extended
 - Removed the inheritance of ApplicationMgr to (ISvcManager, IAlgManager,
   ICnvManager, IObjManager). Functionality recovered by queryInterface()
 - Removed default services being creted by ApplicationMgr

! 20011105 - Sebastien Ponce
 - Implementation of ClearStore for DetectorDataSvc

! 20010706 - David Quarrie
 - Extend ChronoStatSvc to support a mechanism for retrieving the
   delta-time between previous start/stop pairs.

! 20010705 - Pere Mato
 - JobOptions: scientific notation in floats/doubles is now working correctly

! 20010702 - Pere Mato
 - Fixed problem "Gaudi jobs do not fail if the job options service fails
   to set an option" CT0000000060711 by M. Cattaneo
 - Fixed bug on Histograms projections introduced when going to AIDA

! 20010702 - David Quarrie
 - Minor bug fixes to logic for the interactivity support (scripting).
 - Minor tweaks to avoid warning messages with gcc 2.95.2.

! 20010629 - Pere Mato
 - Number of changes needed for the interactivity support (scripting)
  The ApplicationMgr and EventLoopMgr make use of the newly added method
  reinitialize()  to take into account changes in the configuration done
  by the user interaction like adding new services or algorithms. These
  new components are initialized in the reinitialize() method.
 - Deleted GaudiEventLoopMgr class and moved its functionality to EventLoopMgr.
 - Implemented IEventProcessor::executeRun() in ApplicationMgr and EventLoopMgr
   to call beginRun() and endRun() to all Algorithms.
 - Callbacks (handlers) in AppicationMgr to support scripting have
   been simplified.
 - HistogramSvc implements reinitialize()

! 20010627 - Vanya Belyaev
  ChronoStatSvc : modification for improved printout

! 20010627 - Markus Frank
  Dll/GaudiSvc_Load.cpp : Add new factory for event tag collections
  NTuples/*             : update to separate event tag collections from
                          NTuples. NTuple persistency is now completely
                          steered by the option
                          ApplicationMgr.HistogramPersistency
                          See mail of D.Rousseau in GAUDI_DEVELOPERS
  PersistencySvc/EvtCollectionStream.cpp
                          Update for separation of NTuples and
                          event tag collections
! 20010626 - Pere Mato
  Modified HistogramSvc to use the AIDA interfaces (1.0). This
  required quite a lot of changes due to the fact that setTitle()
  method was not definied. Instead the IAnnotation has been used.

! 20010503 - Markus Frank
  Allow Histograms and N-tuples to be booked without the top level directory
  ie. without always specifying "/stat/....". The specification of an histogram
  such as "/stat/simple/1" is now equivalent to "simple/1". The use of
  histograms and N-tuples is backwards compatible.

! 20010430 - Markus Frank
  NTupleSvc/NTupleSvc.cpp                    Simplification using changes in
                                             GaudiKernel v10
  EventSelector/EventSelectorDataStream.cpp  Recognize SICB file type also for
                                             specs like:
                                             "DATAFILE='xxx.dat' TYP='SICB'"
                                             is now equivalent to
                                             "FILE='xxx.dat'"

! 20010430 - Pere Mato  (Version v5r1)
  - Fixed bug concerning histograms being saved to disk before
    Algoritms are finalized, reported by Stefan Piperov
    (HARP). Changed GaudiEventLoopMgr.cpp

! 20010322 - Markus Frank & Pere Mato
  - ApplicationMgr.cpp. Set default EvTMAX to -1 (infinite)
  - EventLoopMgr.cpp Check that if EvtSel is still NONE do not create
    a EventSelector
  - EventSelector.cpp Removed EvtMax property.

! 20010320 - Markus Frank & Sebastien Ponce
  - Handling correctly the property EvtMax from the ApplicationMgr
  - EventCollectionSelector.cpp Improved error printing when
        connection to N-tuple (=EventCollection) fails.

! 20010320 - David Quarrie
  ApplicationMgr/EventLoopMgr
    Check within nextEvent to see whether the Event Selector has
    changed to allow late specification of it (and eventual changes at
    run-time).
  PersistencySvc/PersistencySvc
    Add an update callback to the Service Names to allow them to
    specified and added at run time.

! 20010319 - Pere Mato
  Corrected the follwing bugs:
  - JobOptionsSvc was not able to handle booleans and array of
    booleans any more.
  - The initialization of the Detector description has been moved to
    the DetectorDataSvc because otherwise was done too later. The
    Algorithms tryed to intialize before it was done.

! 20010316 - David Quarrie (on behalf of Charles Leggett)
 - HistogramSvc: Remove redundant trailing "/" character in histogram paths.

! 20010316 - Markus Frank & Pere Mato
 - Some restructuring done on the ApplicationMgr.  New classes:
   EventLoopMgr, MinimalEventLoopMgr, GaudiEventLoopMgr with
   increasing specialization. The ApplicationMgr delegates the Event
   Loop functionality to these ones.  AppMgrRunable it is the default
   runable (implements IRunable) that is activated after the
   initialization is complete. It calls the nextEvent() of the
   ApplicationMgr.
 - Changed in HistogramSvc and NTupleSvc the strtream for convering
   numbers to strings for the itoa() function.

! 20010314 - Pere Mato
- Adapted to the new method IProperty::getProperty(const string&, string&)
- Adapted to the new method IAppMgrUI::state()

! 20010314 - David Quarrie
- ApplicationMgr
  Add a temporary "Exit" command for force program termination from within
  a script. This will be replaced at some point once we have proper control
  mechanisms in place.

! 20010313 - David Quarrie
- ApplicationMgr
  Add an update callback handler to the OutStream Property. Allow the
  HistogramPersistencySvc to be specified as "NONE" to avoid having
  to specify one of "HBOOK" or "ROOT" when none is required.
- JobOptionsSvc
  Add source type "NONE" to bypass usage of the PropertyCompiler
  and thence result in the catalog being empty.

! 20010312 - Markus Frank
  Changes to the job options processing
   - Make the job options service re-entrant.
     Removed all static storage, which prevented reading the options twice.
   - Add value-of operator '@' to assign a job option the value of another
     option
     Usage:
        MyAlg.OutputLevel = @MessageSvc.OutputLevel;
        ApplicationMgr.TopAlgs += { @ApplicationMgr.ExtSvc };
     Note:
        The value-of of a vector addresses the elements, not the vector itself.
   - Allow reset of vector lists to empty lists.
     Usage:
        ApplicationMgr.TopAlgs += {};

! 20010229 - Pere Mato (from Sebastien Ponce)
 - Corrected bug in EventSelector.cpp which core dumped when accessing a non
   existing file.

! 20010226 - Pere Mato
 - Small chnages to make it compile in NT

! 20010223 - David Quarrie
 - ApplicationMgr
   Added update callback handlers to "TopAlg", "ExtSvc"
   and "Dlls" properties.  This allows them to be updated at run-time
   by the scripting interface, and to act immediately upon such
   updates. Also added a "Go" Property which allows minimal control
   handling. This will probably be replaced in the future. Interchange
   the sequence of initialization of Algorithms and Output Streams to
   allow the latter to reference the former. Deal with the expanded
   IProperty interface.
 - EventSelectorDataStream
   Deal with support for renaming the root object of the transient event
   store. Use StringProperty declaration from Property.h instead of its own.
 - HistogramSvc
   Deal with compiler warnings on Linux & Solaris related to ARM Page 210.
 - OutputStream
   Add "AcceptAlgs","RequireAlgs", "VetoAlgs" properties. This allows filtering
   depending on the filter passed flags from the specified Algorithms. The
   event will be written to the output stream if _any_ of the Algorithms in
   the "AcceptAlgs" list was executed for this event and has its filter
   passed set. The event will only be written if _all_ of the Algorithms in
   the "RequireAlgs" list were executed and had their filter passed set. The
   event will not be written if _any_ of the Algorithms in the "VetoAlgs"
   list was executed and has its filter passed set. Combinations are logically
   and'ed. The default remains to output every event. These properties have
   update callback handlers associated with them so they can be modified at
   run-time by the scripting interface and have an immediate effect.
 - HepRndmEngin & HepRndmEngines
   Correct a bug in the declaration of
   rndm( ) function which does not correctly override the parent
   version.

! 20010206 - Pere Mato
 - Modified StatEntity.h by Vanya

! 20010120 - Pere Mato
 - Changes needed to accomodate to the new GaudiKernel that avoids the
   static library. This means that the IIDs are now a static constant
   in the .h file instead of accessing them by and external
   declaration.
 - FactoryTable is cleaned each time a dynamic library gets loaded

! 20001213 - Pere Mato
 Changes needed due to changes in GaudiKernel.

! 20001128 - GaudiSvc v4 (P. Mato)
 Some bugs fixed fro NT. Adapted to new version of CMT and NMake

! 20001030 - GaudiSvc v4

! 20001030 - M.Cattaneo
 - GaudiSvc_load.cpp  Add Auditor service to factories

! 20001027 - G.Corti
 - ToolSvc/ToolSvc.cpp add try/catch when creating tool

! 20001027 - Markus Frank
 - ApplicationMgr.cpp Call sysExecute instead of execute for output streams
 - GaudiSvc_load.cpp  Add incident service to factories
 - EventSelector: Add print frequency, max events and first event to
   process to options
 - Output streams Use same option format as for NTupleSvc and
   EventSelector.

! 20001026 - Marco Cattaneo
 - requirements: use clhep v1r6, htl v13

! 20001018 - Pere Mato
 - Implemented a new service called IncidentSvc. This allows to
   communicate asynchronously things that happen in the system. The
   ApplicationMgr uses it to inform when begining and ending the
   processing of one physics event.
   + New subpackage added: IncidentSvc
   + Modified ApplicationMgr to make use of the new service

! 20001017 - Markus Frank
  - NTupleSvc
    Properly merge my previous changes and the changes of C.Leggett

! 20001013 - Markus Frank
  - ApplicationMgr/ApplicationMgr.cpp: Allow to specify the type of
    output streams
  - Dll/GaudiSvc_load.cpp:             Added new Factories
  - EventSelector                      New sub-package
  - NTupleSvc/NTupleSvc.cpp            Service creates conversion service for
				       different NTuple sources
				       (HBOOK, ROOT...). I hope this
				       is compatibel with Charles Leggett's
                                       changes.
  - PersistencySvc/OutputStream.cpp    Make data service a variable
  - PersistencySvc/PersistencySvc.cpp  Allow to retrieve conversion service
                                       identified by technology type
! 20001012 - Vanya Belyaev
 - ChronoStatSvc/StatEntity.h - fix Remedy problem ID= CT0000000036451
    ( remove misprint in output functions for statistics)

! 20001011 - Pere Mato
 - JobOption files: the operation += will not generate an error is the
   property does not exists, it creates an new one.

! 20001009 - David Quarrie, Pere Mato
 - Added new Auditor service. This is service is managing a number of
   configurable auditors that can be installed. The default behaviour
   is the same as obtained with the ChonoSvc. File Modified:
   ApplicationMgr.h (.cpp) New Files: AuditorSvc.h (.cpp)

! 20001006 - Pere Mato
 - Histogram persistency service is not required

! 20000815 - Pere Mato
 - ApplicationMgr creates a "DataObject" object as the event data store
   root ("/Event") if EvtSel = "NONE" is specified.

! 20000720 - GaudiSvc v3

! 20000710 - Gloria Corti
 - Implementation of new service ToolSvc
     in new directory ToolSvc: ToolSvc.h and ToolSvc.cpp
   the service creates new concrete tools on retrieval and manages the tools
 - modify requirements file to include ToolSvc

! 20000709 - Markus Frank
 - Comment some argument variables to suppress warnings on Linux

! 20000707 - Pavel Binko
 - requirements: use HTL v11r12
 - Implementation of enhanced interfaces IAxis, IHistogram and IHistogramSvc
   The newly implemented function are :
                 - returning all edges in a given axis
                 - setting the histogram title
                 - allowing to register, unregister, retrieve and find
                   a histogram in the transient histogram data store

! 20000704 - Pere Mato
ApplicationMgr.cpp:
- Allow applications without input data (EventSelector) by
  specifiying 'ApplicationMgr.EvtSel = "NONE";' in job options
- Fail initialization if any algorithm fails
- Clear data stores at finalize
- Add RndmSvc as a known service to the ApplicationMgr

! 20000626 - Marco Cattaneo
- requirements: use HTL v11r11

! 20000623 - Vanya Belyaev

- ChronoStatSvc - improved printout (add possibility to output also elapsed
                  time of the job).
                  by default only used time statistics is printed
                  optionally system time and elapsed time could be printed
- requirements: remove GaudiSvc_stamps for non-static linkage (do not force
                to relink the executable in the case of dynamic loading when
                shared library is changed)


! 20000621 - Marco Cattaneo
- requirements: insert underscore in name of GaudiSvc_shlibflags macro,
                to please CMT v1r5

!20000616 Pere Mato
- Added default seeds in RndmGenSvc such that it can be initialized without the
  being declared in the jobOptions file.

!20000615 Pere Mato
- Changed ApplicationMgr to stop the event loop when execution errors and
  call resetExecuted() for all top level algorithms.

!20000530 Markus Frank
- NTupleSvc:
    Fix in order to not close files twice.

!20000526 - Stefan Probst, Markus Frank
- JobOptionsSvc/UnitsExtension.cpp, .h :
    New classes for handling units within the property compiler
- JobOptionsSvc/PropertyCompiler.cpp :
    Add feature to read units via job options file
    Fix bug for proper number conversions
    Resolve environment variables for all string properties

!20000505 - Marco Cattaneo
- Removed GaudiErrorHandler.h .cpp, GaudiNagHandler.h from MessageSvc
  (moved to NAGC v5r1 package)

!20000410 - GaudiSvc v2 (v1 does not exist due to wrong use of this tag
                         when package was created)

Vanya Belyaev :
- ApplicationMgr.cpp has changed to look for XMLDDDBROOT
  variable for location of XmlDDDB
  If the data base location is not given explicitely throught
  ApplicationMgr properties, it is set to $XMLDDDBROOT/DDDB/dddb.xml

Gonzalo Gracia Abril :
- ApplicationMgr.cpp changed to according to the new
  Event Selector Interface

Pavel Binko :
- Application manager moved from Gaudi to GaudiSvc
- ChronoStatSvc added
- Data service moved from Gaudi to GaudiSvc
- Detector data service moved from Gaudi to GaudiSvc
- HistogramSvc moved from Gaudi to GaudiSvc, histograms updated,
  in order to implement the new AIDA histogram interfaces
- Job options service moved from Gaudi to GaudiSvc
- Meessage service moved from Gaudi to GaudiSvc
- NTupleSvc moved from Gaudi to GaudiSvc
- Particle property service moved from Gaudi to GaudiSvc
- Persistency service moved from Gaudi to GaudiSvc
- Random denerator service moved from Gaudi to GaudiSvc
- Dll directory created to support shared library


 New package.
!==============================================================