Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 524 lines (400 sloc) 22.947 kB
5065a51 @pauleveritt Added a note to CHANGES.txt, push the quick tutorial.
pauleveritt authored
1 Unreleased
2 ==========
3
ba419e5 @mmerickel update changelog
mmerickel authored
4 Features
5 --------
6
7 - Pyramid's console scripts (``pserve``, ``pviews``, etc) can now be run
8 directly, allowing custom arguments to be sent to the python interpreter
9 at runtime. For example::
10
11 python -3 -m pyramid.scripts.pserve development.ini
12
6b0889c @mmerickel update doc references
mmerickel authored
13 - Added a specific subclass of ``HTTPBadRequest`` named
14 ``pyramid.exceptions.BadCSRFToken`` which will now be raised in response
15 to failures in ``check_csrf_token``.
16 See https://github.com/Pylons/pyramid/pull/1149
17
073e524 @mcdonc - Fix the ``pcreate`` script so that when the target directory name e…
mcdonc authored
18 Bug Fixes
19 ---------
20
21 - Fix the ``pcreate`` script so that when the target directory name ends with a
22 slash it does not produce a non-working project directory structure.
23 Previously saying ``pcreate -s starter /foo/bar/`` produced different output
24 than saying ``pcreate -s starter /foo/bar``. The former did not work
25 properly.
26
678f49d @mcdonc - Fix the ``principals_allowed_by_permission`` method of
mcdonc authored
27 - Fix the ``principals_allowed_by_permission`` method of
28 ``ACLAuthorizationPolicy`` so it anticipates a callable ``__acl__``
29 on resources. Previously it did not try to call the ``__acl__``
30 if it was callable.
31
97f3660 @mmerickel set custom request methods when doing a pview lookup
mmerickel authored
32 - The ``pviews`` script did not work when a url required custom request
33 methods in order to perform traversal. Custom methods and descriptors added
34 via ``pyramid.config.Configurator.add_request_method`` will now be present,
35 allowing traversal to continue.
36 See https://github.com/Pylons/pyramid/issues/1104
37
4223668 @mcdonc remove unused renderer arg
mcdonc authored
38 - Remove unused ``renderer`` argument from ``Configurator.add_route``.
39
5065a51 @pauleveritt Added a note to CHANGES.txt, push the quick tutorial.
pauleveritt authored
40 Documentation
41 -------------
42
43 - Added a "Quick Tutorial" to go with the Quick Tour
44
66be39b @mcdonc - Removed mention of ``pyramid_beaker`` from docs. Beaker is no longer
mcdonc authored
45 - Removed mention of ``pyramid_beaker`` from docs. Beaker is no longer
46 maintained. Point people at ``pyramid_redis_sessions`` instead.
47
af5fa07 @mmerickel support a None value in query string parameters
mmerickel authored
48 Backwards Incompatibilities
49 ---------------------------
50
51 - The key/values in the ``_query`` parameter of ``request.route_url`` and the
52 ``query`` parameter of ``request.resource_url`` (and their variants), used
53 to encode a value of ``None`` as the string ``'None'``, leaving the resulting
54 query string to be ``a=b&key=None``. The value is now dropped in this
79d9d68 @mcdonc correct the explanation of the behavior change
mcdonc authored
55 situation, leaving a query string of ``a=b&key=``.
af5fa07 @mmerickel support a None value in query string parameters
mmerickel authored
56 See https://github.com/Pylons/pyramid/issues/1119
57
78b41e5 @mcdonc prep for 1.5a2
mcdonc authored
58 1.5a2 (2013-09-22)
59 ==================
f6f1d16 @mmerickel remove the deprecated request.response_* attributes
mmerickel authored
60
c390f4b @bertjwregeer Add feature update to CHANGES.txt
bertjwregeer authored
61 Features
62 --------
63
cbcd4d2 @mcdonc wording
mcdonc authored
64 - Users can now provide dotted Python names to as the ``factory`` argument
65 the Configurator methods named ``add_{view,route,subscriber}_predicate``
66 (instead of passing the predicate factory directly, you can pass a
67 dotted name which refers to the factory).
c390f4b @bertjwregeer Add feature update to CHANGES.txt
bertjwregeer authored
68
c062d5a @dhellmann Update package_name() to work with namespace pkgs
dhellmann authored
69 Bug Fixes
70 ---------
71
f504ccc @mcdonc add change notes
mcdonc authored
72 - Fix an exception in ``pyramid.path.package_name`` when resolving the package
73 name for namespace packages that had no ``__file__`` attribute.
c062d5a @dhellmann Update package_name() to work with namespace pkgs
dhellmann authored
74
f6f1d16 @mmerickel remove the deprecated request.response_* attributes
mmerickel authored
75 Backwards Incompatibilities
76 ---------------------------
77
0778eea @mcdonc better description of mako/chameleon bw incompat in changelog, update…
mcdonc authored
78 - Pyramid no longer depends on or configures the Mako and Chameleon templating
79 system renderers by default. Disincluding these templating systems by
80 default means that the Pyramid core has fewer dependencies and can run on
81 future platforms without immediate concern for the compatibility of its
82 templating add-ons. It also makes maintenance slightly more effective, as
83 different people can maintain the templating system add-ons that they
84 understand and care about without needing commit access to the Pyramid core,
85 and it allows users who just don't want to see any packages they don't use
86 come along for the ride when they install Pyramid.
82f9702 @mmerickel update changelog
mmerickel authored
87
0778eea @mcdonc better description of mako/chameleon bw incompat in changelog, update…
mcdonc authored
88 This means that upon upgrading to Pyramid 1.5a2+, projects that use either
89 of these templating systems will see a traceback that ends something like
90 this when their application attempts to render a Chameleon or Mako template::
91
92 ValueError: No such renderer factory .pt
93
94 Or::
95
96 ValueError: No such renderer factory .mako
97
98 Or::
99
100 ValueError: No such renderer factory .mak
101
102 Support for Mako templating has been moved into an add-on package named
103 ``pyramid_mako``, and support for Chameleon templating has been moved into
104 an add-on package named ``pyramid_chameleon``. These packages are drop-in
105 replacements for the old built-in support for these templating langauges.
106 All you have to do is install them and make them active in your configuration
107 to register renderer factories for ``.pt`` and/or ``.mako`` (or ``.mak``) to
108 make your application work again.
109
110 To re-add support for Chameleon and/or Mako template renderers into your
111 existing projects, follow the below steps.
112
113 If you depend on Mako templates:
114
115 * Make sure the ``pyramid_mako`` package is installed. One way to do this
116 is by adding ``pyramid_mako`` to the ``install_requires`` section of your
117 package's ``setup.py`` file and afterwards rerunning ``setup.py develop``::
ce138c8 @mmerickel add install_requires example as well
mmerickel authored
118
119 setup(
120 #...
121 install_requires=[
122 'pyramid_mako', # new dependency
123 'pyramid',
124 #...
125 ],
126 )
82f9702 @mmerickel update changelog
mmerickel authored
127
0778eea @mcdonc better description of mako/chameleon bw incompat in changelog, update…
mcdonc authored
128 * Within the portion of your application which instantiates a Pyramid
129 ``pyramid.config.Configurator`` (often the ``main()`` function in
130 your project's ``__init__.py`` file), tell Pyramid to include the
131 ``pyramid_mako`` includeme::
82f9702 @mmerickel update changelog
mmerickel authored
132
0778eea @mcdonc better description of mako/chameleon bw incompat in changelog, update…
mcdonc authored
133 config = Configurator(.....)
82f9702 @mmerickel update changelog
mmerickel authored
134 config.include('pyramid_mako')
135
0778eea @mcdonc better description of mako/chameleon bw incompat in changelog, update…
mcdonc authored
136 If you depend on Chameleon templates:
9ed074e @mmerickel add example of rendering to the changelog
mmerickel authored
137
0778eea @mcdonc better description of mako/chameleon bw incompat in changelog, update…
mcdonc authored
138 * Make sure the ``pyramid_chameleon`` package is installed. One way to do
139 this is by adding ``pyramid_chameleon`` to the ``install_requires`` section
140 of your package's ``setup.py`` file and afterwards rerunning
141 ``setup.py develop``::
9ed074e @mmerickel add example of rendering to the changelog
mmerickel authored
142
0778eea @mcdonc better description of mako/chameleon bw incompat in changelog, update…
mcdonc authored
143 setup(
144 #...
145 install_requires=[
146 'pyramid_chameleon', # new dependency
147 'pyramid',
148 #...
149 ],
150 )
151
152 * Within the portion of your application which instantiates a Pyramid
153 ``~pyramid.config.Configurator`` (often the ``main()`` function in
154 your project's ``__init__.py`` file), tell Pyramid to include the
155 ``pyramid_chameleon`` includeme::
156
157 config = Configurator(.....)
158 config.include('pyramid_chameleon')
82f9702 @mmerickel update changelog
mmerickel authored
159
0778eea @mcdonc better description of mako/chameleon bw incompat in changelog, update…
mcdonc authored
160 Note that it's also fine to install these packages into *older* Pyramids for
161 forward compatibility purposes. Even if you don't upgrade to Pyramid 1.5
162 immediately, performing the above steps in a Pyramid 1.4 installation is
163 perfectly fine, won't cause any difference, and will give you forward
164 compatibility when you eventually do upgrade to Pyramid 1.5.
165
166 With the removal of Mako and Chameleon support from the core, some
167 unit tests that use the ``pyramid.renderers.render*`` methods may begin to
168 fail. If any of your unit tests are invoking either
169 ``pyramid.renderers.render()`` or ``pyramid.renderers.render_to_response()``
170 with either Mako or Chameleon templates then the
171 ``pyramid.config.Configurator`` instance in effect during
172 the unit test should be also be updated to include the addons, as shown
173 above. For example::
174
175 class ATest(unittest.TestCase):
176 def setUp(self):
177 self.config = pyramid.testing.setUp()
178 self.config.include('pyramid_mako')
179
180 def test_it(self):
181 result = pyramid.renderers.render('mypkg:templates/home.mako', {})
182
183 Or::
184
185 class ATest(unittest.TestCase):
186 def setUp(self):
187 self.config = pyramid.testing.setUp()
188 self.config.include('pyramid_chameleon')
189
190 def test_it(self):
191 result = pyramid.renderers.render('mypkg:templates/home.pt', {})
192
193 - If you're using the Pyramid debug toolbar, when you upgrade Pyramid to
194 1.5a2+, you'll also need to upgrade the ``pyramid_debugtoolbar`` package to
195 at least version 1.0.8, as older toolbar versions are not compatible with
196 Pyramid 1.5a2+ due to the removal of Mako support from the core. It's
197 fine to use this newer version of the toolbar code with older Pyramids too.
ec0c5ca @mcdonc add note about requiring a later pyramid_debugtoolbar package if you …
mcdonc authored
198
f6f1d16 @mmerickel remove the deprecated request.response_* attributes
mmerickel authored
199 - Removed the ``request.response_*`` varying attributes. These attributes
200 have been deprecated since Pyramid 1.1, and as per the deprecation policy,
201 have now been removed.
202
027c980 @mcdonc resolve conflicts, reword change entry a bit
mcdonc authored
203 - ``request.response`` will no longer be mutated when using the
204 ``pyramid.renderers.render()`` API. Almost all renderers mutate the
fbdc3a0 @mmerickel s/view execution machinery/generating a response/
mmerickel authored
205 ``request.response`` response object (for example, the JSON renderer sets
206 ``request.response.content_type`` to ``application/json``), but this is
207 only necessary when the renderer is generating a response; it was a bug
208 when it was done as a side effect of calling ``pyramid.renderers.render()``.
3803d92 @mmerickel update render() to preserve the original response object
mmerickel authored
209
f504ccc @mcdonc add change notes
mcdonc authored
210 - Removed the ``bfg2pyramid`` fixer script.
211
fc477b2 @mcdonc - The ``pyramid.events.NewResponse`` event is now sent **after** resp…
mcdonc authored
212 - The ``pyramid.events.NewResponse`` event is now sent **after** response
213 callbacks are executed. It previously executed before response callbacks
214 were executed. Rationale: it's more useful to be able to inspect the response
215 after response callbacks have done their jobs instead of before.
216
2c4f4e3 @mcdonc - Removed the class named ``pyramid.view.static`` that had been depre…
mcdonc authored
217 - Removed the class named ``pyramid.view.static`` that had been deprecated
218 since Pyramid 1.1. Instead use ``pyramid.static.static_view`` with
219 ``use_subpath=True`` argument.
220
780bbf9 @mcdonc - Removed the ``pyramid.view.is_response`` function that had been dep…
mcdonc authored
221 - Removed the ``pyramid.view.is_response`` function that had been deprecated
222 since Pyramid 1.1. Use the ``pyramid.request.Request.is_response`` method
223 instead.
224
fdf30b3 @mcdonc - Removed the ability to pass the following arguments to
mcdonc authored
225 - Removed the ability to pass the following arguments to
6c42933 @mcdonc typo
mcdonc authored
226 ``pyramid.config.Configurator.add_route``: ``view``, ``view_context``.
fdf30b3 @mcdonc - Removed the ability to pass the following arguments to
mcdonc authored
227 ``view_for``, ``view_permission``, ``view_renderer``, and ``view_attr``.
228 Using these arguments had been deprecated since Pyramid 1.1. Instead of
229 passing view-related arguments to ``add_route``, use a separate call to
230 ``pyramid.config.Configurator.add_view`` to associate a view with a route
231 using its ``route_name`` argument. Note that this impacts the
232 ``pyramid.config.Configurator.add_static_view`` function too, because it
233 delegates to ``add_route``.
234
8fe57d8 @mcdonc - Removed the ability to influence and query a ``pyramid.request.Requ…
mcdonc authored
235 - Removed the ability to influence and query a ``pyramid.request.Request``
236 object as if it were a dictionary. Previously it was possible to use methods
237 like ``__getitem__``, ``get``, ``items``, and other dictlike methods to
238 access values in the WSGI environment. This behavior had been deprecated
239 since Pyramid 1.1. Use methods of ``request.environ`` (a real dictionary)
240 instead.
241
95e9711 @mcdonc - Removed ancient backwards compatibily hack in
mcdonc authored
242 - Removed ancient backwards compatibily hack in
243 ``pyramid.traversal.DefaultRootFactory`` which populated the ``__dict__`` of
244 the factory with the matchdict values for compatibility with BFG 0.9.
245
c6601f7 @mcdonc - The ``renderer_globals_factory`` argument to the
mcdonc authored
246 - The ``renderer_globals_factory`` argument to the
247 ``pyramid.config.Configurator` constructor and its ``setup_registry`` method
248 has been removed. The ``set_renderer_globals_factory`` method of
249 ``pyramid.config.Configurator`` has also been removed. The (internal)
250 ``pyramid.interfaces.IRendererGlobals`` interface was also removed. These
251 arguments, methods and interfaces had been deprecated since 1.1. Use a
252 ``BeforeRender`` event subscriber as documented in the "Hooks" chapter of the
253 Pyramid narrative documentation instead of providing renderer globals values
254 to the configurator.
255
75f3857 @mcdonc - The ``pyramid.config.Configurator.set_request_property`` method now…
mcdonc authored
256 Deprecations
257 ------------
258
259 - The ``pyramid.config.Configurator.set_request_property`` method now issues
260 a deprecation warning when used. It had been docs-deprecated in 1.4
261 but did not issue a deprecation warning when used.
262
00bb95f @mcdonc prep for 1.5a1
mcdonc authored
263 1.5a1 (2013-08-30)
264 ==================
2d93140 @mmerickel support acl as a callable
mmerickel authored
265
266 Features
267 --------
268
c5ed549 @mcdonc add HTTPSuccessful base class, allowing HTTPOk to be caught independe…
mcdonc authored
269 - A new http exception subclass named ``pyramid.httpexceptions.HTTPSuccessful``
270 was added. You can use this class as the ``context`` of an exception
271 view to catch all 200-series "exceptions" (e.g. "raise HTTPOk"). This
272 also allows you to catch *only* the ``HTTPOk`` exception itself; previously
273 this was impossible because a number of other exceptions
274 (such as ``HTTPNoContent``) inherited from ``HTTPOk``, but now they do not.
275
0a4aed1 @mcdonc documentation for hybrid url generation
mcdonc authored
276 - You can now generate "hybrid" urldispatch/traversal URLs more easily
c29603e @mcdonc get rid of remainder_name on route, and just default to passing trave…
mcdonc authored
277 by using the new ``route_name``, ``route_kw`` and ``route_remainder_name``
278 arguments to ``request.resource_url`` and ``request.resource_path``. See
279 the new section of the "Combining Traversal and URL Dispatch" documentation
280 chapter entitled "Hybrid URL Generation".
0a4aed1 @mcdonc documentation for hybrid url generation
mcdonc authored
281
1930ebf @mcdonc Permit escaping of double braces in scaffolds, see #862
mcdonc authored
282 - It is now possible to escape double braces in Pyramid scaffolds (unescaped,
283 these represent replacement values). You can use ``\{\{a\}\}`` to
284 represent a "bare" ``{{a}}``. See
285 https://github.com/Pylons/pyramid/pull/862
286
330164c @mcdonc make local_name an attribute of Request, move logic from get_localize…
mcdonc authored
287 - Add ``localizer`` and ``locale_name`` properties (reified) to the request.
288 See https://github.com/Pylons/pyramid/issues/508. Note that the
289 ``pyramid.i18n.get_localizer`` and ``pyramid.i18n.get_locale_name`` functions
290 now simply look up these properties on the request.
c614ffc @witsch add ``localizer`` property to the request (refs #508)
witsch authored
291
b210ce3 @mcdonc add pdistreport command
mcdonc authored
292 - Add ``pdistreport`` script, which prints the Python version in use, the
293 Pyramid version in use, and the version number and location of all Python
294 distributions currently installed.
295
32333e4 @mcdonc add not_ predicate feature
mcdonc authored
296 - Add the ability to invert the result of any view, route, or subscriber
297 predicate using the ``not_`` class. For example::
298
299 from pyramid.config import not_
300
301 @view_config(route_name='myroute', request_method=not_('POST'))
302 def myview(request): ...
303
304 The above example will ensure that the view is called if the request method
305 is not POST (at least if no other view is more specific).
306
5e8eadb @mcdonc fix rst rendering of changes
mcdonc authored
307 The ``pyramid.config.not_`` class can be used against any value that is
32333e4 @mcdonc add not_ predicate feature
mcdonc authored
308 a predicate value passed in any of these contexts:
309
310 - ``pyramid.config.Configurator.add_view``
311
312 - ``pyramid.config.Configurator.add_route``
313
314 - ``pyramid.config.Configurator.add_subscriber``
315
316 - ``pyramid.view.view_config``
317
318 - ``pyramid.events.subscriber``
319
a178631 @mcdonc add an entry to changes about code merged from feature.prequest_login…
mcdonc authored
320 - ``scripts/prequest.py``: add support for submitting ``PUT`` and ``PATCH``
321 requests. See https://github.com/Pylons/pyramid/pull/1033. add support for
0d96b77 @mcdonc version bump in setup.py conf.py CHANGES.txt, rejigger changes bugs v…
mcdonc authored
322 submitting ``OPTIONS`` and ``PROPFIND`` requests, and allow users to specify
a178631 @mcdonc add an entry to changes about code merged from feature.prequest_login…
mcdonc authored
323 basic authentication credentials in the request via a ``--login`` argument to
324 the script. See https://github.com/Pylons/pyramid/pull/1039.
f0f92b0 @tseaver Changelog for PR #1033.
tseaver authored
325
2d93140 @mmerickel support acl as a callable
mmerickel authored
326 - ``ACLAuthorizationPolicy`` supports ``__acl__`` as a callable. This
327 removes the ambiguity between the potential ``AttributeError`` that would
328 be raised on the ``context`` when the property was not defined and the
329 ``AttributeError`` that could be raised from any user-defined code within
330 a dynamic property. It is recommended to define a dynamic ACL as a callable
331 to avoid this ambiguity. See https://github.com/Pylons/pyramid/issues/735.
332
ff41f86 @wosc Fixes #798: Allow a protocol-relative URL to be passed to add_static_…
wosc authored
333 - Allow a protocol-relative URL (e.g. ``//example.com/images``) to be passed to
334 ``pyramid.config.Configurator.add_static_view``. This allows
335 externally-hosted static URLs to be generated based on the current protocol.
336
a1f768c @wichert Allow explicit cookie domain setting.
wichert authored
337 - The ``AuthTktAuthenticationPolicy`` has two new options to configure its
338 domain usage:
58c5fef @tshepang fix some rST issues
tshepang authored
339
a1f768c @wichert Allow explicit cookie domain setting.
wichert authored
340 * ``parent_domain``: if set the authentication cookie is set on
341 the parent domain. This is useful if you have multiple sites sharing the
342 same domain.
343 * ``domain``: if provided the cookie is always set for this domain, bypassing
58c5fef @tshepang fix some rST issues
tshepang authored
344 all usual logic.
345
3ea7883 @tomster Add reference to the pull requests
tomster authored
346 See https://github.com/Pylons/pyramid/pull/1028,
347 https://github.com/Pylons/pyramid/pull/1072 and
348 https://github.com/Pylons/pyramid/pull/1078.
188aa7e @wichert Add a parent_domain option for auth_tkt policy
wichert authored
349
23a7c6d @mmerickel update CHANGES.txt
mmerickel authored
350 - The ``AuthTktAuthenticationPolicy`` now supports IPv6 addresses when using
351 the ``include_ip=True`` option. This is possibly incompatible with
352 alternative ``auth_tkt`` implementations, as the specification does not
353 define how to properly handle IPv6. See
354 https://github.com/Pylons/pyramid/issues/831.
355
38844f7 @mmerickel update CHANGES.txt
mmerickel authored
356 - Make it possible to use variable arguments via
357 ``pyramid.paster.get_appsettings``. This also allowed the generated
358 ``initialize_db`` script from the ``alchemy`` scaffold to grow support
359 for options in the form ``a=1 b=2`` so you can fill in
360 values in a parameterized ``.ini`` file, e.g.
361 ``initialize_myapp_db etc/development.ini a=1 b=2``.
362 See https://github.com/Pylons/pyramid/pull/911
363
fab8454 @mcdonc add changelog note
mcdonc authored
364 - The ``request.session.check_csrf_token()`` method and the ``check_csrf`` view
365 predicate now take into account the value of the HTTP header named
366 ``X-CSRF-Token`` (as well as the ``csrf_token`` form parameter, which they
367 always did). The header is tried when the form parameter does not exist.
368
b6a4d40 @mmerickel Merge branch 'master' of latteier/pyramid into pull.786
mmerickel authored
369 - View lookup will now search for valid views based on the inheritance
370 hierarchy of the context. It tries to find views based on the most
371 specific context first, and upon predicate failure, will move up the
372 inheritance chain to test views found by the super-type of the context.
373 In the past, only the most specific type containing views would be checked
374 and if no matching view could be found then a PredicateMismatch would be
375 raised. Now predicate mismatches don't hide valid views registered on
5e8eadb @mcdonc fix rst rendering of changes
mcdonc authored
376 super-types. Here's an example that now works::
9e1e6d3 @latteier Change log note.
latteier authored
377
b6a4d40 @mmerickel Merge branch 'master' of latteier/pyramid into pull.786
mmerickel authored
378 class IResource(Interface):
07c189d @stevepiercy Fix whitespace in CHANGES.txt to permit build.
stevepiercy authored
379
b6a4d40 @mmerickel Merge branch 'master' of latteier/pyramid into pull.786
mmerickel authored
380 ...
9e1e6d3 @latteier Change log note.
latteier authored
381
b6a4d40 @mmerickel Merge branch 'master' of latteier/pyramid into pull.786
mmerickel authored
382 @view_config(context=IResource)
383 def get(context, request):
07c189d @stevepiercy Fix whitespace in CHANGES.txt to permit build.
stevepiercy authored
384
b6a4d40 @mmerickel Merge branch 'master' of latteier/pyramid into pull.786
mmerickel authored
385 ...
9e1e6d3 @latteier Change log note.
latteier authored
386
b6a4d40 @mmerickel Merge branch 'master' of latteier/pyramid into pull.786
mmerickel authored
387 @view_config(context=IResource, request_method='POST')
388 def post(context, request):
07c189d @stevepiercy Fix whitespace in CHANGES.txt to permit build.
stevepiercy authored
389
b6a4d40 @mmerickel Merge branch 'master' of latteier/pyramid into pull.786
mmerickel authored
390 ...
9e1e6d3 @latteier Change log note.
latteier authored
391
b6a4d40 @mmerickel Merge branch 'master' of latteier/pyramid into pull.786
mmerickel authored
392 @view_config(context=IResource, request_method='DELETE')
393 def delete(context, request):
07c189d @stevepiercy Fix whitespace in CHANGES.txt to permit build.
stevepiercy authored
394
b6a4d40 @mmerickel Merge branch 'master' of latteier/pyramid into pull.786
mmerickel authored
395 ...
9e1e6d3 @latteier Change log note.
latteier authored
396
e01b1ca @mcdonc update whatsnew
mcdonc authored
397 @implementer(IResource)
b6a4d40 @mmerickel Merge branch 'master' of latteier/pyramid into pull.786
mmerickel authored
398 class MyResource:
07c189d @stevepiercy Fix whitespace in CHANGES.txt to permit build.
stevepiercy authored
399
b6a4d40 @mmerickel Merge branch 'master' of latteier/pyramid into pull.786
mmerickel authored
400 ...
9e1e6d3 @latteier Change log note.
latteier authored
401
b6a4d40 @mmerickel Merge branch 'master' of latteier/pyramid into pull.786
mmerickel authored
402 @view_config(context=MyResource, request_method='POST')
403 def override_post(context, request):
07c189d @stevepiercy Fix whitespace in CHANGES.txt to permit build.
stevepiercy authored
404
b6a4d40 @mmerickel Merge branch 'master' of latteier/pyramid into pull.786
mmerickel authored
405 ...
9e1e6d3 @latteier Change log note.
latteier authored
406
407 Previously the override_post view registration would hide the get
408 and delete views in the context of MyResource -- leading to a
409 predicate mismatch error when trying to use GET or DELETE
410 methods. Now the views are found and no predicate mismatch is
411 raised.
6b97003 @mmerickel update changlog
mmerickel authored
412 See https://github.com/Pylons/pyramid/pull/786 and
75fc4ac @mmerickel update changelog
mmerickel authored
413 https://github.com/Pylons/pyramid/pull/1004 and
414 https://github.com/Pylons/pyramid/pull/1046
9e1e6d3 @latteier Change log note.
latteier authored
415
1377480 @mcdonc add change note
mcdonc authored
416 - The ``pserve`` command now takes a ``-v`` (or ``--verbose``) flag and a
417 ``-q`` (or ``--quiet``) flag. Output from running ``pserve`` can be
418 controlled using these flags. ``-v`` can be specified multiple times to
419 increase verbosity. ``-q`` sets verbosity to ``0`` unconditionally. The
420 default verbosity level is ``1``.
421
986dc5f @mcdonc add change note
mcdonc authored
422 - The ``alchemy`` scaffold tests now provide better coverage. See
423 https://github.com/Pylons/pyramid/pull/1029
424
d07d167 @mcdonc raise ValueError instead of generating just path when _app_url is pro…
mcdonc authored
425 - The ``pyramid.config.Configurator.add_route`` method now supports being
426 called with an external URL as pattern. See
67674f9 @mcdonc point at docs section
mcdonc authored
427 https://github.com/Pylons/pyramid/issues/611 and the documentation section
428 in the "URL Dispatch" chapter entitled "External Routes" for more information.
8a8eff5 @tomster update changelog
tomster authored
429
0d96b77 @mcdonc version bump in setup.py conf.py CHANGES.txt, rejigger changes bugs v…
mcdonc authored
430 Bug Fixes
431 ---------
432
97ed56d @mcdonc allow exception view registrations for HTTPException to override defa…
mcdonc authored
433 - It was not possible to use ``pyramid.httpexceptions.HTTPException`` as
434 the ``context`` of an exception view as very general catchall for
435 http-related exceptions when you wanted that exception view to override the
436 default exception view. See https://github.com/Pylons/pyramid/issues/985
437
8a7e80d @mcdonc - When the ``pyramid.reload_templates`` setting was true, and a Chame…
mcdonc authored
438 - When the ``pyramid.reload_templates`` setting was true, and a Chameleon
439 template was reloaded, and the renderer specification named a macro
440 (e.g. ``foo#macroname.pt``), renderings of the template after the template
441 was reloaded due to a file change would produce the entire template body
442 instead of just a rendering of the macro. See
443 https://github.com/Pylons/pyramid/issues/1013.
444
ece96f6 @mcdonc - Fix an obscure problem when combining a virtual root with a route w…
mcdonc authored
445 - Fix an obscure problem when combining a virtual root with a route with a
446 ``*traverse`` in its pattern. Now the traversal path generated in
447 such a configuration will be correct, instead of an element missing
448 a leading slash.
449
24c9326 @blaflamme added bug fix to changes
blaflamme authored
450 - Fixed a Mako renderer bug returning a tuple with a previous defname value
3de54e3 @blaflamme fixed line indentation
blaflamme authored
451 in some circumstances. See https://github.com/Pylons/pyramid/issues/1037
452 for more information.
24c9326 @blaflamme added bug fix to changes
blaflamme authored
453
0d96b77 @mcdonc version bump in setup.py conf.py CHANGES.txt, rejigger changes bugs v…
mcdonc authored
454 - Make the ``pyramid.config.assets.PackageOverrides`` object implement the API
455 for ``__loader__`` objects specified in PEP 302. Proxies to the
456 ``__loader__`` set by the importer, if present; otherwise, raises
457 ``NotImplementedError``. This makes Pyramid static view overrides work
458 properly under Python 3.3 (previously they would not). See
459 https://github.com/Pylons/pyramid/pull/1015 for more information.
460
461 - ``mako_templating``: added defensive workaround for non-importability of
462 ``mako`` due to upstream ``markupsafe`` dropping Python 3.2 support. Mako
463 templating will no longer work under the combination of MarkupSafe 0.17 and
464 Python 3.2 (although the combination of MarkupSafe 0.17 and Python 3.3 or any
465 supported Python 2 version will work OK).
466
ea278e1 @mmerickel update changelog
mmerickel authored
467 - Spaces and dots may now be in mako renderer template paths. This was
468 broken when support for the new makodef syntax was added in 1.4a1.
469 See https://github.com/Pylons/pyramid/issues/950
470
20c57e6 @mmerickel update changelog
mmerickel authored
471 - ``pyramid.debug_authorization=true`` will now correctly print out
472 ``Allowed`` for views registered with ``NO_PERMISSION_REQUIRED`` instead
473 of invoking the ``permits`` method of the authorization policy.
474 See https://github.com/Pylons/pyramid/issues/954
475
c35b298 @mmerickel update changes.txt
mmerickel authored
476 - Pyramid failed to install on some systems due to being packaged with
477 some test files containing higher order characters in their names. These
478 files have now been removed. See
479 https://github.com/Pylons/pyramid/issues/981
480
050b71c @mcdonc - ``pyramid.testing.DummyResource`` didn't define ``__bool__``, so co…
mcdonc authored
481 - ``pyramid.testing.DummyResource`` didn't define ``__bool__``, so code under
0d96b77 @mcdonc version bump in setup.py conf.py CHANGES.txt, rejigger changes bugs v…
mcdonc authored
482 Python 3 would use ``__len__`` to find truthiness; this usually caused an
483 instance of DummyResource to be "falsy" instead of "truthy". See
484 https://github.com/Pylons/pyramid/pull/1032
050b71c @mcdonc - ``pyramid.testing.DummyResource`` didn't define ``__bool__``, so co…
mcdonc authored
485
0a8d50f @mcdonc add change note
mcdonc authored
486 - The ``alchemy`` scaffold would break when the database was MySQL during
487 tables creation. See https://github.com/Pylons/pyramid/pull/1049
488
6a4a341 @odontomachus Fixed documentation width, signed contributors agreement and added a …
odontomachus authored
489 - The ``current_route_url`` method now attaches the query string to the URL by
490 default. See
0f1bc52 @odontomachus Updated CHANGES
odontomachus authored
491 https://github.com/Pylons/pyramid/issues/1040
492
d6e8b86 @tomster Make ``pserve.cherrypy_server_runner`` Python 3 compatible.
tomster authored
493 - Make ``pserve.cherrypy_server_runner`` Python 3 compatible. See
494 https://github.com/Pylons/pyramid/issues/718
495
33e0fe1 @odontomachus Fixes to documentation, added change to what's new.
odontomachus authored
496 Backwards Incompatibilities
497 ---------------------------
498
6a4a341 @odontomachus Fixed documentation width, signed contributors agreement and added a …
odontomachus authored
499 - Modified the ``current_route_url`` method in pyramid.Request. The method
500 previously returned the URL without the query string by default, it now does
501 attach the query string unless it is overriden.
33e0fe1 @odontomachus Fixes to documentation, added change to what's new.
odontomachus authored
502
58951c0 @mcdonc - The ``route_url`` and ``route_path`` APIs no longer quote ``/``
mcdonc authored
503 - The ``route_url`` and ``route_path`` APIs no longer quote ``/``
504 to ``%2F`` when a replacement value contains a ``/``. This was pointless,
505 as WSGI servers always unquote the slash anyway, and Pyramid never sees the
506 quoted value.
507
330164c @mcdonc make local_name an attribute of Request, move logic from get_localize…
mcdonc authored
508 - It is no longer possible to set a ``locale_name`` attribute of the request,
509 nor is it possible to set a ``localizer`` attribute of the request. These
510 are now "reified" properties that look up a locale name and localizer
511 respectively using the machinery described in the "Internationalization"
512 chapter of the documentation.
513
db0185f @mcdonc first cut at hybrid url generation; still needs tests for resource_ur…
mcdonc authored
514 - If you send an ``X-Vhm-Root`` header with a value that ends with a slash (or
515 any number of slashes), the trailing slash(es) will be removed before a URL
516 is generated when you use use ``request.resource_url`` or
517 ``request.resource_path``. Previously the virtual root path would not have
518 trailing slashes stripped, which would influence URL generation.
519
520 - The ``pyramid.interfaces.IResourceURL`` interface has now grown two new
521 attributes: ``virtual_path_tuple`` and ``physical_path_tuple``. These should
522 be the tuple form of the resource's path (physical and virtual).
523
Something went wrong with that request. Please try again.