Skip to content

Latest commit

 

History

History
117 lines (93 loc) · 5.09 KB

CHANGES.rst

File metadata and controls

117 lines (93 loc) · 5.09 KB

unreleased

Features

  • Add a _depth and _category arguments to all of the venusian decorators. The _category argument can be used to affect which actions are registered when performing a config.scan(..., category=...) with a specific category. The _depth argument should be used when wrapping the decorator in your own. This change affects pyramid.view.view_config, pyramid.view.exception_view_config, pyramid.view.forbidden_view_config, pyramid.view.notfound_view_config, pyramid.events.subscriber and pyramid.response.response_adapter decorators. See #3105 and #3122
  • Fix the pyramid.request.Request class name after using set_property or config.add_request_method such that the str(request.__class__) would appear as pyramid.request.Request instead of pyramid.util.Request. See #3129
  • In cherrypy_server_runner, prefer imports from the cheroot package over the legacy imports from cherrypy.wsgiserver. See #3235
  • Add a context manager route_prefix_context to the pyramid.config.Configurator to allow for convenient setting of the route_prefix for include and add_route calls inside the context. See #3279
  • Modify the builtin session implementations to support SameSite options on cookies and set the default to 'Lax'. This affects pyramid.session.BaseCookieSessionFactory, pyramid.session.SignedCookieSessionFactory, and pyramid.session.UnencryptedCookieSessionFactoryConfig. See #3300
  • Modify pyramid.authentication.AuthTktAuthenticationPolicy and pyramid.csrf.CookieCSRFStoragePolicy to support the SameSite option on cookies and set the default to 'Lax'. See #3319
  • Added new pyramid.httpexceptions.HTTPPermanentRedirect exception/response object for a HTTP 308 redirect. See #3302
  • Within pshell, allow the user-defined setup function to be a generator, in which case it may wrap the command's lifecycle. See #3318
  • Within pshell, variables defined by the [pshell] settings are available within the user-defined setup function. See #3318
  • Add support for Python 3.7. Add testing on Python 3.8 with allowed failures. See #3333

Bug Fixes

  • Set appropriate code and title attributes on the HTTPClientError and HTTPServerError exception classes. This prevents inadvertently returning a 520 error code. See #3280
  • Replace webob.acceptparse.MIMEAccept from WebOb with webob.acceptparse.create_accept_header in the HTTP exception handling code. The old MIMEAccept has been deprecated. The new methods follow the RFC's more closely. See #3251
  • Catch extra errors like AttributeError when unpickling "trusted" session cookies with bad pickle data in them. This would occur when sharing a secret between projects that shouldn't actually share session cookies, like when reusing secrets between projects in development. See #3325

Deprecations

Backward Incompatibilities

  • On Python 3.4+ the repoze.lru dependency is dropped. If you were using this package directly in your apps you should make sure that you are depending on it directly within your project. See #3140
  • Remove the permission argument from pyramid.config.Configurator.add_route. This was an argument left over from a feature removed in Pyramid 1.5 and has had no effect since then. See #3299
  • Modify the builtin session implementations to set SameSite='Lax' on cookies. This affects pyramid.session.BaseCookieSessionFactory, pyramid.session.SignedCookieSessionFactory, and pyramid.session.UnencryptedCookieSessionFactoryConfig. See #3300
  • Variables defined in the [pshell] section of the settings will no longer override those set by the setup function. See #3318

Documentation Changes

  • Add support for alembic to the pyramid-cookiecutter-alchemy cookiecutter and update the wiki2 tutorial to explain how it works. See #3307 and Pylons/pyramid-cookiecutter-alchemy#7
  • Bump Sphinx to >= 1.7.4 in setup.py to support emphasize-lines in PDFs and to pave the way for xelatex support. See #3271, #667, and #2572