Go HEP release 0.29.1


Release v0.29.1 is out of the oven.

This release contains no major API breakage, but all around improvements and bug fixes. Most notably, this release uses the new gonum/plot@v0.10.0 release that fixes a bunch of graphics bugs and performance improvements in plots drawing (PDF, PNG and SVG.)


We are now using a “vendored” version of github.com/apache/arrow/go without all the flight support, to cut down on the amount of dependencies this was dragging in.


  • groot/{rdict,rtree}: handle groot types mirroring TObject inheritance tree
  • groot/rtree: reduce memory usage in tree-write
  • groot/{riofs,rtree}: handle small/big file thresholds for long-running baskets
  • groot/rhist: handle nil-title in YODA histograms
  • cmd/yoda2root: handle YODA files with a directory structure
  • groot/rhist: implement YODA (un)marshaler for TGraph{,Asymm}{,Errors}
  • groot/rhist: correctly write out TGraph{,Asymm}{,Errors}


  • hbook: introduce Rand1D. Rand1D represents a 1D distribution created from a hbook.H1D histogram.


  • hplot: add Label plotter. This plotter allows user to put labels on a plot in “normalized” or “data” coordinates.


  • xrootd: fix race in file


That’s all for today. Next cycle will probably see some work on the RNTuple front.