summaryrefslogtreecommitdiff
path: root/HISTORY.txt
diff options
context:
space:
mode:
authorMichael Merickel <michael@merickel.org>2017-01-21 20:11:12 -0600
committerMichael Merickel <michael@merickel.org>2017-01-21 20:11:12 -0600
commitb38bbfb1b64a38e04490aaf3ed061067968c42f5 (patch)
tree3285b51662b38c0de27271285ad0e20352d26876 /HISTORY.txt
parent7ef69ebc3630abfcd70afcba6abe14fab8092474 (diff)
downloadpyramid-b38bbfb1b64a38e04490aaf3ed061067968c42f5.tar.gz
pyramid-b38bbfb1b64a38e04490aaf3ed061067968c42f5.tar.bz2
pyramid-b38bbfb1b64a38e04490aaf3ed061067968c42f5.zip
switch to 1.9.dev0
Diffstat (limited to 'HISTORY.txt')
-rw-r--r--HISTORY.txt299
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)
================