| | |
| | | :app:`Pyramid` 1.8, as well as software dependency changes and notable |
| | | documentation additions. |
| | | |
| | | Bug Fix Releases |
| | | ---------------- |
| | | |
| | | Pyramid 1.8 was released on 2017-01-21. |
| | | |
| | | The following bug fix releases were made since then. Bug fix releases also |
| | | include documentation improvements and other minor feature changes. |
| | | |
| | | - :ref:`changes_1.8.1` |
| | | - :ref:`changes_1.8.2` |
| | | - :ref:`changes_1.8.3` |
| | | - :ref:`changes_1.8.4` |
| | | - :ref:`changes_1.8.5` |
| | | |
| | | Major Feature Additions |
| | | ----------------------- |
| | | |
| | | - Added :meth:`pyramid.config.Configurator.add_exception_view` and the |
| | | :func:`pyramid.view.exception_view_config` decorator. It is now possible |
| | | using these methods or via the new ``exception_only=True`` option to |
| | | :meth:`pyramid.config.Configurator.add_view` to add a view which will only |
| | | be matched when handling an exception. Previously, any exception views were |
| | | also registered for a traversal context that inherited from the exception |
| | | class which prevented any exception-only optimizations. |
| | | See https://github.com/Pylons/pyramid/pull/2660 |
| | | |
| | | - ``pserve --reload`` now uses the |
| | | `hupper <https://docs.pylonsproject.org/projects/hupper/en/latest/>`_ |
| | | library to monitor file changes. This comes with many improvements: |
| | | |
| | | - If the `watchdog <http://pythonhosted.org/watchdog/>`_ package is |
| | | installed then monitoring will be done using inotify instead of |
| | | cpu and disk-intensive polling. |
| | | |
| | | - The monitor is now a separate process that will not crash and starts up |
| | | before any of your code. |
| | | |
| | | - The monitor will not restart the process after a crash until a file is |
| | | saved. |
| | | |
| | | - The monitor works on windows. |
| | | |
| | | - You can now trigger a reload manually from a pyramid view or any other |
| | | code via ``hupper.get_reloader().trigger_reload()``. Kind of neat. |
| | | |
| | | - You can trigger a reload by issuing a ``SIGHUP`` to the monitor process. |
| | | |
| | | See https://github.com/Pylons/pyramid/pull/2805 |
| | | |
| | | Minor Feature Additions |
| | | ----------------------- |
| | | |
| | | - Python 3.6 compatibility. |
| | | https://github.com/Pylons/pyramid/issues/2835 |
| | | |
| | | - The ``_get_credentials`` private method of |
| | | :class:`pyramid.authentication.BasicAuthAuthenticationPolicy` |
| | | has been extracted into standalone function |
| | | :func:`pyramid.authentication.extract_http_basic_credentials`, this function |
| | | extracts HTTP Basic credentials from a ``request`` object, and returns them |
| | | as a named tuple. See https://github.com/Pylons/pyramid/pull/2662 |
| | | |
| | | - Pyramid 1.4 silently dropped a feature of the configurator that has been |
| | | restored. It's again possible for action discriminators to conflict across |
| | | different action orders. |
| | | See https://github.com/Pylons/pyramid/pull/2757 |
| | | |
| | | - :func:`pyramid.paster.bootstrap` and its sibling |
| | | :func:`pyramid.scripting.prepare` can now be used as context managers to |
| | | automatically invoke the ``closer`` and pop threadlocals off of the stack |
| | | to prevent memory leaks. See https://github.com/Pylons/pyramid/pull/2760 |
| | | |
| | | - Added the ``exception_only`` boolean to |
| | | :class:`pyramid.interfaces.IViewDeriverInfo` which can be used by view |
| | | derivers to determine if they are wrapping a view which only handles |
| | | exceptions. This means that it is no longer necessary to perform request-time |
| | | checks for ``request.exception`` to determine if the view is handling an |
| | | exception - the pipeline can be optimized at config-time. |
| | | See https://github.com/Pylons/pyramid/pull/2660 |
| | | |
| | | - ``pcreate`` learned about ``--package-name`` to allow you to create a new |
| | | project in an existing folder with a different package name than the project |
| | | name. See https://github.com/Pylons/pyramid/pull/2783 |
| | | |
| | | - ``pserve`` should now work with ``gevent`` and other workers that need |
| | | to monkeypatch the process, assuming the server and / or the app do so |
| | | as soon as possible before importing the rest of pyramid. |
| | | See https://github.com/Pylons/pyramid/pull/2797 |
| | | |
| | | - Pyramid no longer copies the settings object passed to the |
| | | ``pyramid.config.Configurator(settings=)``. The original ``dict`` is kept. |
| | | See https://github.com/Pylons/pyramid/pull/2823 |
| | | |
| | | - The csrf trusted origins setting may now be a whitespace-separated list of |
| | | domains. Previously only a python list was allowed. Also, it can now be set |
| | | using the ``PYRAMID_CSRF_TRUSTED_ORIGINS`` environment variable similar to |
| | | other settings. See https://github.com/Pylons/pyramid/pull/2823 |
| | | |
| | | - A new ``[pserve]`` section is supported in your config files with a |
| | | ``watch_files`` key that can configure ``pserve --reload`` to monitor custom |
| | | file paths. See https://github.com/Pylons/pyramid/pull/2827 |
| | | |
| | | - Allow streaming responses to be made from subclasses of |
| | | :class:`pyramid.httpexceptions.HTTPException`. Previously the response would |
| | | be unrolled while testing for a body, making it impossible to stream |
| | | a response. |
| | | See https://github.com/Pylons/pyramid/pull/2863 |
| | | |
| | | - Update starter, alchemy and zodb scaffolds to support IPv6 by using the |
| | | new ``listen`` directives in waitress. |
| | | See https://github.com/Pylons/pyramid/pull/2853 |
| | | |
| | | - All p* scripts now use argparse instead of optparse. This improves their |
| | | ``--help`` output as well as enabling nicer documentation of their options. |
| | | See https://github.com/Pylons/pyramid/pull/2864 |
| | | |
| | | - Added an ``override`` option to |
| | | :meth:`pyramid.config.Configurator.add_translation_dirs` to allow |
| | | later calls to place translation directories at a higher priority then |
| | | earlier calls. See https://github.com/Pylons/pyramid/pull/2902 |
| | | |
| | | - Added a new ``callback`` option to |
| | | :meth:`pyramid.config.Configurator.set_default_csrf_options`` which |
| | | can be used to determine per-request whether CSRF checking should be enabled |
| | | to allow for a mix authentication methods. Only cookie-based methods |
| | | generally require CSRF checking. |
| | | See https://github.com/Pylons/pyramid/pull/2778 |
| | | |
| | | Backwards Incompatibilities |
| | | --------------------------- |
| | | |
| | |
| | | ``pyramid.static.static_view``. This argument was shipped accidentally |
| | | in Pyramid 1.6. See https://github.com/Pylons/pyramid/pull/2681 |
| | | |
| | | Feature Additions |
| | | ----------------- |
| | | |
| | | - Python 3.6 compatibility. |
| | | https://github.com/Pylons/pyramid/issues/2835 |
| | | |
| | | - ``pcreate`` learned about --package-name to allow you to create a new project |
| | | in an existing folder with a different package name than the project name. |
| | | See https://github.com/Pylons/pyramid/pull/2783 |
| | | |
| | | - The ``_get_credentials`` private method of |
| | | :class:`pyramid.authentication.BasicAuthAuthenticationPolicy` |
| | | has been extracted into standalone function |
| | | :func:`pyramid.authentication.extract_http_basic_credentials`, this function |
| | | extracts HTTP Basic credentials from a ``request`` object, and returns them |
| | | as a named tuple. See https://github.com/Pylons/pyramid/pull/2662 |
| | | |
| | | - Pyramid 1.4 silently dropped a feature of the configurator that has been |
| | | restored. It's again possible for action discriminators to conflict across |
| | | different action orders. |
| | | See https://github.com/Pylons/pyramid/pull/2757 |
| | | |
| | | - :func:`pyramid.paster.bootstrap` and its sibling |
| | | :func:`pyramid.scripting.prepare` can now be used as context managers to |
| | | automatically invoke the ``closer`` and pop threadlocals off of the stack |
| | | to prevent memory leaks. See https://github.com/Pylons/pyramid/pull/2760 |
| | | |
| | | - Added :meth:`pyramid.config.Configurator.add_exception_view` and the |
| | | :func:`pyramid.view.exception_view_config` decorator. It is now possible |
| | | using these methods or via the new ``exception_only=True`` option to |
| | | :meth:`pyramid.config.Configurator.add_view` to add a view which will only |
| | | be matched when handling an exception. Previously, any exception views were |
| | | also registered for a traversal context that inherited from the exception |
| | | class which prevented any exception-only optimizations. |
| | | See https://github.com/Pylons/pyramid/pull/2660 |
| | | |
| | | - Added the ``exception_only`` boolean to |
| | | :class:`pyramid.interfaces.IViewDeriverInfo` which can be used by view |
| | | derivers to determine if they are wrapping a view which only handles |
| | | exceptions. This means that it is no longer necessary to perform request-time |
| | | checks for ``request.exception`` to determine if the view is handling an |
| | | exception - the pipeline can be optimized at config-time. |
| | | See https://github.com/Pylons/pyramid/pull/2660 |
| | | |
| | | - ``pserve`` should now work with ``gevent`` and other workers that need |
| | | to monkeypatch the process, assuming the server and / or the app do so |
| | | as soon as possible before importing the rest of pyramid. |
| | | See https://github.com/Pylons/pyramid/pull/2797 |
| | | |
| | | - Pyramid no longer copies the settings object passed to the |
| | | ``pyramid.config.Configurator(settings=)``. The original ``dict`` is kept. |
| | | See https://github.com/Pylons/pyramid/pull/2823 |
| | | |
| | | - The csrf trusted origins setting may now be a whitespace-separated list of |
| | | domains. Previously only a python list was allowed. Also, it can now be set |
| | | using the ``PYRAMID_CSRF_TRUSTED_ORIGINS`` environment variable similar to |
| | | other settings. See https://github.com/Pylons/pyramid/pull/2823 |
| | | |
| | | - ``pserve --reload`` now uses the |
| | | `hupper <http://docs.pylonsproject.org/projects/hupper/en/latest/>`_ |
| | | library to monitor file changes. This comes with many improvements: |
| | | |
| | | - If the `watchdog <http://pythonhosted.org/watchdog/>`_ package is |
| | | installed then monitoring will be done using inotify instead of |
| | | cpu and disk-intensive polling. |
| | | |
| | | - The monitor is now a separate process that will not crash and starts up |
| | | before any of your code. |
| | | |
| | | - The monitor will not restart the process after a crash until a file is |
| | | saved. |
| | | |
| | | - The monitor works on windows. |
| | | |
| | | - You can now trigger a reload manually from a pyramid view or any other |
| | | code via ``hupper.get_reloader().trigger_reload()``. Kind of neat. |
| | | |
| | | - You can trigger a reload by issuing a ``SIGHUP`` to the monitor process. |
| | | |
| | | See https://github.com/Pylons/pyramid/pull/2805 |
| | | |
| | | - A new ``[pserve]`` section is supported in your config files with a |
| | | ``watch_files`` key that can configure ``pserve --reload`` to monitor custom |
| | | file paths. See https://github.com/Pylons/pyramid/pull/2827 |
| | | |
| | | - Allow streaming responses to be made from subclasses of |
| | | :class:`pyramid.httpexceptions.HTTPException`. Previously the response would |
| | | be unrolled while testing for a body, making it impossible to stream |
| | | a response. |
| | | See https://github.com/Pylons/pyramid/pull/2863 |
| | | |
| | | - Update starter, alchemy and zodb scaffolds to support IPv6 by using the |
| | | new ``listen`` directives in waitress. |
| | | See https://github.com/Pylons/pyramid/pull/2853 |
| | | |
| | | - All p* scripts now use argparse instead of optparse. This improves their |
| | | ``--help`` output as well as enabling nicer documentation of their options. |
| | | See https://github.com/Pylons/pyramid/pull/2864 |
| | | |
| | | Deprecations |
| | | ------------ |
| | | |
| | |
| | | Documentation Enhancements |
| | | -------------------------- |
| | | |
| | | - Update Typographical Conventions and add a Style Guide. |
| | | - Update Typographical Conventions. |
| | | https://github.com/Pylons/pyramid/pull/2838 |
| | | |
| | | - Add `pyramid_nacl_session |
| | | <http://docs.pylonsproject.org/projects/pyramid-nacl-session/en/latest/>`_ |
| | | <https://docs.pylonsproject.org/projects/pyramid-nacl-session/en/latest/>`_ |
| | | to session factories. See https://github.com/Pylons/pyramid/issues/2791 |
| | | |
| | | - Update HACKING.txt from stale branch that was never merged to master. |
| | |
| | | |
| | | See https://github.com/Pylons/pyramid/pull/2881 and |
| | | https://github.com/Pylons/pyramid/pull/2883. |
| | | |
| | | - Quick Tour, Quick Tutorial, and most files throughout the documentation have |
| | | been updated to use cookiecutters instead of pcreate and scaffolds. |
| | | See https://github.com/Pylons/pyramid/pull/2888 and |
| | | https://github.com/Pylons/pyramid/pull/2889 |
| | | |
| | | - Updated the ``mod_wsgi`` tutorial to use cookiecutters and Apache 2.4+. |
| | | See https://github.com/Pylons/pyramid/pull/2901 |