art series 3.02¶
Previous series release notes
Next series release notes
This is the first release that removes the ROOT dependency from core art functionality. Two new packages have been introduced:
Please consult the list of breaking changes to determine how your code should be adjusted to handle this migration.
New features¶
Various new features have been added, primarily addressing usability issues:
- The
'-e|--estart'
program option now accepts a triplet of numbers corresponding to an art::EventID
instead of one number (resolves issue #9594)
FileDumperOutput
can now print out the art::ProductID
along with the other product information (resolves issue #18153)
- The SAM metadata stored in an art/ROOT file has been adjusted to better match what SAM expects (resolves issue #18983)
- Output-file renaming has been extended to allow for
Run
and SubRun
timestamps in the output file (resolves issue #19374)
- Configuration validation is now supported for
MixFilter
detail classes (resolves issue #19970)
MixFilter
detail classes can now directly call MixHelper::createEngine
to get a reference to the art-managed random-number-engine (resolves issue #20063)
- Other minor features
This series is the first to support macOS Mojave. As of art 3.02.00, art will no longer support macOS Sierra. In addition, the following compilers have been introduced for art 3.02.00:
- GCC 8.2.0 with C++17 enabled (
e19
qualifier)
- Clang 7.0.0 with C++17 enabled (
c7
qualifier)
See here for more detailed information about primary qualifiers.
Python 3 support¶
This series is the first to support Python 3, allowing users roughly 1 year to switch to Python 3 before the Python 2's end-of-life of January 1, 2020. Note that for technical reasons, Python 3 builds are not available for SLF6 platforms. In addition, the fhicl Python extension module is only supported for version 3.02.03 and newer.
Breaking changes¶
Please consult the list of breaking changes to determine if/how your code should be modified.
art releases¶
art suite 3.02.06art suite 3.02.06
Click here to navigate to a page with the below notes.
art suite release notes 3.02.06 (2019/05/29)¶
Bug fixes¶
- Bug #22521 (art): A more helpful error message is emitted whenever an undefined module label is included in a trigger/end path.
- Bug #22618 (art): The
cetskelgen
utility has been fixed so that typing --help-types
no longer results in an error on SLF6 systems.
- Bug #22643 (canvas): Some customization points for the
art::Ptr
template were unintentionally disabled for art 3. These have been restored.
Dependent packages¶
art suite 3.02.05art suite 3.02.05
Click here to navigate to a page with the below notes.
art suite release notes 3.02.05 (2019/04/29)¶
Bug fixes¶
- Bug #22371 (art): The
TimeTracker
summary now reports the correct number of events processed in the art job.
- Bug #22407 (art): Modules that are not enabled for event-processing will not be constructed.
Dependent packages¶
art suite 3.02.04art suite 3.02.04
Click here to navigate to a page with the below notes.
art suite release notes 3.02.04 (2019/04/09)¶
Bug fixes¶
- The
art::Source
template was not propagating a user-provided event history; this has been fixed.
- Out-of-order event processing, which was unintentionally disabled for art 3, has been restored (resolves issue #22297).
- As art 3.02 is the first series to use CLHEP 2.4, it is susceptible to the default random-number engine change from
HepJames
to MixMax
. This change affected which type of engine was initialized whenever the user specifies "G4Engine"
as the engine type. This release restores the G4Engine
to be of HepJames
type. Please note that users should not call any Geant4 routines before the 'createEngine(..., "G4Engine", ...)'
call has been made by the relevant module constructor.
Known issues¶
As of art 3.02.00, a configured module can be constructed for an art job, even if it has not been specified in a trigger path or end path. To avoid this unnecessary construction, please enable configuration pruning at the command line: 'art
--prune-config
-c <my_config> ...'
. This bug has been logged as issue #22407.
Dependent packages¶
art suite 3.02.03art suite 3.02.03
Click here to navigate to a page with the below notes.
art suite release notes 3.02.03 (2019/03/07)¶
Bug fixes¶
This version re-enables the fhicl
Python extension module for the Python-3 builds by using pybind11
.
Known issues¶
As of art 3.02.00, a configured module can be constructed for an art job, even if it has not been specified in a trigger path or end path. To avoid this unnecessary construction, please enable configuration pruning at the command line: 'art
--prune-config
-c <my_config> ...'
. This bug has been logged as issue #22407.
Dependent packages¶
art suite 3.02.02art suite 3.02.02
Click here to navigate to a page with the below notes.
art suite release notes 3.02.02 (2019/03/05)¶
External package changes¶
Package |
art 3.02.01 (previous) |
art 3.02.02 (this version) |
Notes |
cetbuildtools |
v7_10_00 |
v7_12_01 |
Build-only product |
pybind11 |
--- |
v2_2_4 |
New dependency |
Known issues¶
- An incorrect attempt at re-enabling the
fhicl
Python extension module resulted in failed builds for Python 3. This error has been fixed in art suite 3.02.03.
- As of art 3.02.00, a configured module can be constructed for an art job, even if it has not been specified in a trigger path or end path. To avoid this unnecessary construction, please enable configuration pruning at the command line:
'art
--prune-config
-c <my_config> ...'
. This bug has been logged as issue #22407.
Dependent packages¶
art suite 3.02.01art suite 3.02.01
Click here to navigate to a page with the below notes.
art suite release notes 3.02.01 (2019/02/07)¶
External package changes¶
Package |
art 3.02.00 (previous) |
art 3.02.01 (this version) |
Notes |
cetbuildtools |
v7_09_02 |
v7_10_00 |
Build-only package |
Bug fixes¶
This release uses a new version of cetbuildtools
, fixing a bug that prevented building from source on macOS.
Known issues¶
- The
fhicl
Python extension module is not supported for Python 3 builds--it is re-enabled for art suite 3.02.03.
- As of art 3.02.00, a configured module can be constructed for an art job, even if it has not been specified in a trigger path or end path. To avoid this unnecessary construction, please enable configuration pruning at the command line:
'art
--prune-config
-c <my_config> ...'
. This bug has been logged as issue #22407.
Dependent packages¶
art suite 3.02.00art suite 3.02.00
Click here to navigate to a page with the below notes.
art suite release notes 3.02.00 (2019/01/30)¶
External package changes¶
Package |
art 3.01.01 (previous) |
art 3.02.00 (this version) |
Notes |
boost |
v1_66_0a |
v1_69_0 |
catch |
v2_2_2 |
v2_5_0 |
Build-only product |
cetbuildtools |
v7_06_04 |
v7_09_02 |
Build-only product |
clhep |
v2_3_4_6 |
v2_4_1_0b |
cppunit |
v1_13_2c |
v1_14_0 |
fftw |
v3_3_6_pl2 |
v3_3_8 |
gsl |
v2_4 |
v2_5 |
lapack |
--- |
v3_8_0c |
Dependency added through ROOT UPS product |
libxml2 |
v2_9_5 |
v2_9_9 |
mysql_client |
v5_5_58a |
v5_5_62 |
numpy |
--- |
v1_15_4b |
Dependency added through ROOT UPS product |
postgresql |
v9_6_6a |
v9_6_11b |
pythia |
v6_4_28k |
v6_4_28p |
python |
v2_7_14b |
v2_7_15a |
v3_7_2 |
Supported through py3 qualifier |
range |
v3_0_3_0 |
v3_0_4_0 |
root |
v6_12_06a |
v6_16_00 |
sqlite |
v3_20_01_00 |
v3_26_00_00 |
tbb |
v2018_2a |
v2019_3 |
xrootd |
v4_8_0b |
v4_8_5b |
Bug fixes¶
- Bug #19890 (art): The framework no longer requires a ROOT dictionary for non-persistable products.
- Bug #21011 (art):
art::PtrMaker
documentation has been updated (see here).
- Bug #21013 (art): It is no longer an error to exclude paths from the
trigger_paths
/end_paths
parameter.
- Bug #21263 (art): It is no longer an error to specify the same path more than once in the
trigger_paths
/end_paths
parameter.
- Bug #18075 (canvas): The framework's use of an ABI interface has been adjusted to support Clang builds.
Known issues¶
- The
fhicl
Python extension module is not supported for Python 3 builds--it is re-enabled for art suite 3.02.03.
- As of art 3.02.00, a configured module can be constructed for an art job, even if it has not been specified in a trigger path or end path. To avoid this unnecessary construction, please enable configuration pruning at the command line:
'art
--prune-config
-c <my_config> ...'
. This bug has been logged as issue #22407.
Dependent packages¶