    Package: GaudiRelease

    Package Coordinator: Marco Clemencic, Charles Leggett

    Purpose: Gaudi common set of packages

## Gaudi v23r10 (2013-09-24)

### Externals version: LCGCMT_66

### General Changes

- Modified gaudirun.py to accept a .qmt file (QMTest test description) as argument (see release notes of package Gaudi).
  (Marco Clemencic)
- Added two helper algorithms to allow deferred conditional write (see task #47619 and GaudiMP release notes for details).
  (Marco Clemencic)
- Enforcing the localization to the standard "C" in gaudirun.py and GaudiPython via the environment variable LC_ALL.
  (Marco Clemencic)
- Minor fixes.
  (Marco Clemencic)

## Gaudi v23r9 (2013-07-17)

### Externals version: LCGCMT_65a

### General Changes

- Improvements to the CMake configuration
  (Hubert Degaudenzi)
- Fixed cppcheck warning.
  (Hubert Degaudenzi)
- Minor fixes to the configuration for Clang and gcc 4.8.
  (Marco Clemencic)

### Packages Changes

- GaudiPolicy (v12r7):
  - Use -Og when compiling in debug mode with gcc 4.8.
    (Marco Clemencic)
- GaudiKernel (v28r8):
  - Fixed CFHEP-78: configurables created after applyConfigurableUser()
    (Marco Clemencic)
  - Added test for System::currentTime.
    (Marco Clemencic)
  - Updated the exclusion list in make_patch.py.
    (Marco Clemencic)
- GaudiCoreSvc (v1r5):
  - Fixed parsing of '.opts' files with C++11 enabled.
    (Sasha Mazurov)
- GaudiUtils (v4r6):
  - Fixed bug #101513: Raw->Raw processing should not print an error
    (Marco Clemencic)
- RootCnv (v1r20p1):
  - Minor fixes
    (Marco Clemencic, Markus Frank)
- GaudiAlg (v14r6):
  - Patch #5653: Add HistoCountersPrint property to GaudiHistos
    (Marco Cattaneo)
- GaudiCommonSvc (v1r6):
  - Patch #5649 :Improvements to exception handling debug information in OutputStream
    (Chris Jones)
- Gaudi (v23r9):
  - Fixed a problem with a spurious error message when the import from Configurables fails.
    (Marco Clemencic)

## Gaudi v23r8 (2013-05-29)

### Externals version: LCGCMT_65

### General Changes

- Fixed Clang 3.2 warnings.
  (Marco Clemencic)

### Packages Changes

- GaudiPolicy (v12r6):
  - Improvements to the QMTest wrapper class.
    (Marco Clemencic)
  - Enabled C++11 by default when using gcc 4.7.
    (Marco Clemencic)
- GaudiKernel (v28r7):
  - Added virtual destructors for IConverter and IConversionSvc to fix issue CFHEP-87.
    (Marco Clemencic)
- GaudiUtils (v4r5):
  - Modified StalledEventMonitor to be able to print a stack trace of the stalled process and abort the execution.
    (Marco Clemencic)
- GaudiAlg (v14r5):
  - Patch #5641: Suppress GaudiAlg HbookName.h clang warnings
    (Chris Jones)
  - Patch #5631: Fix bug in sequencer timer in GaudiAlg
    (Chris Jones)

## Gaudi v23r7 (2013-03-12)

### Externals version: LCGCMT_64d

### General Changes

- Minor fixes.
  (Marco Clemencic, Hubert Degaudenzi)

### Packages Changes

- Gaudi (v23r7):
  - Patch #5605: Run performance profilers with gaudirun.py command line options
    (Danilo Piparo)

## Gaudi v23r6 (2013-01-28)

### Externals version: LCGCMT_64c

### General Changes

- Improvements and fixes to the CMake configuration and modules.
  (Marco Clemencic)

### Packages Changes

- GaudiPolicy (v12r4):
  - Modified Python zipping to fail if coding is not correct.
    (Marco Clemencic)
  - Minor fixes.
    (Marco Clemencic)
- GaudiKernel (v28r5):
  - Minor change in ConversionSvc constructor to avoid a pointless call to queryInterface.
    (Marco Clemencic)
- GaudiUtils (v4r4):
  - Patch #5594: fix for parsing of 1D histograms with non-equidistant binnings.
    (Vanya Belyaev)
- GaudiPython (v12r5):
  - Added dictionaries for HistoStrings (GaudiUtils).
    (Marco Clemencic)
- GaudiMP (v1r7):
  - Patch #5593: Implemented late forking for GaudiMP.
    (Nathalie Rauschmayr)

## Gaudi v23r5 (2012-11-26)

### Externals version: LCGCMT_64b

### General Changes

- Updates and fixes to the CMake configuration. The system is essentially ready, with just a few minor tweaks to be implemented and the documentation to be prepared.
  (Marco Clemencic)
- Added new return code to flag a corrupted input file.
  (Marco Clemencic)
- Fixes to return code handling.
  (Marco Clemencic)
- Fixes some warnings.
  (Marco Clemencic)

### Packages Changes

- GaudiPolicy (v12r3):
  - Modified qmtest_summarize.py to work under CMake too.
    (Marco Clemencic)
  - Set the -pedantic flag for the tag GAUDI_PEDANTIC (and target-gcc).
    (Marco Clemencic)
  - set max-page-size for all 64 bit gcc targets.
    (Charles Leggett)
- GaudiKernel (v28r4):
  - Define the incident and return code for corrupted input files.
    (Marco Clemencic)
  - Added tests/src/parsers.cpp to the QMTest test suite.
    (Marco Clemencic)
- GaudiCoreSvc (v1r3):
  - Initialize the application return code to 'Success' in ApplicationMgr::configure() instead of EventLoopMgr::nextEvent(int), to avoid that error conditions (like failure to open a file) happening during initialization are discarded.
    (Marco Clemencic)
- GaudiPython (v12r4):
  - Stop execution (in AppMgr.run()) if the return code of the application is not 0 (success) after configure or initialize.
    (Marco Clemencic)
- Gaudi (v23r5):
  - Ensure that we get the correct return code after a segfault in C++.
    (Marco Clemencic)
- RootCnv (v1r19):
  - Updated to version v1r19 from LHCb.
    (Marco Clemencic)

## Gaudi v23r4 (2012-09-13)

### Externals version: LCGCMT_64a

### General Changes

- Fixed compilation with Boost 1.49 and 1.50 (for future versions of LCGCMT).
  (Marco Clemencic)
- Improvements and fixes to the CMake configuration (including the possibility of running the tests from the build directory).
  (Marco Clemencic)
- Rationalized the permissions of files in the repository.
  (Marco Clemencic)

### Packages Changes

- GaudiPolicy (v12r2):
  - Added the possibility to compile with the option -std=c+=0x, for example in the LCG nightly platform *-g11max-*.
    (Marco Clemencic)
- GaudiKernel (v28r3):
  - Added missing copy constructor and assignment operator to 'implementsN<>' base class.
    (Benedikt Hegner)
  - Fixed bug #96673: spurious warnings in GenConfUser.
    (Marco Clemencic)
  - Improvements to genconfuser.py.
    (Marco Clemencic)
  - Fixed bug #95733: GaudiKernel::ToStream truncates numbers &lt; 1e-8
    Use ios::showpoint instead of ios::fixed.
    (Marco Clemencic)
- GaudiAlg (v14r3):
  - Patch #5518: save TimingHistograms in job histograms
    (Ben Couturier)
  - Patch #5464: Implement the 'getIfExists' for GaudiTool as well as GaudiAlgorithm
    (Chris Jones)
- GaudiProfiling (v1r6):
  - Fixed compilation with -std=c++0x.
    (Benedikt Hegner)
- GaudiPython (v12r3):
  - Patch #5471: fixes to be able to run LHCb applications via GaudiParallel.
    (Nathalie Rauschmayr)
- GaudiMP (v1r5):
  - Patch #5471: fixes to be able to run LHCb applications via GaudiParallel.
    (Nathalie Rauschmayr)
- Gaudi (v23r4):
  - Modified gudirun.py to use a portable check of the number of CPUs.
    (Marco Clemencic)
- GaudiRelease (v23r4):
  - Removed the special hack used to produce the LHCb deployment kit (obsolete).
    (Marco Clemencic)

## Gaudi v23r3 (2012-06-19)

### Externals version: LCGCMT_64

### General Changes

- Fixed compilation warnings and errors on various platforms (Clang 3.0, gcc 4.7, gcc with c++11 enabled)
  (Marco Clemencic)
- Added configuration files to build Gaudi with CMake (all the versions numbers of the packages had to be increased).
  They are in an alpha state, so not ready for production and the API is not stable, but the builds are equivalent to the CMT ones.
  To test, run the script `configure` in the top level directory and follow the instructions.
  (Marco Clemencic)

### Packages Changes

- GaudiPolicy (v12r1):
  - Use the compiler native dependencies from CMT when using CMT v1r25.
    (Marco Clemencic)
  - Added fragment to install generic resources (install_resources).
    (Marco Clemencic)
  - Modified GaudiTest.GaudiExeTest to be able to run executables with or without the `.exe` extension.
    (Marco Clemencic)
- GaudiAlg (v14r2):
  - Patch #5410: Enable the suppression of misbalance summary from GaudiTool
    (Vanya Belyaev)
  - Task #22742: Optimize the GaudiAlgorithm get() functions
    (Marco Clemencic)
  - Patch #5379: Improvements for GaudiAlgs.py
    (Vanya Belyaev)
- GaudiProfiling (v1r5):
  - Disable on MacOSX (cannot compile).
    (Marco Clemencic)
- GaudiCommonSvc (v1r2):
  - Patch #5390: fix unprotected VERBOSE and DEBUG messages
    (Marco Cattaneo)
- GaudiPython (v12r2):
  - Patch #5379: Improvements for GaudiAlgs.py
    (Vanya Belyaev)
- GaudiExamples (v23r3):
  - Task #22742: Optimize the GaudiAlgorithm get() functions
    (Marco Clemencic)
  - Patch #5379: Improvements for GaudiAlgs.py
    (Vanya Belyaev)

## Gaudi v23r2 (2012-03-24)

### Externals version: LCGCMT_62b

### General Changes

This is a minor update mainly meant to pick up latest versions of external packages.

### Packages Changes

- RootCnv (v1r14):
  - Removed duplicated warning message.
    (Markus Frank)
- GaudiProfiling (v1r4):
  - Patch #5209: Added IntelProfiler component
    (Sasha Mazurov)
- Gaudi (v23r2):
  - Fixed bug #92122: option '--printsequence' of gaudirun.py no longer works
    (Marco Clemencic)
- GaudiExamples (v23r2):
  - Patch #5210: add example for IntelProfiler (see doc/intelprofiler.md)
    (Sasha Mazurov)

## Gaudi v23r1 (2012-02-27)

### Externals version: LCGCMT_62a

### General Changes

- Minor changes.

### Packages Changes

- GaudiKernel (v28r1):
  - Patch #5204: GaudiKernel parsers: allow 'L' suffix in integer literals
    (Sasha Mazurov)
  - Fixed compatibility problem with Python 2.7.
    (Marco Clemencic)
- RootCnv (v1r13):
  - Add option to RootCnvSvc to change compression factor
    (Markus Frank)
- GaudiAlg (v14r1):
  - Patch #5234: Fix incorrect type in GaudiAlg tuples
    (Chris Jones)
- GaudiProfiling (v1r3):
  - Patch #4852: Auditors based on the Google Perf Tools
    Note: the Google auditors require preloaded libraries: tcmalloc or profiler.
    (Chris Jones)
- GaudiCommonSvc (v1r1):
  - Add a "TESVetoList" property to InputCopyStream
    (Chris Jones)
- GaudiPython (v12r1):
  - Patch #5235: ntuples in (Gaudi)Python
    (Vanya Belyaev)
- Gaudi (v23r1):
  - Modified gaudirun.py to be able to preload arbitrary libraries
    (Marco Clemencic)

## Gaudi v23r0 (2012-01-24)

### Externals version: LCGCMT_62a

### General Changes

This is a major release of Gaudi. The main changes are:

- Repackaging of GaudiSvc mainly to reduce the size of the libraries that users may need to override (task #23931, patch #1816).
  (Marco Clemencic)
- Removed GaudiPoolDb and introduced RootCnv.
  The Application Area project POOL is not used anymore, but an alternative based on ROOT (can read POOL files) has been copied from LHCb. The new conversion service is still developed in LHCb and comments/bug reports have to be directed to Markus Frank.
  (Marco Clemencic, Markus Frank)
- Fixed bug #85377: GaudiTuple tuple does not understand ulonglong
  (Chris Jones)
- Modified ApplicationMgr to return non-zero in case of failure during finalization and to print different messages in finalization and termination in case of errors.
  (Marco Clemencic)

### Packages Changes

- GaudiPolicy (v12r0):
  - Patch #5165: Change GaudiPolicy requirements to allow compilation with -O3 (CMT tag "use-O3")
    (Ben Couturier)
  - Moved the genConf directories of the packages inside the binary directory.
    (Marco Clemencic)
  - Added the fake CMTCONFIGs *-test (only few of them), implying the tag target-test, which should be used for tunable (by experiments) tests.
    Not yet functional
    (Marco Clemencic)
  - Added the pattern PackageVersionHeader, similar to ProjectVersionHeader, but dedicated to packages and with the possibility of specifying the destination directory of the generated header.
    (Marco Clemencic)
- GaudiKernel (v28r0):
  - Added interfaces for tools used to add dynamic mapping to DataOnDemandSvc: IDODNodeMapper, IDODAlgMapper.
    (Marco Clemencic)
  - Fixed bug #89628: Missing const methods in CommonMessaging.
    (Marco Clemencic)
  - Fixed bug #89653: Gaudi is not ready for Boost 1.48 (filesystem V3)
    (Marco Clemencic)
  - Removed the unused FastContainerSvc.
    (Marco Clemencic)
- GaudiCoreSvc (v1r0):
  - Modified ServiceManager to avoid race conditions on concurrent requests of services from different threads.
    (Illya Shapoval)
  - Patch #5183: JobOptionsSvc: warnings and environment variables
    (Sasha Mazurov)
  - Modified DataOnDemandSvc to accept tools to map paths to node types (IDODNodeMapper) and to algorithms (IDODAlgMapper).
    Added a basic IDODNodeMapper and IDODAlgMapper (DODBasicMapper) implementing the minimal DataOnDemandSvc static mapping.
    (Marco Clemencic)
  - Patch #5176: fix problem with underscore in property names (Boost 1.48)
    (Sasha Mazurov)
  - Make ApplicationMgr print the version of the package if no version is specified in the options.
    (Marco Clemencic)
  - Patch #5166: Allow "::" in property and component names.
    (Sasha Mazurov)
- GaudiMonitor (v3r0):
  - Removed DataListenerSvc.
    Moved from GaudiSvc: ExceptionSvc, HistorySvc, IssueLogger.
    (Marco Clemencic)
- GaudiPartProp (v1r0):
  - New package: contains Gaudi::ParticlePropertySvc, originally in GaudiSvc. (task #23931, patch #1816)
    (Marco Clemencic)
- GaudiSvc (v19r0):
  - Moved several services from GaudiSvc to other packages. (task #23931, patch #1816)
    See package release notes for details.
    (Marco Clemencic)
  - Fixed bug #89653: Gaudi is not ready for Boost 1.48 (filesystem V3)
    (Marco Clemencic)
- GaudiUtils (v4r0):
  - Imported HistoStrings functions from (LHCb) Kernel/HistoStrings.
    (Marco Clemencic)
- RootCnv (v1r12):
  - Imported from LHCb (Online/RootCnv), with minor changes.
    (Marco Clemencic)
- GaudiCommonSvc (v1r0):
  - New package: contains services used by most applications. (task #23931, patch #1816)
    (Marco Clemencic)
- GaudiPython (v12r0):
  - Fixed bug #88448: HistoFile does not know TFile
    (Marco Clemencic)
  - First prototype of generic/extensible persistency configuration.
    (Marco Clemencic)
- GaudiMP (v1r3):
  - Address failures due to missing temporary files.
    (Wim Lavrijsen)
- Gaudi (v23r0):
  - Added support for class aliases in the meta-module "Configurables".
    Added RootCnvSvc and RootEvtSelector to the list of aliased services (enforcing the default name to preserve compatibility with LHCb).
    (Marco Clemencic)
- GaudiExamples (v23r0):
  - Major restructuring of tests:
    - replaced POOL persistency with the new ROOT one
    - removed obsolete test runner scripts
    - added tests/qmtest/refs
    - added tests/data
    (Marco Clemencic)
  - Added test for dynamic configuration of DataOnDemandSvc.
    (Marco Clemencic)

Older versions