|
1 | 1 | Changelog |
2 | 2 | ========= |
3 | 3 |
|
4 | | -Upcoming |
5 | | --------- |
6 | | - |
| 4 | +v0.3.0 |
| 5 | +------ |
7 | 6 | Features |
8 | 7 | ^^^^^^^^ |
9 | 8 | - Memory optimization: Efficient mutation generation and smarter string reuse -- decrease memory consumption by orders of magnitude. |
10 | 9 | - `Aligned` block: Aligns content length to multiple of certain number of bytes. |
11 | | -- Relative names: Name references for `Checksum`, `Size`, etc. now resolve absolute and relative names. Block and primitive names no longer need to be globally unique within a message, they only need to be locally unique within a block. |
12 | | -- Passing data between messages: Callbacks now have a `TestCaseContext` object to which one can save data to be used later in the test case. `TestCaseSessionReference` can be passed as a default value in a protocol definition. The name it references must have been saved by the time that message in the protocol is reached. |
| 10 | +- Relative names: Name references for `Checksum`, `Size`, etc. now resolve absolute and relative names. Block and primitive |
| 11 | + names no longer need to be globally unique within a message, they only need to be locally unique within a block. |
| 12 | +- Passing data between messages: Callbacks now have a `TestCaseContext` object to which one can save data to be used |
| 13 | + later in the test case. `TestCaseSessionReference` can be passed as a default value in a protocol definition. The name |
| 14 | + it references must have been saved by the time that message in the protocol is reached. |
13 | 15 | - `Fuzzable` rewrite: Simpler definitions for new fuzz primitives. See `static.py` for an example of a very simple primitive. |
14 | 16 | - Protocol definition: Protocols can now be defined with an object oriented rather than static approach. |
15 | 17 | - Independent mutation and encoding steps: Will enable multiple mutations and code coverage feedback. |
16 | 18 | - Procmon: Additional debug steps. Partial backwards compatibility for old interface. |
17 | 19 | - `ProcessMonitorLocal` allows running procmon as part of fuzzer process. |
18 | | -- Network monitor: improved network interface discovery (Linux support) |
19 | | -- Add support for fuzzing Unix sockets with the `UnixSocketConnection` class. |
20 | | -- Add metadata to ProtocolSession to support callbacks -- `current_message`, `previous_message`. |
| 20 | +- Network monitor: improved network interface discovery (Linux support). |
| 21 | +- Added support for fuzzing Unix sockets with the `UnixSocketConnection` class. |
| 22 | +- Added metadata to ProtocolSession to support callbacks -- `current_message`, `previous_message`. |
21 | 23 | - All primitive arguments are now optional keyword arguments. |
22 | 24 |
|
23 | 25 | Fixes |
24 | 26 | ^^^^^ |
25 | 27 | - Various web interface fixes. |
26 | 28 | - Various refactors and simplifications. |
27 | 29 | - Fewer duplicates from `Group` primitives. |
28 | | -- Network monitor: fixed data_bytes calculation and PcapThread synchronization |
29 | | -- Fixed a crash when using the network monitor |
30 | | -- Session can now be "quiet" by passing an empty list of loggers |
31 | | -- Process Monitor: fixed Thread.isAlive for Python 3.9 compability |
| 30 | +- Network monitor: fixed data_bytes calculation and PcapThread synchronization. |
| 31 | +- Fixed a crash when using the network monitor. |
| 32 | +- Session can now be "quiet" by passing an empty list of loggers. |
| 33 | +- Process Monitor: fixed Thread.isAlive for Python 3.9 compatibility. |
32 | 34 | - Correctly truncate values of the string primitive when max_len or size is set. |
33 | 35 | - The string primitive will no longer generate duplicates when max_len or size is set. |
34 | 36 | - Greatly improved string to bytes conversion speed. |
|
0 commit comments