This repository was archived by the owner on Dec 8, 2020. It is now read-only.
Commit d2b1018
authored
3.0.0 Release (#314)
* Prepare 3.0 development
This commit is designed to prepare for 3.0+ development. In Timber
Elixir 3.0+, integration with other libraries will be done through
additional libraries in order to allow for better dependency management
and compilation guarantees. Timber Elixir 3.0+ will be required for
Elixir 1.7+ support.
All of the integration-specific code has been removed except for the
installer code. The installer code needs to be updated to appropriately
update the mix.exs files with the relevant integration libraries and
use the updated module names.
The weird dependency listing logic has been removed from mix.exs.
The README has also been fixed so that the markdown now renders
correctly.
This fixes the .formatter.exs file to look at the root `lib` folder.
This change adds Elixir 1.7.2 to the list of versions that Travis tests
for.
Addresses #298, fixes #209, fixes #162
* Change supported Elixir versions to ~> 1.4
The Timber library will now only support Elixir versions 1.4 and higher. To use
Timber with Elixir 1.3 (which support was removed for), please use a release
from the 2.x branch.
Supporting only Elixir 1.4+ will allow us to take advantage of the new Jason
library which is easier to maintain support for.
* Remove installer
This removes the installer. This decision was made because the
installer, while valuable, is difficult to maintain and has introduced a
number of bugs for end-users. Manual installation is now the preferred
method.
* Clean up and organize documentation
This organizes the documentation by providing groupings for the events and
contexts so they appear under headers in the ExDoc rendering. It also moves some
of the internal helper modules to not expose any documentation.
* Remove Timber.CurrentContext module
The Timber.CurrentContext module is deprecated and was slated for removal in the
3.x line. Its usecase is now handled by Timber.LocalContext.
* Provide InMemory Logger backend for testing
This provides the InMemory Logger backend for testing purposes. The InMemory
backend was previously only available as the TestLoggerBackend as a test support
module. This moves the module to the library code (instead of test support code)
so any code dependent on the library can utilize the InMemory logger.
The InMemory logger is only intended to be used for testing dependent libraries,
not for production use.
* Remove unused macro skip_min_elixir_version/1
This removes the unused macro skip_min_elixir_version/1 which was only used for
testing the exceptions integration. This has now been moved to the exceptions
integration library.
* Remove unused helper function parse_log_line/1
This removes the unused test helper function `parse_log_line/1`.
* Move FakeHTTPClient to Timber.HTTPClients.Fake
This makes the FakeHTTPClient, which was a testing support module, to
Timber.HTTPClients.Fake so that it can be utilized by dependent code for
testing.
* Add Test Helpers documentation group
This adds the Test Helpers documentation group to properly contain the
Timber.HTTPClients.Fake and Timber.LoggerBackends.InMemory modules which are
designed for dependent code to test with and not for use with production code.
* Prepare 3.0.0-alpha.2 release
This increments the version of the library to prepare the 3.0.0-alpha.2 release
which is needed by the new exceptions library. It fixes some inconsistencies in
the available test helpers for code dependent on the library.
* Clean up configuration files
This cleans up the config.exs to consolidate configuration blocks and remove
unused keys.
* Use the Jason library for JSON encoding
This changes the JSON encoding paths to use Jason instead of Poison. Like
Poison, Jason is a pure Elixir JSON library, but it has a focus on standards
compliance and speed. It is intended to become the default JSON library on a
number of large Elixir projects including Phoenix. Although Poison 4 was
recently released, Poison lingered for nearly a year without critical bug fixes
being addressed. Poison's interface was also inconsistent and poorly documented
for error cases.
With the switch to Jason, Elixir 1.3 and below can no longer be supported since
Jason relies on Elixir 1.4 and above.
This also removes the ability for the end-developer to inject the JSON library
via configuration. While this is a nice concept in theory, it also introduced
the strong chance the library would not correspond to the expected behavior of
the Timber library logic. Removing this ability ensures we know what is
happening in critical code paths.
As part of this change, I had to address the fact that some tests hard-coded
expected JSON output. Poison output small maps as JSON with a deterministic key
order, so tests passed when using Poison, but the library did not publicize this
as a guarantee. Jason does not have the same determinism for small maps. I
changed these tests to decode the JSON payload and test membership and content.
* Remove support for msgpax 1.x
This removes support for msgpax 1.x. The 2.x line introduces a number of
benefits including better error messaging and optimized packing. Continuing to
support the 1.x line introduces too much complexity and variation in what can go
wrong with such a critical dependency.
* Format changelog
This updates the changelog to break some run-on lines
* Prepare v3.0.0-alpha.3 release
* Remove unused configuration functions
This removes configuration functions that were previously used for integrations
and thus are no longer required in the core library.
* Automatically post test coverage results to Coveralls
This uses `mix coveralls.travis` to automatically post test coverage information
to Coveralls using Travis' built-in authentication mechanism.
* Fix automatic posting of Coveralls report
This fixes an error where the incorrect command to generate the
coveralls report was called.
* Reduce max buffer size to 1000
This reduces the max buffer size to 1000 from 5000 to adhere to the
Timber library specification.
* Updates the user-agent field for HTTP requests
This updates the user-agent field for HTTP requests to comply with the
Timber library specification. So the user-agent field will now appear as
`timber-elixir/3.0.0-alpha.3` instead of `Timber Elixir/3.0.0-alpha.3
(HTTP)`.
* Add InchEx for documentation analysis
This adds InchEx for documentation analysis. This is used to check
compliance with the Timber library specification.
* Fix Credo errors
This fixes files to bring them inline with Credo expectations. It also adds
Credo to the Travis runs.
Additionally, the exception module
`Timber.LoggerBackends.HTTP.TimberAPIKeyInvalid` is renamed to
`Timber.InvalidAPIKeyError` in order to comply with Elixir module naming rules
for exception modules (i.e., they need to end in `Error`). It is also
appropriate that it is its own module rather than being nested inside the HTTP
backend.
* Add adherence document for the Timber library specification
This adds the adherence document for the Timber library specification which is a
checklist based on the specification.
* Make Timber.LocalContext public again
The Timber.LocalContext module is actually supposed to be public and it was my
mistake to make it ostensibly private by removing the @moduledoc. Users are
expected to use the get/0 and save/1 functions to transfer context across
process boundaries.
* update for 3.0.0 release
* restrict inch_ex version
* format file1 parent a26496c commit d2b1018
File tree
84 files changed
+529
-5842
lines changed- config
- lib
- mix/tasks/timber
- install
- timber
- events
- http_clients
- integrations
- logger_backends
- utils
- test
- lib
- mix/tasks/timber
- install
- timber
- events
- integrations
- logger_backends
- support
- installer
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
84 files changed
+529
-5842
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
3 | | - | |
| 2 | + | |
| 3 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
15 | 18 | | |
16 | 19 | | |
17 | 20 | | |
| |||
22 | 25 | | |
23 | 26 | | |
24 | 27 | | |
25 | | - | |
| 28 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
4 | 5 | | |
5 | 6 | | |
6 | 7 | | |
7 | | - | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
17 | 13 | | |
18 | 14 | | |
19 | 15 | | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | 16 | | |
25 | 17 | | |
26 | 18 | | |
| |||
34 | 26 | | |
35 | 27 | | |
36 | 28 | | |
| 29 | + | |
| 30 | + | |
37 | 31 | | |
38 | 32 | | |
39 | 33 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
4 | 6 | | |
5 | 7 | | |
6 | | - | |
| 8 | + | |
| 9 | + | |
7 | 10 | | |
8 | 11 | | |
9 | 12 | | |
10 | | - | |
| 13 | + | |
11 | 14 | | |
12 | 15 | | |
13 | 16 | | |
14 | | - | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | | - | |
116 | | - | |
117 | | - | |
118 | | - | |
119 | | - | |
120 | | - | |
121 | | - | |
122 | | - | |
123 | | - | |
124 | | - | |
125 | | - | |
126 | | - | |
127 | | - | |
128 | | - | |
129 | | - | |
130 | | - | |
131 | | - | |
132 | | - | |
133 | | - | |
134 | | - | |
135 | | - | |
136 | | - | |
137 | | - | |
138 | | - | |
139 | | - | |
140 | | - | |
141 | | - | |
142 | | - | |
143 | | - | |
144 | | - | |
145 | | - | |
146 | | - | |
147 | | - | |
148 | | - | |
149 | | - | |
150 | | - | |
151 | | - | |
152 | | - | |
153 | | - | |
154 | | - | |
155 | | - | |
156 | | - | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
0 commit comments