Warning, /jana2/docs/Download.md is written in an unsupported language. File is not indexed.
0001 # Download
0002
0003 ### Latest master (unstable)
0004
0005 - `git clone https://github.com/JeffersonLab/JANA2/`
0006
0007 ### Latest release
0008
0009 - `git clone --branch latest_release https://github.com/JeffersonLab/JANA2`
0010 - [See release on GitHub](https://github.com/JeffersonLab/JANA2/tree/latest_release)
0011 - [See online documentation](https://jeffersonlab.github.io/JANA2/)
0012 - [See online doxygen documentation](https://jeffersonlab.github.io/JANA2/refcpp/)
0013
0014 ### 2.4.3
0015
0016 #### Behavior changes
0017
0018 - JHasOutputs represents variadic output names as `std::vector<std::vector<std::string>>`, which now allows for multiple variadic outputs with arbitrary lengths (Pull request #458)
0019
0020 - Removed the never-used JEventProcessorSequential and JEventProcessorSequentialRoot. All their functionality has been backported to JEventProcessor. (Pull request #456)
0021
0022 - JInspector is now launched using the parameter `jana:inspect=true` instead of the command-line argument `--interactive`, which works regardless of which executable runs JANA. (Pull request 459)
0023
0024 #### Bugfixes
0025
0026 - Relax JFactory::Create cycle detector for the sake of JEventSourceEVIOpp (Pull request #461)
0027
0028 - Fix JFactoryPodioT template error when using Podio LinkCollections (Pull request #462)
0029
0030 - JEventUnfolder erroneously inserted outputs even though KeepChildNextParent was returned (Pull request #458)
0031
0032 - JEventUnfolder supports parent events with zero children (Pull request #456)
0033
0034 - JTopologyBuilder creates a chain of TapArrows so that independent JEventProcessors can be pipelined, allowing new-style JEventProcessors to have comparable performance to the old-style ones. (Pull request 456)
0035
0036 #### Features
0037
0038 - Variadic inputs now support an EmptyInputPolicy, which allows components to optionally retrieve all databundles/collections for a given type and EventLevel, analogous to JEvent::GetFactoryAll(). (Pull request #454)
0039
0040 #### Usability improvements and refactoring
0041
0042 - Improve the JANA tutorial and examples by creating a new paradigm, in which a toy reconstruction codebase is systematically built up piece-by-piece. Two versions exist, one using a lightweight (GlueX-style) datamodel, and the other using a Podio datamodel. Apart from the datamodel choice, the two versions are functionally identical. (Pull request #453)
0043
0044 - Improve debugging by having the JANA1-style JEvent::GetSingle directly throw a JException instead of a size_t, thereby producing a full stack trace (Pull request #461)
0045
0046 - Renamed JEventProcessor::Process(const JEvent&) to ProcessSequential to reduce user confusion (Note that this feature was experimental and unused up until now) (Pull request #456)
0047
0048 - JTopologyBuilder::connect() wires arrows using port id instead of port index, reducing confusion while manually configuring topologies. (Pull request #456)
0049
0050 - JFactoryT uses JDatabundle under the hood, as part of a deeper long-term refactoring. (Pull request #458, Issues #254, #276)
0051
0052 ### 2.4.2
0053
0054 #### Behavior changes
0055 - `jana:max_inflight_events` now defaults `nthreads` regardless of whether `nthreads` was explicitly set. Previously it defaulted to 4 when `nthreads` was unset, and otherwise defaulted to `nthreads`. (Issue #443)
0056 - `JEventSource::GetEventCount()` is deprecated and replaced by `GetSkippedCount()`, `GetEmittedEventCount()`, and `GetProcessedEventCount()`. These behave intuitively when `nskip` is used. (Issue #428)
0057
0058 #### Features
0059 - Added `jana:output_processed_event_numbers` parameter to assist with debugging (Issue #425)
0060 - Ported `janaroot` plugin from JANA1
0061 - JFactory detects and excepts on cycles (Issue #423)
0062 - Improved scale test visualizations, including plotting multiple scaling tests on the same plot and supporting log scaled axes.
0063
0064 #### Bugfixes
0065 - Missing template argument in VariadicPodioOutput
0066 - JEvent was being marked as warmed up prematurely
0067 - JAutoactivator was being called last instead of first (Issue #440)
0068 - If the user attempted to run without providing a JEventSource, processing would crash with an ArithmeticException instead of a helpful error message (Issue #437)
0069 - `JEventSource::FinishEvent()` was being called spuriously (Issue #424)
0070
0071 #### Refactoring
0072 - Preliminary support for random-access JEventSources is provided via `JEventSource::Skip()`. This feature should be considered experimental for now because it doesn't work with barrier events yet. (Issue #422)
0073
0074 ### 2.4.1
0075
0076 This release enables CCDB caching, significantly improving performance and reducing memory usage for applications that frequently access calibration constants.
0077
0078 ### 2.4.0
0079
0080 #### Features
0081
0082 - Externally wired factories using `JWiredFactoryGenerator` (#399, #400)
0083
0084 #### Bugfixes
0085
0086 - Fix parameter strictness check (#394)
0087 - Fix Podio deprecation warnings (#389)
0088 - Fix ODR violation (#396)
0089 - Fix `JFactory::Create()` logic (#383)
0090 - Fix `JEventProcessor` deletion order (#391)
0091 - Fix double-free in `JLockService` destructor (#388)
0092
0093 #### Refactoring
0094
0095 - Migrate `JStreamLog` uses to `JLogger` (#390, #395, #398)
0096 - Reorganize and deprecate `Compatibility/` headers (#392, #397)
0097 - Refactor arrow execution machinery (#385, #387, #393)
0098
0099 ### 2.3.3
0100
0101 #### Bugfixes
0102 * Fix problem with user-defined factory generators (#366)
0103 * JEventProcessor::Process() called before BeginRun() (#367)
0104 * Lock overwrite in RootFillLock() (#369)
0105 * JFactory::Finish() is called (#377)
0106
0107 #### Features
0108 * JTopologyBuilder supports topologies with arbitrarily nested levels (#346)
0109 * Barrier events are back (#371)
0110
0111 #### Refactoring
0112 * Improved log output (#368)
0113 * JTest uses new-style component interfaces (#374)
0114 * JArrows now fire on individual events (#375, #378)
0115
0116 - [See release on GitHub](https://github.com/JeffersonLab/JANA2/releases/tag/v2.3.3)
0117
0118 ### 2.3.2
0119 This release includes the following:
0120
0121 #### Features
0122 - Added a simple `JWiringService` which can be used to wire `JOmniFactories` via a TOML file. (#353, #363)
0123 - Added `add_jana_plugin`, `add_jana_library`, and `add_jana_test` CMake macros (#364)
0124
0125 #### Bugfixes
0126 - A multithreading bug in `JEventProcessor` has been fixed.
0127 - `JFactory::Create` now checks `JEventSource::GetObjects` (#361)
0128 - `JPluginLoader` no longer loads plugins twice in certain cases (#343)
0129 - `JParameterManager::FilterParameters` marks parameters as 'used', thereby avoiding spurious 'unused parameter' warnings. (#331)
0130 - `JTypeInfo::to_string_with_si_prefix` generates the correct SI prefix in certain cases (#348)
0131
0132 #### Refactoring
0133 - Plugins and their headers are now installed to a directory that doesn't conflict with a system install (#330)
0134 - `JPluginLoader` has been extensively rewritten (#339)
0135 - `JCsvWriter` has been moved into `examples` (#350)
0136 - JANA's internal performance testing RNG has been refactored to be more reproducible, and to avoid ASAN violations. (#315)
0137 - `JPodioExample` has been split into several reusable examples. (#352)
0138 - Code was moved from `Omni` and `Status` into `Components`, making the layered architecture clearer (#351)
0139 - Documentation has been overhauled, including adding an extensive JANA1-to-JANA2 migration guide (#334, #336, #342, #354, #357, #359)
0140 - CI testing has been extended (#332, #341)
0141
0142 #### Behavior changes:
0143 - JANA now has one internal logger, configurable via the `jana:loglevel` parameter. External loggers are now configurable via the `jana:global_loglevel` parameter.
0144 - Log output has been streamlined: oversized tables are now YAML, and essential information is now logged at `WARN` level. (#362)
0145 - `JPluginLoader` now stops when a plugin fails to load, rather than continuing searching for another plugin with the same name.
0146 - `JPluginLoader` no longer accepts paths as part of a valid plugin name
0147 - `JFactorySet` is no longer silent when the user attempts to include duplicates of the same factory (#343)
0148 - `JMetadata` is deprecated, to be replaced with `JMultifactory`. (#345)
0149 - All `JFactories` now call `JEventSource::GetObjects`, not just `JGetObjectsFactory`. (#361)
0150
0151 - [See release on GitHub](https://github.com/JeffersonLab/JANA2/releases/tag/v2.3.2)
0152 - [See online doxygen documentation](http://www.jlab.org/JANA/jana_doc_2.3.1/index.html)
0153 - [Download doxygen documentation](http://www.jlab.org/JANA/jana_doc_2.3.1.tar.gz)
0154
0155 ### 2.3.1
0156 This release fixes a bug which caused the `janadot` plugin to stop producing output. It also drops support for Podio <= 00-17 by replacing the user-provided `PodioTypeMap` with the built-in `PodioT::collection_type`.
0157
0158 - [See release on GitHub](https://github.com/JeffersonLab/JANA2/releases/tag/v2.3.1)
0159 - [See online doxygen documentation](http://www.jlab.org/JANA/jana_doc_2.3.1/index.html)
0160 - [Download doxygen documentation](http://www.jlab.org/JANA/jana_doc_2.3.1.tar.gz)
0161
0162 ### 2.3.0
0163 - [See release on GitHub](https://github.com/JeffersonLab/JANA2/releases/tag/v2.3.0)
0164 - [See online doxygen documentation](http://www.jlab.org/JANA/jana_doc_2.3.0/index.html)
0165 - [Download doxygen documentation](http://www.jlab.org/JANA/jana_doc_2.3.0.tar.gz)
0166
0167 ### JANA 1
0168
0169 - JANA 1 is deprecated but still in use with projects such as GlueX.
0170 - [JANA 1 homepage](https://www.jlab.org/JANA/)
0171 - [JANA 1 repo](https://github.com/JeffersonLab/JANA)
0172
0173