What's New in Pyramid 1.9

This article explains the new features in Pyramid version 1.9 as compared to its predecessor, Pyramid 1.8. It also documents backwards incompatibilities between the two versions and deprecations added to Pyramid 1.9, as well as software dependency changes and notable documentation additions.

Major Feature Additions

Minor Feature Additions

Deprecations

Backward Incompatibilities

  • request.exception and request.exc_info will only be set if the response was generated by the EXCVIEW tween. This is to avoid any confusion where a response was generated elsewhere in the pipeline and not in direct relation to the original exception. If anyone upstream wants to catch and render responses for exceptions they should set request.exception and request.exc_info themselves to indicate the exception that was squashed when generating the response.

    Similar behavior occurs with pyramid.request.Request.invoke_exception_view() in which the exception properties are set to reflect the exception if a response is successfully generated by the method.

    This is a very minor incompatibility. Most tweens right now would give priority to the raised exception and ignore request.exception. This change just improves and clarifies that bookkeeping by trying to be more clear about the relationship between the response and its squashed exception. See https://github.com/Pylons/pyramid/pull/3029 and https://github.com/Pylons/pyramid/pull/3031

Documentation Enhancements