Releases: go-hep/hep
Release v0.36.0
Release v0.35.0
What's Changed
- all: bump x/net@v0.17.0 and klauspost/compress@v1.17.1 by @sbinet in #1000
- cmd/root2csv: add support for converting Graph{,Errors} to CSV by @sbinet in #1001
- groot: add read support for TCanvas by @sbinet in #1002
- groot: streamline serialization header extraction by @sbinet in #1003
- all: bump x/crypto@v0.17.0, sbinet/npyio@v0.8.0 and klauspost/compress@v1.17.4 by @sbinet in #1005
- all: bump to ROOT-6.30/02 by @sbinet in #1006
- groot: add support for TScatter by @sbinet in #1007
- Go1.22 by @sbinet in #1008
- groot: add handling of top-level key with string payload by @sbinet in #1009
- all: bump deps epok@v0.5.0, npyio@v0.9.0 and x/{crypto,sync,tools,net,sys} by @sbinet in #1012
- all: adapt tests and floating-point precision for Mac-Silicon by @sbinet in #1013
- all: bump to ROOT-6.32/00 by @sbinet
Full Changelog: v0.34.1...v0.35.0
Release v0.34.1
Release v0.34.0
Release v0.34.0
is out of the oven.
This release contains no major API breakage, but all around improvements and bug fixes.
hplot
- hplot/vgop: a new package to implement JSON serialization of
gonum/plot
canvases
p := hplot.New()
// ...
err := hplot.Save(p, 10*vg.Centimeter, 20*vg.Centimeter, "plot.json")
-
hplot
is now usinggonum/plot@v0.14.0
which has the necessary infrastructure to get nicer timeseries axes. See the provided examples (here) for thehplot.Ticks
type. -
hplot
has gained some basic capability to display the legend (a color palette with numbers) of a 2D plot. See the provided example. -
added a convenience forward function for
gonum/plot/plotter.NewLinePoints
(ashplot.NewLinePoints
)
groot
- added support for ROOT
6.28/04
- groot/rjson: a new package to implement JSROOT-compatible JSON serialization of
groot
's histogram types (rhist.H{1,2}x
)
h, err := f.Get("h1d")
raw, err := rjson.Marshal(h)
See the complete example here.
groot/rtree
is now able to read trees created by Geant4 in multithreaded mode (see here for more details).- added support for the "new"
TLeafG
branch.
Changelog
- 6e9be99 all: bump gioui@v0.30, x/{crypto,exp,image,text,tools}@latest
- 970796d hplot{,vgop}: add support for Save("foo.json")
- e1cbaa6 hplot/vgop: first import
- 301b96c groot/rjson: first import
- d280b3c groot: implement RSlicer for TH{1,2}x
- 8795bae groot/rbytes: introduce RSlicer interface
- 8631271 cmd/root2arrow: use latest arrow-cat for tests
- 1d490da cmd/root2npy: use internal/diff
- 0e69116 groot: add tests for TLeafG
- 85fd5fd groot: add support for TLeafG
- 7cb2fac groot: bump to ROOT 6.28/04
- 548d277 groot/rtree: handle parallel-merged TBaskets
- 404ed51 ci: bump staticcheck@2023.1.5
- d41b03d hplot: add NewLinePoints forward
- b6113fa hplot: add timeseries examples with epok
- 948b009 hplot: add automatic legend creation to H2D
- d26c986 hplot: add support for legend to Figure
- 0294666 hplot: forward plot.Legend
- d0eea6a fwk: bump to gonuts/commander@v0.4.1
- fa91d5d all: bump Gonum@v0.14.0, Gioui@v0.2.0
- 233c6a4 all: bump Go-1.21, drop Go-1.19
- d85e15f groot/cmd/root-gen-streamer: use an in-memory buffer for generation
- c00ff1a hplot: update examples
- 8c9cc40 hplot: update embedmd invocation
- 673ab4c ci: improve mk-release to setup symlinks
Release v0.33.0
Release v0.33.0
is out of the oven.
This release contains no major API breakage, but all around improvements and bug fixes.
cmd
- cmd/hepmc2root: is a new command to automatically convert HepMC2 ASCII files to flat n-tuples ROOT files.
$> hepmc2root -h
hepmc2root converts a HepMC2 ASCII file into a ROOT file and (flat) tree.
Usage: hepmc2root [OPTIONS] hepmc.ascii
Example:
$> hepmc2root ./hepmc.ascii
$> hepmc2root -o out.root -t mytree ./hepmc.ascii
Options:
-o string
path to output ROOT file name (default "out.root")
-t string
name of the output tree (default "tree")
hplot
hplot
has been migrated to the new Gio API, and needs Gonum/plot@v0.13.0.
Slight differences are to be expected in the rendering of plots.
With the new Gio
version we are using, you may need development headers for Vulkan on Linux.
See the installation instructions of Gio for more details: Gio Installation
- fix a bug in
hplot.TiledPlot.Plot(i, j int)
where the*hplot.Plot
returned byPlot(i,j)
was actually the conjugate of what the documentation specified. Now,Plot(i,j)
returns the plot as documented.
sliceop
- introduce a generic
sliceop.Resize
that can reuse[]T
capacity - introduce generic versions of
sliceop.Take
andsliceop.Find
Changelog
- Hepmc2root by @sbinet in #962
- groot/{riofs,rtree}: de-duplicate automatically generated This-streamers by @sbinet in #965
- cmd/hepmc2root: improve documentation by @sbinet in #967
- cmd/hepmc2root,hepmc{,/rootcnv}: implement HepMC-ROOT roundtrip by @sbinet in #968
- internal/diff: first import by @sbinet in #969
- all: 2023 is the year of the Gopher by @sbinet in #970
- cmd/lhef2hepmc: add -keep-all flag to keep intermediaries by @sbinet in #971
- Hepmc3 by @sbinet in #972
- Go 1.20 by @sbinet in #973
- ci: update gha-actions by @sbinet in #976
- ci: use Go cache from setup-go by @sbinet in #977
- hplot: fix TiledPlot.Plot to behave as documented by @sbinet in #978
- all: update to latest Gio by @sbinet in #979
Full Changelog: v0.32.1...v0.33.0
Release v0.32.1
What's Changed
Full Changelog: v0.32.0...v0.32.1
Release v0.32.0
Release v0.32.0
is out of the oven.
This release contains no major API breakage, but all around improvements and bug fixes.
This release drops support for Go-1.17 (and earlier) and is the first release with the introduction of a few generics-based APIs.
Thanks to Olivier Mengué (@dolmen) there were a couple of house cleaning changes that have been applied (as part of the CERN+Google Hackathon).
Thanks again Olivier.
There has been some work on RNTuple
front, but nothing that can be released yet.
brio
General clean-ups by Olivier M.
fwk
General clean-ups by Olivier M.
groot
riofs
: add genericGet[T]
to retrieve ROOT objectsriofs
: export in-memory read-onlyRMemFile
ROOT file
hbook
General clean-ups by Olivier M.
lhef
General clean-ups by Oliver M.
Olivier also reduced the amount of memory allocations in lhef.NewDecoder
.
sliceop
- introduce
sliceop
and generics-based functions that mimick whatsliceop/f64s
did - implement
sliceop/f64s
in terms ofsliceop
Changelog
- c8c6fbf fmom: update for new gonum.org/v1/gonum@v0.12.0/r3 API
- 3e7183c all: update gonum@v0.12, gokrb5@v8.4.3, compress@v1.15.9, lz4@v4.1.15, npyio@v0.7.0 and go/x
- 535619c ci: add Go-1.19
- c6ebf25 all: use git.sr.ht/~sbinet/go-arrow@v0.2.0 fork
- 770e2dc all: bump x/tools@v0.1.11
- ece275b groot: fix go:generate portability for root-gen-type
- 0c1ce51 brio-gen: cleanup files produced by test on test success
- 8c3e3fa ci: bump actions/{setup-go,cache,checkout}/v3
- fafbeb6 all: bump yaml@v3.0.1
- ff19fc7 groot: document interop model with ROOT/C++
- 0eeae22 groot/rmeta: regnerate stringer
- f9b4365 groot/{cmd/root-gen-type,rdict}: add support for generating RVec types
- dc2dcf6 groot/{rcmd,rdict}: add support for reading ROOT::VecOps::RVec
- fd8c2dc cmd/lhef2hepmc: improve warning message and display event number
- f979a1c all: apply gofmt-1.19 formating rules
- 2d8ce49 fwk/internal/fwktest: apply staticcheck cosmetic change
- f81a84e fwk: gofmt
- f596c97 fwk: manual fix of the last reference of pkg testdata
- d4ec96b fwk: fix references to pkg testdata
- c04eef8 fwk: rename pkg ./testdata to ./internal/fwktest
- 07f22fc sliceop: use errors.New for constant errors
- 40700b8 hbook: regenerate files produced by brio-gen
- 25b579b hbook: fix go:generate to not require to install brio-gen
- 7fe81f6 brio-gen: fix generated code to follow the Go standard
- 3396f5f brio-gen: add .gitignore for temporary files produced by tests
- 1992369 lhef: reduce allocs on event decoding
- 9c5c566 lhef: more Decoder tests
- cbb4935 lhef: reduce allocs in NewDecoder
- 163d127 lhef: use errors.New instead of fmt.Errorf for constants
- 020835d cmd/root2yoda: removes unreacheable statement
- cf9adbb ci: use codecov-action@v2
- 474d07a groot/riofs: export in-memory read-only RMemFile ROOT file
- bb8ad3d groot/{cmd/root-gen-type,riofs}: add testdata for base+derived classes
- c52e43d groot/rdict: correctly handle generation of marshaling for base classes
- 7f90bc7 all: bump x/crypto, x/exp and x/sys
- 4f927c3 sliceop: improve performances of Take
- c2ec83e sliceop{,/f64s}: introduce generics sliceop
- 582dce6 groot/riofs: add generic Get[T] to retrieve ROOT objects
- ccbaeb3 all: apply staticcheck fixes
- e93f8a1 ci: use staticcheck instead of golangci-lint
- 7a3ff60 ci: reduce git-checkout depth
- ddf2dc7 all: drop Go-1.17
What's Changed
- all: drop Go-1.17 by @sbinet in #929
- groot/riofs: add generic Get[T] to retrieve ROOT objects by @sbinet in #930
- sliceop{,/f64s}: introduce generics sliceop by @sbinet in #931
- all: bump x/crypto, x/exp and x/sys by @sbinet in #932
- Groot gen type base by @sbinet in #933
- groot/riofs: export in-memory read-only RMemFile ROOT file by @sbinet in #935
- ci: use codecov-action@v2 by @sbinet in #936
- removes unreacheable statement by @chavacava in #928
- lhef: use errors.New instead of fmt.Errorf for constants by @dolmen in #937
- lhef: reduce number of allocs in Decoder by @dolmen in #938
- brio-gen: follow Go standard for generated files by @dolmen in #939
- sliceop: use errors.New for constant errors by @dolmen in #940
- fwk: rename package testdata to internal/fwktest by @dolmen in #942
- Staticcheck fix by @sbinet in #943
- cmd/lhef2hepmc: improve warning message and display event number by @sbinet in #944
- Groot vecops by @sbinet in #945
- groot/rmeta: regnerate stringer by @dolmen in #946
- groot: document interop model with ROOT/C++ by @sbinet in #948
- all: bump yaml@v3.0.1 by @sbinet in #949
- ci: bump actions/{setup-go,cache,checkout}@V3 by @sbinet in #950
- brio-gen: cleanup files produced by tests on test success by @dolmen in #951
- groot: fix go:generate portability for root-gen-type by @dolmen in #952
- Go x tools by @sbinet in #953
- ci: add Go-1.19 by @sbinet in #954
- all: update gokrb5@v8.4.3, compress@v1.15.9, lz4@v4.1.15, npyio@v0.7.… by @sbinet in #957
New Contributors
- @chavacava made their first contribution in #928
- @dolmen made their first contribution in #937
Full Changelog: v0.31.0...v0.32.0
Release v0.31.1
Full Changelog: v0.31.0...v0.31.1
Release v0.31.0
Release v0.31.0
is out of the oven.
This release contains no major API breakage, but all around improvements and bug fixes.
This release drops support for Go-1.16 (and earlier).
groot
- bump to
ROOT-6.26/00
- implement a riofs Reader over HTTP(s), instead of downloading the whole file locally
- improve performances of
rcmd.Dump(tree)
- add support for
TMultiGraph
- add support for
TDatime
- add support for
TGraphMultiErrors
- add support for
TProfile{,2D}
- add support for
TEfficiency
- add support for
TConfidenceLevel
,TLimit{,DataSource}
- add support for
TF1
andTFormula
- add support for reading
std::vector<T, myalloc<T>>
- introduced a new package
groot/rnpy
, to ease ROOT/NumPy conversions (likegroot/rarrow
does for Arrow) - improve memory usage of
root2npy
, by materializing into memory only one column at a time - streamline C++ templates parsing for STL containers (vector,deque,map,unordered_{,multi}{map,set}, pair, ...)
xrootd
- improve the read performances 10-fold, using a finer-grained lock to protect session IDs
AOB
That's all for today.
Last release we said there would probably be some work on the RNTuple
front.
We didn't lie, but this didn't happen in the form we thought it would.
A surprise is in the works... stay tuned.
Next cycle will probably see some work on the RNTuple
front, and that work appear in main
.
Changelog
- b02724a all: bump x/crypto
- 6c35963 all: drop old +build foo stanza, use //go:build
- 2481769 all: bump klauspost/compress@v1.15.1 and pierrec/lz4@v4.1.14
- 59c6c67 all: bump gonum/gonum@v0.11.0, gonum/plot@v0.11.0
- c6f7c48 all: drop Go-1.16, add Go-1.18
- 7909cd7 groot/internal/httpio: add a pool of http.Request
- 0e0b993 groot/riofs/plugin/http: first stab at a caching+concurrent http-reader
- 53a256f groot/internal/httpio: first import
- e6d5f90 groot: bump to ROOT-6.26/00
- 6f88941 xrootd: improve read performances 10-fold
- c38575f groot/rcmd: improve Dump tree performances
- ca83c45 groot/{internal/rtests,riofs}: better ACliC handling
- e453fa7 groot/{rcmd,rhist,rvers}: add support for TMultiGraph
- 1747412 groot/{rbase,riofs,rvers}: add support for TDatime
- 0034b01 groot/internal/rtests: make sure macros are run thru ACliC
- 0bd7c62 groot/{rcmd,riofs,rmeta}: add support for read std::vector<T,my_alloc>
- 551dabd groot/{rcmd,riofs}: add tests for more STL containers
- f1aa905 groot/rtree: add rvar dispatch for map[K]V
- b467854 groot/rdict: add r/w-streamer+type handling for TString
- 480971d groot/rdict: handle TString streaming in collections
- 22da515 groot/rdict: use []T for disk storage of std::set
- 34d6347 groot/rdict: proper handling of 'This' streamers
- 0a85f50 groot: introduce rbytes.Header
- e16891d groot/rcmd: add tests for POD data files
- 2a34461 groot/rdict: generate RVersioner if not implemented
- d23d2f4 groot/{rdict,rmeta}: introduce CxxTemplate, streamline template parsing
- be7ddfa groot/rnpy: new package to ease ROOT-Tree/NumPy conversion
- 37a9ac0 cmd/root2npy: improve memory usage
- 04a2d5f groot: streamline r/w buffer ops
- 1b25234 groot/{rdict,rhist,rvers}: add r/w support for TGraphMultiErrors
- 73b9506 groot/{rhist,riofs,rvers}: add r/w support for TProfile{,2D}
- 449e81e groot/rdict: add initial support for enums in genGoType
- e6f8d63 groot/{rcmd,rdict,rhist,rvers}: add r/w support for TEfficiency
- 929ec73 groot/rhist: add write support to TF1 and TFormula
- 129831f groot/{rcmd,rdict,rhist,riofs,rvers}: add r/w support for TConfidenceLevel and TLimit{,DataSource}
- ffc817e root/rbytes: add WriteStdVectorF64
- e488e92 root/rbytes: add WriteObject
- fa6827e groot/{rdict,rhist,rvers}: add initial read support for TF1 and TFormula
- d8d3eb5 groot/rbytes: add RBuffer.ReadStdVectorI32
- 1737316 groot/rbytes: add RBuffer.ReadStdVectorF64
- ad66388 cmd/root2{arrow,csv,npy}: use riofs.Dir to retrieve trees
Release v0.30.1
Release v0.30.1
is out of the oven.
This release contains no major API breakage, but all around improvements and bug fixes.
fwk
- updated
fwk-app
to use the latestgonuts/commander
version that provides auto-completion of commands, flags and sub-commands.
groot
- add support for
TBranchObject
andTLeafObject
- add support for
TLorentzVector
(inroot-dump
and friends) - add support for
TNtuple
andTNtupleD
(inroot-dump
and friends)
hplot
- fixed a race in
hplot.New
where the global variable fromgonum/plot
was being modified without a critical section. This race appeared when one would create multiplehplot.Plot
concurrently.
sliceop
- improved performances of
sliceop/f64s.Take
. Do note thatsliceop/f64s
will probably be rewritten in terms of a generic implementation (and deprecated) onceGo-1.18
is generally available.
AOB
That's all for today.
Next cycle will probably see some work on the RNTuple
front.
Changelog
- 76e7c86 all: bump npyio@v0.6.0
- baa058b groot/{rdict,rtree,rvers}: bump to ROOT-6.24/06
- bc00032 all: bump peterh/liner, x/crypto, x/image, x/tools and ql
- b57330a groot/{rcmd,riofs,rtree,rvers}: add rtree.Reader support for TNtuple{,D}
- 24ff587 all: bump klauspost/compress@v1.14.2
- d1e8a6f all: 2022 is the year of the Gopher
- 505ab93 fwk/cmd/fwk-app: use gonuts/commander@v0.3.x
- c571134 hplot: fix race in hplot.New on gonum/plot.DefaultFont
- eaeb641 groot/rphys: test RStreamer with Bind+Unmarshaler for TLorentzVector
- 679c886 groot/rphys: make Vector{2,3} implement fmt.Stringer
- 7851644 groot/rphys: make LorentzVector implement fmt.Stringer
- 07e2951 groot/rdict: leverage rbytes.{Unm,M}arshaler implementation in Bind
- e370fce groot/riofs: add generation of TLorentzVector testdata
- c117054 groot/{rdict,rtree,rvers}: add support for T{Branch,Leaf}Object
- 975023e groot: remove old comment about write-mode of TTrees
- 7735669 sliceop/f64s: improve Take performances
- 4ca091c all: bump x/tools@v0.1.7