Skip to content

Releases: JeffersonLab/iguana

v0.7.1

24 Jun 19:12
b06d6ac
Compare
Choose a tag to compare

⭐ 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 becomes iguana_test
    • example names are now of the format:
    iguana_ex_[LANGUAGE]_[NUMBER]_[NAME]
    
    where:
    • [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
    • [NAME] is a descriptive name for the example

🚧 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

10 Jun 14:53
a322780
Compare
Choose a tag to compare

⚠️ Breaking Changes ⚠️

  • refactor!: organize algorithms in subdirectories by @c-dilks in #206

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

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
  • fix: make installation relocatable by @c-dilks in #215

🚧 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, since meson 1.4.1 has been released by @c-dilks in #228

New Contributors

Full Changelog: v0.6.0...v0.7.0

v0.6.0

16 May 18:45
caa7f9b
Compare
Choose a tag to compare

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:
examples        -> install_examples
require_ROOT    -> z_require_root
make_modulefile -> z_install_modulefile

Primary Changes

  • feat: make SectorFinder a creator algorithm and a prerequisite for MomentumCorrection 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 proper bank row filtering by @c-dilks in #152
  • feat: support tcsh environmental setup by @c-dilks in #207

Technical Changes

New Contributors

Full Changelog: v0.5.0...v0.6.0

v0.5.0

26 Apr 14:36
10d2fdf
Compare
Choose a tag to compare

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 with std::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

14 Mar 14:06
ec40f36
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.4.0...v0.4.1

v0.4.0

12 Mar 03:07
6f83232
Compare
Choose a tag to compare

Primary Changes

Technical Changes

Full Changelog: v0.3.0...v0.4.0

v0.3.0

22 Feb 16:18
ec55e14
Compare
Choose a tag to compare

Primary Changes

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 and fmt 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

Full Changelog: v0.2.0...v0.3.0

v0.2.0

23 Jan 17:41
10eda27
Compare
Choose a tag to compare

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 for hipo4 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 in configure.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 with meson documentation by @c-dilks in #80
  • fix: remove Start, Run, Stop preprocessor macros by @c-dilks in #82
  • fix: combine Algorithm.h and AlgorithmFactory.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

15 Dec 03:36
5cfdf6b
Compare
Choose a tag to compare

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 avoiding fmt::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 to c++17 by @c-dilks in #15
  • refactor: rename Arbiter->Iguana and organize main.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 in EventBuilderFilter 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 to hipo::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 and silent 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 an Algorithm 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