Update dependency Werkzeug to v0.16.1 #14
No reviewers
Labels
No labels
bug
dependencies
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
andylockran/parkrun-hackapi!14
Loading…
Reference in a new issue
No description provided.
Delete branch "renovate/werkzeug-0.x"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
==0.12.2→==0.16.1Release Notes
pallets/werkzeug (Werkzeug)
v0.16.1Compare Source
Released 2020-01-27
:issue:
1663content. :issue:
1659v0.16.0Compare Source
Released 2019-09-19
Deprecate most top-level attributes provided by the
werkzeugmodule in favor of direct imports. The deprecated imports will be
removed in version 1.0.
For example, instead of
import werkzeug; werkzeug.url_quote, dofrom werkzeug.urls import url_quote. A deprecation warning willshow the correct import to use.
werkzeug.exceptionsandwerkzeug.routingshould also be imported instead of accessed,but for technical reasons can't show a warning.
:issue:
2, :pr:1640v0.15.6Compare Source
Released 2019-09-04
Windows when the script was an entry point. This fixes the issue
with Flask's
flask runcommand failing with "No module namedScripts\flask". :issue:
1614ProxyFixtrusts theX-Forwarded-Protoheader by default.:issue:
1630num_proxiesargument toProxyFixsetsx_for,x_proto, andx_hostto match 0.14 behavior. Thisis intended to make intermediate upgrades less disruptive, but the
argument will still be removed in 1.0. :issue:
1630v0.15.5Compare Source
Released 2019-07-17
TypeErrordue to changes toast.Modulein Python 3.8.:issue:
1551releases. :issue:
1553~exceptions.BadRequestKeyErroradds theKeyErrormessage to the description if
e.show_exceptionis set toTrue. This is a more secure default than the original 0.15.0behavior and makes it easier to control without losing information.
:pr:
15921581reloader to fail. :issue:
1607setuptools script installed as an egg. :issue:
1600sys.executableeven if the script ismarked executable, reverting a behavior intended for NixOS
introduced in 0.15. The reloader should no longer cause
OSError: [Errno 8] Exec format error. :issue:1482,:issue:
1580SharedDataMiddlewaresafely handles paths with Windows drivenames. :issue:
1589v0.15.4Compare Source
Released 2019-05-14
SyntaxErroron Python 2.7.5. (:issue:1544)v0.15.3Compare Source
Released 2019-05-14
Python 2.7. (:issue:
1080)responseargument to :exc:~exceptions.Unauthorized.(:pr:
1527)~exceptions.Unauthorizeddoesn't add theWWW-Authenticateheader if
www_authenticateis not given. (:issue:1516)than representing them with
b''. (:issue:1502):class:
~middleware.profiler.ProfilerMiddlewareto correctly handlefloat values. (:issue:
1511)~middleware.lint.LintMiddlewareto work on Python 3.(:issue:
1510)out in that case. (:issue:
1536)pin is now unique per container.
v0.15.2Compare Source
Released 2019-04-02
Rulecode generation uses a filename that coverage will ignore.The previous value, "generated", was causing coverage to fail.
(:issue:
1487)cookies. This fixes an issue introduced in 0.15.0 where the cookies
from the original request were used for redirects, causing functions
such as logout to fail. (:issue:
1491)prevent in-place modifications from affecting redirect requests.
(:issue:
1498)"werkzeug"logger only adds a handler if there is no handlerconfigured for its level in the logging chain. This avoids double
logging if other code configures logging first. (:issue:
1492)v0.15.1Compare Source
Released 2019-03-21
~exceptions.Unauthorizedtakesdescriptionas the firstargument, restoring previous behavior. The new
www_authenticateargument is listed second. (:issue:
1483)v0.15.0Compare Source
Released 2019-03-19
Building URLs is ~7x faster. Each :class:
~routing.Rulecompilesan optimized function for building itself. (:pr:
1281):meth:
MapAdapter.build() <routing.MapAdapter.build>can be passeda :class:
~datastructures.MultiDictto represent multiple valuesfor a key. It already did this when passing a dict with a list
value. (:pr:
724)path_infodefaults to'/'for:meth:
Map.bind() <routing.Map.bind>. (:issue:740, :pr:768,:pr:
1316)Change
RequestRedirectcode from 301 to 308, preserving the verband request body (form data) during redirect. (:pr:
1342)intandfloatconverters in URL rules will handle negativevalues if passed the
signed=Trueparameter. For example,/jump/<int(signed=True):count>. (:pr:1355)Locationautocorrection in :func:Response.get_wsgi_headers() <wrappers.BaseResponse.get_wsgi_headers>is relative to the currentpath rather than the root path. (:issue:
693, :pr:718,:pr:
1315)412 responses once again include entity headers and an error message
in the body. They were originally omitted when implementing
If-Match(:pr:1233), but the spec doesn't seem to disallow it.(:issue:
1231, :pr:1255)The Content-Length header is removed for 1xx and 204 responses. This
fixes a previous change where no body would be sent, but the header
would still be present. The new behavior matches RFC 7230.
(:pr:
1294):class:
~exceptions.Unauthorizedtakes awww_authenticateparameter to set the
WWW-Authenticateheader for the response,which is technically required for a valid 401 response.
(:issue:
772, :pr:795)Add support for status code 424 :exc:
~exceptions.FailedDependency.(:pr:
1358):func:
http.parse_cookieignores empty segments rather thanproducing a cookie with no key or value. (:issue:
1245, :pr:1301)http.parse_authorization_header(and:class:
~datastructures.Authorization,:attr:
~wrappers.Request.authorization) treats the authorizationheader as UTF-8. On Python 2, basic auth username and password are
unicode. (:pr:1325):func:
~http.parse_options_headerunderstands :rfc:2231parametercontinuations. (:pr:
1417):func:
~urls.uri_to_iridoes not unquote ASCII characters in theunreserved class, such as space, and leaves invalid bytes quoted
when decoding. :func:
~urls.iri_to_uridoes not quote reservedcharacters. See :rfc:
3987for these character classes.(:pr:
1433)get_content_typeappends a charset for any mimetype that endswith
+xml, not just those that start withapplication/.Known text types such as
application/javascriptare also givencharsets. (:pr:
1439)Clean up
werkzeug.securitymodule, remove outdated hashlibsupport. (:pr:
1282)In :func:
~security.generate_password_hash, PBKDF2 uses 150000iterations by default, increased from 50000. (:pr:
1377):class:
~wsgi.ClosingIteratorcallscloseon the wrappediterable, not the internal iterator. This doesn't affect objects
where
__iter__returnedself. For other objects, the methodwas not called before. (:issue:
1259, :pr:1260)Bytes may be used as keys in :class:
~datastructures.Headers, theywill be decoded as Latin-1 like values are. (:pr:
1346):class:
~datastructures.Rangevalidates that list of range tuplespassed to it would produce a valid
Rangeheader. (:pr:1412):class:
~datastructures.FileStoragelooks up attributes onstream._fileif they don't exist onstream, working aroundan issue where :func:
tempfile.SpooledTemporaryFiledidn'timplement all of :class:
io.IOBase. Seepython/cpython#3249. (:pr:
1409):class:
CombinedMultiDict.copy() <datastructures.CombinedMultiDict>returns a shallow mutable copy as a
:class:
~datastructures.MultiDict. The copy no longer reflectschanges to the combined dicts, but is more generally useful.
(:pr:
1420)The version of jQuery used by the debugger is updated to 3.3.1.
(:pr:
1390)The debugger correctly renders long
markupsafe.Markupinstances.(:pr:
1393)The debugger can serve resources when Werkzeug is installed as a
zip file.
DebuggedApplication.get_resourceusespkgutil.get_data. (:pr:1401)The debugger and server log support Python 3's chained exceptions.
(:pr:
1396)The interactive debugger highlights frames that come from user code
to make them easy to pick out in a long stack trace. Note that if an
env was created with virtualenv instead of venv, the debugger may
incorrectly classify some frames. (:pr:
1421)Clicking the error message at the top of the interactive debugger
will jump down to the bottom of the traceback. (:pr:
1422)When generating a PIN, the debugger will ignore a
KeyErrorraised when the current UID doesn't have an associated username,
which can happen in Docker. (:issue:
1471):class:
~exceptions.BadRequestKeyErroradds theKeyErrormessage to the description, making it clearer what caused the 400
error. Frameworks like Flask can omit this information in production
by setting
e.args = (). (:pr:1395)If a nested
ImportErroroccurs from :func:~utils.import_stringthe traceback mentions the nested import. Removes an untested code
path for handling "modules not yet set up by the parent."
(:pr:
735)Triggering a reload while using a tool such as PDB no longer hides
input. (:pr:
1318)The reloader will not prepend the Python executable to the command
line if the Python file is marked executable. This allows the
reloader to work on NixOS. (:pr:
1242)Fix an issue where
sys.pathwould change between reloads whenrunning with
python -m app. The reloader can detect that amodule was run with "-m" and reconstructs that instead of the file
path in
sys.argvwhen reloading. (:pr:1416)The dev server can bind to a Unix socket by passing a hostname like
unix://app.socket. (:pr:209, :pr:1019)Server uses
IPPROTO_TCPconstant instead ofSOL_TCPforJython compatibility. (:pr:
1375)When using an adhoc SSL cert with :func:
~serving.run_simple, thecert is shown as self-signed rather than signed by an invalid
authority. (:pr:
1430)The development server logs the unquoted IRI rather than the raw
request line, to make it easier to work with Unicode in request
paths during development. (:issue:
1115)The development server recognizes
ConnectionErroron Python 3 tosilence client disconnects, and does not silence other
OSErrorsthat may have been raised inside the application. (:pr:
1418)The environ keys
REQUEST_URIandRAW_URIcontain the rawpath before it was percent-decoded. This is non-standard, but many
WSGI servers add them. Middleware could replace
PATH_INFOwiththis to route based on the raw value. (:pr:
1419):class:
~test.EnvironBuilderdoesn't setCONTENT_TYPEorCONTENT_LENGTHin the environ if they aren't set. Previouslythese used default values if they weren't set. Now it's possible to
distinguish between empty and unset values. (:pr:
1308)The test client raises a
ValueErrorif a query string argumentwould overwrite a query string in the path. (:pr:
1338):class:
test.EnvironBuilderand :class:test.Clienttake ajsonargument instead of manually passingdataandcontent_type. This is serialized using the:meth:
test.EnvironBuilder.json_dumpsmethod. (:pr:1404):class:
test.Clientredirect handling is rewritten. (:pr:1402)redirecting to a path under the root.
ignore the body and related headers.
what browsers do.
test.EnvironBuildersets the content type and lengthheaders in addition to the WSGI keys when detecting them from
the data.
buffered=Falseto ensure iterator middleware can run cleanupcode safely. Only the last response is not buffered. (:pr:
988):class:
~test.EnvironBuilder, :class:~datastructures.FileStorage,and :func:
wsgi.get_input_streamno longer share a global_empty_streaminstance. This improves test isolation bypreventing cases where closing the stream in one request would
affect other usages. (:pr:
1340)The default
SecureCookie.serialization_methodwill change from:mod:
pickleto :mod:jsonin 1.0. To upgrade existing tokens,override :meth:
~contrib.securecookie.SecureCookie.unquoteto trypickleifjsonfails. (:pr:1413)CGIRootFixno longer modifiesPATH_INFOfor very oldversions of Lighttpd.
LighttpdCGIRootFixwas renamed toCGIRootFixin 0.9. Both are deprecated and will be removed inversion 1.0. (:pr:
1141):class:
werkzeug.wrappers.json.JSONMixinhas been replaced withFlask's implementation. Check the docs for the full API.
(:pr:
1445)The contrib modules are deprecated and will either be moved into
werkzeugcore or removed completely in version 1.0. Some modulesthat already issued deprecation warnings have been removed. Be sure
to run or test your code with
python -W default::DeprecationWarningto catch any deprecatedcode you're using. (:issue:
4)LintMiddlewarehas moved to :mod:werkzeug.middleware.lint.ProfilerMiddlewarehas moved to:mod:
werkzeug.middleware.profiler.ProxyFixhas moved to :mod:werkzeug.middleware.proxy_fix.JSONRequestMixinhas moved to :mod:werkzeug.wrappers.json.cachehas been extracted into a separate project,cachelib <https://github.com/pallets/cachelib>_. The versionin Werkzeug is deprecated.
securecookieandsessionshave been extracted into aseparate project,
secure-cookie <https://github.com/pallets/secure-cookie>_. Theversion in Werkzeug is deprecated.
fixers, exceptProxyFix, is deprecated.wrappers, exceptJSONMixin, is deprecated.atomis deprecated. This did not fit in with the rest ofWerkzeug, and is better served by a dedicated library in the
community.
jsroutingis removed. Set URLs when rendering templatesor JSON responses instead.
limiteris removed. Its specific use is handled by Werkzeugdirectly, but stream limiting is better handled by the WSGI
server in general.
testtoolsis removed. It did not offer significant benefitover the default test client.
iteriois deprecated.:func:
wsgi.get_hostno longer looks atX-Forwarded-For. Use:class:
~middleware.proxy_fix.ProxyFixto handle that.(:issue:
609, :pr:1303):class:
~middleware.proxy_fix.ProxyFixis refactored to supportmore headers, multiple values, and more secure configuration.
proxies is configured separately for each header. The
num_proxiesargument is deprecated. (:pr:1314)SERVER_NAMEandSERVER_PORTbased onX-Forwarded-Host. (:pr:1314)SERVER_PORTand modifiesHTTP_HOSTbased onX-Forwarded-Port. (:issue:1023, :pr:1304)SCRIPT_NAMEbased onX-Forwarded-Prefix.(:issue:
1237)werkzeug.proxy_fix.origkey, a dict. The individual keyswerkzeug.proxy_fix.orig_remote_addr,werkzeug.proxy_fix.orig_wsgi_url_scheme, andwerkzeug.proxy_fix.orig_http_hostare deprecated.Middleware from
werkzeug.wsgihas moved to separate modulesunder
werkzeug.middleware, along with the middleware moved fromwerkzeug.contrib. The oldwerkzeug.wsgiimports aredeprecated and will be removed in version 1.0. (:pr:
1452)werkzeug.wsgi.DispatcherMiddlewarehas moved to:class:
werkzeug.middleware.dispatcher.DispatcherMiddleware.werkzeug.wsgi.ProxyMiddlewareas moved to:class:
werkzeug.middleware.http_proxy.ProxyMiddleware.werkzeug.wsgi.SharedDataMiddlewarehas moved to:class:
werkzeug.middleware.shared_data.SharedDataMiddleware.:class:
~middleware.http_proxy.ProxyMiddlewareproxies the querystring. (:pr:
1252)The filenames generated by
:class:
~middleware.profiler.ProfilerMiddlewarecan be customized.(:issue:
1283)The
werkzeug.wrappersmodule has been converted to a package,and its various classes have been organized into separate modules.
Any previously documented classes, understood to be the existing
public API, are still importable from
werkzeug.wrappers, or maybe imported from their specific modules. (:pr:
1456)v0.14.1Compare Source
Released on December 31st 2017
development server.
v0.14Compare Source
Released on December 31st 2017
development server.
v0.13Compare Source
Released on December 7th 2017
for these versions, and support will be dropped completely in the next
version. (:issue:
pallets/meta#24)TypeErrorwhen port is not an integer. (:pr:1088)werkzeug.script. UseClick_ instead.(:pr:
1090)response.ageis parsed as atimedelta. Previously, it wasincorrectly treated as a
datetime. The header value is an integernumber of seconds, not a date string. (:pr:
414)TypeConversionDictwhere errors are not propagatedwhen using the converter. (:issue:
1102)Authorization.qopis a string instead of a set, to comply withRFC 2617. (:pr:
984)default, 4093 bytes. Browsers may silently ignore cookies larger than
this.
BaseResponsehas a new attributemax_cookie_sizeanddump_cookiehas a new argumentmax_sizeto configure this.(:pr:
780, :pr:1109)werkzeug.contrib.lint.GuardedIterator.close.(:pr:
1116)BaseResponse.calculate_content_lengthnow correctly works forUnicode responses on Python 3. It first encodes using
iter_encoded. (:issue:705)(:pr:
1205)locations to preserve lookup order. (:pr:
1197)(:pr:
1208)transfer encoding. (:pr:
1198).. _Click: https://palletsprojects.com/p/click/
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate CLI.
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.