Bowe Strickland
2018-10-27 6e49871feaa1a60549206cf5512c9fb7f3d5fd56
commit | author | age
d3fe14 1 unreleased
MM 2 ==========
3
4 Bug Fixes
5 ---------
6
7 - Fix the ``pyramid.testing.DummyRequest`` to support the new
8   ``request.accept`` API so that ``acceptable_offers`` is available even
9   when code sets the value to a string.
10   See https://github.com/Pylons/pyramid/pull/3396
11
572e03 12 - Fix deprecated escape sequences in preparation for Python 3.8.
MM 13   See https://github.com/Pylons/pyramid/pull/3400
14
7b024b 15 1.10a1 (2018-10-15)
MM 16 ===================
d826df 17
884eb5 18 Features
MM 19 --------
847fb7 20
77e2f1 21 - Add a ``_depth`` and ``_category`` arguments to all of the venusian
MM 22   decorators. The ``_category`` argument can be used to affect which actions
23   are registered when performing a ``config.scan(..., category=...)`` with a
24   specific category. The ``_depth`` argument should be used when wrapping
25   the decorator in your own. This change affects ``pyramid.view.view_config``,
26   ``pyramid.view.exception_view_config``,
27   ``pyramid.view.forbidden_view_config``, ``pyramid.view.notfound_view_config``,
28   ``pyramid.events.subscriber`` and ``pyramid.response.response_adapter``
29   decorators. See https://github.com/Pylons/pyramid/pull/3105 and
30   https://github.com/Pylons/pyramid/pull/3122
a0aaf0 31
9c725a 32 - Fix the ``pyramid.request.Request`` class name after using
MM 33   ``set_property`` or ``config.add_request_method`` such that the
34   ``str(request.__class__)`` would appear as ``pyramid.request.Request``
35   instead of ``pyramid.util.Request``.
36   See https://github.com/Pylons/pyramid/pull/3129
37
57ee91 38 - In ``cherrypy_server_runner``, prefer imports from the ``cheroot`` package
MM 39   over the legacy imports from `cherrypy.wsgiserver`.
ea79cb 40   See https://github.com/Pylons/pyramid/pull/3235
HR 41
f6aee3 42 - Add a context manager ``route_prefix_context`` to the
HS 43   ``pyramid.config.Configurator`` to allow for convenient setting of the
44   route_prefix for ``include`` and ``add_route`` calls inside the context.
45   See https://github.com/Pylons/pyramid/pull/3279
57ee91 46
f99798 47 - Modify the builtin session implementations to support ``SameSite`` options
MM 48   on cookies and set the default to ``'Lax'``. This affects
57ee91 49   ``pyramid.session.BaseCookieSessionFactory``,
MM 50   ``pyramid.session.SignedCookieSessionFactory``, and
51   ``pyramid.session.UnencryptedCookieSessionFactoryConfig``.
52   See https://github.com/Pylons/pyramid/pull/3300
f6aee3 53
87771a 54 - Modify ``pyramid.authentication.AuthTktAuthenticationPolicy`` and
7b024b 55   ``pyramid.csrf.CookieCSRFStoragePolicy`` to support the ``SameSite`` option
MM 56   on cookies and set the default to ``'Lax'``.
0ad05a 57   See https://github.com/Pylons/pyramid/pull/3319
87771a 58
e6c7ea 59 - Added new ``pyramid.httpexceptions.HTTPPermanentRedirect``
MM 60   exception/response object for a HTTP 308 redirect.
61   See https://github.com/Pylons/pyramid/pull/3302
62
990fb0 63 - Within ``pshell``, allow the user-defined ``setup`` function to be a
MM 64   generator, in which case it may wrap the command's lifecycle.
65   See https://github.com/Pylons/pyramid/pull/3318
66
67 - Within ``pshell``, variables defined by the ``[pshell]`` settings are
68   available within the user-defined ``setup`` function.
69   See https://github.com/Pylons/pyramid/pull/3318
7b6eb3 70
482075 71 - Add support for Python 3.7. Add testing on Python 3.8 with allowed failures.
SP 72   See https://github.com/Pylons/pyramid/pull/3333
73
ed6ddc 74 - Added the ``pyramid.config.Configurator.add_accept_view_order`` directive,
MM 75   allowing users to specify media type preferences in ambiguous situations
76   such as when several views match. A default ordering is defined for media
77   types that prefers human-readable html/text responses over JSON.
78   See https://github.com/Pylons/pyramid/pull/3326
79
2497d0 80 - Support a list of media types in the ``accept`` predicate used in
MM 81   ``pyramid.config.Configurator.add_route``.
82   See https://github.com/Pylons/pyramid/pull/3326
83
c31883 84 - Added ``pyramid.session.JSONSerializer``. See "Upcoming Changes to ISession
MM 85   in Pyramid 2.0" in the "Sessions" chapter of the documentation for more
86   information about this feature.
87   See https://github.com/Pylons/pyramid/pull/3353
88
80d701 89 - Add a ``registry`` argument to ``pyramid.renderers.get_renderer``
CD 90   to allow users to avoid threadlocals during renderer lookup.
91   See https://github.com/Pylons/pyramid/pull/3358
92
4a5504 93 - Pyramid's test suite is no longer distributed with the universal wheel.
MM 94   See https://github.com/Pylons/pyramid/pull/3387
95
96 - All Python code is now formatted automatically using ``black``.
97   See https://github.com/Pylons/pyramid/pull/3388
98
1cf132 99 Bug Fixes
BJR 100 ---------
45f882 101
7b6eb3 102 - Set appropriate ``code`` and ``title`` attributes on the ``HTTPClientError``
MM 103   and ``HTTPServerError`` exception classes. This prevents inadvertently
104   returning a 520 error code.
829cc3 105   See https://github.com/Pylons/pyramid/pull/3280
CE 106
f7a313 107 - Replace ``webob.acceptparse.MIMEAccept`` from WebOb with
BJR 108   ``webob.acceptparse.create_accept_header`` in the HTTP exception handling
109   code. The old ``MIMEAccept`` has been deprecated. The new methods follow the
110   RFC's more closely. See https://github.com/Pylons/pyramid/pull/3251
111
9d6851 112 - Catch extra errors like ``AttributeError`` when unpickling "trusted"
MM 113   session cookies with bad pickle data in them. This would occur when sharing
114   a secret between projects that shouldn't actually share session cookies,
115   like when reusing secrets between projects in development.
116   See https://github.com/Pylons/pyramid/pull/3325
117
1cf132 118 Deprecations
BJR 119 ------------
cb98a9 120
c31883 121 - The ``pyramid.intefaces.ISession`` interface will move to require
38bbea 122   JSON-serializable objects in Pyramid 2.0. See
c31883 123   "Upcoming Changes to ISession in Pyramid 2.0" in the "Sessions" chapter
MM 124   of the documentation for more information about this change.
125   See https://github.com/Pylons/pyramid/pull/3353
126
ba5ca6 127 - The ``pyramid.session.signed_serialize`` and
MM 128   ``pyramid.session.signed_deserialize`` functions will be removed in Pyramid
129   2.0, along with the removal of
130   ``pyramid.session.UnencryptedCookieSessionFactoryConfig`` which was
131   deprecated in Pyramid 1.5. Please switch to using the
132   ``SignedCookieSessionFactory``, copying the code, or another session
133   implementation if you're still using these features.
134   See https://github.com/Pylons/pyramid/pull/3353
135
4a9f4f 136 - Media ranges are deprecated in the ``accept`` argument of
MM 137   ``pyramid.config.Configurator.add_route``. Use a list of explicit
138   media types to ``add_route`` to support multiple types.
139
140 - Media ranges are deprecated in the ``accept`` argument of
141   ``pyramid.config.Configurator.add_view``.  There is no replacement for
142   ranges to ``add_view``, but after much discussion the workflow is
143   fundamentally ambiguous in the face of various client-supplied values for
144   the ``Accept`` header.
145   See https://github.com/Pylons/pyramid/pull/3326
146
884eb5 147 Backward Incompatibilities
MM 148 --------------------------
3213e2 149
d5a662 150 - On Python 3.4+ the ``repoze.lru`` dependency is dropped. If you were using
MM 151   this package directly in your apps you should make sure that you are
152   depending on it directly within your project.
153   See https://github.com/Pylons/pyramid/pull/3140
154
7b6eb3 155 - Remove the ``permission`` argument from
MM 156   ``pyramid.config.Configurator.add_route``. This was an argument left over
157   from a feature removed in Pyramid 1.5 and has had no effect since then.
158   See https://github.com/Pylons/pyramid/pull/3299
159
57ee91 160 - Modify the builtin session implementations to set ``SameSite='Lax'`` on
MM 161   cookies. This affects ``pyramid.session.BaseCookieSessionFactory``,
162   ``pyramid.session.SignedCookieSessionFactory``, and
163   ``pyramid.session.UnencryptedCookieSessionFactoryConfig``.
164   See https://github.com/Pylons/pyramid/pull/3300
165
990fb0 166 - Variables defined in the ``[pshell]`` section of the settings will no
MM 167   longer override those set by the ``setup`` function.
168   See https://github.com/Pylons/pyramid/pull/3318
169
93406d 170 - ``pyramid.config.Configurator.add_notfound_view`` uses default redirect
DK 171   class exception ``pyramid.httpexceptions.HTTPTemporaryRedirect`` instead
172   of previous ``pyramid.httpexceptions.HTTPFound``.
173   See https://github.com/Pylons/pyramid/pull/3328
174
1f307d 175 - Removed ``pyramid.config.Configurator.set_request_property`` which had been
781371 176   deprecated since Pyramid 1.5. Instead use
MM 177   ``pyramid.config.Configurator.add_request_method`` with ``reify=True`` or
178   ``property=True``.
1f307d 179   See https://github.com/Pylons/pyramid/pull/3368
MM 180
781371 181 - Removed the ``principal`` keyword argument from
MM 182   ``pyramid.security.remember`` which had been deprecated since Pyramid 1.6
183   and replaced by the ``userid`` argument.
184   See https://github.com/Pylons/pyramid/pull/3369
185
4a5504 186 - Removed the ``pyramid.tests`` subpackage that used to contain the Pyramid
MM 187   test suite. These changes also changed the format of the repository to move
188   the code into a ``src`` folder.
189   See https://github.com/Pylons/pyramid/pull/3387
190
785088 191 Documentation Changes
MM 192 ---------------------
193
c8abfb 194 - Ad support for Read The Docs Ethical Ads.
7b024b 195   See https://github.com/Pylons/pyramid/pull/3360 and
c8abfb 196   https://docs.readthedocs.io/en/latest/advertising/ethical-advertising.html
SP 197
0ed6b9 198 - Add support for alembic to the pyramid-cookiecutter-alchemy cookiecutter
MM 199   and update the wiki2 tutorial to explain how it works.
200   See https://github.com/Pylons/pyramid/pull/3307 and
201   https://github.com/Pylons/pyramid-cookiecutter-alchemy/pull/7
202
763b7a 203 - Bump Sphinx to >= 1.7.4 in setup.py to support ``emphasize-lines`` in PDFs
SP 204   and to pave the way for xelatex support.  See
205   https://github.com/Pylons/pyramid/pull/3271,
206   https://github.com/Pylons/pyramid/issues/667, and
207   https://github.com/Pylons/pyramid/issues/2572
d4c95c 208
MM 209 - Added extra tests to the quick tutorial.
210   See https://github.com/Pylons/pyramid/pull/3375