awips2/pythonPackages/Werkzeug-0.12.1/docs/changes.rst
2017-04-21 18:33:55 -06:00

109 lines
5.4 KiB
ReStructuredText

==================
Werkzeug Changelog
==================
.. module:: werkzeug
This file lists all major changes in Werkzeug over the versions.
For API breaking changes have a look at :ref:`api-changes`, they
are listed there in detail.
.. include:: ../CHANGES
.. _api-changes:
API Changes
===========
`0.9`
- Soft-deprecated the :attr:`BaseRequest.data` and
:attr:`BaseResponse.data` attributes and introduced new methods
to interact with entity data. This will allows in the future to
make better APIs to deal with request and response entity
bodies. So far there is no deprecation warning but users are
strongly encouraged to update.
- The :class:`Headers` and :class:`EnvironHeaders` datastructures
are now designed to operate on unicode data. This is a backwards
incompatible change and was necessary for the Python 3 support.
- The :class:`Headers` object no longer supports in-place operations
through the old ``linked`` method. This has been removed without
replacement due to changes on the encoding model.
`0.6.2`
- renamed the attribute `implicit_seqence_conversion` attribute of
the request object to `implicit_sequence_conversion`. Because
this is a feature that is typically unused and was only in there
for the 0.6 series we consider this a bug that does not require
backwards compatibility support which would be impossible to
properly implement.
`0.6`
- Old deprecations were removed.
- `cached_property.writeable` was deprecated.
- :meth:`BaseResponse.get_wsgi_headers` replaces the older
`BaseResponse.fix_headers` method. The older method stays
around for backwards compatibility reasons until 0.7.
- `BaseResponse.header_list` was deprecated. You should not
need this function, `get_wsgi_headers` and the `to_list`
method on the regular headers should serve as a replacement.
- Deprecated `BaseResponse.iter_encoded`'s charset parameter.
- :class:`LimitedStream` non-silent usage was deprecated.
- the `__repr__` of HTTP exceptions changed. This might break
doctests.
`0.5`
- Werkzeug switched away from wsgiref as library for the builtin
webserver.
- The `encoding` parameter for :class:`Template`\s is now called
`charset`. The older one will work for another two versions
but warn with a :exc:`DeprecationWarning`.
- The :class:`Client` has cookie support now which is enabled
by default.
- :meth:`BaseResponse._get_file_stream` is now passed more parameters
to make the function more useful. In 0.6 the old way to invoke
the method will no longer work. To support both newer and older
Werkzeug versions you can add all arguments to the signature and
provide default values for each of them.
- :func:`url_decode` no longer supports both `&` and `;` as
separator. This has to be specified explicitly now.
- The request object is now enforced to be read-only for all
attributes. If your code relies on modifications of some values
makes sure to create copies of them using the mutable counterparts!
- Some data structures that were only used on request objects are
now immutable as well. (:class:`Authorization` / :class:`Accept`
and subclasses)
- `CacheControl` was split up into :class:`RequestCacheControl`
and :class:`ResponseCacheControl`, the former being immutable.
The old class will go away in 0.6
- undocumented `werkzeug.test.File` was replaced by
:class:`FileWrapper`.
- it's not longer possible to pass dicts inside the `data` dict
in :class:`Client`. Use tuples instead.
- It's save to modify the return value of :meth:`MultiDict.getlist`
and methods that return lists in the :class:`MultiDict` now. The
class creates copies instead of revealing the internal lists.
However :class:`MultiDict.setlistdefault` still (and intentionally)
returns the internal list for modifications.
`0.3`
- Werkzeug 0.3 will be the last release with Python 2.3 compatibility.
- The `environ_property` is now read-only by default. This decision was
made because the request in general should be considered read-only.
`0.2`
- The `BaseReporterStream` is now part of the contrib module, the
new module is `werkzeug.contrib.reporterstream`. Starting with
`0.3`, the old import will not work any longer.
- `RequestRedirect` now uses a 301 status code. Previously a 302
status code was used incorrectly. If you want to continue using
this 302 code, use ``response = redirect(e.new_url, 302)``.
- `lazy_property` is now called `cached_property`. The alias for
the old name will disappear in Werkzeug 0.3.
- `match` can now raise `MethodNotAllowed` if configured for
methods and there was no method for that request.
- The `response_body` attribute on the response object is now called
`data`. With Werkzeug 0.3 the old name will not work any longer.
- The file-like methods on the response object are deprecated. If
you want to use the response object as file like object use the
`Response` class or a subclass of `BaseResponse` and mix the new
`ResponseStreamMixin` class and use `response.stream`.