diff options
| author | Michael Merickel <michael@merickel.org> | 2017-01-21 20:11:12 -0600 |
|---|---|---|
| committer | Michael Merickel <michael@merickel.org> | 2017-01-21 20:11:12 -0600 |
| commit | b38bbfb1b64a38e04490aaf3ed061067968c42f5 (patch) | |
| tree | 3285b51662b38c0de27271285ad0e20352d26876 /HISTORY.txt | |
| parent | 7ef69ebc3630abfcd70afcba6abe14fab8092474 (diff) | |
| download | pyramid-b38bbfb1b64a38e04490aaf3ed061067968c42f5.tar.gz pyramid-b38bbfb1b64a38e04490aaf3ed061067968c42f5.tar.bz2 pyramid-b38bbfb1b64a38e04490aaf3ed061067968c42f5.zip | |
switch to 1.9.dev0
Diffstat (limited to 'HISTORY.txt')
| -rw-r--r-- | HISTORY.txt | 299 |
1 files changed, 299 insertions, 0 deletions
diff --git a/HISTORY.txt b/HISTORY.txt index 5de5b20bd..c10747af4 100644 --- a/HISTORY.txt +++ b/HISTORY.txt @@ -1,3 +1,302 @@ +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 +-------------------------- + +- 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 <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 + ``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 <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 +--------------------- + +- Update Typographical Conventions. + https://github.com/Pylons/pyramid/pull/2838 + +- Add `pyramid_nacl_session + <http://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/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 + 1.7 (2016-05-19) ================ |
