Skip to content
This repository has been archived by the owner on Dec 8, 2020. It is now read-only.

Releases: vectordotdev/timber-elixir

3.1.0 - 2019-02-25

25 Feb 22:19
v3.1.0
eb7f90e
Compare
Choose a tag to compare

Changed

  • Timber.InvalidAPIKeyError is now Timber.Errors.InvalidAPIKeyError
  • Events are no longer nested under the event key.
  • Custom events are no longer nested under the event.custom key, they have simply been moved
    to the root of the document.
  • Custom contexts are no longer nested under the context.custom key, they have simply been
    moved to the root of the document.
  • JSON representations of log events no longer include the $schema key since Timber 2.0
    does not strictly require a schema anymore.
  • All Timber.Events.* and Timber.Contexts.* structs have been deprecated in favor of
    simple maps since Timber 2.0 no longer requires a strict schema. Module docs for each
    module has been updated accordingly.
  • Errors are no longer automatically parsed in the logger backend. Please use the
    :timber_exceptions library if you'd
    like to structure errors. This is a proper approach to structuring these events.
  • Handle unencodable content

3.0.0 - 2018-12-20

20 Dec 22:04
d2b1018
Compare
Choose a tag to compare

Changed

  • Jason is now used for JSON encoding. The
    JSON library can no longer be injected via configuration.
  • msgpax 1.x is no longer supported
  • Logs are now sent in batches of 1000 instead of 5000 to comply with the
    Timber library specification
  • Timber.LoggerBackends.HTTP.TimberAPIKeyInvalid is now Timber.InvalidAPIKeyError

Removed

  • Removed support for Elixir 1.3 and lower
  • Removed integration with Phoenix; use the
    :timber_phoenix package instead
  • Removed integration with Plug; use the
    :timber_plug package instead
  • Removed integration with Ecto; use the
    :timber_ecto package instead
  • Removed integration with ExAws
  • Removed integration with :error_logger; use the
    :timber_exceptions package
    instead
  • Removed the installer (mix timber.install); manual installation is now
    expected
  • Removed the test event Mix task

2.8.4 - 2018-08-14

14 Aug 21:06
2.8.4
55f703c
Compare
Choose a tag to compare

Fixed

  • The hostname caching released in v2.8.3 had the potential to crash the Logger if an application was started between :logger and :timber and made Logger calls. This was because the ETS table holding the cache had not been started by Timber yet. To fix this, the hostname is now cached in the application environment which is guaranteed to be available by that point.

2.8.3 - 2018-08-13

13 Aug 19:38
v2.8.3
f904143
Compare
Choose a tag to compare

Changed

  • The system hostname is now cached after it is fetched the first time.
    Previously, the hostname was fetched every time a log line was formatted for
    output (whether by formatting occured in the console formatter or during
    HTTP transport). This reduces the overhead caused by fetching the hostname.

2.8.2 - 2018-07-01

13 Aug 19:37
Compare
Choose a tag to compare

Changed

  • Allow ~> 2.0 for the :msgpax dependency.

2.8.1 - 2018-06-07

08 Jun 03:09
Compare
Choose a tag to compare

Added

  • Add support for inline context via the :context Logger metadata key.
  • Add Timber.remove_context_key for removing an individual keys off of context structures.

Changed

  • Relax the :plug dependency to allow for more plug versions.

2.8.0 - 2018-04-16

16 Apr 15:52
Compare
Choose a tag to compare

Special thanks in this release to @mitchellhenke for his work on the :error_logger integration!

Added

  • Timber.Integrations.ErrorLogger allows you to include a new OTP :error\_logger handler to better maintain the structure of errors and stacktraces. It also collapses many cases of multi-line logs into a single line.

2.7.0 - 2018-03-22

22 Mar 23:03
Compare
Choose a tag to compare

Added

  • Timber.add_context/2 now allows you to set context either locally or globally;
    Timber.add_context/1 will default to storing the context locally (consistent
    with previous versions of the library)
  • The Timber.LocalContext now manages setting and updating the Timber context
    maintained in the Elixir Logger metadata. This replaces the Timber.CurrentContext
    module. Timber.LocalContext.get/0 should be used where
    Timber.CurrentContext.load/0 was used before, and Timber.LocalContext.put/1
    should be used where Timber.CurrentContext.save/1 was used.

Changed

  • Timber.LogEntry.new/4 will fetch the global context and merge it into the
    local metadata context. The local context will override the global context
    based on the rules for Timber.Context.merge/2
  • Phoenix Channels integration will now accept any channel message payload.
    (Previously, non-map types were dropped and replaced with an empty map.)

Deprecated

  • Timber.CurrentContext has been deprecated in favor of Timber.LocalContext;
    the new name better reflects the purpose of the module. Use of
    Timber.CurrentContext will still be supported for the lifetime of v2

Fixed

  • Phoenix Channels integration with Phoneix 1.3+ will no longer fail if the
    payload of a channel message is a list

2.6.1 - 2017-10-02

02 Oct 22:49
Compare
Choose a tag to compare

Fixed

  • Fixed an error where Timber.Integrations.PhoenixInstrumenter would fail on versions of Phoenix prior to 1.3 that do not pass a :conn key with the phoenix_controller_render/3 :start event.

  • Fixed Timber.Integrations.PhoenixInstrumenter did not define a fall-through for phoenix_controller_render/3 during the :start event for when the third-parameter is in a different format than expected.

  • Fixed Timber.Integrations.PhoenixInstrumenter did not define a fall-through when the instrumentation system sends a default state value for the :stop event on phoenix_controller_render/3.

2.6.0 - 2017-09-28

28 Sep 18:06
Compare
Choose a tag to compare

Changed

  • Logger backends now conform to the :gen_event behaviour rather than calling the GenEvent.__using__/1 macro which is deprecated in Elixir 1.5.0 and above. The change is backwards compatible since :gen_event is provided by all supported versions of Erlang.