* Drop support for Python 3.4. (#1478)
* Remove code that issued deprecation warnings in version 0.15. (#1477)
* Remove most top-level attributes provided by the werkzeug module in favor of direct imports. For example, instead of import werkzeug; werkzeug.url_quote, do from werkzeug.urls import url_quote. Install version 0.16 first to see deprecation warnings while upgrading. #2, #1640
* Added utils.invalidate_cached_property() to invalidate cached properties. (#1474)
* Directive keys for the Set-Cookie response header are not ignored when parsing the Cookie request header. This allows cookies with names such as “expires” and “version”. (#1495)
* Request cookies are parsed into a MultiDict to capture all values for cookies with the same key. cookies[key] returns the first value rather than the last. Use cookies.getlist(key) to get all values. parse_cookie also defaults to a MultiDict. #1562, #1458
* Add charset=utf-8 to an HTTP exception response’s CONTENT_TYPE header. (#1526)
* The interactive debugger handles outer variables in nested scopes such as lambdas and comprehensions. #913, #1037, #1532
* The user agent for Opera 60 on Mac is correctly reported as “opera” instead of “chrome”. #1556
* The platform for Crosswalk on Android is correctly reported as “android” instead of “chromeos”. (#1572)
* Issue a warning when the current server name does not match the configured server name. #760
* A configured server name with the default port for a scheme will match the current server name without the port if the current scheme matches. #1584
* InternalServerError has a original_exception attribute that frameworks can use to track the original cause of the error. #1590
* Headers are tested for equality independent of the header key case, such that X-Foo is the same as x-foo. #1605
* http.dump_cookie() accepts 'None' as a value for samesite. #1549
* set_cookie() accepts a samesite argument. #1705
* Support the Content Security Policy header through the Response.content_security_policy data structure. #1617
* LanguageAccept will fall back to matching “en” for “en-US” or “en-US” for “en” to better support clients or translations that only match at the primary language tag. #450, #1507
* MIMEAccept uses MIME parameters for specificity when matching. #458, #1574
* If the development server is started with an SSLContext configured to verify client certificates, the certificate in PEM format will be available as environ["SSL_CLIENT_CERT"]. #1469
* is_resource_modified will run for methods other than GET and HEAD, rather than always returning False. #409
* SharedDataMiddleware returns 404 rather than 500 when trying to access a directory instead of a file with the package loader. The dependency on setuptools and pkg_resources is removed. #1599
* Add a response.cache_control.immutable flag. Keep in mind that browser support for this Cache-Control header option is still experimental and may not be implemented. #1185
* Optional request log highlighting with the development server is handled by Click instead of termcolor. #1235
* Optional ad-hoc TLS support for the development server is handled by cryptography instead of pyOpenSSL. #1555
* FileStorage.save() supports pathlib and PEP 519 PathLike objects. #1653
* The debugger security pin is unique in containers managed by Podman. #1661
* Building a URL when host_matching is enabled takes into account the current host when there are duplicate endpoints with different hosts. #488
* The 429 TooManyRequests and 503 ServiceUnavailable HTTP exceptions takes a retry_after parameter to set the Retry-After header. #1657
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Werkzeug?expand=0&rev=49
- update to 0.12.2:
- Fix regression: Pull request ``#892`` prevented Werkzeug from correctly
logging the IP of a remote client behind a reverse proxy, even when using
`ProxyFix`.
- Fix a bug in `safe_join` on Windows.
- update to 0.12.2:
- Fix regression: Pull request ``#892`` prevented Werkzeug from correctly
logging the IP of a remote client behind a reverse proxy, even when using
`ProxyFix`.
- Fix a bug in `safe_join` on Windows.
OBS-URL: https://build.opensuse.org/request/show/515242
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Werkzeug?expand=0&rev=26
- update to 0.12.1
- use python3-Sphinx for build
- update for singlespec
- update to 0.12.1
* deprecate werkzeug.script
* Use `inspect.getfullargspec` internally when available as
`inspect.getargspec` is gone in 3.6
* Added support for status code 451 and 423
* Improved the build error suggestions. In particular only if
someone stringifies the error will the suggestions be calculated.
* Added support for uWSGI's caching backend.
* Fix a bug where iterating over a `FileStorage` would result in an infinite
loop.
* Datastructures now inherit from the relevant baseclasses from the
`collections` module in the stdlib. See #794.
* Add support for recognizing NetBSD, OpenBSD, FreeBSD, DragonFlyBSD platforms
in the user agent string.
* Recognize SeaMonkey browser name and version correctly
* Recognize Baiduspider, and bingbot user agents
* If `LocalProxy`'s wrapped object is a function, refer to it with __wrapped__
attribute.
* The defaults of ``generate_password_hash`` have been changed to more secure
ones, see pull request ``#753``.
* Add support for encoding in options header parsing, see pull request
``#933``.
* ``test.Client`` now properly handles Location headers with relative URLs, see
pull request ``#879``.
* When `HTTPException` is raised, it now prints the description, for easier
debugging.
OBS-URL: https://build.opensuse.org/request/show/486169
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Werkzeug?expand=0&rev=24
- Add 0001_create_a_thread_to_reap_death_process.patch
Fixes bsc#954591
- update to 0.11.3:
- Added reloader_paths option to run_simple and other functions in
werkzeug.serving. This allows the user to completely override the
Python module watching of Werkzeug with custom paths.
- Many custom cached properties of Werkzeug’s classes are now
subclasses of Python’s property type (issue #616).
- bind_to_environ now doesn’t differentiate between implicit and
explicit default port numbers in HTTP_HOST (pull request #204).
- BuildErrors are now more informative. They come with a complete
sentence as error message, and also provide suggestions (pull
request #691).
- Fix a bug in the user agent parser where Safari’s build number
instead of version would be extracted (pull request #703).
- Fixed issue where RedisCache set_many was broken for twemproxy,
which doesn’t support the default MULTI command (pull request
#702).
- mimetype parameters on request and response classes are now always
converted to lowercase.
- Changed cache so that cache never expires if timeout is 0. This
also fixes an issue with redis setex (issue #550)
- Werkzeug now assumes UTF-8 as filesystem encoding on Unix if
Python detected it as ASCII.
- New optional has method on caches.
- Fixed various bugs in parse_options_header (pull request #643).
- If the reloader is enabled the server will now open the socket in
the parent process if this is possible. This means that when the
reloader kicks in the connection from client will wait instead of
OBS-URL: https://build.opensuse.org/request/show/358349
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Werkzeug?expand=0&rev=16
- update to 0.10.4:
- Re-release of 0.10.3 with packaging artifacts manually removed.
- Re-release of 0.10.2 without packaging artifacts.
- Fixed issue where ``empty`` could break third-party libraries that relied on
keyword arguments (pull request ``#675``)
- Improved ``Rule.empty`` by providing a ```get_empty_kwargs`` to allow setting
custom kwargs without having to override entire ``empty`` method. (pull
request ``#675``)
- Fixed ```extra_files``` parameter for reloader to not cause startup
to crash when included in server params
- Using `MultiDict` when building URLs is now not supported again. The behavior
introduced several regressions.
- Fix performance problems with stat-reloader (pull request ``#715``).
- Fixed regression with multiple query values for URLs (pull request ``#667``).
- Fix issues with eventlet's monkeypatching and the builtin server (pull
request ``#663``).
- Changed the error handling of and improved testsuite for the caches in
``contrib.cache``.
- Fixed a bug on Python 3 when creating adhoc ssl contexts, due to `sys.maxint`
not being defined.
- Fixed a bug on Python 3, that caused
:func:`~werkzeug.serving.make_ssl_devcert` to fail with an exception.
- Added exceptions for 504 and 505.
- Added support for ChromeOS detection.
- Added UUID converter to the routing system.
- Added message that explains how to quit the server.
- Fixed a bug on Python 2, that caused ``len`` for
:class:`werkzeug.datastructures.CombinedMultiDict` to crash.
- Added support for stdlib pbkdf2 hmac if a compatible digest
is found.
OBS-URL: https://build.opensuse.org/request/show/313100
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Werkzeug?expand=0&rev=14
- update to 0.9.4:
- Fixed an issue with Python 3.3 and an edge case in cookie parsing.
- Fixed decoding errors not handled properly through the WSGI
decoding dance.
- Fixed URI to IRI conversion incorrectly decoding percent signs.
- Restored beahvior of the ``data`` descriptor of the request class to pre 0.9
behavior. This now also means that ``.data`` and ``.get_data()`` have
different behavior. New code should use ``.get_data()`` always.
In addition to that there is now a flag for the ``.get_data()`` method that
controls what should happen with form data parsing and the form parser will
honor cached data. This makes dealing with custom form data more consistent.
- Added `unsafe` parameter to :func:`~werkzeug.urls.url_quote`.
- Fixed an issue with :func:`~werkzeug.urls.url_quote_plus` not quoting
`'+'` correctly.
- Ported remaining parts of :class:`~werkzeug.contrib.RedisCache` to
Python 3.3.
- Ported remaining parts of :class:`~werkzeug.contrib.MemcachedCache` to
Python 3.3
- Fixed a deprecation warning in the contrib atom module.
- Fixed a regression with setting of content types through the
headers dictionary instead with the content type parameter.
- Use correct name for stdlib secure string comparision function.
- Fixed a wrong reference in the docstring of
:func:`~werkzeug.local.release_local`.
- Fixed an `AttributeError` that sometimes occurred when accessing the
:attr:`werkzeug.wrappers.BaseResponse.is_streamed` attribute.
- Fixed an issue with integers no longer being accepted in certain
parts of the routing system or URL quoting functions.
- Fixed an issue with `url_quote` not producing the right escape
codes for single digit codepoints.
OBS-URL: https://build.opensuse.org/request/show/197223
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Werkzeug?expand=0&rev=8
- Fixed another issue with :func:`werkzeug.wsgi.make_line_iter`
where lines longer than the buffer size were not handled
properly.
- Restore stdout after debug console finished executing so
that the debugger can be used on GAE better.
- Fixed a bug with the redis cache for int subclasses
(affects bool caching).
- Fixed an XSS problem with redirect targets coming from
untrusted sources.
- Changes from version 0.8.2:
- Fixed a problem with request handling of the builtin server
not repsonding to socket errors properly.
- The routing request redirect exception's code attribute is now
used properly.
- Fixed a bug with shutdowns on Windows.
- Fixed a few unicode issues with non-ascii characters being
hardcoded in URL rules.
- Fixed two property docstrings being assigned to fdel instead
of ``__doc__``.
- Fixed an issue where CRLF line endings could be split into two
by the line iter function, causing problems with multipart file
uploads.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Werkzeug?expand=0&rev=6
* Fixed an issue with the memcache not working properly.
* Fixed an issue for Python 2.7.1 and higher that broke
copying of multidicts with :func:`copy.copy`.
* Changed hashing methodology of immutable ordered multi dicts
for a potential problem with alternative Python implementations.
- Changes from version 0.8:
* Removed data structure specific KeyErrors for a general
purpose :exc:`~werkzeug.exceptions.BadRequestKeyError`.
* Documented :meth:`werkzeug.wrappers.BaseRequest._load_form_data`.
* The routing system now also accepts strings instead of
dictionaries for the `query_args` parameter since we're only
passing them through for redirects.
* Werkzeug now automatically sets the content length immediately when
the :attr:`~werkzeug.wrappers.BaseResponse.data` attribute is set
for efficiency and simplicity reasons.
* The routing system will now normalize server names to lowercase.
* The routing system will no longer raise ValueErrors in case the
configuration for the server name was incorrect. This should make
deployment much easier because you can ignore that factor now.
* Fixed a bug with parsing HTTP digest headers. It rejected headers
with missing nc and nonce params.
* Proxy fix now also updates wsgi.url_scheme based on X-Forwarded-Proto.
* Added support for key prefixes to the redis cache.
* Added the ability to supress some auto corrections in the wrappers
that are now controlled via `autocorrect_location_header` and
`automatically_set_content_length` on the response objects.
* Werkzeug now uses a new method to check that the length of incoming
data is complete and will raise IO errors by itself if the server
fails to do so.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Werkzeug?expand=0&rev=3
- Update to version 0.7.1:
* Fixed a problem with newer versions of IPython
* Disabled pyinotify based reloader which does not work reliably.
- Changes from version 0.7.0:
* Add support for python-libmemcached to the Werkzeug cache abstraction
layer.
* improved url_decode and url_encode performance.
* fixed an issue where the SharedDataMiddleware could cause an
internal server error on weird paths when loading via pkg_resources.
* fixed an URL generation bug that caused URLs to be invalid if a
generated component contains a colon.
* werkzeug.import_string now works with partially set up
packages properly.
* disabled automatic socket swiching for IPv6 on the development
server due to problems it caused.
* Werkzeug no longer overrides the Date header when creating a
conditional HTTP response.
* The routing system provides a method to retrieve the matching
methods for a given path.
* The routing system now accepts a parameter to change the encoding
error behaviour.
* The local manager can now accept custom ident functions in the
constructor that are forwarded to the wrapped local objects.
* url_unquote_plus now accepts unicode strings again.
* fixed an issues with the filesystem session support's prune
function and concurrent usage.
* fixed a problem with external URL generation discarding the port.
* added support for pylibmc to the Werkzeug cache abstraction layer.
* fixed an issue with the new multipart parser that happened when
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Werkzeug?expand=0&rev=1