|
1 | 1 | # Changelog
|
2 | 2 |
|
3 |
| -All notable changes to this project will be documented in this file. |
| 3 | +This covers changes for versions 3.0 and higher. The changelog for 2.x releases |
| 4 | +can be found in the [v2.x |
| 5 | +branch](https://github.com/timberio/timber-elixir/blob/v2.x/CHANGELOG.md). |
4 | 6 |
|
5 | 7 | The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
6 |
| -and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). |
| 8 | +and this project adheres to [Semantic |
| 9 | +Versioning](http://semver.org/spec/v2.0.0.html). |
7 | 10 |
|
8 | 11 | ## [Unreleased]
|
9 | 12 |
|
10 |
| -## [2.8.3] - 2018-08-13 |
| 13 | +## [3.0.0] - 2018-12-20 |
11 | 14 |
|
12 | 15 | ### Changed
|
13 | 16 |
|
14 |
| - - The system hostname is now cached after it is fetched the first time. |
15 |
| - Previously, the hostname was fetched every time a log line was formatted for |
16 |
| - output (whether by formatting occured in the console formatter or during |
17 |
| - HTTP transport). This reduces the overhead caused by fetching the hostname. |
18 |
| - |
19 |
| -## [2.8.2] - 2018-07-01 |
20 |
| - |
21 |
| -### Changed |
22 |
| - |
23 |
| - - Allow `~> 2.0` for the `:msgpax` dependency. |
24 |
| - |
25 |
| -## [2.8.1] - 2018-06-07 |
26 |
| - |
27 |
| -### Added |
28 |
| - |
29 |
| - - Add support for inline context via the `:context` `Logger` metadata key. |
30 |
| - - Add `Timber.remove_context_key` for removing an individual keys off of context structures. |
31 |
| - |
32 |
| -### Changed |
33 |
| - |
34 |
| - - Relax the `:plug` dependency to allow for more plug versions. |
35 |
| - |
36 |
| -## [2.8.0] - 2018-04-16 |
37 |
| - |
38 |
| -### Added |
39 |
| - |
40 |
| - - `Timber.Integrations.ErrorLogger` allows you to include a new OTP |
41 |
| - `:error\_logger` handler to better maintain the structure of errors and |
42 |
| - stacktraces. It also collapses many cases of multi-line logs into a single |
43 |
| - line. |
44 |
| - |
45 |
| -### Fixed |
46 |
| - |
47 |
| - - Fixed Logger metadata to use the pid from the Logger event and fall back |
48 |
| - to `self()`. |
49 |
| - |
50 |
| - - Fix an issue with the regular expression that detects the Router during |
51 |
| - installation. |
52 |
| - |
53 |
| - - Fix an issue with being able to skip files during installation when multiple |
54 |
| - files match. |
55 |
| - |
56 |
| -## [2.7.0] - 2018-03-22 |
57 |
| - |
58 |
| -### Added |
59 |
| - |
60 |
| - - `Timber.add_context/2` now allows you to set context either locally or globally; |
61 |
| - `Timber.add_context/1` will default to storing the context locally (consistent |
62 |
| - with previous versions of the library) |
63 |
| - - The `Timber.LocalContext` now manages setting and updating the Timber context |
64 |
| - maintained in the Elixir Logger metadata. This replaces the `Timber.CurrentContext` |
65 |
| - module. `Timber.LocalContext.get/0` should be used where |
66 |
| - `Timber.CurrentContext.load/0` was used before, and `Timber.LocalContext.put/1` |
67 |
| - should be used where `Timber.CurrentContext.save/1` was used. |
68 |
| - |
69 |
| -### Changed |
70 |
| - |
71 |
| - - `Timber.LogEntry.new/4` will fetch the global context and merge it into the |
72 |
| - local metadata context. The local context will override the global context |
73 |
| - based on the rules for `Timber.Context.merge/2` |
74 |
| - - Phoenix Channels integration will now accept _any_ channel message payload. |
75 |
| - (Previously, non-map types were dropped and replaced with an empty map.) |
76 |
| - |
77 |
| -### Deprecated |
78 |
| - |
79 |
| - - `Timber.CurrentContext` has been deprecated in favor of `Timber.LocalContext`; |
80 |
| - the new name better reflects the purpose of the module. Use of |
81 |
| - `Timber.CurrentContext` will still be supported for the lifetime of v2 |
82 |
| - |
83 |
| -### Fixed |
84 |
| - |
85 |
| - - Phoenix Channels integration with Phoneix 1.3+ will no longer fail if the |
86 |
| - payload of a channel message is a list |
87 |
| - |
88 |
| -## [2.6.1] - 2017-10-02 |
89 |
| - |
90 |
| -### Fixed |
91 |
| - |
92 |
| - - Fixed an error where `Timber.Integrations.PhoenixInstrumenter` would fail |
93 |
| - on versions of Phoenix prior to 1.3 that do not pass a `:conn` key with the |
94 |
| - `phoenix_controller_render/3` `:start` event. |
95 |
| - |
96 |
| - - Fixed `Timber.Integrations.PhoenixInstrumenter` did not define a |
97 |
| - fall-through for `phoenix_controller_render/3` during the `:start` event for |
98 |
| - when the third-parameter is in a different format than expected. |
99 |
| - |
100 |
| - - Fixed `Timber.Integrations.PhoenixInstrumenter` did not define a |
101 |
| - fall-through when the instrumentation system sends a default state value for |
102 |
| - the `:stop` event on `phoenix_controller_render/3`. |
103 |
| - |
104 |
| -## [2.6.0] - 2017-09-28 |
105 |
| - |
106 |
| -### Changed |
107 |
| - |
108 |
| - - Logger backends now conform to the `:gen_event` behaviour rather than calling |
109 |
| - the `GenEvent.__using__/1` macro which is deprecated in Elixir 1.5.0 and |
110 |
| - above. The change is backwards compatible since `:gen_event` is provided by |
111 |
| - all supported versions of Erlang. |
112 |
| - |
113 |
| -## [2.5.6] - 2017-09-28 |
114 |
| - |
115 |
| -### Fixed |
116 |
| - |
117 |
| - - Fixed an error where `Timber.Integrations.PhoenixInstrumenter` would cause |
118 |
| - an error during blacklist checks if the blacklist had not been set up. |
119 |
| - |
120 |
| - - Fixed an error where `Timber.Integrations.PhoenixInstrumenter` would fail on render |
121 |
| - events for `conn` structs that did not have a controller or action set. For |
122 |
| - example, when a `conn` did not match listed routes, a `404.html` template |
123 |
| - would be rendered that did not have a controller or action. The render event |
124 |
| - would still be triggered though. |
125 |
| - |
126 |
| -## [2.5.5] - 2017-09-21 |
127 |
| - |
128 |
| -### Fixed |
129 |
| - |
130 |
| - - `Timber.Events.HTTPRepsonseEvent` no longer enforces the `:time_ms` key on |
131 |
| - the struct. This brings it in line with the specification |
132 |
| - |
133 |
| -## [2.5.4] - 2017-09-18 |
134 |
| - |
135 |
| -### Fixed |
136 |
| - |
137 |
| - - Fixed a bug within the installer where HTTP log delivery was being used on platforms that |
138 |
| - should use STDOUT / :console. |
139 |
| - |
140 |
| -### Added |
141 |
| - |
142 |
| - - Support for blacklisting controller actions with |
143 |
| - `Timber.Integrations.PhoenixInstrumenter`. This will suppress log lines |
144 |
| - from being written for any controller/action pair. |
145 |
| - |
146 |
| -[Unreleased]: https://github.com/timberio/timber-elixir/compare/v2.8.3...HEAD |
147 |
| -[2.8.3]: https://github.com/timberio/timber-elixir/compare/v2.8.2...v2.8.3 |
148 |
| -[2.8.2]: https://github.com/timberio/timber-elixir/compare/v2.8.1...v2.8.2 |
149 |
| -[2.8.1]: https://github.com/timberio/timber-elixir/compare/v2.8.0...v2.8.1 |
150 |
| -[2.8.0]: https://github.com/timberio/timber-elixir/compare/v2.7.0...v2.8.0 |
151 |
| -[2.7.0]: https://github.com/timberio/timber-elixir/compare/v2.6.1...v2.7.0 |
152 |
| -[2.6.1]: https://github.com/timberio/timber-elixir/compare/v2.6.0...v2.6.1 |
153 |
| -[2.6.0]: https://github.com/timberio/timber-elixir/compare/v2.5.6...v2.6.0 |
154 |
| -[2.5.6]: https://github.com/timberio/timber-elixir/compare/v2.5.5...v2.5.6 |
155 |
| -[2.5.5]: https://github.com/timberio/timber-elixir/compare/v2.5.4...v2.5.5 |
156 |
| -[2.5.4]: https://github.com/timberio/timber-elixir/compare/v2.5.3...v2.5.4 |
| 17 | + - [Jason](https://hex.pm/packages/jason) is now used for JSON encoding. The |
| 18 | + JSON library can no longer be injected via configuration. |
| 19 | + - [`msgpax`](https://hex.pm/packages/msgpax) 1.x is no longer supported |
| 20 | + - Logs are now sent in batches of 1000 instead of 5000 to comply with the |
| 21 | + Timber library specification |
| 22 | + - `Timber.LoggerBackends.HTTP.TimberAPIKeyInvalid` is now `Timber.InvalidAPIKeyError` |
| 23 | + |
| 24 | +### Removed |
| 25 | + |
| 26 | + - Removed support for Elixir 1.3 and lower |
| 27 | + - Removed integration with Phoenix; use the |
| 28 | + [`:timber_phoenix`](https://hex.pm/packages/timber_phoenix) package instead |
| 29 | + - Removed integration with Plug; use the |
| 30 | + [`:timber_plug`](https://hex.pm/packages/timber_plug) package instead |
| 31 | + - Removed integration with Ecto; use the |
| 32 | + [`:timber_ecto`](https://hex.pm/packages/timber_ecto) package instead |
| 33 | + - Removed integration with ExAws |
| 34 | + - Removed integration with `:error_logger`; use the |
| 35 | + [`:timber_exceptions`](https://hex.pm/packages/timber_exceptions) package |
| 36 | + instead |
| 37 | + - Removed the installer (`mix timber.install`); manual installation is now |
| 38 | + expected |
| 39 | + - Removed the test event Mix task |
0 commit comments