
20 February 2012: mitmproxy 0.7:

    * New built-in key/value editor. This lets you interactively edit URL query
      strings, headers and URL-encoded form data. 

    * Extend script API to allow duplication and replay of flows.
    
    * API for easy manipulation of URL-encoded forms and query strings.
    
    * Add "D" shortcut in mitmproxy to duplicate a flow.
    
    * Reverse proxy mode. In this mode mitmproxy acts as an HTTP server,
      forwarding all traffic to a specified upstream server.

    * UI improvements - use unicode characters to make GUI more compact,
      improve spacing and layout throughout.

    * Add support for filtering by HTTP method.
   
    * Add the ability to specify an HTTP body size limit.
    
    * Move to typed netstrings for serialization format - this makes 0.7
      backwards-incompatible with serialized data from 0.6!

    * Significant improvements in speed and responsiveness of UI. 

    * Many minor bugfixes and improvements.


7 August 2011: mitmproxy 0.6:

    * New scripting API that allows much more flexible and fine-grained
      rewriting of traffic. See the docs for more info.

    * Support for gzip and deflate content encodings. A new "z"
      keybinding in mitmproxy to let us quickly encode and decode content, plus
      automatic decoding for the "pretty" view mode.

    * An event log, viewable with the "v" shortcut in mitmproxy, and the
      "-e" command-line flag in mitmdump.

    * Huge performance improvements: mitmproxy interface, loading
      large numbers of flows from file.

    * A new "replace" convenience method for all flow objects, that does a
      universal regex-based string replacement.

    * Header management has been rewritten to maintain both case and order.

    * Improved stability for SSL interception.

    * Default expiry time on generated SSL certs has been dropped to avoid an
      OpenSSL overflow bug that caused certificates to expire in the distant
      past on some systems.

    * A "pretty" view mode for JSON and form submission data.

    * Expanded documentation and examples.

    * Countless other small improvements and bugfixes.


27 June 2011: mitmproxy 0.5:

    * An -n option to start the tools without binding to a proxy port.

    * Allow scripts, hooks, sticky cookies etc. to run on flows loaded from
      save files.

    * Regularize command-line options for mitmproxy and mitmdump.

    * Add an "SSL exception" to mitmproxy's license to remove possible
      distribution issues.

    * Add a --cert-wait-time option to make mitmproxy pause after a new SSL
      certificate is generated. This can pave over small discrepancies in
      system time between the client and server.

    * Handle viewing big request and response bodies more elegantly. Only
      render the first 100k of large documents, and try to avoid running the
      XML indenter on non-XML data.

    * BUGFIX: Make the "revert" keyboard shortcut in mitmproxy work after a
      flow has been replayed.

    * BUGFIX: Repair a problem that sometimes caused SSL connections to consume
      100% of CPU.


30 March 2011: mitmproxy 0.4 

    * Full serialization of HTTP conversations
    
    * Client and server replay
    
    * On-the-fly generation of dummy SSL certificates
   
    * mitmdump has "grown up" into a powerful tcpdump-like tool for HTTP/S

    * Dozens of improvements to the mitmproxy console interface

    * Python scripting hooks for programmatic modification of traffic


1 March 2010: mitmproxy 0.2 

    * Big speed and responsiveness improvements, thanks to Thomas Roth
    
    * Support urwid 0.9.9
    
    * Terminal beeping based on filter expressions
    
    * Filter expressions for terminal beeps, limits, interceptions and sticky
      cookies can now be passed on the command line.

    * Save requests and responses to file
    
    * Split off non-interactive dump functionality into a new tool called
      mitmdump
    
    * "A" will now accept all intercepted connections
    
    * Lots of bugfixes
