Breaking changes for art series 2.08¶
C++ interface changes¶
The following unused facilities have been removed:
HRRealTime facility; the
std::chrono::high_resolution_clock should be used instead
math_private facilities, which allow retrievals of integers from floating-point values
- There are three deprecated FHiCL parameters that will no longer be supported--see the last three entries of this table under the
fileMatchMode parameter has been removed.
- File format change from 9 to 10
- Due to a typographical error, if a user had, in the past, specified both
--rethrow-all at the command line and
services.scheduler.FailModule: [...] in the configuration file, the latter specification was retained for the modules listed in the sequence. The consequence is that if an exception was thrown in one of the modules listed, instead of the framework rethrowing the exception, a "failed" state was recorded for the module and processing continued. This inconsistency has been resolved (i.e.
--rethrow-all now takes precedence over
- The unconditional loading of ROOT libraries when executing any of the art executables has been removed. Thirteen ROOT libraries have been loaded unconditionally by
art as a "convenience" for users. For experiments that use closed linking, loading these libraries unconditionally is superfluous and results in slightly larger memory footprints of
art jobs. For experiments that do not use closed linking, any necessary ROOT libraries must be specified on the appropriate link line.
- The severity level of the logged art end-of-job summary message has been changed from "severe" to "warning". Such a change allows the suppression of the art summary to a given destination.
ConfigurationTable utilities have been moved to fhicl-cpp.
OutputModule::selected(BranchDescription const&) const function has been removed. It will be restored in a later version of art.
- Configuration validation and description is now supported for
messagefacility; this means that extraneous or erroneously-specified FHiCL parameters will trigger an exception throw that ends the process. The system has been instrumented to tell you where the configuration failure has occurred.
ELdestination::changeFile virtual functions have been removed.
- All format-related parameters have been moved to the
format table of a destination's configuration.
The following configuration parameters have been removed and have no replacement:
placeholder parameter for destinations
extension parameters for destinations of
file type--use the already-supported
- Suppressing timestamps
- message.destinations.<dest name>.noTimeStamps: true
+ message.destinations.<dest name>.format.timestamp: "none"
- Enabling millisecond precision
- message.destinations.<dest name>.useMilliseconds: true
+ message.destinations.<dest name>.format.timestamp: "default_ms"
- No line breaks for a logged message
- message.destinations.<dest name>.noLineBreaks: true
+ message.destinations.<dest name>.format.noLineBreaks: true
- Specifying the line length of the logged message
- message.destinations.<dest name>.lineLength: <unsigned long long>
+ message.destinations.<dest name>.format.lineLength: <unsigned long long>
- The utilities provided in
cetlib/detail/metaprogramming.h have been moved to
cetlib/metaprogramming.h; the utilities provided therein have migrated from the
cet::detail namespace to