HTTPServer now works correctly with paths starting with //
HTTPHeaders.copy (inherited from dict.copy) now works correctly.
HTTPConnection.address is now always the socket address, even for non-IP
sockets. HTTPRequest.remote_ip is still always an IP-style address
(fake data is used for non-IP sockets)
Extra data at the end of multipart form bodies is now ignored, which fixes
a compatibility problem with an iOS HTTP client library.
tornado.options options with multiple=True that are set more than
once now overwrite rather than append. This makes it possible to override
values set in parse_config_file with parse_command_line.
tornado.web.RequestHandler now supports the PATCH HTTP method.
Note that this means any existing methods named patch in
RequestHandler subclasses will need to be renamed.
tornado.web.addslash and removeslash decorators now send permanent
redirects (301) instead of temporary (302).
RequestHandler.flush now invokes its callback whether there was any data
to flush or not.
Repeated calls to RequestHandler.set_cookie with the same name now
overwrite the previous cookie instead of producing additional copies.
tornado.web.OutputTransform.transform_first_chunk now takes and returns
a status code in addition to the headers and chunk. This is a
backwards-incompatible change to an interface that was never technically
private, but was not included in the documentation and does not appear
to have been used outside Tornado itself.
Fixed a bug on python versions before 2.6.5 when URLSpec regexes
are constructed from unicode strings and keyword arguments are extracted.