ROOT Version v5-30-00 Patch Release Notes

A new production version ROOT v5-30-06 has been released January 10, 2012.

The AFS version of v5-30-06 for many different platforms and compilers can be found at:


The complete source tree for all systems (39 MB) is available here:

Alternatively get the source from Git using:

   git clone root-v5-30
   cd root-v5-30
   git checkout -b v5-30-06 v5-30-06

After obtaining the source read the file README/INSTALL (in short just do: cd root; ./configure; make).

To get the source of the head of the v5-30-00-patches branch do:

   git clone -b v5-30-00-patches root-v5-30

Changes in the head of the v5-30-00-patches branch

  • Cint
    • Import patch #42805 fixing the problem #83909 which leading to failure of the auto-dictionary generator when dealing with class template inside a namespace.
  • Core
    • Import patch #42757 fixing memory leak due to multiple allocations of gLibraryVersion.
    • Add missing implementation for TGenericClassInfo::GetDirectoryAutoAdd.
  • IO
    • Repaired chirp plugin.
    • Prevent negative consequences of call SetAutoFlush with a default value (44279, bug #94669).
    • In TTreeSQL prevent a spurrious duplicate column error (Fixes Savannah issues #98126.
  • TTree
    • Make sure that in the tertiary operator implementation we always load the branch that are needed (even in the case cond ? y : -y where cond is false). This fixes #90826.
  • Proof
    • Reorder pq2 libraries for Ubuntu 11.10 (r42660).
    • Import patch #42578 fixing in getProof.C some issues mostly related to PROOF-Lite.
    • Import class to analyse the performance tree (see description)
    • Adapt patch #42671 fixing a problem with TProof::Load reported in the PROOF forum, caused by the fact that the additional files were not copied in the master sandbox but left in the cache.
    • Import patch #41745 fixing TFileCollection::Merge.
    • Import patch #42904 in TProofOutputFile changing the default mode for merging histograms in TFileMerger, to reduce the memory footprint.
    • Import patch #42921 to add also to TXUnixSocket the possibility to disable reconnections via the variable TXSocket.Reconnect (0 disable reconnections; default is 1) .
    • Import patch #43245 fixing an issue with forcing local copies of files before merging (bit not always honored).
    • Import patch #44048 removing the automatic creation of TDrawFeedback by TProofChain.
  • Graf3D
    • Import rev 42084 from trunk: Fix crash on exit when stamped element map is not empty.
  • PyROOT
    • Patch for #91505: allow null-characters in strings passed through the binding.

Changes in version v5-30-06 (January 10, 2012)

  • TTree
    • Resolve #89645 which could lead to segmentation fault when writing a sparse branch (in a large TTree) with a very long branch name.
  • Proof
    • Adapt patches #42142 and #42451 to stressProof adding a return code consistent with standard test facilities and the option '-noprogress' to switch off the progress information which may create problems in wrapper applications intercepting the output (e.g. ctest)
  • Geometry
    • Port patch #40117 that fixes an issue with usage of reflection matrices in assemblies and affected the GEANT4 interface.

Changes in version v5-30-05 (November 24, 2011)

  • Proof
    • Import patches #41958 and #41999 to improve checks, definition and cleaning of the working dir in tutorials/proof/getProof.C
  • Build System
    • Enable configuration of internal CINT array sizes (r42194 r42211, #88752).

Changes in version v5-30-04 (November 8, 2011)

  • TTree
    • Fix hadd when merger TFiles with more than one key for a TTree when doing a slow TTree merge. This fixes #88224
    • Fix the asynchronous prefetcher in case of TChain
  • Xrootd
    • Add support for building with external xrootd 3.1.0 or newer.
    • Backport of bug #87880.
  • Core
    • Textinput: display the prompt when calling Getline() (r41662).
  • Proof
    • Import patches #41785 and #41786 fixing an issue with packetizers preventing proper entry range processing and the file ordering in datasets.
    • Import patch #41788 fixing an issue with AddInputData when objects are TTree or derived.
    • Import patch #41801 fixing an issue in the packetizers potentially crashing PROOF-Lite at exit when using file-resident outputs.

Changes in version v5-30-03 (October 20, 2011)

  • Core
    • Textinput: fix cursor move to next line for non-Windows (r41042).
  • TTree
    • In TTree::GetLeaf (and thus indirectly in TTree::Scan, TTree::Draw), properly handle the case where the branch name has a slash in its name (but the leaf does not). This fixes #86946
    • Fix an issue leading to reading too many elements of a split collection when one the data member needs to be cached for an i/o customization rule.
  • Graf2D
    • Backport fix to be compatible with libpng 1.5.
  • Net
    • Critical bug fix "return string->GetString()" and some optimization for TGridJDL.
  • Proof

Changes in version v5-30-02 (September 22, 2011)

  • Core
    • Import patch #40820. Make sure in BuildRealData, to consider all the data member of a transient class (class version 0) as transient. This fixes the issue #86352 in Savannah.
    • Textinput: fix handling of ESC / Meta (r40778).
    • Import patch #40141 fixing support for 'proto ://' in TUrl.
  • Proof
    • Import patch #40659 fixing a possible seg violation when exiting ROOT.
    • Import patch #40660 restoring operability of the dynamic startup (broken by patch 36553).
    • Import patch #40115 with a few fixes in proofbench, including the possibility to run from any directory.
    • Import patches #40912 and #40923 adding the possibility to skip the checks for the data directories during session startup, as they may significantly slowdown the startup process is the medium is busy.
  • I/O
    • Update the customization rule parser to allow rule for unsigned int data members.
    • Fix the handling of emulated class containing variable size array of objects.
    • Update MakeProject to properly handle classes containing variable size array of objects.
    • Prevents a memory leak in the handling of associative containers stored in a TTree, fixes issue #85910
  • RooStats
    • Fix a bug in the computation the the one-side Profile Likelihood test statistics (bug #86013) which was introduced in 5.30.01 when using the RooMinimizer for the computation of the test statistic. Fix also the case when no nuisance parameters are present. 
    • Fix in ModelConfig the re-definition of parameter sets.
    • Speedup computation of p-values (Integral) in SamplingDistribution by caching the empirical cdf.
    • Fix the rest of the pdf components cache in ToyMCSampler when setting a new pdf
    • Fix some minor issues in plotting SamplingDistribution's obtained from the HypoTestInverter
  • Hist
    • Fix a bug in the TEfficiency destructor (see this post on Root Forum) 
  • FitPanel
    • Fix a bug in using an already existing fit function (bug #86251
  • HIstFactory

Changes in version v5-30-01 (August 18, 2011)

  • Build System
    • Reorder lzma.h search in ./configure, fixes issue #83938.
    • CMake fixes (r40282, r40283).
    • On OSX check in ./configure if a library is compatible with the architecture.
  • Core
    • Textinput: fix handling of keyboard modifiers (r40118).
    • Import patch #40272 adding Hash(), IsSortable() and CompareTo() so that TParameter can be used in hash and/or sorted lists (e.g. gDirectory).
    • Properly support tilde (~) in TSystem::ExpandPathName() even when they are not the first character
    • Make sure we write at the end of the file in which we redirect stdout/stderr (avoid overwriting)
    • Import patch #40534 to silence spurious warnings when removing objects from TObjectTable.
    • Allow home directory to be specified via HOME shell var in case there is no correct passwd file entry, fixes issue 83268
  • CINT
    • Repair the handling of failing to load a shared library #85226.
  • I/O
    • Re-active the command line option -O and -T in hadd
    • Repair the merging of a single file in hadd (was not copying the TTree data.)
    • Add missing dictionary for ROOT::ECompressionAlgorithm
    • Fix a crash at the end of the process when a broken ROOT File (zombie) has been opened (fixes #84035.)
  • TTree
    • Import fix #40077 to prevent the use of non-existent memory when reading in an object that is part of an STL collection and which used to contains an embedded object (and this data member has been removed)(bug #83793).
    • Lift ancien restriction (imposed by VC++6) preventing the proper use of unsigned long long by TTreeFormula.
  • Proof
    • Import new version 0.9.6 of afdsmgrd (patch #40573) with improvements/fixes needed by ALICE.
    • Import patch #40017 making the query exit status available for monitoring and in the output list.
    • Import patch #40068 fixing an issue affecting GetSessionLogs in PROOF-Lite when invoked from the dialog box.
    • Import patch #40138 fixing "workers=n" in PROOF-Lite.
    • Import patch #40170 fixing an issue with directory assertion in xproofd.
    • Import patch #40186 fixing an issue preventing immediate cleaning of histograms after merging with TH1::Add (histogram were still destroyed at the end of the query). The patch adds also master memory usage in TStatus.
    • Import patches #40243 and #40247  fixing a possible segv when leaving proofbench.
    • Import patch #40359  fixing an issue showing up in PROOF-Lite when merging via files.
  • Rpdutils
    • Import patch #40120  fixing a compilation issue on OSX Lion.
  • Netx/Xrootd
    • Import patches #40435 and #40436   to fix the issues preventing proper notification of XrdClient authentication errors.
  • RooFit
    • Issue NLL error in RooRealSumPdf::expectedEvents() if return value is negative
    • Allow non-integer event counts in the extended likelihood term
    • Make automatic class import in RooWorkspace work properly with binary ROOT releases
    • In RooMinuit allocate MINUIT space for all initially constant parameters
    • in RooMinuit add option to control maximum evaluation count for each MINUIT operation
    • Streamline code in RooAbsArg to speed up import of complex pdfs in RooWorkspace
  • RooStats
    • Apply a fix in HypoTestInverter to run a single point
    • Fix the streaming of the HypoTestInverterResult which was resulting in some crashes
    • Fix a bug in merging the HypoTestInverterResult objects  
    • Switch on the flag AlwaysReuseNLL for the Likelihood test statistics
    • Fix a bug in FrequentistCalculator when computing the MLE for the nuisances when constant parameters are present.
    • Fix bug #84542 in HypoTestInverter
    • Fix a bug in interpolating limits in HypoTestInverterResult happening when the last point was higher than next-to-last.
    • Use the RooMinimizer when computing the profile likelihood test statistics  
  • HistFactory
    • Global observables associated parameters that are set constant in the XML are removed. The Global observable name associated with a HistoSys was nom_XXX and is now nom_alpha_XXX, this could lead to problems in combinations in which one channel had only a HistoSys and another channel had an OverallSys associated to the same systematic name XXX.
  • TTreeViewer
    • Remove a call to TString::InitialCapacity, who was producing warning messages of the form:
      Warning in &ltTString::InitialCapacity>: obsolete as of v5-30-00 and will be removed from v5-32-00.
  • MathCore
    • Apply fix for compiling on Fedora 16 i686 ( bug #84867)

Changes in v5-30-00 (June 28, 2011)

  • Build System
    • Changes to CMake: improve detection of external packages (r39804).
    • Use Apple clang v3 by default when available (r39805).
  • I/O
    • Add xz package, which builds liblzma as builtin, so it is always available.
    • Extend valgrind suppression file.
    • Fix memory leak in test/Event.
    • Fix memory leak in the new TFile prefetcher.
    • Add explicit fatal error message in TFileMerger and hadd when the size of the output file goes over the maximum limit (TTree::Set/GetMaxTreeSize). See Savannah #83405
  • TTree
    • Properly recognize a TClonesArray data member even if the requested type was a typedef (to TClonesArray) that is in a namespace (for example edm::Event::ContainerType).(39786)
  • Core
    • TextInput: improved treatment of read-ahead buffer (r39790)
    • TextInput: no unnecessary redraws (r39862)
    • TextInput: home / end key on debian (bug #83478, r39863)
    • TextInput: fix bug in clear-to-end-of-line visible on Windows ssh-ing to Linux (r39884)
    • TextInput: fix possible crash in paren-matching (r39910)
    • TextInput: fix infinite loop handling SIGABRT (e.g. .qqqqqqqq) (r39941)
  • Xrootd
    • Import the stable version 3.0.4
  • Proof
    • Import patch r39835 fixing open issues with honoring the request for processing a fixed number of events and the correct handling of 'ForceLocal' requests when for local files; also fixes an issue with the handling of 'Stop' in PROOF-Lite.
    • Fix coverity warnings in TProofServ and TProofNodes (patch r39878)
    • Import patch r39967 introducing the protocol "pod://" to automatically address the entry point of the available PoD installation, and protocol "lite://" for PROOF-Lite sessions (in the place of "lite"; behavior of "" unchanged).
  • TMVA
    • Fix stress test issue with ICC11 / 64bit.(39890)

Changes in v5-30-00-rc2 (June 15, 2011)

  • Build System
    • Changes to CMake: TextInput, Windows dictionaries (r39554, r39582).
  • Core
    • Fix error when linking statically on OSX.
    • On non-Windows, root.exe is now killed when root is killed (r39540).
    • TextInput: improved history management (r39537, r39539, r39570, r39711).
    • TextInput: reset the terminal to a sane state after even more signals (r39538, r39541)
    • TextInput: on Windows, get dedicated handle to CONIN$, CONOUT$ to prevent redirection from stealing it (r39543).
    • TextInput: on Windows, redraw the prompt if ROOT moved the cursor (r39604).
    • TextInput: proper event loop for full line mode (r39560).
    • TextInput: continue reading if ESC was entered, fixes ESC-f etc (r39709).
    • TextInput: handle ROOT running in background (r39591).
    • TextInput: reset input modifier for each new input, e.g. "Ctrl is pressed"; make it unsigned (r39597, r39703).
    • On Windows, don't expand urls like root://
  • I/O
    • Allow to explicit veto or force the splitting of a class to insure that its custom streamer is always used ((39694) fixing Savannah #83119
    • Reduce memory footprint of the TFilePrefetch mechanism.
    • Introduce TBuffer::AutoExpand
    • Make the memcpy in TBuffer::Expand optional. Avoid this memcpy from TBasket::Reset.
    • Improve error handling in MakeProject, (r39692) fixing Savannah #83188
  • TTree
    • Reduce the memory used by a TTree by sharing the scratch buffer used to hold the compressed data.
    • Do no assume that there is a least one '.root' in the filename passed to TChain::Add.(r39588)
    • Improve error recover in TTreeCloner in case of missing TTree or unwriteable file (39720) fixing Savannah #83140
    • Make sure the TTreeCloner properly carry forward the value of the kDoNotUseBufferMap bit in the branch (Addendum to (38801)
  • Proof
    • Import patch r39579 avoid a segmentation fault when reading file where the AutoFlush mechanism has been disabled and the TTreeCache is requested nonetheless.
    • Import patch r39580 fixing an issue with connections via a SSH tunnel.
    • Import patch r39585 fixing an issue preventing the correct handling of a 'Stop' request.
  • Graf3d
    • Generalize transition-point search in RhoZ projection, fixing a rare infinite loop in projections of TEveStraightLineSet class.
    • Add GUI for auto-saving of images in the "Extras" tab of GL-viewer GUI.
  • CINT
    • Avoid possible buffer underrun for empty (e.g. '@'-cancelled) commands (r39705).
  • THtml
    • Adapt to new (now standard) location of the headers of TMVA and the RooFit family (r39713).

See the release notes and development notes for what is new in the version 5.30/00 release.