v2.3.0
Features
- There is a new "interactive mode" accessible by pressing Ctrl-C during running. This pauses processing and allows the user to manually fire individual arrows, as well as look up information about components, collections, topology, and processing performance: #307, #322
- Users can now configure how strict JParameterManager will be about extra (e.g. misspelled) parameters: #302
- Users can now configure how much detail the parameters table will show at startup: #302
- Users can now directly look up which factories produce or consume each collection, and which collections are produced or consumed by each factory: #312
- Users can access expanded, constexpr version information from JVersion.h: #320
Bugfixes
- Improved CI coverage: #300, #319, #323
- Improved exception handling logic in all components: #301
- Components not being destroyed when they should: #299
jana-generate.py
no longer pulls in ROOT dependency by default, breaking the tutorial: #310- CMake compiler_definitions inconsistent with jana_config.h: #313
- Suppress spurious error messages during JVersion.h creation: #317
- Factory parameters show up in parameters table: #311
- jana-config script sets RPATH correctly: #309
Refactoring
- Users no longer need to import and forward defines such as
JANA2_HAVE_PODIO
because they have been moved intoJVersion.h
: #313 - Code deduplication: jana_config.h fully replaced by JVersion.h: #313
- Dead code removal: JSubeventMailbox: #304
- All library code uses
#pragma once
instead of header guards: #308 - Example programs are installed to
$PREFIX/bin
instead of$PREFIX/programs
: #309
Documentation
Full Changelog: v2.2.0...v2.3.0