Michael Merickel
2017-07-14 d1969a17000f763838f9abe1478c2e699a71c313
CHANGES.txt
@@ -1,5 +1,106 @@
unreleased
==========
.. _changes_1.9.1:
1.9.1 (2017-07-13)
==================
- 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 https://github.com/Pylons/pyramid/pull/3121 and
  https://github.com/Pylons/pyramid/pull/3123
- Fix a circular import which made it impossible to import
  ``pyramid.viewderivers`` before ``pyramid.config``.
  See https://github.com/Pylons/pyramid/pull/3124
- Improve documentation to show the ``pyramid.config.Configurator`` being
  used as a context manager in more places.
  See https://github.com/Pylons/pyramid/pull/3126
1.9 (2017-06-26)
================
- No major changes from 1.9b1.
- Updated documentation links for ``docs.pylonsproject.org`` to use HTTPS.
1.9b1 (2017-06-19)
==================
- Add an informative error message when unknown predicates are supplied. The
  new message suggests alternatives based on the list of known predicates.
  See https://github.com/Pylons/pyramid/pull/3054
- Added integrity attributes for JavaScripts in cookiecutters, scaffolds, and
  resulting source files in tutorials.
  See https://github.com/Pylons/pyramid/issues/2548
- Update RELEASING.txt for updating cookiecutters. Change cookiecutter URLs to
  use shortcut.
  See https://github.com/Pylons/pyramid/issues/3042
- Ensure the correct threadlocals are pushed during view execution when
  invoked from ``request.invoke_exception_view``.
  See https://github.com/Pylons/pyramid/pull/3060
- Fix a bug in which ``pyramid.security.ALL_PERMISSIONS`` failed to return
  a valid iterator in its ``__iter__`` implementation.
  See https://github.com/Pylons/pyramid/pull/3074
- Normalize the permission results to a proper class hierarchy.
  ``pyramid.security.ACLAllowed`` is now a subclass of
  ``pyramid.security.Allowed`` and ``pyramid.security.ACLDenied`` is now a
  subclass of ``pyramid.security.Denied``.
  See https://github.com/Pylons/pyramid/pull/3084
- Add a ``quote_via`` argument to ``pyramid.encode.urlencode`` to follow
  the stdlib's version and enable custom quoting functions.
  See https://github.com/Pylons/pyramid/pull/3088
- Support `_query=None` and `_anchor=None` in ``request.route_url`` as well
  as ``query=None`` and ``anchor=None`` in ``request.resource_url``.
  Previously this would cause an `?` and a `#`, respectively, in the url
  with nothing after it. Now the unnecessary parts are dropped from the
  generated URL. See https://github.com/Pylons/pyramid/pull/3034
- Revamp the ``IRouter`` API used by ``IExecutionPolicy`` to force
  pushing/popping the request threadlocals. The
  ``IRouter.make_request(environ)`` API has been replaced by
  ``IRouter.request_context(environ)`` which should be used as a context
  manager. See https://github.com/Pylons/pyramid/pull/3086
1.9a2 (2017-05-09)
==================
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 ``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
1.9a1 (2017-05-01)
==================
Major Features
--------------
@@ -7,11 +108,11 @@
- The file format used by all ``p*`` command line scripts such as ``pserve``
  and ``pshell``, as well as the ``pyramid.paster.bootstrap`` function
  is now replaceable thanks to a new dependency on
  `plaster <http://docs.pylonsproject.org/projects/plaster/en/latest/>`_.
  `plaster <https://docs.pylonsproject.org/projects/plaster/en/latest/>`_.
  For now, Pyramid is still shipping with integrated support for the
  PasteDeploy INI format by depending on the
  `plaster_pastedeploy <https://github.com/Pylons/plaster_pastedeploy`_
  `plaster_pastedeploy <https://github.com/Pylons/plaster_pastedeploy>`_
  binding library. This may change in the future.
  See https://github.com/Pylons/pyramid/pull/2985
@@ -23,7 +124,7 @@
  The first library to use this feature is
  `pyramid_retry
  <http://docs.pylonsproject.org/projects/pyramid-retry/en/latest/>`_.
  <https://docs.pylonsproject.org/projects/pyramid-retry/en/latest/>`_.
  See https://github.com/Pylons/pyramid/pull/2964
@@ -98,7 +199,7 @@
- Pyramid currently depends on ``plaster_pastedeploy`` to simplify the
  transition to ``plaster`` by maintaining integrated support for INI files.
  This dependency on ``plaster_pastedeploy`` should be considered subject to
  Pyramid's deprecation policy and is subject to removal in the future.
  Pyramid's deprecation policy and may be removed in the future.
  Applications should depend on the appropriate plaster binding to satisfy
  their needs.
@@ -118,4 +219,4 @@
---------------------
- Added the execution policy to the routing diagram in the Request Processing
  chatper. See https://github.com/Pylons/pyramid/pull/2993
  chapter. See https://github.com/Pylons/pyramid/pull/2993