# API Changelog
We try to avoid them, but this page lists breaking changes in the mitmproxy addon API.
# mitmproxy 7.0
# Connection Events
We’ve revised mitmproxy’s connection-specific event hooks as part of the new proxy core. The
.server_conn objects have major API changes across the board. See the new
event hook documentation for details.
|Attribute||Client (v6)||Server (v6)||mitmproxy v7|
As the passed objects are different now, we’ve also taken this opportunity to introduce more consistent event names:
|mitmproxy 6||mitmproxy 7|
log event has been renamed to
add_log. This fixes a consistent source of errors where users imported
modules with the name “log”, which were then inadvertedly picked up.
Contentviews now implement
render_priority instead of
should_render. This enables additional specialization, for
example one can now write contentviews that pretty-print only specific JSON responses.
See the contentview.py example for details.
# WebSocket Flows
mitmproxy 6 had a custom WebSocketFlow class, which had
ugly co-dependencies with the related HTTPFlow. Long story short,
WebSocketFlow is no more and instead HTTPFlow has a neat
.websocket attribute. All WebSocket flows are now passed
HTTPFlow with this attribute set. As always, existing dumpfiles are automatically converted on load.
mitmproxy now uses
cryptography instead of
pyOpenSSL to generate certificates. As a consequence, the API of
mitmproxy.certs has changed.
# HTTP Headers
mitmproxy.http.Headers for consistency.