Skip to content

HTTPS clone URL

Subversion checkout URL

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