News ==== .. contents:: 3.5.2 ----- * Additional fixes to next in iterators. Thanks to cjwatson. 3.5.1 ----- * Replace deprecated threading.currentThread, getName and setDaemon with threading.current_thread, name and daemon. Thanks to hugovk. 3.5.0 ----- * Python 3 fixes to auth and wsgi.errors handling; notably making wsgi.errors text. Thanks to brondsem. 3.4.6 ----- * Explicit pkg_resource dependency to easy packaging. Thanks to mgorny. 3.4.5 ----- * Remove deprecated dependencies paste/fixture.py. Thanks to jhance. 3.4.4 ----- * Update setup.py to work with setuptools 50.1.0+ Thanks to hrnciar for the patch. 3.4.3 ----- * Patch auth ticket to be python3 compatible. Thanks to TilmanSchaefer for the patch. 3.4.2 ----- * Correct sorting of items() in EvalHTMLFormatter. Thanks to amitmarkel for the patch. 3.4.1 ----- * Fix next in iterators in wsgilib.py. 3.4.0 ----- * Allow binding IPv6 address when starting a server. Thanks to Lekinho for this patch. 3.3.0 ----- * Use six.BytesIO when reading wsgi.input. * Remove use of pytest-runner. 3.2.7 ----- * Python 3 updates for use of StringIO and auth_tkt.py. 3.2.6 ----- * Correctly handle HEAD requests (to send empty body) when gzip encoding requested. 3.2.4 ----- * Use is_alive instead of isAlive for Python 3.9 compatibility. * Use encodebytes instead of deprecated encodestring. * Fix Python 2 and 3 compatibility for base64. Thanks to tirkarthi for these fixes. 3.2.3 ----- * Correct ``100 Continue`` in Python 3 3.2.2 ----- * Avoid some reference cycles through tracebacks in httpserver.py 3.2.1 ----- * Handle io.UnsupportedOperation from socket.tell() 3.2.0 ----- * Ensure unicode URLs work in TestApp. * Make LimitedLengthFile file return empty bytes. * Protect against accidental close in FieldStorage. Thanks to benjaminp for many recent contributions. 3.1.1 ----- * TestApp.encode_multipart handles bytes filenames and params. 3.1.0 ----- * Allow anything that can read() for a file-like response, not just a ``file`` instance. 3.0.8 ----- * Fix quoting of bytestrings (#23, via jelmer). 3.0.7 ----- * Send bytestrings when writing chunks from ``paste/httpserver.py``. 3.0.6 ----- * Revert the changes in the 3.0.5, which introduced unexpected errors in ``paste/httpserver.py`` when using SSL. 3.0.5 ----- * Quiet a deprecation warning in OpenSSL. 3.0.4 ----- * Python 3 fix for deleting items from a dict. 3.0.3 ----- * Ensure pytest requirements set properly. 3.0.2 ----- * Encoding fixes in ``paste.fixture``. 3.0.1 ----- * Remove use of future for sake of html.escape and use own. Using future was causing installation loops. See: https://github.com/cdent/paste/issues/6 3.0.0 ----- * Fixes for use with Python 3.7, mostly to do with ``StopIteration``. * Moving to https://github.com/cdent/paste to keep things maintained. 2.0.3 ----- * #26: Change six requirement to >=1.4.0 from [Linus Heckemann](https://bitbucket.org/sphalerite/) https://bitbucket.org/ianb/paste/pull-requests/26/change-six-requirement-to-140/diff * #28: Py3k fixes from [Nils Philippsen](https://bitbucket.org/nilsph/) https://bitbucket.org/ianb/paste/pull-requests/28/py3k-fixes/diff * #29: paste.wsgilib.add_close: Add __next__ method to support using `add_close` objects as iterators on Python 3. fixes https://bitbucket.org/ianb/pastedeploy/issues/18/py3-test_config_middleware-failed from [Marc Abramowitz](https://bitbucket.org/msabramo/) https://bitbucket.org/ianb/paste/pull-requests/29/pastewsgilibadd_close-add-__next__-method/diff * #30: tox.ini: Add py35 to envlist from [Marc Abramowitz](https://bitbucket.org/msabramo/) https://bitbucket.org/ianb/paste/pull-requests/30/toxini-add-py35-to-envlist/diff * #31: Enable testing with pypy from [Marc Abramowitz](https://bitbucket.org/msabramo/) https://bitbucket.org/ianb/paste/pull-requests/31/enable-testing-with-pypy/diff * #33: tox.ini: Measure test coveraage from [Marc Abramowitz](https://bitbucket.org/msabramo/) https://bitbucket.org/ianb/paste/pull-requests/33/toxini-measure-test-coverage/diff 2.0.2 ----- * #22: Fix improper commas in request headers in wsgi_environ (https://bitbucket.org/ianb/paste/pull-request/22/fix-improper-commas-in-request-headers-in) Fixes issue #4 ("WSGI environ totally borked") (https://bitbucket.org/ianb/paste/issue/4/wsgi-environ-totally-borked) * #24: test_wsgirequest_charset: Use UTF-8 instead of iso-8859-1 (https://bitbucket.org/ianb/paste/pull-request/24/test_wsgirequest_charset-use-utf-8-instead) Fixes issue #7 ("Python 3 test failure") (https://bitbucket.org/ianb/paste/issue/7/python-3-test-failure) * #23: Replace cgi.parse_qsl w/ six.moves.urllib.parse.parse_qsl (https://bitbucket.org/ianb/paste/pull-request/23/replace-cgiparse_qsl-w) Fixes issue #8 ("cgi.parse_qsl is pending deprecation") (https://bitbucket.org/ianb/paste/issue/8/cgiparse_qsl-is-pending-deprecation) * #20: Escape CGI environment variables in HTTP 404 responses (https://bitbucket.org/ianb/paste/pull-request/20/escape-cgi-environment-variables-in-http) * #6: Add HTTP exception for new code 429 "Too Many Requests" (https://bitbucket.org/ianb/paste/pull-request/6/add-http-exception-for-new-code-429-too) * #25: replace ``has_key`` method to ``in`` operator #9 (https://bitbucket.org/ianb/paste/pull-request/25/replace-has_key-method-to-in-operator-9) Fixes #9 ("used methods removed from py3") (https://bitbucket.org/ianb/paste/issue/9/used-methods-removed-from-py3) * #5: Invalid error message when the socket is already in use (https://bitbucket.org/ianb/paste/issue/5/invalid-error-message-when-the-socket-is) 2.0.1 ----- * Fix setup.py for six dependency: move the six dependency from extras_require to install_requires. * Port paste.proxy to Python 3. * Fix paste.exceptions.serial_number_generator.hash_identifier() on Python 3. * Fix paste.util.threadedprint.uninstall(). Rename duplicated uninstall() function to uninstall_stdin() and fix typo in variable name (_oldstin => _oldstdin). * Add README.rst file. 2.0 --- * Experimental Python 3 support. * paste now requires the six module. * Drop support of Python 2.5 and older. * Fixed ``egg:Paste#cgi`` * In ``paste.httpserver``: give a 100 Continue response even when the server has been configured as an HTTP/1.0 server (clients may send ``Expect: 100-Continue`` before they know the version), and wrap 100 Continue ``environ['wsgi.input']`` files with LimitedLengthFile just like normal request bodies are wrapped, keeping WSGI applications from over-reading from the socket. * Fixed parsing of paths beginning with multiple forward slashes. * Add tox.ini to run tests with tox on Python 2.6, 2.7 and 3.4. 1.7.5.1 ------- * Fix bug introduced in :mod:`paste.auth.auth_tkt` (with ``url_unquote``) 1.7.5 ----- * Won't install ``tests/`` directory (also caused installation problems on some Mac systems). * Fixed problem with gzip middleware and zero-length responses. * Use ``X-Forwarded-For`` header in :mod:`paste.translogger` * Fixed problems with mimeparse code * Fixed some corner cases with CGI scripts * :mod:`paste.auth.auth_tkt` will URL-quote usernames, avoiding some errors with usernames with ``!`` in them. * Improve handling of errors in fetching error pages in :mod:`paste.errordocument`. 1.7.4 ----- * Fix XSS bug (security issue) with not found handlers for :class:`paste.urlparser.StaticURLParser` and :class:`paste.urlmap.URLMap`. If you ask for a path with ``/-->