1# `miette` Release Changelog
2
3<a name="5.10.0"></a>
4## 5.10.0 (2023-07-16)
5
6### Features
7
8* **protocol:** add StdError impl for Box<dyn Diagnostic + Send + Sync> (#273) ([2e3e5c9d](https://github.com/zkat/miette/commit/2e3e5c9d15e234495369e9b47d032644dd5664ad))
9
10<a name="5.9.0"></a>
11## 5.9.0 (2023-05-18)
12
13### Features
14
15* **serde:** Add `serde` support (#264) ([c25676cb](https://github.com/zkat/miette/commit/c25676cb1f4266c2607836e6359f15b9cbd8637e))
16* **const:** Constify various functions (#263) ([46adb3bc](https://github.com/zkat/miette/commit/46adb3bc6aa6518d82a4187b34c56e287922136f))
17* **nested:** Render inner diagnostics (#170) ([aefe3237](https://github.com/zkat/miette/commit/aefe323780bda4e60feb44bb96ee98634ad677ad))
18
19### Bug Fixes
20
21* **misc:** Correct some typos (#255) ([675f3411](https://github.com/zkat/miette/commit/675f3411e33d5fae86d4018c3b72f751a4c4bc2f))
22
23<a name="5.8.0"></a>
24## 5.8.0 (2023-04-18)
25
26### Features
27
28* **source:** Add getter for NamedSource name (#252) ([be3b2547](https://github.com/zkat/miette/commit/be3b25475147e92fae631b510c8de22949eada45))
29
30### Bug Fixes
31
32* **narrated:** put URLs in their own line ([adbff65e](https://github.com/zkat/miette/commit/adbff65e4ed52103569a3a5cd09c1bee79f8e361))
33
34<a name="5.7.0"></a>
35## 5.7.0 (2023-04-01)
36
37While this is a semver-minor release, there's potential for it to have
38knock-on effects due to the syn2 upgrade. There's been issues as this new
39version propagates between syn/thiserror versions (for example, see [a similar
40change in eyre](https://github.com/yaahc/eyre/pull/92)).
41
42The other thing of note is that backtrace printing is now **much** better! Try
43the hook and see for yourself!
44
45### Features
46
47* **deps:** update to syn2 (#247) ([a2157205](https://github.com/zkat/miette/commit/a215720576fbda249138808f3469017d81eda9f0))
48* **panic:** improved backtrace handling ([b0453215](https://github.com/zkat/miette/commit/b0453215f62318bedeb4af1cb00dcefbb739d619))
49
50### Bug Fixes
51
52* **colors:** change unicode to default to ansi (#249) ([159f2b35](https://github.com/zkat/miette/commit/159f2b354b7ea83f842a58be98c45d0175b1faad))
53* **tests:** disable doctest that doesn't work with default feature flags (#248) ([0b445dc2](https://github.com/zkat/miette/commit/0b445dc2b4b30d40f03defc130bfa3e7396b51d4))
54
55<a name="5.6.0"></a>
56## 5.6.0 (2023-03-14)
57
58### Bug Fixes
59
60* **ci:** configure clippy-specific MSRV ([b658fc02](https://github.com/zkat/miette/commit/b658fc020b23b0715339c5c60f7c12c947f9a747))
61* **graphical:** Fix wrong severity of related errors (#234) ([3497508a](https://github.com/zkat/miette/commit/3497508aa9b8d8503d7aae997738a4323408ffa0))
62* **atty:** Switch out `atty` for `is-terminal` (#229) ([443d240f](https://github.com/zkat/miette/commit/443d240f49e9f48756ee88e4cdc377f09d44454e))
63
64### Features
65
66* **protocol:** implement `Ord` for `Severity` (#240) ([ed486c95](https://github.com/zkat/miette/commit/ed486c959d8e8fbd4247af7d47d7e32c8a88321d))
67
68<a name="5.5.0"></a>
69## 5.5.0 (2022-11-24)
70
71### Features
72
73* **SourceCode:** Implement SourceCode for Vec<u8> (#216) ([c857595e](https://github.com/zkat/miette/commit/c857595e1ae689028c5c5b66148e81b175eaa509))
74
75### Bug Fixes
76
77* **derive:** elide lifetimes in derived functions (#226) ([c88f0b5a](https://github.com/zkat/miette/commit/c88f0b5aa0786a0f4bb778686548f91db96ea6af))
78* **graphical:** Fix panic with span extending past end of line (#221) ([8b56d277](https://github.com/zkat/miette/commit/8b56d277ef476438a1c7383c29f6c1a0a1684818))
79* **license:** fix mangled license text to improve recognition ([d5fbb340](https://github.com/zkat/miette/commit/d5fbb3409c7cc950c502eb77578d5f1062384fb5))
80
81<a name="5.4.1"></a>
82## 5.4.1 (2022-10-28)
83
84### Bug Fixes
85
86* **graphical:** Fix panic with zero-width span at end of line (#204) ([b8810ee3](https://github.com/zkat/miette/commit/b8810ee3d8aee7d7723e081616dd4f2fe8748abe))
87
88<a name="5.4.0"></a>
89## 5.4.0 (2022-10-25)
90
91### Features
92
93* **version:** declare minimum supported rust version at 1.56.0 (#209) ([ac02a124](https://github.com/zkat/miette/commit/ac02a1242b1d6452a428846d2a84d2ac164fd914))
94* **report:** `Report::new_boxed` ([0660d2f4](https://github.com/zkat/miette/commit/0660d2f43c0a793b1e289b26bcca73c8733bdcff))
95* **error:** `impl AsRef<dyn StdError> for Report` ([1a27033d](https://github.com/zkat/miette/commit/1a27033d7afd0007907550b1fc9d589d6f658662))
96
97### Bug Fixes
98
99* **wrapper:** complete forwarding `Diagnostic` implementations ([3fc5c04c](https://github.com/zkat/miette/commit/3fc5c04cbbd4b92863290a488a23d5243c16fe60))
100
101<a name="5.3.1"></a>
102## 5.3.1 (2022-09-10)
103
104### Bug Fixes
105
106* **miri:** Resolve Miri's concerns around unsafe code (#197) ([5f3429b0](https://github.com/zkat/miette/commit/5f3429b0626034328a0c2f1317b8a0e712c63775))
107* **graphical:** Align highlights correctly with wide unicode characters and tabs (#202) ([196c09ce](https://github.com/zkat/miette/commit/196c09ce7af9e54b63aaa5dae4cd199f2ecba3fa))
108
109<a name="5.3.0"></a>
110## 5.3.0 (2022-08-10)
111
112### Bug Fixes
113
114* **utils:** Fix off-by-one error in SourceOffset::from_location (#190) ([c3e6c983](https://github.com/zkat/miette/commit/c3e6c983363af7f7a88e52d50d57404defb1bf49))
115
116### Features
117
118* **graphical:** Allow miette users to opt-out of the rendering of the cause chain (#192) ([b9ea5871](https://github.com/zkat/miette/commit/b9ea587159464c0090d9510567e5ea93bb772b49))
119
120<a name="5.2.0"></a>
121## 5.2.0 (2022-07-31)
122
123### Features
124
125* **json:** `causes` support (#188) ([c95f58c8](https://github.com/zkat/miette/commit/c95f58c87a1335e956be23879754ac312a2b0853))
126
127### Bug Fixes
128
129* **docs:** readme was getting cut off during generation ([e286c705](https://github.com/zkat/miette/commit/e286c705fda28c02df67a584c0a013a1bbc38968))
130
131<a name="5.1.1"></a>
132## 5.1.1 (2022-07-09)
133
134### Bug Fixes
135
136* **deps:** bump minimum supports-color version (#182) ([ccf1b8ad](https://github.com/zkat/miette/commit/ccf1b8ade5b631e05fad79d1f9c5d268706d118e))
137* **graphical:** handle an empty source (#183) ([12dc4007](https://github.com/zkat/miette/commit/12dc40070a99ac91b67e23f7c15ce8151965fc81))
138
139<a name="5.1.0"></a>
140## 5.1.0 (2022-06-25)
141
142### Features
143
144* **protocol:** Implement SourceCode for Arc<str> (and similar types) (#181) ([85da6a84](https://github.com/zkat/miette/commit/85da6a8407ef727b8f77184b8a61f5b9a7d3ccef))
145
146<a name="5.0.0"></a>
147## 5.0.0 (2022-06-24)
148
149### Breaking Changes
150
151* **theme:** restructure automatic color selection (#177) ([1816b06a](https://github.com/zkat/miette/commit/1816b06a2efcd5705dfe91147ab5651fe0b517d6))
152    * The default theme now prefers ANSI colors, even if RGB is supported
153    * `MietteHandlerOpts::ansi_colors` is removed
154    * `MietteHandlerOpts::rgb_color` now takes an enum that controls the color
155      format used when color support is enabled, and has no effect otherwise.
156
157### Bug Fixes
158
159* **json:** Don't escape single-quotes, that's not valid json (#180) ([b193d3c0](https://github.com/zkat/miette/commit/b193d3c002be8a42fd199911cef3465e2e0cb593))
160
161<a name="4.7.1"></a>
162## 4.7.1 (2022-05-13)
163
164### Bug Fixes
165
166* **tests:** add Display impl to diagnostic_source example ([0a4cf4ad](https://github.com/zkat/miette/commit/0a4cf4ad24eb668d6668400b9ab3e8c896b33e3a))
167
168<a name="4.7.0"></a>
169## 4.7.0 (2022-05-05)
170
171### Features
172
173* **diagnostic_source:** add protocol method for Diagnostic-aware source chaining (#165) ([bc449c84](https://github.com/zkat/miette/commit/bc449c842662909d93d3a6b7e117fdbde77544e7))
174
175### Documentation
176
177* **IntoDiagnostic:** Warn of potential data loss (#161) ([2451ad6a](https://github.com/zkat/miette/commit/2451ad6a963c222831977e89542a7349b66f11cf))
178
179<a name="4.6.0"></a>
180## 4.6.0 (2022-04-23)
181
182### Features
183
184* **spans:** add From shorthand for zero-length SourceSpans ([1e1d6152](https://github.com/zkat/miette/commit/1e1d61525381a6699deba103a3829874676eee9c))
185* **related:** print related prefixes according to severity (#158) ([084ed138](https://github.com/zkat/miette/commit/084ed138b7598d549f38fe873a758d0ed03ef2b1))
186
187### Bug Fixes
188
189* **graphical:** fix issue with duplicate labels when span len is 0 (#159) ([1a36fa7e](https://github.com/zkat/miette/commit/1a36fa7ec80de77e910e04cdb902270970611b39))
190
191<a name="v4.5.0"></a>
192## 4.5.0 (2022-04-18)
193
194### Features
195
196* **spans:** make SourceSpan implement Copy (#151) ([5e54b29a](https://github.com/zkat/miette/commit/5e54b29acf87eacf0a0255a9d3db8966de697fcf))
197* **help:** update macro to allow optional help text (#152) ([45093c2f](https://github.com/zkat/miette/commit/45093c2f587a281a37e80141d126d87944ca75b5))
198* **labels:** allow optional labels in derive macro (#153) ([23ee3642](https://github.com/zkat/miette/commit/23ee3642d198ff4f78af9729d7a5223b0c676d1f))
199* **help:** allow non-option values in #[help] fields ([ea55f458](https://github.com/zkat/miette/commit/ea55f458fa8acabc1c7e001c405f90025d6dbafc))
200* **label:** use macro magic instead of optional flag for optional labels ([9da62cd0](https://github.com/zkat/miette/commit/9da62cd05d777f8bd962f1fe94a75c47b11ee07e))
201
202### Bug Fixes
203
204* **theme:** set correct field in MietteHandlerOpts::ansi_colors (#150) ([97197601](https://github.com/zkat/miette/commit/97197601ee8f36fedb559c9c8b2d73ce5b0ca0ee))
205
206<a name="v4.4.0"></a>
207## 4.4.0 (2022-04-04)
208
209### Features
210
211* **report:** Add conversion from Report to Box<dyn Error> (#149) ([b4a9d4cd](https://github.com/zkat/miette/commit/b4a9d4cd9bc43720613b7d2bb6b521d51922c6b8))
212
213### Bug Fixes
214
215* **docsrs:** use proper module names for docsrs URLs ([a0b972f8](https://github.com/zkat/miette/commit/a0b972f8765040fdbb08fdbe006ceb4dbc9c31f2))
216* **clippy:** misc clippy fixes ([b98b0982](https://github.com/zkat/miette/commit/b98b09828215ffc623aa17aa0bc8a6f45173a3f0))
217* **fmt:** cargo fmt ([37cda4a3](https://github.com/zkat/miette/commit/37cda4a3a456060050e42a199a68ab86ee679f79))
218
219<a name="v4.3.0"></a>
220## 4.3.0 (2022-03-27)
221
222### Features
223
224* **reporter:** Allow GraphicalReportHandler to disable url display (#137) ([b6a6cc9e](https://github.com/zkat/miette/commit/b6a6cc9e75198e53f1413c88694d950006833e05))
225
226### Bug Fixes
227
228* **colors:** handler_opts.color(false) should disable color (#133) ([209275d4](https://github.com/zkat/miette/commit/209275d4377fcaf397bde931f2972a1b7d8ce55c))
229* **handler:** Apply MietteHandlerOpts::graphical_theme (#138) ([70e84f9a](https://github.com/zkat/miette/commit/70e84f9a019008a38ed22416f1fc399d32f50db4))
230
231### Documentation
232
233* **readme:** Fix a couple links (#141) ([126ffc58](https://github.com/zkat/miette/commit/126ffc5834683726fc8efff6604735f8cc806f9b))
234
235### Miscellaneous Tasks
236
237* **deps:** Update textwrap to 0.15.0 (#143) ([2d0054b3](https://github.com/zkat/miette/commit/2d0054b3c9bf1f6bdbea624ba65593ca41f03999))
238
239<a name="v4.2.1"></a>
240## 4.2.1 (2022-02-25)
241
242### Bug Fixes
243
244* **handlers:** source code propagation for JSON handler (#122) ([50bcec90](https://github.com/zkat/miette/commit/50bcec909aa60c20d4981484195130fbb9f3cacb))
245* **clippy:** 1.59.0 clippy fix ([fa5b5fee](https://github.com/zkat/miette/commit/fa5b5fee549e53e9cf0c1d946bef242eebee6c48))
246* **docs:** Docs overhaul (#124) ([5d23c0d6](https://github.com/zkat/miette/commit/5d23c0d61d0c7e778579d4d290b1f6e2c53fba31))
247
248<a name="v4.2.0"></a>
249## 4.2.0 (2022-02-22)
250
251### Features
252
253* **derive:** allow `Report` in `related` (#121) ([75d4505e](https://github.com/zkat/miette/commit/75d4505e7d55e816cac071eb126213b72bf48982))
254
255<a name="v4.1.0"></a>
256## 4.1.0 (2022-02-20)
257
258`.with_source_code()` is here!!
259
260### Features
261
262* **report:** add `with_source_code` ([50519264](https://github.com/zkat/miette/commit/50519264d47d35ecbbe4846cf7d64139854adf6c))
263* **handlers:** propagate source code to related errors ([3a17fcea](https://github.com/zkat/miette/commit/3a17fceabb0641c3d44f73a62b8116cc87d3c6bb))
264
265### Bug Fixes
266
267* **derive:** absolute path references to Diagnostic (#118) ([6eb3d2d8](https://github.com/zkat/miette/commit/6eb3d2d8a63bc38a53a472932a476b78c4fdb34c))
268
269<a name="v4.0.1"></a>
270## 4.0.1 (2022-02-18)
271
272### Bug Fixes
273
274* **graphical:** boolean was messing up graphical display ([5c085b39](https://github.com/zkat/miette/commit/5c085b39e28ad87777135bcca30d2ac99039de39))
275
276<a name="v4.0.0"></a>
277## 4.0.0 (2022-02-18)
278
279### Breaking Changes
280
281* **colors:** treat no-color mode as no-color instead of narratable (#94) ([9dcce5f1](https://github.com/zkat/miette/commit/9dcce5f1bdd76e7564d604ab8b87bbc7caad310a))
282    * **BREAKING CHANGE**: NO_COLOR no longer triggers the narrated handler. Use
283NO_GRAPHICS instead.
284* **derive:** Make derive macro `diagnostic` attribute more flexible. (#115) ([5b8b5478](https://github.com/zkat/miette/commit/5b8b5478b63e91a51fadec87c6fed3e60d192b60))
285    * **BREAKING CHANGE**: `diagnostic` attribute duplication will now error.
286
287### Features
288
289* **Report:** adds `.context()` method to the `Report` (#109) ([2649fd27](https://github.com/zkat/miette/commit/2649fd27c47893dc3ba2445a9932600d1b3d3e63))
290
291### Bug Fixes
292
293* **handlers:** Fix label position (#107) ([f158f4e3](https://github.com/zkat/miette/commit/f158f4e370bd25d589136a69058a6dff5e8aa468))
294
295
296<a name="v3.3.0"></a>
297## 3.3.0 (2022-01-08)
298
299### Features
300
301* **deps:** Bump owo-colors to 3.0.0 ([fe77d8c7](https://github.com/zkat/miette/commit/fe77d8c75478e9915a61613ec94b3de0a70e5e26))
302* **handlers:** Add JSON handler (#90) ([53b24682](https://github.com/zkat/miette/commit/53b246829a2cf6317fe1ac0cf7603e37ffde349f))
303
304### Bug Fixes
305
306* **chain:** correct `Chain` structure exported (#102) ([52e5ec80](https://github.com/zkat/miette/commit/52e5ec806457c2784d85dc4e4a332c07e6eea818))
307* **json:** proper escapes for JSON strings (#101) ([645ef6a1](https://github.com/zkat/miette/commit/645ef6a1b66a9a05f97883535f162cab4d0483f5))
308* **deps:** switch to terminal_size ([51146535](https://github.com/zkat/miette/commit/51146535f5ea9eeaff1163d99d8b89a2567e93dd))
309
310<a name="v3.2.0"></a>
311## 3.2.0 (2021-10-06)
312
313### Features
314
315* **tabs:** Add replace tabs with spaces option (#82) ([1f70140c](https://github.com/zkat/miette/commit/1f70140c2e6a57237de78dab022e29440f98ae33))
316
317### Bug Fixes
318
319* **read_span** prevent multiline MietteSpanContents from skipping lines (#81) ([cb5a919d](https://github.com/zkat/miette/commit/cb5a919deb87f8fba748bed73b6f22ebe4e3390f))
320
321<a name="v3.1.0"></a>
322## 3.1.0 (2021-10-01)
323
324### Features
325
326* **SourceSpan:** add impl From<Range> (#78) ([0169fe20](https://github.com/zkat/miette/commit/0169fe20e7868cfee594b26b063267d17be0a84e))
327
328<a name="v3.0.1"></a>
329## 3.0.1 (2021-09-26)
330
331No code changes this release. Just improved documentation and related tests.
332
333<a name="v3.0.0"></a>
334## 3.0.0 (2021-09-22)
335
336It's here! Have fun!
337
338It's a pretty significant change, so if you were using `miette`'s snippet
339support previously, you'll need to update your code.
340
341### Bug Fixes
342
343* **report:** miscellaneous, hacky tweaks to graphical rendering ([80036781](https://github.com/zkat/miette/commit/80036781cda11de071187d59127c6d1c7cafa879))
344* **protocol:** implement source/cause for Box<dyn Diagnostic> ([c3505fac](https://github.com/zkat/miette/commit/c3505fac269aebadc0fd62f9ee4e04bd00970dae))
345* **derive:** Code is no longer required ([92a31509](https://github.com/zkat/miette/commit/92a3150921d366e2850249be14259a550fcee3bb))
346* **graphical:** stop rendering red vbars before the last item ([e2e4027f](https://github.com/zkat/miette/commit/e2e4027fda55415ac07590e2d33e1f6d762df439))
347* **graphical:** fix coalescing adjacent things when they cross boundaries ([18e0ed77](https://github.com/zkat/miette/commit/18e0ed7749d33c5030a5fa2f8eabdc50a717573b))
348* **context:** get labels/snippets working when using .context() ([41cb710a](https://github.com/zkat/miette/commit/41cb710a7dff59a9bde126556be7f5a877c1dafd))
349* **api:** put panic handler properly behind a flag ([55ca8e0b](https://github.com/zkat/miette/commit/55ca8e0b7ff60cef8a7f75c29fa78edbb8114043))
350* **deps:** We do not use ci_info directly anymore ([8d1170e2](https://github.com/zkat/miette/commit/8d1170e2decee290f1679b823eb0f7ea04f3fb39))
351* **graphical:** Fix off-by-one span_applies calculation (#70) ([a6902042](https://github.com/zkat/miette/commit/a69020422e546efbe9256e30d9da10ad67f5ce03))
352* **theme:** remove code styling ([ce0dea54](https://github.com/zkat/miette/commit/ce0dea541a60f274bd97d3a1cfdaa9d217b632e2))
353* **graphical:** render URLs even without a code ([77c5899b](https://github.com/zkat/miette/commit/77c5899bbd7c46733ea208a7506c1d07b773bc2c))
354* **deps:** remove dep on itertools ([612967d3](https://github.com/zkat/miette/commit/612967d381f05e2e5a27e39a7a66942c7ec396f3))
355
356### Features
357
358* **report:** make a single big MietteHandler that can switch modes ([4c2463f9](https://github.com/zkat/miette/commit/4c2463f9aeaef43f69cac3abae059973f430bfa8))
359    * **BREAKING CHANGE**: linkification option method on GraphicalReportHandler has been changed to .with_links(bool)
360* **deps:** move fancy reporter (and its deps) to a feature ([247e8f8b](https://github.com/zkat/miette/commit/247e8f8b39271ffa7fd2c461e8ed769bebcbc589))
361    * **BREAKING CHANGE**: The default fancy reporter is no longer available unless you enable the "fancy" feature. This also means you will not be pulling in a bunch of deps if you are using miette for a library
362* **footer:** add footer support to graphical and narrated ([93374173](https://github.com/zkat/miette/commit/93374173e30c5d4ccdd0aa16557d68d54aaf3e59))
363* **theme:** rename some theme items for clarity ([c5c0576e](https://github.com/zkat/miette/commit/c5c0576ec69d5ccc3700dd6fc411d071bb0114a7))
364    * **BREAKING CHANGE**: These were part of the public API, so if you were using theming, this might have broken for you
365* **theme:** more styling changes ([2c437403](https://github.com/zkat/miette/commit/2c43740346da954fd71653a079c53a1e9612c06f))
366* **report:** add debug report as default, instead of narrated one ([9841d6fd](https://github.com/zkat/miette/commit/9841d6fd77ce665acb40f7459f410e83cdc131c0))
367* **labels:** replace snippet stuff with simpler labels (#62) ([f87b158b](https://github.com/zkat/miette/commit/f87b158b22f6f943cd7e52ca186b5f3c542194fd))
368* **protocol:** Make SourceCode Send+Sync ([9aa8ff0d](https://github.com/zkat/miette/commit/9aa8ff0d3190e0fb1ee5ad48cb540b961fc46366))
369* **handlers:** Update graphical handler to use new label protocol (#66) ([4bb9d121](https://github.com/zkat/miette/commit/4bb9d12102c1e24b6f063e43bd87e894f16683e8))
370* **report:** nicer, non-overlapping same-line highlights ([1a0f359e](https://github.com/zkat/miette/commit/1a0f359e3cd386f2738052d68790a3b54e64055b))
371* **panic:** Add basic panic handler and installation function ([c6daee7b](https://github.com/zkat/miette/commit/c6daee7b930ff7b76ce6ab394460c7659124f2d6))
372* **panic:** add backtrace support to panic handler and move set_panic_hook into fancy features ([858ac169](https://github.com/zkat/miette/commit/858ac169353e653ed0795fb1962f4ddde8fc3d06))
373* **graphical:** simplify graphical header and remove a dep ([6c648463](https://github.com/zkat/miette/commit/6c6484633ed1580047fb3dc820486f3264fb6a19))
374* **related:** Add related diagnostics (#68) ([8e11baab](https://github.com/zkat/miette/commit/8e11baab7b7b57d6220cf31a82715ac9b8b76f2f))
375* **graphical:** compact graphical display a bit ([db637a36](https://github.com/zkat/miette/commit/db637a366b1bcf54ff761a43ddb2cdfaaac0e481))
376* **graphical:** compact even more ([72c0bb9e](https://github.com/zkat/miette/commit/72c0bb9e65fa2fc7e8a1cf61ab1fe636ec063d2e))
377* **graphical:** add theming customization for linums ([717f8e3d](https://github.com/zkat/miette/commit/717f8e3d8837e14d76825603c0cbdcabb66950ff))
378* **handler:** context lines config support ([b33084bd](https://github.com/zkat/miette/commit/b33084bdbfeec90208f9dacd1976c8bde31642f3))
379* **narrated:** updated narrated handler ([fbf6664e](https://github.com/zkat/miette/commit/fbf6664ef5582c9a15bba881a6ee1ca058102d7f))
380* **narrated:** global footer and related diagnostics support ([3213fa61](https://github.com/zkat/miette/commit/3213fa610a17e3f52ece8c069eb123b2a38f1266))
381
382<a name="3.0.0-beta.0"></a>
383## 3.0.0-beta.0 (2021-09-22)
384
385Time to get ready for release!
386
387### Bug Fixes
388
389* **graphical:** stop rendering red vbars before the last item ([dc2635e1](https://github.com/zkat/miette/commit/dc2635e15154ab33506bdeae46f34c99b403fff2))
390* **graphical:** fix coalescing adjacent things when they cross boundaries ([491ce7c0](https://github.com/zkat/miette/commit/491ce7c0ce1f04c9b6fc09c250f188c1ec77df53))
391* **context:** get labels/snippets working when using .context() ([e0296578](https://github.com/zkat/miette/commit/e02965787b5e6206dad46556a50edae578449789))
392
393### Features
394
395* **report:** nicer, non-overlapping same-line highlights ([338c885a](https://github.com/zkat/miette/commit/338c885a305035fc21f63e3566131af5befa14b3))
396* **panic:** Add basic panic handler and installation function ([11a708a2](https://github.com/zkat/miette/commit/11a708a2244f1838351b2b59bfc407febe3c2a0e))
397* **panic:** add backtrace support to panic handler and move set_panic_hook into fancy features ([183ecb9b](https://github.com/zkat/miette/commit/183ecb9b78a1c22d832e979db5054dcac36d8b7a))
398* **graphical:** simplify graphical header and remove a dep ([9f36a4c2](https://github.com/zkat/miette/commit/9f36a4c25362486dfcf9ad2bd66c45e47d6fa4d2))
399* **related:** Add related diagnostics (#68) ([25e434a2](https://github.com/zkat/miette/commit/25e434a2cec93e41f020372dedcf395adb2564de))
400* **graphical:** compact graphical display a bit ([9d07dc5a](https://github.com/zkat/miette/commit/9d07dc5a1c190b6d52770e4f3c4a1dabd53e0fd5))
401* **graphical:** compact even more ([712e75fd](https://github.com/zkat/miette/commit/712e75fd8c25c6309a49c7f81f83d5b6f855594c))
402
403<a name="3.0.0-alpha.0"></a>
404## 3.0.0-alpha.0 (2021-09-20)
405
406This is the first WIP alpha release of miette 3.0!
407
408It's a MAJOR rewrite of the entire snippet definition and rendering system,
409and you can expect even more changes before 3.0 goes live.
410
411In the meantime, there's this. :)
412
413### Bug Fixes
414
415* **report:** miscellaneous, hacky tweaks to graphical rendering ([8029f9c6](https://github.com/zkat/miette/commit/8029f9c6c39d9d9592a2183380e83add8f9938e1))
416* **protocol:** implement source/cause for Box<dyn Diagnostic> ([3e8a27e2](https://github.com/zkat/miette/commit/3e8a27e263d6b22c1f2a9b192b2d305c2f0aa367))
417* **derive:** Code is no longer required ([8a0f71e6](https://github.com/zkat/miette/commit/8a0f71e6d11cd6f89fbad67cce46e34aa75f3b39))
418
419### Features
420
421* **report:** make a single big MietteHandler that can switch modes ([3d74a500](https://github.com/zkat/miette/commit/3d74a500c3193fb1dff26591191a67eaab079671))
422    * **BREAKING CHANGE**: linkification option method on GraphicalReportHandler has been changed to .with_links(bool)
423* **deps:** move fancy reporter (and its deps) to a feature ([bc495e6e](https://github.com/zkat/miette/commit/bc495e6ed49f227895260d8877685e267c0d5814))
424    * **BREAKING CHANGE**: The default fancy reporter is no longer available unless you enable the "fancy" feature. This also means you will not be pulling in a bunch of deps if you are using miette for a library
425* **footer:** add footer support to graphical and narrated ([412436cd](https://github.com/zkat/miette/commit/412436cd689ac55e9ec8172f772c321288629553))
426* **theme:** rename some theme items for clarity ([12a9235b](https://github.com/zkat/miette/commit/12a9235bec53d6dbd347f43dfaef167696a381e1))
427    * **BREAKING CHANGE**: These were part of the public API, so if you were using theming, this might have broken for you
428* **theme:** more styling changes ([9901030e](https://github.com/zkat/miette/commit/9901030eb160e72bc64144c44b8bf48cce8dfe48))
429* **report:** add debug report as default, instead of narrated one ([eb1b7222](https://github.com/zkat/miette/commit/eb1b7222fc5b73b6fb8fee90b1de27e0b8d6d588))
430* **labels:** replace snippet stuff with simpler labels (#62) ([0ef2853f](https://github.com/zkat/miette/commit/0ef2853f27ea84407789cbd0680956f9e3ee9168))
431* **protocol:** Make SourceCode Send+Sync ([eb485658](https://github.com/zkat/miette/commit/eb485658cc5a0df894c59d6ad29f945fff2839a5))
432* **handlers:** Update graphical handler to use new label protocol (#66) ([6cd44a86](https://github.com/zkat/miette/commit/6cd44a86c6e6f1d9c79006d4cfa89220dbd3a7b4))
433
434
435<a name="2.2.0"></a>
436## 2.2.0 (2021-09-14)
437
438So it turns out [`3.0.0` is already under way](https://github.com/zkat/miette/issues/45), if you didn't already hear!
439
440It's going to be an exciting release, but we'll still be putting out bugfixes
441and (backwards-compatible) features in the `2.x` line until that's ready.
442
443And there's definitely stuff in this one to be excited about! Not least of all
444the ability to _forward_ diagnostic metadata when wrapping other
445`Diagnostic`s. Huge thanks to [@cormacrelf](https://github.com/cormacrelf) for
446that one!
447
448We've also got some nice improvements to reporter formatting that should make
449output look at least a little nicer--most notably, we now wrap messages and
450footers along the appropriate column so formatting keeps looking good even
451when you use newlines!
452
453Finally, huge thanks to [@icewind1991](https://github.com/icewind1991) for
454fixing a [really weird-looking bug](https://github.com/zkat/miette/pull/52)
455caused by an off-by-one error. Oopsies ��
456
457### Features
458
459* **report:** wrap multiline messages to keep formatting ([f482dcec](https://github.com/zkat/miette/commit/f482dcec6a4e981c256854f73506ed01abaa65f9))
460* **report:** take terminal width into account for wrapping text ([bc725324](https://github.com/zkat/miette/commit/bc72532465bde00e11d83ff4a9f767051ee6771d))
461* **report:** make header line as wide as terminal ([eaebde92](https://github.com/zkat/miette/commit/eaebde92cf528d50d799dd60acd98b16978e8681))
462* **derive:** Add `#[diagnostic(forward(field_name), code(...))]` (#41) ([2fa5551c](https://github.com/zkat/miette/commit/2fa5551c81831734fd9a162463a4a939dff9dfba))
463
464### Bug Fixes
465
466* **report:** get rid of the weird arrow thing. it does not look good ([1ba3f2f5](https://github.com/zkat/miette/commit/1ba3f2f5d292419571302477195836f89d9c7cb5))
467* **report:** fix wrapping for header and add wrapping for footer ([eb07d5bd](https://github.com/zkat/miette/commit/eb07d5bd66928457b4f3affe96aa6a0d39f642f7))
468* **report:** Fix end of previous line wrongly being included in highlight (#52) ([d994add9](https://github.com/zkat/miette/commit/d994add912700873de3ebdb8d14d81516955c901))
469
470<a name="2.1.2"></a>
471## 2.1.2 (2021-09-10)
472
473So it turns out I forgot to make snippets and other stuff forward through when
474you use `.context()` &co. This should be fixed now ��
475
476### Bug Fixes
477
478* **context:** pass on diagnostic metadata when wrapping with `Report` ([e4fdac38](https://github.com/zkat/miette/commit/e4fdac38ea8c295468ed0fce563a2df29241986a))
479
480<a name="2.1.1"></a>
481## 2.1.1 (2021-09-09)
482
483This is a small, but visually-noticeable bug fix. I spent some time playing
484with colors and styling and made some fixes that will improve where people's
485eyes are drawn to, and also take into account color visibility issues a bit
486more.
487
488### Bug Fixes
489
490* **report:** don't color error message text to draw eyes back to it ([6422f821](https://github.com/zkat/miette/commit/6422f8217495aeef38af4eb00feeb73ced36f7bf))
491* **reporter:** improve color situation and style things a little nicer ([533ff5f3](https://github.com/zkat/miette/commit/533ff5f348324132044bd2782a17fd6c81c08259))
492
493<a name="2.1.0"></a>
494## 2.1.0 (2021-09-08)
495
496This is a small release with a handful of quality of life improvements (and a small bugfix).
497
498### Features
499
500* **printer:** use uparrow for empty highlights and fix 0-offset display bug ([824cd8be](https://github.com/zkat/miette/commit/824cd8bebea2ae43a29d9d744d0386d00cc943e0))
501* **derive:** make #[diagnostic] optional for enums, too ([ffe1b558](https://github.com/zkat/miette/commit/ffe1b558d0d7284e39fcb38c4f410cddb4cdb4bd))
502
503<a name="2.0.0"></a>
504## 2.0.0 (2021-09-05)
505
506This release overhauls the toplevel/main experience for `miette`. It adds a
507new `Report` type based on `eyre::Report` and overhauls various types to fit
508into this model, as well as prepare for some [future changes in
509Rust](https://github.com/nrc/rfcs/pull/1) that will make it possible to
510integrate `miette` directly with crates like `eyre` instead of having to use
511this specific `Report`.
512
513On top of that, it includes a couple of nice new features, such as
514`#[diagnostic(transparent)]`, which should be super useful when wrapping other
515diagnostics with your own types!
516
517### Breaking Changes
518
519* **report:** anyhow-ify DiagnosticReport (#35) ([3f9da04b](https://github.com/zkat/miette/commit/3f9da04b866f3fd90f88e7e60f9fb7a322aef568))
520    * `DiagnosticReport` is now just `Report`, and is a different, `eyre::Report`-like type.
521    * `DiagnosticResult` is now just `Result`.
522    * `.into_diagnostic()` now just transforms the error into a `Report`.
523    * `DiagnosticReportPrinter` has been replaced with `ReportHandler`
524    * `set_printer` has been replaced by `set_hook`
525    * `code` is now optional.
526    * `.into_diagnostic()` no longer takes a `code` argument.
527    * `#[diagnostic]` is now optional when deriving `Diagnostic`.
528
529### Features
530
531* **derive:** Add `#[diagnostic(transparent,forward)]` (#36) ([53f5d6d1](https://github.com/zkat/miette/commit/53f5d6d1d62845b52e590fed5ce91a643b6e11f3))
532* **Source:** impl Source for str, &str (make &'static str usable for testing) (#40) ([50c7a883](https://github.com/zkat/miette/commit/50c7a88360dc7cef815af2dbb9dc18ede0d1fdb4))
533* **source:** Remove bound `T: Clone` from `Source` implementation for `Cow`. (#42) ([0427c9f9](https://github.com/zkat/miette/commit/0427c9f9666222084cb4494aabbd3e7dc5cdb789))
534
535### Bug Fixes
536
537* **reporter:** Only inc the line count if we haven't already done so with '\n' or '\r\n' (#37) ([5a474370](https://github.com/zkat/miette/commit/5a474370ddda92a3a92b6b84cd561ecaf4d6d858))
538* **printer:** Show snippet message for unnamed sources (#39) ([84219f6c](https://github.com/zkat/miette/commit/84219f6c80c2c432fbeb4c40a591380285de8767))
539
540<a name="1.1.0"></a>
541## 1.1.0 (2021-08-29)
542
543This is a small release of patches entirely not my own!
544
545The exciting new feature is the ability to do `thiserror`-style
546`#[diagnostic(transparent)]` when using the derive macro, which will defer
547diagnostics to a Diagnostic referred to by the struct/enum!
548
549Big thanks to [@cormacrelf](https://github.com/cormacrelf) and
550[@felipesere](https://github.com/felipesere) for your contributions!
551
552### Features
553
554* **derive:** Add `#[diagnostic(transparent,forward)]` (#36) ([53f5d6d1](https://github.com/zkat/miette/commit/53f5d6d1d62845b52e590fed5ce91a643b6e11f3))
555
556### Bug Fixes
557
558* **reporter:** Only inc the line count if we haven't already done so with '\n' or '\r\n' (#37) ([5a474370](https://github.com/zkat/miette/commit/5a474370ddda92a3a92b6b84cd561ecaf4d6d858))
559
560<a name="1.0.1"></a>
561## 1.0.1 (2021-08-23)
562
563This is a (literally) small release. I noticed that the crate's size had
564increased significantly before I realized cargo was including the `images/`
565folder. This is not needed, as these images are just hosted on GitHub.
566
567`miette` should be smaller now, I hope :)
568
569#### Bug Fixes
570
571* **crate:**  reduce crate size by removing images ([5f74da67](https://github.com/zkat/miette/commit/5f74da671f2444efc4840c11492773a46cecf7e9))
572
573
574<a name="1.0.0"></a>
575## 1.0.0 (2021-08-23)
576
577...you know what? I'm just gonna tag 1.0.0, because I don't want sub-1.0
578versions anymore, but the Cargo ecosystem buries pre-releases pretty
579thoroughly. Integers are cheap!
580
581So here we are! We made it to 1.0, and with some _really_ nice goodies to boot.
582
583Most fun is the fact that the default printer now has *clickabble url linking*
584support. A new `Diagnostic::url()` method has been added to the protocol that,
585is used to figure out what URL to send folks to! This should work on most
586"modern" terminals, but more thorough support checking will be done in the
587future. And of course, the narrated reporter prints them out too.
588
589I also took the time to completely redo how messages, labels, and filenames
590are handled in the system, and this is a pretty big change you might run into.
591Godspeed!
592
593Last but not least, we got our first external contribution! Thank you to
594[@martica](https://github.com/martica) for the bug fix!
595
596Anyway, here's to 1.0, and to many more after that. Enjoy! :)
597
598#### Breaking Changes
599
600* **snippets:**  Overhauled how snippets handle labels, sources, and messages, including the derive macro ([61283e9e](https://github.com/zkat/miette/commit/61283e9efe2825425c41027b3dbb5f4f9c9d83fb)
601
602#### Features
603
604* **links:**  added URL linking support and automatic docs.rs link generation ([7e76e2de](https://github.com/zkat/miette/commit/7e76e2dea4adf0e4a1349e049495c1f5a0bdab87))
605* **theme:**  Add an initial `rgb` style with nicer colors ([3546dcec](https://github.com/zkat/miette/commit/3546dcec988ea40cc6aa8dd94c29432830cef662)) - [@martica](https://github.com/martica)
606
607#### Bug Fixes
608
609* **printer:**  clamp highlight length to at least 1 (#32) ([9d601599](https://github.com/zkat/miette/commit/9d6015996bf3010b573b9bb5d0e48cb85f290460))
610
611
612<a name="1.0.0-beta.1"></a>
613## 1.0.0-beta.1 (2021-08-22)
614
615It's happening, folks! `miette` is now working towards stability and is now in
616beta! We'll keep it like this for a little while until a few more people have
617tried it out and given feedback. New features may still be added, and breaking
618changes may still happen, but `miette` is now considered "good enough to use",
619and breaking changes are expected to be more rare.
620
621Oh, and as part of this release, the docs were overhauled, particularly the
622README, so you might want to take a gander at them!
623
624#### Breaking Changes
625
626* **printer:**  rename default printer and consistify some naming conventions with printing ([aafa4a3d](https://github.com/zkat/miette/commit/aafa4a3de1298dd8e7625138d09a408ff3579d3f), breaks [#](https://github.com/zkat/miette/issues/))
627* **into_diagnostic:**  .into_diagnostic() is now generic across any impl fmt::Display instead of expecting a `dyn` ([c1da4a0d](https://github.com/zkat/miette/commit/c1da4a0d2744e94e409cabeafe911e99598d4ee3))
628
629#### Features
630
631* **error:**  diagnostic-ify MietteError ([e980b723](https://github.com/zkat/miette/commit/e980b7237334b56f7b8c092956d35cd2bbadac41))
632
633#### Bug Fixes
634
635* **derive:**  #[diagnosic(severity)] works for named and unnamed variants/structs now ([adf0bc93](https://github.com/zkat/miette/commit/adf0bc933f62852514067ade96e07362c889f012))
636* **protocol:**  oops, missed a spot after a rename ([5c077d30](https://github.com/zkat/miette/commit/5c077d30a4aca71f71e61b2561081575c04a4d64))
637
638
639<a name="0.13.0"></a>
640## 0.13.0 (2021-08-21)
641
642This release includes some accessibility improvements: miette now includes a "narratable" printer that formats diagnostics like this:
643
644```
645Error: Received some bad JSON from the source. Unable to parse.
646    Caused by: missing field `foo` at line 1 column 1700
647
648Begin snippet for https://api.nuget.org/v3/registration5-gz-semver2/json.net/index.json starting
649at line 1, column 1659
650
651snippet line 1: gs":["json"],"title":"","version":"1.0.0"},"packageContent":"https://api.nuget.o
652    highlight starting at line 1, column 1699: last parsing location
653
654diagnostic help: This is a bug. It might be in ruget, or it might be in the source you're using,
655but it's definitely a bug and should be reported.
656diagnostic error code: ruget::api::bad_json
657```
658
659This style is the default in a number of situations:
660
6611. The `NO_COLOR` env var is present and set, and not `0`.
6622. The `CLICOLOR` env var is present and not set to `1`.
6633. `stdout` or `stderr` are not TTYs.
6644. A CI environment is detected.
665
666You can override and customize this behavior any way you want by using the
667`miette::set_reporter()` function at the toplevel of your application, but we
668encourage you to at least make the narratable printer an option for your
669users, since miette's default printer is exceptionally bad for screen
670readers.
671
672Our hope is that this release is only the starting point towards making
673miette's error reporting not just really fancy and cool, but friendly and
674accessible to everyone.
675
676#### Features
677
678* **printer:**  added (and hooked up) an accessible report printer ([5369a942](https://github.com/zkat/miette/commit/5369a9424e7ed2c66b193b85422fe8b98bc37b6c))
679
680
681<a name="0.12.0"></a>
682## 0.12.0 (2021-08-21)
683
684This is a SUPER EXCITING release! With this, miette now has a full-featured
685pretty-printer that can handle cause chains, snippets, help text, and lots
686more!
687
688Check out [the serde_json
689example](https://github.com/zkat/miette/blob/5fd2765bf05edf25251ce199994b8815524fd47d/images/serde_json.png)
690to see a "real-world" case!
691
692This release also adds support for full `thiserror`-style format strings to
693the `help()` diagnostic derive attribute!
694
695We're rapidly approaching a 1.0-beta release. One more extra-fun treat left
696and we can start stabilizing!
697
698#### Features
699
700* **derive:**  format string support for help() ([8fbad1b1](https://github.com/zkat/miette/commit/8fbad1b1cd173ce3c0b803f8b2db013e278c63a6))
701* **printer:**  lots of small improvements to printer ([5fbcd530](https://github.com/zkat/miette/commit/5fbcd53026c131ceafe2a66bebbc20de570363c9))
702* **reporter:**  fancy new reporter with unicode, colors, and multiline (#23) ([d675334e](https://github.com/zkat/miette/commit/d675334e48ddc188a34e166ad040eaceda117d0a))
703
704
705<a name="0.11.0"></a>
706## 0.11.0 (2021-08-18)
707
708BIG changes this time. The whole end-to-end experience for tossing around
709Diagnostics in your code has been overhauled, printing reports is easier than
710ever, and we even have an `eyre::Report`-style wrapper you can pass around in
711app-internal returns!
712
713#### Features
714
715* **reporter:**  Overhauled return type/main/DiagnosticReport experience. ([29c1403e](https://github.com/zkat/miette/commit/29c1403efdd7fd218f240ac458fd19bba17e9551))
716
717
718<a name="0.10.0"></a>
719## 0.10.0 (2021-08-17)
720
721Lots of goodies in this release! I'm working hard on the [1.0.0
722Roadmap](https://github.com/zkat/miette/issues/10), so things are changing
723pretty quick, and I thought it would be nice to release this checkpoint.
724#### Bug Fixes
725
726* **protocol:**  keep the owned spans ([49151bb0](https://github.com/zkat/miette/commit/49151bb0950c0db9d2743c8fb78dcacfc27bc750))
727
728#### Features/Breaking Changes
729
730* **derive:**  Allow anything Clone + Into<SourceSpan> to be used as a Span ([385171eb](https://github.com/zkat/miette/commit/385171eb8178ce2e7d6d2d2849b78e0f09feb721))
731* **offsets:**
732  *  nice utility function to get an offset from a Rust callsite ([26f409c5](https://github.com/zkat/miette/commit/26f409c5252c3fda5ead140eb4d5ec282f47f0f7))
733  *  utility function for converting from line/col to offset ([75c23127](https://github.com/zkat/miette/commit/75c2312755bf714c112badf6310b2bff1633f6bc))
734  *  more utility From impls for SourceSpan ([95200366](https://github.com/zkat/miette/commit/95200366a1639b0b729db460ae1e50cce6fee9de))
735* **protocol:**
736  *  add Source impls for Cow and Arc ([53074d34](https://github.com/zkat/miette/commit/53074d3488e1404331fc1ca3c5e068ac57e9a852))
737  *  reference-based DiagnosticReport! ([f390520b](https://github.com/zkat/miette/commit/f390520b45823d65055f9f872016e4ee27c0c20a))
738
739
740
741<a name="0.9.0"></a>
742## 0.9.0 (2021-08-17)
743
744Yay new version already! A pretty significant API change, too! ��
745
746#### Breaking Changes
747
748`SourceSpan`s have changed a bit: for one, they're based on offset/length now,
749instead of start/end. For two, they have a new `Option<String>` field,
750`label`, which is meant to be used by reporters in different contexts. For
751example, highlight snippets will use them as the labels for underlined
752sections of code, while the snippet context will use the label as the "file
753name" for the Source they point to.
754
755  * **protocol:** new SourceSpans with labels ([acfeb9c5](https://github.com/zkat/miette/commit/acfeb9c5b0e390c924194ee0363fc49fa8defbac))
756
757#### Bug Fixes
758
759* **derive:**  allow unused variables for the snippets method ([f704d6a9](https://github.com/zkat/miette/commit/f704d6a9ae971dfe61fe9a0e0b4a1a7f98fd37bc))
760
761#### Features
762
763* **protocol:** implement From<(usize, usize)> for SourceSpan ([36b86df9](https://github.com/zkat/miette/commit/36b86df9f51984405efa6f38be8bbb984d605207))
764
765
766
767<a name="0.8.1"></a>
768## 0.8.1 (2021-08-17)
769
770Just a small bump to update the readme (and docs.rs in the process) with the
771new snippet derive stuff. No notable changes.
772
773<a name="0.8.0"></a>
774## 0.8.0 (2021-08-17)
775
776You can full-on use `#[derive(Diagnostic)]` to define snippets now. That's a
777big deal.
778
779#### Features
780
781* **derive:**  Support for deriving snippet method (#18) ([f6e6acf2](https://github.com/zkat/miette/commit/f6e6acf2d2c301fd411c7c9c4b63a2b19aa69242))
782
783<a name="0.7.0"></a>
784## 0.7.0 (2021-08-16)
785
786Welp. `0.6.0` was basically completely broken, so I tore out the
787`darling`-based derive macros and rewrote the whole thing using `syn`, and
788things are much better now!
789
790There's still a few bits and bobs to add, like snippets (oof. big.), and full
791help format string support (they don't quite work in enums right now), but
792otherwise, this is pretty usable~
793
794#### Features
795
796* **derive:**  improved derive support, including partial help format string support! ([9ef0dd26](https://github.com/zkat/miette/commit/9ef0dd261fa537b280f32ea6f149785a69e33938))
797
798#### Bug Fixes
799
800* **derive:**  move to plain syn to fix darling issues ([9a78a943](https://github.com/zkat/miette/commit/9a78a943950078c879a1eb06baf819348139e1de))
801
802
803<a name="0.6.0"></a>
804## 0.6.0 (2021-08-15)
805
806We haz a basic derive macro now!
807
808#### Features
809
810* **derive:**  added basic derive macro ([0e770270](https://github.com/zkat/miette/commit/0e7702700de8a4cd9022d660aaf363b735943d55))
811
812
813<a name="0.5.0"></a>
814## 0.5.0 (2021-08-14)
815
816I decided to yank some handy (optional) utilities from a project I'm using
817`miette` in. These should make using it more ergonomic.
818
819#### Features
820
821* **utils:**  various convenience utilities for creating and working with Diagnostics ([a9601368](https://github.com/zkat/miette/commit/a960136802834bd3741ef637d91f73287870b1ad))
822
823
824<a name="0.4.0"></a>
825## 0.4.0 (2021-08-11)
826
827Time for another (still experimental!) change to `Diagnostic`. It will
828probably continue to change as miette gets experimented with, until 1.0.0
829stabilizes it. But for now, expect semi-regular breaking changes of this kind.
830
831Oh and I tracked down a rogue `\n` that was messing with the default reporter
832and managed to get out of it with at least some of my sanity.
833
834#### Breaking Changes
835
836* **protocol:**  Simplify protocol return values further ([02dd1f84](https://github.com/zkat/miette/commit/02dd1f84d45c01fb4de2d31c158a7b6e08455f72), breaks [#](https://github.com/zkat/miette/issues/))
837
838#### Bug Fixes
839
840* **reporter:**
841  *  fix reporter and tests... again ([d201dde4](https://github.com/zkat/miette/commit/d201dde4b559a2baa4259a0845582a5d14453c5a))
842  *  fix extra newline after header ([0d2e3312](https://github.com/zkat/miette/commit/0d2e3312a4a262e99a131bc893097d295e59e8ca))
843
844
845<a name="0.3.1"></a>
846## 0.3.1 (2021-08-11)
847
848This is a tiny release to fix a reporter rendering bug.
849
850#### Bug Fixes
851
852* **reporter:**  fix missing newline before help text ([9d430b6f](https://github.com/zkat/miette/commit/9d430b6f477fd8991ce217dffdbce8fbd28dcd7e))
853
854
855
856<a name="0.3.0"></a>
857## 0.3.0 (2021-08-08)
858
859This version is the result of a lot of experimentation with getting the
860`Diagnostic` API right, particularly `Diagnostic::snippets()`, which is
861something that should be writable in several different ways. As such, it
862includes some breaking changes, but they shouldn't be too hard to figure out.
863
864#### Breaking Changes
865
866* **protocol:**
867  *  improvements to snippets API ([3584dc60](https://github.com/zkat/miette/commit/3584dc600c2b8b0f84a2a0c59856da9a9dc7fbab))
868  *  help is a single Display ref now. ([80e7dabb](https://github.com/zkat/miette/commit/80e7dabbe450d4a78ed18174e2a383a6a1ed0557))
869
870#### Bug Fixes
871
872* **tests:**  updating tests ([60bdf47e](https://github.com/zkat/miette/commit/60bdf47e297999b48345b39ba1a3aacbbf79e6fc))
873
874<a name="0.2.1"></a>
875## 0.2.1 (2021-08-05)
876
877I think this is the right thing to do re: From!
878
879#### Bug Fixes
880
881* **protocol:**  fix the default From<:T Diagnostic> implementation to cover more cases. ([781a51f0](https://github.com/zkat/miette/commit/781a51f03765c7351a95b34e8391f6a0cf5fc37c))
882
883<a name="0.2.0"></a>
884## 0.2.0 (2021-08-05)
885
886Starting to get some good feedback on the protocol and APIs, so some improvements were made.
887
888#### Breaking changes
889
890You might need to add `+ Send + Sync + 'static` to your `Box<dyn Diagnostic>`
891usages now, since `Diagnostic` no longer constrains on any of them.
892
893Additionally, `Diagnostic::help()`, `Diagnostic::code()`, and `SpanContents`
894have had signature changes that you'll need to adapt to.
895
896* **protocol:**  protocol improvements after getting feedback ([e955321c](https://github.com/zkat/miette/commit/e955321cbd67372dfebb71a829ddb89baf9b169a))
897* **protocol:**  Make use of ? and return types with Diagnostics more ergonomic ([50238d75](https://github.com/zkat/miette/commit/50238d75a2db2dccbe2ae2cba78d0dd6eac4ef2a))
898
899<a name="0.1.0"></a>
900## 0.1.0 (2021-08-05)
901
902I'm really excited to put out this first release of `miette`! This version
903defines the current protocol and includes a basic snippet reporter. It's fully
904documented and ready to be used!
905
906_Disclaimer_: This library is still under pretty heavy development, and you should only use this if you're interested in using something experimental. Any and all design comments and ideas are welcome over on [GitHub](https://github.com/zkat/miettee)
907
908#### Bug Fixes
909
910* **api:**  stop re-exporting random things wtf??? ([2fb9f93c](https://github.com/zkat/miette/commit/2fb9f93cbf02c4d41a5538e98c8bea72f40c5430))
911* **protocol:**  use references for all return values in Diagnostic ([c3f41b97](https://github.com/zkat/miette/commit/c3f41b972da0e89220e7d9de08f420912ec8973a))
912
913#### Features
914
915* **protocol:**  sketched out a basic protocol ([e2387ce2](https://github.com/zkat/miette/commit/e2387ce2edd4165d04f47a084f3f1492a5de8d9d))
916* **reporter:**  dummy reporter implementation + tests ([a437f445](https://github.com/zkat/miette/commit/a437f44511768e52cfedd856b5b1432c0716f378))
917* **span:**  make span end optional ([1cb0ad38](https://github.com/zkat/miette/commit/1cb0ad38524696a733f6134092ffd998f76fb142))
918
919
920
921<a name="0.0.0"></a>
922## 0.0.0 (2021-08-03)
923
924Don't mind me, just parking this crate name.
925
926
927