Release Notes

These notes are intended to serve as a guide to the user-visible features in a particular art suite release. As such, only versions included in art suite releases, or those with substantive changes, are included.

messagefacility 2.07.02 (2020/08/28)

messagefacility 2.07.01 (2020/07/24)

messagefacility 2.07.00 (2020/07/07)

This version only supports SL7. The e20 qualifier (GCC 9.3 with C++17 enabled) has been added.

messagefacility 2.06.02 (2020/11/13)

messagefacility 2.06.01 (2020/03/02)

messagefacility 2.06.00 (2019/11/14)

This version only supports qualifiers e19 and c7. In addition, Python 3 is enabled by default. To use Python 2, the 'py2' qualifier must be specified when setting up the messagefacility UPS product.

messagefacility 2.05.00 (2019/06/21)

messagefacility 2.04.03 (2019/03/07)

messagefacility 2.04.02 (2019/03/05)

messagefacility 2.04.01 (2019/02/07)

messagefacility 2.04.00 (2019/01/30)

messagefacility 2.03.01, 2019/01/29 (art suite 3.01.01, art suite 3.01.02)

messagefacility 2.03.00, 2018/09/25 (art suite 3.01.00)

An incompatibility in preprocessor macros was encountered between messagefacility and GENIE. For that reason, the following breaking changes have been introduced:

From To
ML_DEBUG MF_DEBUG Used for disabling debug statements at compile time

A migration script has been provided that makes these changes automatically. After setting up the messagefacility UPS product, you may call the script by:

${MESSAGEFACILITY_FQ_DIR}/bin/fix-mf-macros <top-level-dir>

In addition, this is the first release to support only C++17.

messagefacility 2.02.03, 2018/06/05 (art suite 3.00.00)

  • The cetskelgen ELdestination plugin generator now uses the MAKE_PLUGIN_(START|END) macros provided by cetlib.

messagefacility 2.02.06, 2019/06/07 (art suite 2.13.00)

  • C++17 only

messagefacility 2.02.05, 2019/01/22 (art suite 2.12.00, art suite 2.12.01)

messagefacility 2.02.04, 2018/07/16 (art suite 2.11.03, art suite 2.11.04, art suite 2.11.05)

messagefacility 2.02.02, 2018/05/04 (art suite 2.11.02)

  • A metaprogramming error has been fixed for the LOG_DEBUG and LOG_TRACE macros (resolves issue #19851).

messagefacility 2.02.01, 2018/04/02 (art suite 2.11.01)

messagefacility 2.02.00, 2018/03/30 (art suite 2.11.00)

This version supports GCC 7.3 with C++17 enabled.

There are some breaking changes with this version:

  • The following top-level messagefacility configuration parameters are no longer used and should be removed:
    • debugModules
    • suppressDebug
    • suppressInfo
    • suppressWarning
  • The MF_Utilities library has been merged with MF_MesageLogger. All instances of MF_Utilities on link lines should, therefore, be replaced with MF_MessageLogger or removed altogether.
  • For users setting up their own messagefacility instance, please contact for any additional breaking changes.

The removal of the extra parameters simplifies the configuration required to log messages of (e.g.) 'DEBUG' severity.

messagefacility 2.01.07, 2018/03/16 (art suite 2.10.04)

messagefacility 2.01.06, 2018/01/23 (art suite 2.10.01, art suite 2.10.02, art suite 2.10.03)

messagefacility 2.01.05, 2018/01/22 (art suite 2.10.00)

  • Support Clang 5.0.1.
  • Update to TBB v2018_2.

messagefacility 2.01.04, 2017/12/06 (art suite 2.09.03, art suite 2.09.04, art suite 2.09.05, art suite 2.09.06)

  • Update to TBB v2018_1.

messagefacility 2.01.03, 2017/11/07 (art suite 2.09.02)

  • Restore automatic enabling of logging debug messages (resolved bug #17857).

messagefacility 2.01.02, 2017/10/17 (art suite 2.09.00, art suite 2.09.01).

messagefacility 2.01.01, 2017/08/30 (art suite 2.08.03, art suite 2.08.04).

messagefacility 2.01.00, 2017/08/01 (art suite 2.08.00, art suite 2.08.01, art suite 2.08.02).

This version of messagefacility enables configuration validation and description.

Breaking changes

  • 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.
  • The ELdestination::changeFile virtual functions have been removed.
  • All format-related parameters have been moved to the format table of a destination's configuration.

Removed parameters

The following configuration parameters have been removed and have no replacement:
  • the message.generate_preconfiguration_message parameter
  • the placeholder parameter for destinations
  • the output and extension parameters for destinations of file type--use the already-supported filename parameter

Parameter replacements

  • 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>

messagefacility 2.00.02, 2017/05/23 (art suite 2.07.01, art suite 2.07.02, art suite 2.07.03).

  • This release includes significant internal changes necessary to support concurrent logging to messagefacility destinations. Most users will not need to know about these changes. For those experiments or projects that explicitly initialize the message facility or create their own destinations, please contact for guidance.
  • Breaking change: The MF_MessageService library has been subsumed by the MF_MessageLogger library. All instances of MF_MessageService on link lines should be removed. Most users will not be affected by this change.

messagefacility 1.18.04, 2017/03/07 (art suite 2.06.03).

messagefacility 1.18.03, 2017/02/08 (art suite 2.06.01, art suite 2.06.02).

messagefacility 1.18.02, 2017/02/07 (art suite 2.06.00).

messagefacility 1.18.00, 2016/10/19 (art suite 2.05.00, art suite 2.05.01)

  • The sqlite destination as been moved from art to messagefacility.
  • Removed deprecated mf::do_nothing_deleter.
  • Minor bug fixes.

messagefacility 1.17.02, 2016/09/14 (art suite 2.04.00, art suite 2.04.01).

messagefacility 1.17.01, 2016/08/08 (art suite 2.02.02, art suite 2.03.00).

  • Resolve issue #13464: segmentation fault when initializing the facility in SingleThread mode.

messagefacility 1.17.00, 2016/08/02 (art suite 2.02.00, art suite 2.02.01).

In preparation for configuration validation, there were many under-the-covers changes that are unlikely to directly affect most users. For those users that rely on some of the message facility internals, or create their own destinations, please see below.

Header file changes

Old New
messagefacility/MessageService/MessageLogger.h => messagefacility/MessageLogger/MessageLoggerImpl.h
messagefacility/MessageLogger/ErrorObj.h messagefacility/Utilities/ErrorObj.h

N.B. The header messagefacility/MessageLogger/MessageLogger.h, necessary for using any of the logging streams (e.g. mf::LogInfo), has not moved.

Library changes

The MF_MessageLogger library has been split into MF_MessageLogger and MF_MessageService. Most users will not need to change the library dependencies in their build scripts (i.e. MF_MessageLogger) should be sufficient for most people. For users creating their own destinations or relying on messagefacility internals, the MF_MessageService library should (in most cases) replace their use of MF_MessageLogger.

messagefacility 1.16.28, 2016/06/07 (art suite 2.01.01, art suite 2.01.02).

messagefacility 1.16.27, 2016/06/06 (art suite 2.01.00).

messagefacility 1.16.26, 2016/05/16 (art suite 2.00.01).

messagefacility 1.16.23, 2016/01/27 (art suite 1.18.05).

messagefacility 1.16.19, 2016/01/11 (art suite 1.18.04).

messagefacility 1.16.18, 2015/12/21 (art suite 1.18.03).

messagefacility 1.16.16, 2015/12/08 (art suite 1.18.02).

messagefacility 1.16.08, 2015/10/21 (art suite 1.18.00, art suite 1.18.01).

  • Remove use of cpp0x.

messagefacility 1.16.22, 2016/01/26 (art suite 1.17.07).

messagefacility 1.16.21, 2016/01/11 (art suite 1.17.06).

messagefacility 1.16.17, 2015/12/14 (art suite 1.17.05).

messagefacility 1.16.07, 2015/10/21 (art suite 1.17.00, art suite 1.17.01, art suite 1.17.02, art suite 1.17.03, art suite 1.17.04).

messagefacility 1.16.05, 2015/10/05 (art suite 1.16.02).

messagefacility 1.16.04, 2015/09/29 (art suite 1.16.00, art suite 1.16.01).

messagefacility 1.16.00, 2015/08/31.

  • Deprecate mf::do_nothing_deleter. A warning will be triggered and a message will be provided at compile time if any users invoke this class (also resolves issue #10042).

Release notes to older versions