• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1## Unreleased
2
3Released YYYY-MM-DD.
4
5### Added
6
7* TODO (or remove section if none)
8
9### Changed
10
11* TODO (or remove section if none)
12
13### Deprecated
14
15* TODO (or remove section if none)
16
17### Removed
18
19* TODO (or remove section if none)
20
21### Fixed
22
23* TODO (or remove section if none)
24
25### Security
26
27* TODO (or remove section if none)
28
29--------------------------------------------------------------------------------
30
31## 0.4.2
32
33Released 2020-05-26.
34
35### Changed
36
37* Improved performance of checking for whether `cargo fuzz` is requesting the
38  `std::fmt::Debug` output of an input or not. This is always false during
39  regular fuzzing, so making this check faster should give slightly better
40  fuzzing throughput.
41
42--------------------------------------------------------------------------------
43
44## 0.4.1
45
46Released 2020-05-13.
47
48### Added
49
50* Added support for defining custom mutators. See [the documentation for the
51  `fuzz_mutator!`
52  macro](https://docs.rs/libfuzzer-sys/0.4.1/libfuzzer_sys/macro.fuzz_mutator.html)
53  for details.
54
55### Changed
56
57* Upgraded libfuzzer to llvm/llvm-project's 70cbc6d.
58
59--------------------------------------------------------------------------------
60
61## 0.4.0
62
63Released 2021-02-24.
64
65### Changed
66
67* The public `arbitrary` dependency was updated to version 1.0.
68
69--------------------------------------------------------------------------------
70
71## 0.3.5
72
73Released 2020-11-18.
74
75### Changed
76
77* [Upgrade libfuzzer to 7bf89c2](https://github.com/rust-fuzz/libfuzzer/pull/68)
78
79--------------------------------------------------------------------------------
80
81## 0.3.4
82
83Released 2020-08-22.
84
85### Changed
86
87* Updated `arbitrary` dependency to 0.4.6
88
89--------------------------------------------------------------------------------
90
91## 0.3.3
92
93Released 2020-07-27.
94
95### Changed
96
97* Upgraded libfuzzer to commit
98  [4a4cafa](https://github.com/llvm/llvm-project/commit/4a4cafabc9067fced5890a245b03ef5897ad988b).
99
100  Notably, this pulls in [the new Entropic engine for
101  libFuzzer](https://mboehme.github.io/paper/FSE20.Entropy.pdf), which should
102  boost fuzzing efficiency when enabled. You can enable Entropic by passing
103  `-entropic=1` to your built fuzz targets (although, note that it is still
104  labeled "experimental").
105
106--------------------------------------------------------------------------------
107
108## 0.3.2
109
110Released 2020-03-18.
111
112### Changed
113
114* Upgraded the `arbitrary` dependency re-export to version 0.4.1.
115
116--------------------------------------------------------------------------------
117
118## 0.3.1
119
120Released 2020-02-27.
121
122### Changed
123
124* Fixed a fuzzing performance issue where libfuzzer could unnecessarily spend
125  time exploring all the ways that an `Arbitrary` implementation could fail to
126  construct an instance of itself because the fuzzer provided too few bytes. See
127  https://github.com/rust-fuzz/libfuzzer/issues/59 for details.
128
129--------------------------------------------------------------------------------
130
131## 0.3.0
132
133Released 2019-01-22.
134
135### Changed
136
137* Now works with and re-exports `arbitrary` versions 0.4.x.
138
139--------------------------------------------------------------------------------
140
141## 0.2.1
142
143Released 2019-01-16.
144
145### Added
146
147* Added support for the `CUSTOM_LIBFUZZER_STD_CXX=<lib>` environment variable
148  during builds that already use a custom libFuzzer checkout with
149  `CUSTOM_LIBFUZZER_PATH`. This allows you to explicitly choose to link LLVM or
150  GNU C++ standard libraries.
151
152--------------------------------------------------------------------------------
153
154## 0.2.0
155
156Released 2020-01-14.
157
158### Changed
159
160* Using `arbitrary` 0.3.x now. It is re-exported as `libfuzzer_sys::arbitrary`.
161
162### Added
163
164* You can enable support for `#[derive(Arbitrary)]` with the
165  `"arbitrary-derive"` cargo feature. This is a synonym for the `arbitrary`
166  crate's `"derive"` cargo feature.
167
168--------------------------------------------------------------------------------
169
170## 0.1.0
171