Blackhole v0.3.0 Release Notes

Release Date: 2014-10-28 // over 9 years ago
  • โž• Added

    • String formatter now has optional placeholder, which can be fully ignored by the library, when it's not present in a record.
    • ๐Ÿ”ง String formatter now can be configured with prefix, suffix and separator while using optional or variadic placeholders.
    • String formatter has learned some convenient error-handling magic and can tell the User where and what type of error has happened.
    • It's now possible to represent time value structure in local timezone.
    • Any logger-compatible type (based on logger_base_t) can be created through a repository.
    • ๐ŸŒฒ Use compiler extension (cross-platform nonetheless) to check log message format correctness in compile time.
    • ๐Ÿ—„ The library now widely uses deprecated attribute feature, which allows to reduce from version to version migration pain.
    • โž• Added logger trait concept.
    • ๐Ÿ“š A lot of documentation added.

    ๐Ÿ”„ Changed

    • ๐Ÿ”จ Log record has been completely refactored (and documented).
    • Completely dropped all scope-specific stuff. Actually, there are three scopes left, but its management is fully incapsulated into the library.
    • ๐ŸŒฒ Completely dropped blackhole::log::* namespace, because it's already the Logging Library.
    • Logger wrapper can now provide const reference to the underlying logger.
    • โฌ‡๏ธ Dropped 'in situ' substitution mechanism for keyword attributes, because it is creepy and useless.
    • Base config objects now return const references instead of copying.
    • ๐Ÿ‘ Allow to use _ symbol in placeholder name.
    • Attribute value holders are now comparable.
    • Frontend factory now has more convenient interface.
    • ๐Ÿ”ง Using specialized exception instead of more generic while parsing configuration object.
    • More forward declarations, which may be useful with compile time reducing.
    • Pack feeder now has overload that accepts string literal, which allows to avoid unnecessary transformations.
    • Multiple attribute sets is aggregated into single view class, so attribute lookup is performed lazily when it is needed by someone.
    • String formatter now internally uses ADT instead of packed functions.
    • Accelerated variadic placeholder handling in string formatter by approximately 30% via avoiding unnecessary string transformations.

    ๐Ÿ›  Fixed

    • ๐Ÿ–จ Process id attribute is back and its extraction is much cheaper.
    • Message attribute should no longer hangs out with external attributes.
    • ๐Ÿ›  Fix typo in GCC 4.6 detection macro.
    • ๐Ÿ›  Fix compatibility with GCC 4.4, which emitted false-positive warning.
    • ๐Ÿ–จ Blackhole should no longer propagate exception raised from boost::format, while formatting message string. Instead of this an exception reason will be printed as message.