Releases: JeffersonLab/iguana
Releases · JeffersonLab/iguana
v0.7.1
⭐ Primary Changes ⭐
New Algorithms
⚠️ Breaking Changes ⚠️
- doc!: organize and rename examples, and additional small fixes by @c-dilks in #235
- all executable names now use underscores (
_
) instead of hyphens (-
), e.g.,iguana-test
becomesiguana_test
- example names are now of the format:
where:iguana_ex_[LANGUAGE]_[NUMBER]_[NAME]
[LANGUAGE]
is the programming language[NUMBER]
is the example number (optional), for ordering examples for new users- examples without
[NUMBER]
are for certain, possibly language-specific, use cases
- examples without
[NAME]
is a descriptive name for the example
- all executable names now use underscores (
🚧 Technical Changes 🚧
- doc: improve the example and user documentation by @c-dilks in #234
- feat: add more build and OS artifacts to
.gitignore
by @c-dilks in #233 - doc: Fortran string termination by @c-dilks in #230
Full Changelog: v0.7.0...v0.7.1
v0.7.0
⚠️ Breaking Changes ⚠️
This requires users who include algorithm headers to adjust the file name, since all algorithm headers are now named Algorithm.h
and are organized into subdirectories named by the algorithm. For example,
// BEFORE CHANGE:
#include <iguana/algorithms/clas12/MomentumCorrection.h>
// AFTER CHANGE:
#include <iguana/algorithms/clas12/MomentumCorrection/Algorithm.h>
⭐ Primary Changes ⭐
New Algorithms
- Forward Tagger Energy Correction Function by @asligonulacar in #85
- Photon Gradient Boosted Tree Filter by @Gregtom3 in #216
Features and Fixes
- doc: improve testing and validator documentation by @c-dilks in #217
- feat: add ROOT macro example by @c-dilks in #210
- This allows for integration with
clas12root
- This allows for integration with
- fix: make installation relocatable by @c-dilks in #215
- This introduces the environment variable
$IGUANA_CONFIG_PATH
, which may be used to set the configuration directory; see updated configuration documentation
- This introduces the environment variable
🚧 Technical Changes 🚧
- build: remove modulefile generation by @c-dilks in #213
- build: improve
install-cvmfs.sh
, removing forces subdirectories by @c-dilks in #214 - doc:
meson test --test-args
may need escaped hyphens by @c-dilks in #218 - build: warn about algorithms which lack validators by @c-dilks in #219
- feat: action function
FTEnergyCorrection::CorrectEnergy
by @c-dilks in #220 - Dglazier patch 1 by @dglazier in #222
- doc: add algorithm full name to API documentation by @c-dilks in #223
- ci: re-enable
ubsan
, sincemeson
1.4.1 has been released by @c-dilks in #228
New Contributors
- @asligonulacar made their first contribution in #85
- @Gregtom3 made their first contribution in #216
Full Changelog: v0.6.0...v0.7.0
v0.6.0
Breaking Changes
- build!: organize build options by @c-dilks in #189
- "Expert" build options are now prefixed by
z_
, to keep them separate - new option
z_install_envfile
- Some build options are renamed, to make them more clear:
- "Expert" build options are now prefixed by
examples -> install_examples
require_ROOT -> z_require_root
make_modulefile -> z_install_modulefile
Primary Changes
- feat: make
SectorFinder
a creator algorithm and a prerequisite forMomentumCorrection
by @c-dilks in #179 - Added hipopy and iguana integration example. by @mfmceneaney in #199
- build: require
hipo
minimum version 4.1.0 by @c-dilks in #198 - fix: use
hipo
iterators for properbank
row filtering by @c-dilks in #152 - feat: support
tcsh
environmental setup by @c-dilks in #207
Technical Changes
- feat: release automation by @c-dilks in #177
- chore: auto format by @c-dilks in #178
- fix(ci): revert to latest
meson
version by @c-dilks in #185 - build: install license by @c-dilks in #187
- ci: use xrootd validation files by @c-dilks in #188
- fix: use smart pointers for Fortran binding's
Algorithm
instances by @c-dilks in #180 - ci: disable
ubsan
untilmeson
1.5 by @c-dilks in #190 - build: module file tagging by @c-dilks in #192
- fix: omit empty variables from pkg-config file generation by @c-dilks in #197
- fix: do not require a Fortran compiler if Fortran is unused by @c-dilks in #196
- fix:
resolve-dependencies.py
might find the wrong.pc
file by @c-dilks in #203 - feat: benchmark algorithms by @c-dilks in #204
- ci: run validators on all available events by @c-dilks in #205
- Fix header guards for TypeDefs.h by @dglazier in #209
- fix: support
csh
as well astcsh
by @c-dilks in #211
New Contributors
- @mfmceneaney made their first contribution in #199
- @dglazier made their first contribution in #209
Full Changelog: v0.5.0...v0.6.0
v0.5.0
Primary Changes
- doc: improve project description and algorithms' documentation by @c-dilks in #149
- feat: example using HIPO dataframes by @c-dilks in #157
- build!: strip runpaths from installation by @c-dilks in #164
- feat: Fortran bindings by @c-dilks in #172
Technical Changes
- fix: add executable permission for group and other for Python examples by @c-dilks in #139
- doc: link to
ifarm
documentation by @c-dilks in #136 - feat: tell the user which algorithm(s) create new banks by @c-dilks in #140
- test: increase coverage by @c-dilks in #142
- ci: increase artifact rentention time by @c-dilks in #148
- style: qualifier alignment to east
const
by @c-dilks in #143 - perf: replace
std::string const
-type parameters withstd::string_view
by @c-dilks in #150 - ci: temporarly roll back to meson 1.3.2 by @c-dilks in #155
- fix: add
hipo
to library rpaths by @c-dilks in #158 - fix(ci): only install
doxygen
when needed by @c-dilks in #162 - test: limit the number of events for example tests by @c-dilks in #165
- fix: dataframe example should not build if
libHipoDataFrame
is not installed by @c-dilks in #171 - fix(ci): don't deploy for PRs from forks when
ref == main
by @c-dilks in #176
Full Changelog: v0.4.1...v0.5.0
v0.4.1
v0.4.0
Primary Changes
- fix(ci): test ROOT-dependent algorithms by @c-dilks in #122
- Sectors by @rtysonCLAS12 in #126
- feat: algorithm validators by @c-dilks in #123
- feat: calculate inclusive kinematics by @c-dilks in #128
Technical Changes
- feat: test examples with
meson test
by @c-dilks in #116 - feat: auto-formatting with
clang-format
by @c-dilks in #103 - chore: auto format by @c-dilks in #117
- fix(ci): force macOS
iguana
rebuilds to also re-link by @c-dilks in #118 - ci: cache test HIPO files and
hipo
build by @c-dilks in #121 - feat: generalize configuration file
Node
finding by @c-dilks in #120 - doc: improve class diagrams by @c-dilks in #129
Full Changelog: v0.3.0...v0.4.0
v0.3.0
Primary Changes
- Implementing Config Files by @rtysonCLAS12 in #91
- feat: test algorithms with sanitizers and coverage by @c-dilks in #106
- feat:
CODEOWNERS
by @c-dilks in #112 - feat: momentum corrections by @c-dilks in #104
- feat: optionally depend on ROOT, and use it for boosting in
LorentzTransformer
by @c-dilks in #109
Technical Changes
- ci: use Arch Linux container on Linux runners by @c-dilks in #96
- fix: move Lorentz vector types to
iguana
namespace in common header by @c-dilks in #87 - ci: build
hipo
andfmt
with 4 threads by @c-dilks in #88 - ci: bump actions versions by @c-dilks in #92
- fix(ci): set number of threads correctly by @c-dilks in #90
- fix: allow config files to be loaded by absolute or relative paths by @c-dilks in #102
- build: static link
hipo4
by @c-dilks in #74 - fix: don't assume
.pc
files are found in$PREFIX/lib/pkgconfig
by @c-dilks in #108 - feat: generalize config file handling for
Algorithm
by @c-dilks in #105 - doc: link examples to front-page by @c-dilks in #114
New Contributors
- @rtysonCLAS12 made their first contribution in #91
Full Changelog: v0.2.0...v0.3.0
v0.2.0
What's Changed
- feat: auto-set version number from
git
tag by @c-dilks in #57 - feat: python bindings by @c-dilks in #58
- doc: use
markdown
emphasis types by @c-dilks in #61 - build: use
pkg-config
forhipo4
by @c-dilks in #60 - style:
test-dependent-build.sh
->test-consumer-build.sh
by @c-dilks in #63 - ci: use python virtual environment for python bindings by @c-dilks in #64
- feat: example processing bank rows by @c-dilks in #65
- feat: generate algorithm boilerplate with preprocessor macros by @c-dilks in #66
- feat: generate a template algorithm by @c-dilks in #67
- feat: set default buildtype to
release
, controllable inconfigure.py
by @c-dilks in #68 - doc: recommend latest dependency tag rather than main branch by @c-dilks in #72
- fix: macOS rpath and dynamic library issues by @c-dilks in #73
- doc: runtime dependency resolution by @c-dilks in #78
- build!: replace
configure.py
withmeson
documentation by @c-dilks in #80 - fix: remove
Start
,Run
,Stop
preprocessor macros by @c-dilks in #82 - fix: combine
Algorithm.h
andAlgorithmFactory.h
by @c-dilks in #83 - fix: remove unnecessary things from test algorithms by @c-dilks in #84
- ci: use main
hipo
fork and latest tag by @c-dilks in #81 - doc: remove
nproc
suggestion by @c-dilks in #86
Full Changelog: v0.1.0...v0.2.0
v0.1.0
Initial C++ prototype
What's Changed
- feat: add logging service by @c-dilks in #1
- feat: read a HIPO file by @c-dilks in #2
- ci: add build job by @c-dilks in #5
- fix: allow old
fmt
by avoidingfmt::underlying
by @c-dilks in #6 - fix: override default install directories for
rpath
consistency by @c-dilks in #8 - ci: run test by @c-dilks in #7
- doc: design diagram and notes by @c-dilks in #11
- doc: dependency graph by @c-dilks in #12
- feat: add event builder filter algorithm by @c-dilks in #9
- refactor!: regress
c++20
toc++17
by @c-dilks in #15 - refactor: rename
Arbiter->Iguana
and organizemain.cc
by @c-dilks in #16 - fix: pass banks by reference by @c-dilks in #17
- refactor: use
vector
of banks for algorithm I/O by @c-dilks in #18 - feat: expose public
Filter
function inEventBuilderFilter
by @c-dilks in #19 - feat+build: improve algorithm configuration; colored log output; improve dependency resolution by @c-dilks in #20
- feat(build): build configuration script by @c-dilks in #24
- build: set minimum dependency versions by @c-dilks in #25
- doc: dependency build notes by @c-dilks in #26
- refactor!: remove
Algorithm::CopyBankRow
by @c-dilks in #27 - fix: python shebang
python
->python3
by @c-dilks in #30 - fix: regress
hipo::bank::get
tohipo::bank::get[TYPE]
by @c-dilks in #31 - refactor: use
hipo::banklist
for mutation by @c-dilks in #32 - build: clarify which paths correspond to which dependencies by @c-dilks in #35
- doc: remove
*Config
classes from design notes by @c-dilks in #36 - fix: enforce const correctness by @c-dilks in #37
- doc: generate API documentation and require everything to be documented by @c-dilks in #28
- doc:
Doxyfile
->doc/Doxyfile
by @c-dilks in #40 - refactor: rename class
Iguana
->AlgorithmSequence
by @c-dilks in #41 - fix(build): re-run
meson setup
if it failed by @c-dilks in #42 - feat: log levels
quiet
andsilent
by @c-dilks in #43 - feat: use
banklist
to cache bank indices by @c-dilks in #44 - doc: use
@see
by @c-dilks in #45 - feat: Lorentz transformer algorithm by @c-dilks in #46
- feat: algorithm sequencing by @c-dilks in #47
- feat: set log level if option name is
"log"
by @c-dilks in #48 - feat: templated
Add
algorithm to sequence by @c-dilks in #49 - fix: templated algorithm accessor in
AlgorithmSequence
by @c-dilks in #50 - refactor: minimize example by @c-dilks in #51
- fix: small fixes by @c-dilks in #52
- refactor:
AlgorithmSequence
should be anAlgorithm
by @c-dilks in #53 - feat: factory pattern with self-registration for algorithm creation by @c-dilks in #54
- build: decouple examples from main project and test dependence by @c-dilks in #55
- fix: bump version by @c-dilks in #56
Full Changelog: https://github.com/JeffersonLab/iguana/commits/v0.1.0