art series 2.10¶
art now provides services that can insert products into an event, subrun, or run in a context that is guaranteed to be thread-safe. This facility has been introduced to allow information from external databases to be accessed in a thread-safe manner. See here for more information.
Products can now be declared that are intended to be in-memory only. This is done by providing a second argument to the
'produces' function template:
File-switching has been implemented for
TFileService, providing similar functionality to that available for
RootOutput modules. For more information please consult the documentation. Resolves feature #18058.
--validate-configprogram option has been introduced to run full configuration validation, where possible, on an input file. Using this option fully constructs all configured plugins and then shuts the program down. If a valid configuration has been presented by the user, the post-processed configuration is written to a user-specified output file. Resolves feature #17716.
- The output file-renaming facilities have been made more user-friendly when file-switching has been enabled (resolves feature #18319).
- Additional minor enhancements.
Platform/compiler support and library changes¶
The art 2.10 series is the first set of releases to support a non-native Clang compiler. The
c2 qualifier has been introduced to allow users to specify Clang 5.0.1 as the C++ compiler, with the
-std=c++17 flag enabled. Although none of the art packages use C++17 features, the user is allowed to use them when building against a
c2-qualified build of art. Please see here for more information about primary qualifiers. Resolves feature #8011.
There are several significant changes for Apple Mac support:
- Because art now supports Clang, the art 2.10 series is the first to support macOS High Sierra (SIP disabled) through the
- Starting with
art2.10.00, there will no longer be any GCC-built distributions of the art suite for Macs.
art2.10.00 marks a return to the policy of supporting the current Apple Mac operating system and one previous. There will therefore no longer be any more El Capitan builds of the art suite.
GCC 6.3 discontinued¶
e14 qualifier has been removed in favor of
e15 (GCC 6.4).
Removal of the
The muon experiments at Fermilab have agreed to subsume the extra library dependencies that have been introduced by the
nu-qualified builds of ROOT in the past. For that reason, the
nu qualifier is no longer necessary and has been removed; there will be only one build of ROOT. See the
art 2.10.00 release notes below to see the changes in external-product dependencies.
Please consult the list of breaking changes to determine if/how your code should be modified.