From b38bbfb1b64a38e04490aaf3ed061067968c42f5 Mon Sep 17 00:00:00 2001 From: Michael Merickel Date: Sat, 21 Jan 2017 20:11:12 -0600 Subject: switch to 1.9.dev0 --- CHANGES.txt | 284 +----------------------------------------------------------- 1 file changed, 4 insertions(+), 280 deletions(-) (limited to 'CHANGES.txt') diff --git a/CHANGES.txt b/CHANGES.txt index 44699c3b0..218fea289 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,293 +1,17 @@ -1.8b1 (2017-01-17) -================== +unreleased +========== 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 --------------------------- - -- Support for the ``IContextURL`` interface that was deprecated in Pyramid 1.3 - has been removed. See https://github.com/Pylons/pyramid/pull/2822 - -- 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`` - - To run your server as a daemon you should use a process manager instead of - pserve. - - 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 - ``pyramid.static.static_view``. This argument was shipped accidentally - in Pyramid 1.6. See https://github.com/Pylons/pyramid/pull/2681 - -- Change static view to avoid setting the ``Content-Encoding`` response header - to an encoding guessed using Python's ``mimetypes`` module. This was causing - clients to decode the content of gzipped files when downloading them. The - client would end up with a ``foo.txt.gz`` file on disk that was already - decoded, thus should really be ``foo.txt``. Also, the ``Content-Encoding`` - should only have been used if the client itself broadcast support for the - encoding via ``Accept-Encoding`` request headers. - See https://github.com/Pylons/pyramid/pull/2810 - -- Settings are no longer accessible as attributes on the settings object - (e.g. ``request.registry.settings.foo``). This was deprecated in Pyramid 1.2. - See https://github.com/Pylons/pyramid/pull/2823 - -Features --------- - -- 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 ``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 - -- 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 - -- ``pyramid.paster.bootstrap`` and its sibling ``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 ``pyramid.config.Configurator.add_exception_view`` and the - ``pyramid.view.exception_view_config`` decorator. It is now possible using - these methods or via the new ``exception_only=True`` option to ``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 - ``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 ` - library to monitor file changes. This comes with many improvements: - - - If the `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 - ``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 - -- 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 - Bug Fixes --------- -- 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 - ``format`` setting to the ``proutes`` script. - See https://github.com/Pylons/pyramid/pull/2714 - -- Fix a ``RuntimeWarning`` emitted by WebOb when using arbitrary objects - as the ``userid`` in the ``AuthTktAuthenticationPolicy``. This is now caught - by the policy and the object is serialized as a base64 string to avoid - the cryptic warning. Since the userid will be read back as a string on - subsequent requests a more useful warning is emitted encouraging you to - use a primitive type instead. - See https://github.com/Pylons/pyramid/pull/2715 - -- Pyramid 1.6 introduced the ability for an action to invoke another action. - There was a bug in the way that ``config.add_view`` would interact with - custom view derivers introduced in Pyramid 1.7 because the view's - discriminator cannot be computed until view derivers and view predicates - have been created in earlier orders. Invoking an action from another action - would trigger an unrolling of the pipeline and would compute discriminators - before they were ready. The new behavior respects the ``order`` of the action - and ensures the discriminators are not computed until dependent actions - from previous orders have executed. - See https://github.com/Pylons/pyramid/pull/2757 - -- Fix bug in i18n where the default domain would always use the Germanic plural - 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 `_ project. - - All of Pyramid's official scaffolds as well as the tutorials have been - ported to cookiecutters: - - - `pyramid-cookiecutter-starter - `_ - - - `pyramid-cookiecutter-alchemy - `_ - - - `pyramid-cookiecutter-zodb - `_ - - See https://github.com/Pylons/pyramid/pull/2780 +Backward Incompatibilities +-------------------------- Documentation Changes --------------------- - -- 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 - -- 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. - See https://github.com/Pylons/pyramid/issues/2661 - -- Fix an inconsistency in the documentation between view predicates and - route predicates and highlight the differences in their APIs. - See https://github.com/Pylons/pyramid/pull/2764 - -- Clarify a possible misuse of the ``headers`` kwarg to subclasses of - ``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 -- cgit v1.2.3