Michael Merickel
2017-07-14 29615272e0f5668373f5e1eca56d3209cfac8ffa
CHANGES.txt
@@ -1,25 +1,147 @@
unreleased
==========
.. _changes_1.8.5:
1.8.5 (2017-07-13)
==================
- Fix a circular import which made it impossible to import
  ``pyramid.viewderivers`` before ``pyramid.config``.
  See https://github.com/Pylons/pyramid/pull/3125
.. _changes_1.8.4:
1.8.4 (2017-06-11)
==================
Bug Fixes
---------
- 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/3076
Documentation Changes
---------------------
- Updated pyramid-cookiecutter-starter prompts and description to include Mako.
  See https://github.com/Pylons/pyramid/pull/2982
- Added integrity attributes for JavaScripts in cookiecutters, scaffolds, and
  resulting source files in tutorials.
  See https://github.com/Pylons/pyramid/issues/2548
- Update ``cookiecutter`` command to use a checkout for specific branch and
  shorten it. See https://github.com/Pylons/pyramid/issues/3042
.. _changes_1.8.3:
1.8.3 (2017-03-12)
==================
Bug Fixes
---------
- Fix a reference cycle causing memory leaks in which the registry
  would keep a ``Configurator`` instance alive even after the configurator
  was discarded. Another fix was also added for the ``global_registries``
  object in which the registry was stored in a closure preventing it from
  being deallocated. See https://github.com/Pylons/pyramid/pull/2973
- Fix a bug directly invoking ``pyramid.scripts.pserve.main`` with the
  ``--reload`` option in which ``sys.argv`` is always used in the subprocess
  instead of the supplied ``argv``.
  See https://github.com/Pylons/pyramid/pull/2974
Documentation Changes
---------------------
- Updated pyramid-cookiecutter-starter prompts and reformat presentation of all
  cookiecutter prompts. See https://github.com/Pylons/pyramid/pull/2966
.. _changes_1.8.2:
1.8.2 (2017-02-20)
==================
- ``HTTPException``'s accepts a detail kwarg that may be used to pass
  additional details to the exception. You may now pass objects so long as
  they have a valid ``__str__`` method.
  See https://github.com/Pylons/pyramid/pull/2951
- Fix ``Configurator(settings=settings)`` to copy the passed in settings
  dictionary instead of using it verbatim. This fixes a regression from 1.7
  introduced via https://github.com/Pylons/pyramid/pull/2823.
  See https://github.com/Pylons/pyramid/pull/2960
.. _changes_1.8.1:
1.8.1 (2017-01-24)
==================
- Restore the ``pyramid.registry.Registry`` signature that forwards extra
  ``*args, **kwargs`` to ``zope.interface.registry.Components`` allowing
  implementations to specify a custom registry with ``bases``.
  See https://github.com/Pylons/pyramid/pull/2918
1.8 (2017-01-21)
================
- No major changes from 1.8b1.
1.8b1 (2017-01-17)
==================
Features
--------
- Added an ``override`` option to ``config.add_translation_dirs`` to allow
  later calls to place translation directories at a higher priority than
  earlier calls. See https://github.com/Pylons/pyramid/pull/2902
Documentation Changes
---------------------
- Improve registry documentation to discuss uses as a component registry
  and as a dictionary. See https://github.com/Pylons/pyramid/pull/2893
- Quick Tour, Quick Tutorial, and most other remaining documentation 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
- Fix unittests in wiki2 to work without different dependencies between
  py2 and py3. See https://github.com/Pylons/pyramid/pull/2899
- Update Windows documentation to track newer Python 3 improvements to the
  installer. See https://github.com/Pylons/pyramid/pull/2900
- Updated the ``mod_wsgi`` tutorial to use cookiecutters and Apache 2.4+.
  See https://github.com/Pylons/pyramid/pull/2901
1.8a1 (2016-12-25)
==================
Backward Incompatibilities
--------------------------
 - Following the Pyramid deprecation period (1.6 -> 1.8),
   daemon support for pserve has been removed. This includes removing the
   daemon commands (start, stop, restart, status) as well as the following
   arguments:
   --daemon --pid-file --log-file --monitor-restart --status --user --group
   --stop-daemon
- Support for the ``IContextURL`` interface that was deprecated in Pyramid 1.3
  has been removed.  See https://github.com/Pylons/pyramid/pull/2822
   To run your server as a daemon you should use a process manager instead of
   pserve.
- Following the Pyramid deprecation period (1.6 -> 1.8),
  daemon support for pserve has been removed. This includes removing the
  daemon commands (start, stop, restart, status) as well as the following
  arguments: ``--daemon``, ``--pid-file``, ``--log-file``,
  ``--monitor-restart``, ``--status``, ``--user``, ``--group``,
  ``--stop-daemon``
   See https://github.com/Pylons/pyramid/pull/2615
  To run your server as a daemon you should use a process manager instead of
  pserve.
- ``pcreate`` is now interactive by default. You will be prompted if
  a file already exists with different content. Previously if there were
  similar files it would silently skip them unless you specified
  ``--interactive`` or ``--overwrite``.
  See https://github.com/Pylons/pyramid/pull/2615
- ``pcreate`` is now interactive by default. You will be prompted if a file
  already exists with different content. Previously if there were similar
  files it would silently skip them unless you specified ``--interactive``
  or ``--overwrite``.
  See https://github.com/Pylons/pyramid/pull/2775
- Removed undocumented argument ``cachebust_match`` from
@@ -45,13 +167,13 @@
- 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
- ``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 `BasicAuthAuthenticationPolicy`
  has been extracted into standalone function ``extract_http_basic_credentials`
  in `pyramid.authentication` module, this function extracts HTTP Basic
- The ``_get_credentials`` private method of ``BasicAuthAuthenticationPolicy``
  has been extracted into standalone function ``extract_http_basic_credentials``
  in ``pyramid.authentication`` module, 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
@@ -97,7 +219,7 @@
  other settings. See https://github.com/Pylons/pyramid/pull/2823
- ``pserve --reload`` now uses the
  `hupper <http://docs.pylonsproject.org/projects/hupper/en/latest/>`
  `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
@@ -129,11 +251,48 @@
  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
- Any deferred configuration action registered via ``config.action`` may now
  depend on threadlocal state, such as asset overrides, being active when
  the action is executed.
  See https://github.com/Pylons/pyramid/pull/2873
- Asset specifications for directories passed to
  ``config.add_translation_dirs`` now support overriding the entire asset
  specification, including the folder name. Previously only the package name
  was supported and the folder would always need to have the same name.
  See https://github.com/Pylons/pyramid/pull/2873
- ``config.begin()`` will propagate the current threadlocal request through
  as long as the registry is the same. For example:
  .. code-block:: python
     request = Request.blank(...)
     config.begin(request)  # pushes a request
     config.begin()         # propagates the previous request through unchanged
     assert get_current_request() is request
  See https://github.com/Pylons/pyramid/pull/2873
- Added a new ``callback`` option to ``config.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
Bug Fixes
---------
- Fixed bug in `proutes` such that it now shows the correct view when a class
  and `attr` is involved.
- Fixed bug in ``proutes`` such that it now shows the correct view when a
  class and ``attr`` is involved.
  See: https://github.com/Pylons/pyramid/pull/2687
- Fix a ``FutureWarning`` in Python 3.5 when using ``re.split`` on the
@@ -163,18 +322,43 @@
  style, even if a different plural function is defined in the relevant
  messages file. See https://github.com/Pylons/pyramid/pull/2859
- The ``config.override_asset`` method now occurs during
  ``pyramid.config.PHASE1_CONFIG`` such that it is ordered to execute before
  any calls to ``config.add_translation_dirs``.
  See https://github.com/Pylons/pyramid/pull/2873
Deprecations
------------
- The ``pcreate`` script and related scaffolds have been deprecated in favor
  of the popular
  `cookiecutter <https://cookiecutter.readthedocs.io/en/latest/>`_ project.
  All of Pyramid's official scaffolds as well as the tutorials have been
  ported to cookiecutters:
  - `pyramid-cookiecutter-starter
    <https://github.com/Pylons/pyramid-cookiecutter-starter>`_
  - `pyramid-cookiecutter-alchemy
    <https://github.com/Pylons/pyramid-cookiecutter-alchemy>`_
  - `pyramid-cookiecutter-zodb
    <https://github.com/Pylons/pyramid-cookiecutter-zodb>`_
  See https://github.com/Pylons/pyramid/pull/2780
Documentation Changes
---------------------
- Replace Typographical Conventions with an enhanced Style Guide.
- Update Typographical Conventions.
  https://github.com/Pylons/pyramid/pull/2838
- Add pyramid_nacl_session to session factories.
  See https://github.com/Pylons/pyramid/issues/2791
- Add `pyramid_nacl_session
  <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.
- Update ``HACKING.txt`` from stale branch that was never merged to master.
  See https://github.com/Pylons/pyramid/pull/2782
- Updated Windows installation instructions and related bits.
@@ -185,6 +369,20 @@
  See https://github.com/Pylons/pyramid/pull/2764
- Clarify a possible misuse of the ``headers`` kwarg to subclasses of
  :class:`pyramid.httpexceptions.HTTPException` in which more appropriate
  kwargs from the parent class :class:`pyramid.response.Response` should be
  ``pyramid.httpexceptions.HTTPException`` in which more appropriate
  kwargs from the parent class ``pyramid.response.Response`` should be
  used instead. See https://github.com/Pylons/pyramid/pull/2750
- The SQLAlchemy + URL Dispatch + Jinja2 (``wiki2``) and
  ZODB + Traversal + Chameleon (``wiki``) tutorials have been updated to
  utilize the new cookiecutters and drop support for the ``pcreate``
  scaffolds.
  See https://github.com/Pylons/pyramid/pull/2881 and
  https://github.com/Pylons/pyramid/pull/2883.
- Improve output of p* script descriptions for help.
  See https://github.com/Pylons/pyramid/pull/2886
- Quick Tour updated to use cookiecutters instead of pcreate and scaffolds.
  See https://github.com/Pylons/pyramid/pull/2888