The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
0.023   2017-08-03 (PERLANCAR)

        - [Internal] Change the numeric values of level, to accomodate more room
          for custom levels".

	- Defer set default null routines so other module can customize
	  levels.


0.022   2017-08-03 (PERLANCAR)

	- [Bugfix] Fix stupid copy-paste mistake [RT#122687].

	- [doc] Fix copy-paste mistake [RT#122689].


0.021   2017-08-02 (PERLANCAR)

	- [Bugfix] Output, Layout: set() now properly replaces hooks from
	  previous output/layout plugin (need to remove from all phases).

        - Add output for testing: ArrayML.


0.020   2017-07-30 (PERLANCAR)

	- [ux] Enable $Data::Dmp::OPT_REMOVE_PRAGMAS.


0.019   2017-07-14 (PERLANCAR)

	- [Bugfix] Forgot to create preconstructed default null-loggers for
	  object target.


0.018   2017-07-14 (PERLANCAR)

	- use Log::ger::Format 'Foo' now sets for current package instead
	  of globally (but the other plugins like Log::ger::Output or
	  Log::ger::Layout still defaults to setting globally).


0.017   2017-07-13 (PERLANCAR)

        - No functional changes.

        - [doc] Update some benchmark numbers.


0.016   2017-07-13 (PERLANCAR)

	- Reduce startup overhead by splitting some parts of Log::ger to
	  Log::ger::Heavy. When user loads modules that have 'use Log::ger', but
	  never adds any outputs (which is a pretty common case when user just
	  uses a module without setting up any logging), then we can cheat by
	  skipping init_target() and just installs the null, default-named
	  logging routines. So we split the part that does real init_target() to
	  Log::ger::Heavy, similar to how Carp & Carp::Heavy was split. This
	  reduces startup overhead significantly. When user loads Log::ger::Util
	  (e.g. to run set_plugin()) or when some hooks are added, then we load
	  Log::ger::Heavy.


0.015   2017-07-12 (PERLANCAR)

	- [Bugfix] Used the wrong key to get per-object hooks.


0.014   2017-07-11 (PERLANCAR)

	- Pass 'formatters' and 'layouter' arguments to
	  before_install_routines hook.


0.013   2017-07-11 (PERLANCAR)

	- Allow multiple formatters.


0.012   2017-07-02 (PERLANCAR)

	- [optimize] init_target: Reuse multilevel log routine from hook
	  for log routines of all levels.

	- [Bugfix] Fix string level passed to layouter when logger is a
	  multilevel logger.


0.011   2017-06-30 (PERLANCAR)

        - [Incompatible change] In hook argument "routines", change $flags to
          $type to be more general. The value can be 'log_sub', 'log_method',
          'logml_sub', 'logml_method', 'is_sub', 'is_method'.

        - Support multilevel log statement log($level, ...) by using
          LGP:MultilevelLog (included in core distribution).

        - [Internal] Introduce phase 'create_logml_routine'.

        - [Test] Add test for LG:Format::None.

        - [Bugfix] reinit_target() didn't find the correct hash key.


0.010   2017-06-28 (PERLANCAR)

	- [Bugfix] Don't install log methods to package (vice versa, don't
	  install log subroutines to object package).

	- [doc] Remove mention of filter.


0.009   2017-06-28 (PERLANCAR)

        - Remove Log::ger::Filter and 'create_filter' phase because they are
          unused.

        - Add Layout.

        - Add formatter: None.


0.008   2017-06-26 (PERLANCAR)

	- Util: Add string_level().


0.007   2017-06-25 (PERLANCAR)

	- Add custom level test.

	- Add output: Array.


0.006   2017-06-24 (PERLANCAR)

	- [Bugfix] Use the correct package when initializing object.


0.005   2017-06-23 (PERLANCAR)

        - [Incompatible change] Another round of internal refactoring and
          interface changes. New: Log::ger::{Plugin,Format,Filter}. Every plugin
          (including filter, format, output) can be set on a per-target basis or
          globally. The term 'hooks' is in again. Add 'create_routine_names'
          phase. Remove 'after_create_log_routine',
          'after_create_log_is_routine'. Move FAQ & internals doc to
          Log-ger-Manual dist.


0.004   2017-06-21 (PERLANCAR)

	- [Bugfix] Log::ger::Output didn't have VERSION.


0.003   2017-06-21 (PERLANCAR)

	- Split Log::ger::Output::Screen to its own dist so this dist can be
	  more minimalist and that module can be tested e.g. with Capture::Tiny
	  etc.

	- String output: add option append_newline to allow disable
	  appending newline.

	- import(): No need to turn category 'Foo::Bar' -> 'foo.bar'.

	- [doc] Update module name Log::ger::LogAny -> Log::ger::Output::LogAny.


0.002   2017-06-21 (PERLANCAR)

        - [Incompatible change] Reorganize internals & fix a couple of doc
          typos.

        - Add outputs: Null, String (mainly for testing).

        - Formatter: format undef as '<undef>' like in Log::Any.

        - Screen output: Add hooks for
          Progress::Any::Output::TermProgressBarColor, like in
          Log::Any::Adapter::Screen.

        - Add some tests.


0.001   2017-06-19 (PERLANCAR)

        - First release.