Michael Merickel
2018-10-04 1f307db52785634d6667fde8de0273d5e0612310
commit | author | age
884eb5 1 unreleased
MM 2 ==========
d826df 3
884eb5 4 Features
MM 5 --------
847fb7 6
77e2f1 7 - Add a ``_depth`` and ``_category`` arguments to all of the venusian
MM 8   decorators. The ``_category`` argument can be used to affect which actions
9   are registered when performing a ``config.scan(..., category=...)`` with a
10   specific category. The ``_depth`` argument should be used when wrapping
11   the decorator in your own. This change affects ``pyramid.view.view_config``,
12   ``pyramid.view.exception_view_config``,
13   ``pyramid.view.forbidden_view_config``, ``pyramid.view.notfound_view_config``,
14   ``pyramid.events.subscriber`` and ``pyramid.response.response_adapter``
15   decorators. See https://github.com/Pylons/pyramid/pull/3105 and
16   https://github.com/Pylons/pyramid/pull/3122
a0aaf0 17
9c725a 18 - Fix the ``pyramid.request.Request`` class name after using
MM 19   ``set_property`` or ``config.add_request_method`` such that the
20   ``str(request.__class__)`` would appear as ``pyramid.request.Request``
21   instead of ``pyramid.util.Request``.
22   See https://github.com/Pylons/pyramid/pull/3129
23
57ee91 24 - In ``cherrypy_server_runner``, prefer imports from the ``cheroot`` package
MM 25   over the legacy imports from `cherrypy.wsgiserver`.
ea79cb 26   See https://github.com/Pylons/pyramid/pull/3235
HR 27
f6aee3 28 - Add a context manager ``route_prefix_context`` to the
HS 29   ``pyramid.config.Configurator`` to allow for convenient setting of the
30   route_prefix for ``include`` and ``add_route`` calls inside the context.
31   See https://github.com/Pylons/pyramid/pull/3279
57ee91 32
f99798 33 - Modify the builtin session implementations to support ``SameSite`` options
MM 34   on cookies and set the default to ``'Lax'``. This affects
57ee91 35   ``pyramid.session.BaseCookieSessionFactory``,
MM 36   ``pyramid.session.SignedCookieSessionFactory``, and
37   ``pyramid.session.UnencryptedCookieSessionFactoryConfig``.
38   See https://github.com/Pylons/pyramid/pull/3300
f6aee3 39
87771a 40 - Modify ``pyramid.authentication.AuthTktAuthenticationPolicy`` and
CM 41   ``pyramid.csrf.CookieCSRFStoragePolicy`` to support the SameSite option on
0ad05a 42   cookies and set the default to ``'Lax'``.
CM 43   See https://github.com/Pylons/pyramid/pull/3319
87771a 44
e6c7ea 45 - Added new ``pyramid.httpexceptions.HTTPPermanentRedirect``
MM 46   exception/response object for a HTTP 308 redirect.
47   See https://github.com/Pylons/pyramid/pull/3302
48
990fb0 49 - Within ``pshell``, allow the user-defined ``setup`` function to be a
MM 50   generator, in which case it may wrap the command's lifecycle.
51   See https://github.com/Pylons/pyramid/pull/3318
52
53 - Within ``pshell``, variables defined by the ``[pshell]`` settings are
54   available within the user-defined ``setup`` function.
55   See https://github.com/Pylons/pyramid/pull/3318
7b6eb3 56
482075 57 - Add support for Python 3.7. Add testing on Python 3.8 with allowed failures.
SP 58   See https://github.com/Pylons/pyramid/pull/3333
59
c31883 60 - Added ``pyramid.session.JSONSerializer``. See "Upcoming Changes to ISession
MM 61   in Pyramid 2.0" in the "Sessions" chapter of the documentation for more
62   information about this feature.
63   See https://github.com/Pylons/pyramid/pull/3353
64
80d701 65 - Add a ``registry`` argument to ``pyramid.renderers.get_renderer``
CD 66   to allow users to avoid threadlocals during renderer lookup.
67   See https://github.com/Pylons/pyramid/pull/3358
68
1cf132 69 Bug Fixes
BJR 70 ---------
45f882 71
7b6eb3 72 - Set appropriate ``code`` and ``title`` attributes on the ``HTTPClientError``
MM 73   and ``HTTPServerError`` exception classes. This prevents inadvertently
74   returning a 520 error code.
829cc3 75   See https://github.com/Pylons/pyramid/pull/3280
CE 76
f7a313 77 - Replace ``webob.acceptparse.MIMEAccept`` from WebOb with
BJR 78   ``webob.acceptparse.create_accept_header`` in the HTTP exception handling
79   code. The old ``MIMEAccept`` has been deprecated. The new methods follow the
80   RFC's more closely. See https://github.com/Pylons/pyramid/pull/3251
81
9d6851 82 - Catch extra errors like ``AttributeError`` when unpickling "trusted"
MM 83   session cookies with bad pickle data in them. This would occur when sharing
84   a secret between projects that shouldn't actually share session cookies,
85   like when reusing secrets between projects in development.
86   See https://github.com/Pylons/pyramid/pull/3325
87
1cf132 88 Deprecations
BJR 89 ------------
cb98a9 90
c31883 91 - The ``pyramid.intefaces.ISession`` interface will move to require
38bbea 92   JSON-serializable objects in Pyramid 2.0. See
c31883 93   "Upcoming Changes to ISession in Pyramid 2.0" in the "Sessions" chapter
MM 94   of the documentation for more information about this change.
95   See https://github.com/Pylons/pyramid/pull/3353
96
ba5ca6 97 - The ``pyramid.session.signed_serialize`` and
MM 98   ``pyramid.session.signed_deserialize`` functions will be removed in Pyramid
99   2.0, along with the removal of
100   ``pyramid.session.UnencryptedCookieSessionFactoryConfig`` which was
101   deprecated in Pyramid 1.5. Please switch to using the
102   ``SignedCookieSessionFactory``, copying the code, or another session
103   implementation if you're still using these features.
104   See https://github.com/Pylons/pyramid/pull/3353
105
884eb5 106 Backward Incompatibilities
MM 107 --------------------------
3213e2 108
d5a662 109 - On Python 3.4+ the ``repoze.lru`` dependency is dropped. If you were using
MM 110   this package directly in your apps you should make sure that you are
111   depending on it directly within your project.
112   See https://github.com/Pylons/pyramid/pull/3140
113
7b6eb3 114 - Remove the ``permission`` argument from
MM 115   ``pyramid.config.Configurator.add_route``. This was an argument left over
116   from a feature removed in Pyramid 1.5 and has had no effect since then.
117   See https://github.com/Pylons/pyramid/pull/3299
118
57ee91 119 - Modify the builtin session implementations to set ``SameSite='Lax'`` on
MM 120   cookies. This affects ``pyramid.session.BaseCookieSessionFactory``,
121   ``pyramid.session.SignedCookieSessionFactory``, and
122   ``pyramid.session.UnencryptedCookieSessionFactoryConfig``.
123   See https://github.com/Pylons/pyramid/pull/3300
124
990fb0 125 - Variables defined in the ``[pshell]`` section of the settings will no
MM 126   longer override those set by the ``setup`` function.
127   See https://github.com/Pylons/pyramid/pull/3318
128
93406d 129 - ``pyramid.config.Configurator.add_notfound_view`` uses default redirect
DK 130   class exception ``pyramid.httpexceptions.HTTPTemporaryRedirect`` instead
131   of previous ``pyramid.httpexceptions.HTTPFound``.
132   See https://github.com/Pylons/pyramid/pull/3328
133
1f307d 134 - Removed ``pyramid.config.Configurator.set_request_property`` which had been
MM 135   deprecated since Pyramid 1.5.
136   See https://github.com/Pylons/pyramid/pull/3368
137
785088 138 Documentation Changes
MM 139 ---------------------
140
c8abfb 141 - Ad support for Read The Docs Ethical Ads.
SP 142   https://github.com/Pylons/pyramid/pull/3360
143   https://docs.readthedocs.io/en/latest/advertising/ethical-advertising.html
144
0ed6b9 145 - Add support for alembic to the pyramid-cookiecutter-alchemy cookiecutter
MM 146   and update the wiki2 tutorial to explain how it works.
147   See https://github.com/Pylons/pyramid/pull/3307 and
148   https://github.com/Pylons/pyramid-cookiecutter-alchemy/pull/7
149
763b7a 150 - Bump Sphinx to >= 1.7.4 in setup.py to support ``emphasize-lines`` in PDFs
SP 151   and to pave the way for xelatex support.  See
152   https://github.com/Pylons/pyramid/pull/3271,
153   https://github.com/Pylons/pyramid/issues/667, and
154   https://github.com/Pylons/pyramid/issues/2572