Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 666 lines (499 sloc) 27.599 kb
5b1e2a4 @mcdonc - The method ``pyramid.request.Request.partial_application_url`` is no l...
mcdonc authored
1 Next release
2 ============
3
4 Bug Fixes
5 ---------
6
7 - The method ``pyramid.request.Request.partial_application_url`` is no longer
8 in the API docs. It was meant to be a private method; its publication in
9 the documentation as an API method was a mistake, and it has been renamed
10 to something private.
11
cf973d6 @mcdonc prep for 1.3b1
mcdonc authored
12 1.3b1 (2012-02-26)
13 ==================
b0ebdf0 @mcdonc - ``pyramid.config.Configurator.with_package`` didn't work if the
mcdonc authored
14
15 Bug Fixes
16 ---------
17
18 - ``pyramid.config.Configurator.with_package`` didn't work if the
19 Configurator was an old-style ``pyramid.configuration.Configurator``
20 instance.
21
1b7342f @mcdonc - Pyramid authorization policies did not show up in the introspector.
mcdonc authored
22 - Pyramid authorization policies did not show up in the introspector.
23
01eac92 @mcdonc docs-deprecate tmpl_context
mcdonc authored
24 Deprecations
25 ------------
26
27 - All references to the ``tmpl_context`` request variable were removed from
28 the docs. Its existence in Pyramid is confusing for people who were never
29 Pylons users. It was added as a porting convenience for Pylons users in
30 Pyramid 1.0, but it never caught on because the Pyramid rendering system is
31 a lot different than Pylons' was, and alternate ways exist to do what it
32 was designed to offer in Pylons. It will continue to exist "forever" but
33 it will not be recommended or mentioned in the docs.
34
662d6ea @mcdonc prep for 1.3a9
mcdonc authored
35 1.3a9 (2012-02-22)
36 ==================
844ed90 @mcdonc Features
mcdonc authored
37
38 Features
39 --------
40
41 - Add an ``introspection`` boolean to the Configurator constructor. If this
42 is ``True``, actions registered using the Configurator will be registered
43 with the introspector. If it is ``False``, they won't. The default is
44 ``True``. Setting it to ``False`` during action processing will prevent
45 introspection for any following registration statements, and setting it to
46 ``True`` will start them up again. This addition is to service a
47 requirement that the debug toolbar's own views and methods not show up in
48 the introspector.
49
0db4a15 @mcdonc - New API: ``pyramid.config.Configurator.add_notfound_view``. This is a
mcdonc authored
50 - New API: ``pyramid.config.Configurator.add_notfound_view``. This is a
51 wrapper for ``pyramid.Config.configurator.add_view`` which provides easy
a7fe30f @mcdonc - New API: ``pyramid.config.Configurator.add_forbidden_view``. This is ...
mcdonc authored
52 append_slash support and does the right thing about permissions. It should
53 be preferred over calling ``add_view`` directly with
54 ``context=HTTPNotFound`` as was previously recommended.
0db4a15 @mcdonc - New API: ``pyramid.config.Configurator.add_notfound_view``. This is a
mcdonc authored
55
56 - New API: ``pyramid.view.notfound_view_config``. This is a decorator
57 constructor like ``pyramid.view.view_config`` that calls
58 ``pyramid.config.Configurator.add_notfound_view`` when scanned. It should
59 be preferred over using ``pyramid.view.view_config`` with
60 ``context=HTTPNotFound`` as was previously recommended.
61
a7fe30f @mcdonc - New API: ``pyramid.config.Configurator.add_forbidden_view``. This is ...
mcdonc authored
62 - New API: ``pyramid.config.Configurator.add_forbidden_view``. This is a
63 wrapper for ``pyramid.Config.configurator.add_view`` which does the right
64 thing about permissions. It should be preferred over calling ``add_view``
65 directly with ``context=HTTPForbidden`` as was previously recommended.
66
67 - New API: ``pyramid.view.forbidden_view_config``. This is a decorator
68 constructor like ``pyramid.view.view_config`` that calls
69 ``pyramid.config.Configurator.add_forbidden_view`` when scanned. It should
70 be preferred over using ``pyramid.view.view_config`` with
71 ``context=HTTPForbidden`` as was previously recommended.
72
6b3cca0 @mcdonc - New APIs: ``pyramid.response.FileResponse`` and
mcdonc authored
73 - New APIs: ``pyramid.response.FileResponse`` and
74 ``pyramid.response.FileIter``, for usage in views that must serve files
75 "manually".
76
844ed90 @mcdonc Features
mcdonc authored
77 Backwards Incompatibilities
78 ---------------------------
79
80 - Remove ``pyramid.config.Configurator.with_context`` class method. It was
81 never an API, it is only used by ``pyramid_zcml`` and its functionality has
82 been moved to that package's latest release. This means that you'll need
40301d8 @mcdonc garden
mcdonc authored
83 to use the 0.9.2 or later release of ``pyramid_zcml`` with this release of
5ca6a95 @mcdonc provide version number
mcdonc authored
84 Pyramid.
844ed90 @mcdonc Features
mcdonc authored
85
86 - The ``introspector`` argument to the ``pyramid.config.Configurator``
87 constructor API has been removed. It has been replaced by the boolean
88 ``introspection`` flag.
89
90 - The ``pyramid.registry.noop_introspector`` API object has been removed.
91
0db4a15 @mcdonc - New API: ``pyramid.config.Configurator.add_notfound_view``. This is a
mcdonc authored
92 - The older deprecated ``set_notfound_view`` Configurator method is now an
a7fe30f @mcdonc - New API: ``pyramid.config.Configurator.add_forbidden_view``. This is ...
mcdonc authored
93 alias for the new ``add_notfound_view`` Configurator method. Likewise, the
94 older deprecated ``set_forbidden_view`` is now an alias for the new
95 ``add_forbidden_view``. This has the following impact: the ``context`` sent
96 to views with a ``(context, request)`` call signature registered via the
97 ``set_notfound_view`` or ``set_forbidden_view`` will now be an exception
98 object instead of the actual resource context found. Use
0db4a15 @mcdonc - New API: ``pyramid.config.Configurator.add_notfound_view``. This is a
mcdonc authored
99 ``request.context`` to get the actual resource context. It's also
100 recommended to disuse ``set_notfound_view`` in favor of
a7fe30f @mcdonc - New API: ``pyramid.config.Configurator.add_forbidden_view``. This is ...
mcdonc authored
101 ``add_notfound_view``, and disuse ``set_forbidden_view`` in favor of
102 ``add_forbidden_view`` despite the aliasing.
0db4a15 @mcdonc - New API: ``pyramid.config.Configurator.add_notfound_view``. This is a
mcdonc authored
103
104 Deprecations
105 ------------
106
107 - The API documentation for ``pyramid.view.append_slash_notfound_view`` and
108 ``pyramid.view.AppendSlashNotFoundViewFactory`` was removed. These names
109 still exist and are still importable, but they are no longer APIs. Use
110 ``pyramid.config.Configurator.add_notfound_view(append_slash=True)`` or
111 ``pyramid.view.notfound_view_config(append_slash=True)`` to get the same
112 behavior.
113
a7fe30f @mcdonc - New API: ``pyramid.config.Configurator.add_forbidden_view``. This is ...
mcdonc authored
114 - The ``set_forbidden_view`` and ``set_notfound_view`` methods of the
115 Configurator were removed from the documentation. They have been
116 deprecated since Pyramid 1.1.
0db4a15 @mcdonc - New API: ``pyramid.config.Configurator.add_notfound_view``. This is a
mcdonc authored
117
22bae97 @mcdonc - The static file response object used by ``config.add_static_view`` ope...
mcdonc authored
118 Bug Fixes
119 ---------
120
121 - The static file response object used by ``config.add_static_view`` opened
122 the static file twice, when it only needed to open it once.
123
0db4a15 @mcdonc - New API: ``pyramid.config.Configurator.add_notfound_view``. This is a
mcdonc authored
124 - The AppendSlashNotFoundViewFactory used request.path to match routes. This
125 was wrong because request.path contains the script name, and this would
126 cause it to fail in circumstances where the script name was not empty. It
127 should have used request.path_info, and now does.
128
129 Documentation
130 -------------
131
a7fe30f @mcdonc - New API: ``pyramid.config.Configurator.add_forbidden_view``. This is ...
mcdonc authored
132 - Updated the "Creating a Not Found View" section of the "Hooks" chapter,
0db4a15 @mcdonc - New API: ``pyramid.config.Configurator.add_notfound_view``. This is a
mcdonc authored
133 replacing explanations of registering a view using ``add_view`` or
134 ``view_config`` with ones using ``add_notfound_view`` or
135 ``notfound_view_config``.
136
a7fe30f @mcdonc - New API: ``pyramid.config.Configurator.add_forbidden_view``. This is ...
mcdonc authored
137 - Updated the "Creating a Not Forbidden View" section of the "Hooks" chapter,
138 replacing explanations of registering a view using ``add_view`` or
139 ``view_config`` with ones using ``add_forbidden_view`` or
140 ``forbidden_view_config``.
141
0db4a15 @mcdonc - New API: ``pyramid.config.Configurator.add_notfound_view``. This is a
mcdonc authored
142 - Updated the "Redirecting to Slash-Appended Routes" section of the "URL
143 Dispatch" chapter, replacing explanations of registering a view using
144 ``add_view`` or ``view_config`` with ones using ``add_notfound_view`` or
145 ``notfound_view_config``
146
a7fe30f @mcdonc - New API: ``pyramid.config.Configurator.add_forbidden_view``. This is ...
mcdonc authored
147 - Updated all tutorials to use ``pyramid.view.forbidden_view_config`` rather
148 than ``pyramid.view.view_config`` with an HTTPForbidden context.
149
51919e0 @mcdonc prep for 1.3a8
mcdonc authored
150 1.3a8 (2012-02-19)
151 ==================
e4b8fa6 @mcdonc Features
mcdonc authored
152
153 Features
154 --------
155
156 - The ``scan`` method of a ``Configurator`` can be passed an ``ignore``
157 argument, which can be a string, a callable, or a list consisting of
158 strings and/or callables. This feature allows submodules, subpackages, and
159 global objects from being scanned. See
160 http://readthedocs.org/docs/venusian/en/latest/#ignore-scan-argument for
161 more information about how to use the ``ignore`` argument to ``scan``.
162
af24f7d @mcdonc - Better error messages when a view callable returns a value that cannot...
mcdonc authored
163 - Better error messages when a view callable returns a value that cannot be
164 converted to a response (for example, when a view callable returns a
165 dictionary without a renderer defined, or doesn't return any value at all).
166 The error message now contains information about the view callable itself
167 as well as the result of calling it.
168
5ad401a @mcdonc - Better error message when a .pyc-only module is ``config.include`` -ed...
mcdonc authored
169 - Better error message when a .pyc-only module is ``config.include`` -ed.
170 This is not permitted due to error reporting requirements, and a better
171 error message is shown when it is attempted. Previously it would fail with
172 something like "AttributeError: 'NoneType' object has no attribute
173 'rfind'".
174
c518967 @mcdonc Features
mcdonc authored
175 - Add ``pyramid.config.Configurator.add_traverser`` API method. See the
748aad4 @mcdonc - Add ``pyramid.config.Configurator.set_traverser`` API method. See the
mcdonc authored
176 Hooks narrative documentation section entitled "Changing the Traverser" for
177 more information. This is not a new feature, it just provides an API for
178 adding a traverser without needing to use the ZCA API.
179
c518967 @mcdonc Features
mcdonc authored
180 - Add ``pyramid.config.Configurator.add_resource_url_adapter`` API method.
181 See the Hooks narrative documentation section entitled "Changing How
182 pyramid.request.Request.resource_url Generates a URL" for more information.
183 This is not a new feature, it just provides an API for adding a resource
184 url adapter without needing to use the ZCA API.
185
b2ea4c8 @mcdonc Use req instead of r for #413. It's more likely that somebody is alread...
mcdonc authored
186 - The system value ``req`` is now supplied to renderers as an alias for
4786cae @mcdonc - The system value ``r`` is now supplied to renderers as an alias for
mcdonc authored
187 ``request``. This means that you can now, for example, in a template, do
b2ea4c8 @mcdonc Use req instead of r for #413. It's more likely that somebody is alread...
mcdonc authored
188 ``req.route_url(...)`` instead of ``request.route_url(...)``. This is
189 purely a change to reduce the amount of typing required to use request
190 methods and attributes from within templates. The value ``request`` is
191 still available too, this is just an alternative.
4786cae @mcdonc - The system value ``r`` is now supplied to renderers as an alias for
mcdonc authored
192
c518967 @mcdonc Features
mcdonc authored
193 - A new interface was added: ``pyramid.interfaces.IResourceURL``. An adapter
194 implementing its interface can be used to override resource URL generation
195 when ``request.resource_url`` is called. This interface replaces the
196 now-deprecated ``pyramid.interfaces.IContextURL`` interface.
197
198 - The dictionary passed to a resource's ``__resource_url__`` method (see
199 "Overriding Resource URL Generation" in the "Resources" chapter) now
200 contains an ``app_url`` key, representing the application URL generated
201 during ``request.resource_url``. It represents a potentially customized
202 URL prefix, containing potentially custom scheme, host and port information
203 passed by the user to ``request.resource_url``. It should be used instead
204 of ``request.application_url`` where necessary.
205
206 - The ``request.resource_url`` API now accepts these arguments: ``app_url``,
207 ``scheme``, ``host``, and ``port``. The app_url argument can be used to
208 replace the URL prefix wholesale during url generation. The ``scheme``,
209 ``host``, and ``port`` arguments can be used to replace the respective
210 default values of ``request.application_url`` partially.
211
212 - A new API named ``request.resource_path`` now exists. It works like
213 ``request.resource_url`` but produces a relative URL rather than an
214 absolute one.
215
216 - The ``request.route_url`` API now accepts these arguments: ``_app_url``,
217 ``_scheme``, ``_host``, and ``_port``. The ``_app_url`` argument can be
218 used to replace the URL prefix wholesale during url generation. The
219 ``_scheme``, ``_host``, and ``_port`` arguments can be used to replace the
220 respective default values of ``request.application_url`` partially.
221
222 Backwards Incompatibilities
223 ---------------------------
224
225 - The ``pyramid.interfaces.IContextURL`` interface has been deprecated.
226 People have been instructed to use this to register a resource url adapter
227 in the "Hooks" chapter to use to influence ``request.resource_url`` URL
228 generation for resources found via custom traversers since Pyramid 1.0.
229
230 The interface still exists and registering such an adapter still works, but
231 this interface will be removed from the software after a few major Pyramid
232 releases. You should replace it with an equivalent
233 ``pyramid.interfaces.IResourceURL`` adapter, registered using the new
234 ``pyramid.config.Configurator.add_resource_url_adapter`` API. A
235 deprecation warning is now emitted when a
236 ``pyramid.interfaces.IContextURL`` adapter is found when
237 ``request.resource_url`` is called.
238
c6a299a @mcdonc - Don't create a ``session`` instance in SQLA Wiki tutorial, use raw
mcdonc authored
239 Documentation
240 -------------
241
242 - Don't create a ``session`` instance in SQLA Wiki tutorial, use raw
243 ``DBSession`` instead (this is more common in real SQLA apps).
244
d21ba4b @mcdonc - Put ``pyramid.includes`` targets within ini files in scaffolds on sepa...
mcdonc authored
245 Scaffolding
246 -----------
247
248 - Put ``pyramid.includes`` targets within ini files in scaffolds on separate
249 lines in order to be able to tell people to comment out only the
250 ``pyramid_debugtoolbar`` line when they want to disable the toolbar.
251
e4b8fa6 @mcdonc Features
mcdonc authored
252 Dependencies
253 ------------
254
255 - Depend on ``venusian`` >= 1.0a3 to provide scan ``ignore`` support.
256
d679fac @mcdonc - Create a "MakoRendererFactoryHelper" that provides customizable settin...
mcdonc authored
257 Internal
258 --------
259
260 - Create a "MakoRendererFactoryHelper" that provides customizable settings
261 key prefixes. Allows settings prefixes other than "mako." to be used to
262 create different factories that don't use the global mako settings. This
263 will be useful for the debug toolbar, which can currently be sabotaged by
264 someone using custom mako configuration settings.
265
e3f9d0e @mcdonc prep for 1.3a7
mcdonc authored
266 1.3a7 (2012-02-07)
267 ==================
ea68d20 @mcdonc - The process will now restart when ``pserve`` is used with the ``--relo...
mcdonc authored
268
f8bfc6c @mcdonc - More informative error message when a ``config.include`` cannot find a...
mcdonc authored
269 Features
270 --------
271
272 - More informative error message when a ``config.include`` cannot find an
273 ``includeme``. See https://github.com/Pylons/pyramid/pull/392.
274
22e0aae @mcdonc - Internal: catch unhashable discriminators early (raise an error instea...
mcdonc authored
275 - Internal: catch unhashable discriminators early (raise an error instead of
276 allowing them to find their way into resolveConflicts).
277
835d481 @mmerickel Modified match_param to accept a tuple. Fixes #425.
mmerickel authored
278 - The `match_param` view predicate now accepts a string or a tuple.
279 This replaces the broken behavior of accepting a dict. See
280 https://github.com/Pylons/pyramid/issues/425 for more information.
281
ea68d20 @mcdonc - The process will now restart when ``pserve`` is used with the ``--relo...
mcdonc authored
282 Bug Fixes
283 ---------
284
285 - The process will now restart when ``pserve`` is used with the ``--reload``
a3a7119 @mcdonc garden
mcdonc authored
286 flag when the ``development.ini`` file (or any other .ini file in use) is
ea68d20 @mcdonc - The process will now restart when ``pserve`` is used with the ``--relo...
mcdonc authored
287 changed. See https://github.com/Pylons/pyramid/issues/377 and
288 https://github.com/Pylons/pyramid/pull/411
289
8a36219 @mcdonc - The ``prequest`` script would fail when used against URLs which did no...
mcdonc authored
290 - The ``prequest`` script would fail when used against URLs which did not
291 return HTML or text. See https://github.com/Pylons/pyramid/issues/381
292
835d481 @mmerickel Modified match_param to accept a tuple. Fixes #425.
mmerickel authored
293 Backwards Incompatibilities
294 ---------------------------
295
296 - The `match_param` view predicate no longer accepts a dict. This will
297 have no negative affect because the implementation was broken for
298 dict-based arguments.
299
7cf063b @mcdonc garden
mcdonc authored
300 Documentation
301 -------------
302
303 - Add a traversal hello world example to the narrative docs.
304
a41c8ca @mcdonc prep for 1.3a6
mcdonc authored
305 1.3a6 (2012-01-20)
306 ==================
6c2e8fb @mmerickel Updated the changelogs.
mmerickel authored
307
308 Features
309 --------
310
311 - New API: ``pyramid.config.Configurator.set_request_property``. Add lazy
312 property descriptors to a request without changing the request factory.
313 This method provides conflict detection and is the suggested way to add
314 properties to a request.
315
8308646 @mcdonc - Responses generated by Pyramid's ``static_view`` now use
mcdonc authored
316 - Responses generated by Pyramid's ``static_view`` now use
317 a ``wsgi.file_wrapper`` (see
318 http://www.python.org/dev/peps/pep-0333/#optional-platform-specific-file-handling)
319 when one is provided by the web server.
320
87233a6 @mcdonc garden
mcdonc authored
321 Bug Fixes
322 ---------
323
324 - Views registered with an ``accept`` could not be overridden correctly with
325 a different view that had the same predicate arguments. See
326 https://github.com/Pylons/pyramid/pull/404 for more information.
327
134388a @mcdonc - When using a dotted name for a ``view`` argument to
mcdonc authored
328 - When using a dotted name for a ``view`` argument to
329 ``Configurator.add_view`` that pointed to a class with a ``view_defaults``
330 decorator, the view defaults would not be applied. See
331 https://github.com/Pylons/pyramid/issues/396 .
332
05f462e @mcdonc Backport fix for issue #407 to 1.3 branch.
mcdonc authored
333 - Static URL paths were URL-quoted twice. See
334 https://github.com/Pylons/pyramid/issues/407 .
335
cf3a11e @mcdonc prep for 1.3a5
mcdonc authored
336 1.3a5 (2012-01-09)
337 ==================
4c29ef5 @mcdonc - The ``pyramid.view.view_defaults`` decorator did not work properly whe...
mcdonc authored
338
339 Bug Fixes
340 ---------
341
342 - The ``pyramid.view.view_defaults`` decorator did not work properly when
343 more than one view relied on the defaults being different for configuration
344 conflict resolution. See https://github.com/Pylons/pyramid/issues/394.
345
a5d9943 @mcdonc - The ``path_info`` route and view predicates now match against
mcdonc authored
346 Backwards Incompatibilities
347 ---------------------------
348
349 - The ``path_info`` route and view predicates now match against
350 ``request.upath_info`` (Unicode) rather than ``request.path_info``
351 (indeterminate value based on Python 3 vs. Python 2). This has to be done
352 to normalize matching on Python 2 and Python 3.
353
6839416 @mcdonc prep for 1.3a4
mcdonc authored
354 1.3a4 (2012-01-05)
355 ==================
b73edc8 @mmerickel Updated the changelog for Request.set_property.
mmerickel authored
356
357 Features
358 --------
359
360 - New API: ``pyramid.request.Request.set_property``. Add lazy property
361 descriptors to a request without changing the request factory. New
362 properties may be reified, effectively caching the value for the lifetime
6c2e8fb @mmerickel Updated the changelogs.
mmerickel authored
363 of the instance. Common use-cases for this would be to get a database
b73edc8 @mmerickel Updated the changelog for Request.set_property.
mmerickel authored
364 connection for the request or identify the current user.
365
030d106 @mcdonc - Use the ``waitress`` WSGI server instead of ``wsgiref`` in scaffolding...
mcdonc authored
366 - Use the ``waitress`` WSGI server instead of ``wsgiref`` in scaffolding.
367
52a948e @mcdonc - The documentation of ``pyramid.events.subscriber`` indicated that usin...
mcdonc authored
368 Bug Fixes
369 ---------
370
371 - The documentation of ``pyramid.events.subscriber`` indicated that using it
372 as a decorator with no arguments like this::
373
374 @subscriber()
375 def somefunc(event):
376 pass
377
378 Would register ``somefunc`` to receive all events sent via the registry,
379 but this was untrue. Instead, it would receive no events at all. This has
380 now been fixed and the code matches the documentation. See also
381 https://github.com/Pylons/pyramid/issues/386
382
ad98070 @mcdonc garden
mcdonc authored
383 - Literal portions of route patterns were not URL-quoted when ``route_url``
c52c927 @mcdonc garden
mcdonc authored
384 or ``route_path`` was used to generate a URL or path.
ad98070 @mcdonc garden
mcdonc authored
385
386 - The result of ``route_path`` or ``route_url`` might have been ``unicode``
387 or ``str`` depending on the input. It is now guaranteed to always be
388 ``str``.
389
390 - URL matching when the pattern contained non-ASCII characters in literal
391 parts was indeterminate. Now the pattern supplied to ``add_route`` is
392 assumed to be either: a ``unicode`` value, or a ``str`` value that contains
393 only ASCII characters. If you now want to match the path info from a URL
394 that contains high order characters, you can pass the Unicode
395 representation of the decoded path portion in the pattern.
396
397 - When using a ``traverse=`` route predicate, traversal would fail with a
398 URLDecodeError if there were any high-order characters in the traversal
399 pattern or in the matched dynamic segments.
400
92dcb5f @mcdonc - Using a dynamic segment named ``traverse`` in a route pattern like thi...
mcdonc authored
401 - Using a dynamic segment named ``traverse`` in a route pattern like this::
402
403 config.add_route('trav_route', 'traversal/{traverse:.*}')
404
405 Would cause a ``UnicodeDecodeError`` when the route was matched and the
c52c927 @mcdonc garden
mcdonc authored
406 matched portion of the URL contained any high-order characters. See
92dcb5f @mcdonc - Using a dynamic segment named ``traverse`` in a route pattern like thi...
mcdonc authored
407 https://github.com/Pylons/pyramid/issues/385 .
408
c52c927 @mcdonc garden
mcdonc authored
409 - When using a ``*traverse`` stararg in a route pattern, a URL that matched
410 that possessed a ``@@`` in its name (signifying a view name) would be
411 inappropriately quoted by the traversal machinery during traversal,
412 resulting in the view not being found properly. See
413 https://github.com/Pylons/pyramid/issues/382 and
414 https://github.com/Pylons/pyramid/issues/375 .
415
ad98070 @mcdonc garden
mcdonc authored
416 Backwards Incompatibilities
417 ---------------------------
418
419 - String values passed to ``route_url`` or ``route_path`` that are meant to
420 replace "remainder" matches will now be URL-quoted except for embedded
421 slashes. For example::
422
423 config.add_route('remain', '/foo*remainder')
424 request.route_path('remain', remainder='abc / def')
425 # -> '/foo/abc%20/%20def'
426
427 Previously string values passed as remainder replacements were tacked on
428 untouched, without any URL-quoting. But this doesn't really work logically
429 if the value passed is Unicode (raw unicode cannot be placed in a URL or in
430 a path) and it is inconsistent with the rest of the URL generation
431 machinery if the value is a string (it won't be quoted unless by the
432 caller).
433
434 Some folks will have been relying on the older behavior to tack on query
435 string elements and anchor portions of the URL; sorry, you'll need to
436 change your code to use the ``_query`` and/or ``_anchor`` arguments to
437 ``route_path`` or ``route_url`` to do this now.
438
439 - If you pass a bytestring that contains non-ASCII characters to
440 ``add_route`` as a pattern, it will now fail at startup time. Use Unicode
441 instead.
442
d394da5 @mcdonc prep for 1.3a3
mcdonc authored
443 1.3a3 (2011-12-21)
444 ==================
c8061ee @mcdonc finish prequest feature
mcdonc authored
445
446 Features
447 --------
448
449 - Added a ``prequest`` script (along the lines of ``paster request``). It is
450 documented in the "Command-Line Pyramid" chapter in the section entitled
451 "Invoking a Request".
452
ba2a3f8 @mcdonc - Add undocumented ``__discriminator__`` API to derived view callables.
mcdonc authored
453 - Add undocumented ``__discriminator__`` API to derived view callables.
454 e.g. ``adapters.lookup(...).__discriminator__(context, request)``. It will
455 be used by superdynamic systems that require the discriminator to be used
456 for introspection after manual view lookup.
457
d586142 @mcdonc - Normalized exit values and ``-h`` output for all ``p*`` scripts
mcdonc authored
458 Bug Fixes
459 ---------
460
461 - Normalized exit values and ``-h`` output for all ``p*`` scripts
462 (``pviews``, ``proutes``, etc).
463
61838b7 @mcdonc - Added a section named "Making Your Script into a Console Script" in th...
mcdonc authored
464 Documentation
465 -------------
466
467 - Added a section named "Making Your Script into a Console Script" in the
468 "Command-Line Pyramid" chapter.
469
9003a8b @mcdonc - Removed the "Running Pyramid on Google App Engine" tutorial from the m...
mcdonc authored
470 - Removed the "Running Pyramid on Google App Engine" tutorial from the main
471 docs. It survives on in the Cookbook
472 (http://docs.pylonsproject.org/projects/pyramid_cookbook/en/latest/gae.html).
473 Rationale: it provides the correct info for the Python 2.5 version of GAE
474 only, and this version of Pyramid does not support Python 2.5.
475
9dce50a @mcdonc prep for 1.3a2
mcdonc authored
476 1.3a2 (2011-12-14)
477 ==================
4375cf2 @mcdonc Flesh out new view_defaults feature and add docs, change notes, and add ...
mcdonc authored
478
479 Features
480 --------
481
482 - New API: ``pyramid.view.view_defaults``. If you use a class as a view, you
483 can use the new ``view_defaults`` class decorator on the class to provide
484 defaults to the view configuration information used by every
485 ``@view_config`` decorator that decorates a method of that class. It also
486 works against view configurations involving a class made imperatively.
487
78d1e4a @mcdonc add a backwards compatibility knob to pcreate to emulate paster create h...
mcdonc authored
488 - Added a backwards compatibility knob to ``pcreate`` to emulate ``paster
489 create`` handling for the ``--list-templates`` option.
490
bfd4b39 @mcdonc - Changed scaffolding machinery around a bit to make it easier for peopl...
mcdonc authored
491 - Changed scaffolding machinery around a bit to make it easier for people who
492 want to have extension scaffolds that can work across Pyramid 1.0.X, 1.1.X,
493 1.2.X and 1.3.X. See the new "Creating Pyramid Scaffolds" chapter in the
494 narrative documentation for more info.
495
4375cf2 @mcdonc Flesh out new view_defaults feature and add docs, change notes, and add ...
mcdonc authored
496 Documentation
497 -------------
498
499 - Added documentation to "View Configuration" narrative documentation chapter
500 about ``view_defaults`` class decorator.
501
502 - Added API docs for ``view_defaults`` class decorator.
503
bfd4b39 @mcdonc - Changed scaffolding machinery around a bit to make it easier for peopl...
mcdonc authored
504 - Added an API docs chapter for ``pyramid.scaffolds``.
505
506 - Added a narrative docs chapter named "Creating Pyramid Scaffolds".
507
508 Backwards Incompatibilities
509 ---------------------------
510
511 - The ``template_renderer`` method of ``pyramid.scaffolds.PyramidScaffold``
512 was renamed to ``render_template``. If you were overriding it, you're a
513 bad person, because it wasn't an API before now. But we're nice so we're
514 letting you know.
515
5f1cf3f @mcdonc prep for 1.3a1
mcdonc authored
516 1.3a1 (2011-12-09)
517 ==================
0dde01d @mcdonc - Pyramid no longer depends on the zope.component package, except as a
mcdonc authored
518
9b90041 @mcdonc garden
mcdonc authored
519 Features
520 --------
521
a1bf6ae @mcdonc garden
mcdonc authored
522 - Python 3.2 compatibility.
9b90041 @mcdonc garden
mcdonc authored
523
5cf9fc8 @mcdonc - New ``pyramid.compat`` module and API documentation which provides Pyt...
mcdonc authored
524 - New ``pyramid.compat`` module and API documentation which provides Python
525 2/3 straddling support for Pyramid add-ons and development environments.
526
63fceda @mcdonc - A ``mako.directories`` setting is no longer required to use Mako templ...
mcdonc authored
527 - A ``mako.directories`` setting is no longer required to use Mako templates
528 Rationale: Mako template renderers can be specified using an absolute asset
529 spec. An entire application can be written with such asset specs,
530 requiring no ordered lookup path.
531
8a5db43 @mcdonc Garden (ref commit #2cf5d28).
mcdonc authored
532 - ``bpython`` interpreter compatibility in ``pshell``. See the "Command-Line
533 Pyramid" narrative docs chapter for more information.
534
596495d @mcdonc - Added ``setup_logging`` API function to the ``pyramid.paster`` module.
mcdonc authored
535 - Added ``get_appsettings`` API function to the ``pyramid.paster`` module.
536 This function returns the settings defined within an ``[app:...]`` section
537 in a PasteDeploy ini file.
538
539 - Added ``setup_logging`` API function to the ``pyramid.paster`` module.
540 This function sets up Python logging according to the logging configuration
541 in a PasteDeploy ini file.
38e4c7d @mcdonc add get_appsettings API to paster
mcdonc authored
542
35ad08b @mcdonc move register method from IIntrospector back to IIntrospectable; provide...
mcdonc authored
543 - Configuration conflict reporting is reported in a more understandable way
544 ("Line 11 in file..." vs. a repr of a tuple of similar info).
545
d83b394 @mcdonc add whatsnew-1.3; garden
mcdonc authored
546 - A configuration introspection system was added; see the narrative
9d97b65 @mcdonc add skeleton for using introspection chapter
mcdonc authored
547 documentation chapter entitled "Pyramid Configuration Introspection" for
7d109d6 @mcdonc allow config.action to take arbitrary kw args
mcdonc authored
548 more information. New APIs: ``pyramid.registry.Introspectable``,
57a0d77 @mcdonc docs; todo; coverage for Introspector
mcdonc authored
549 ``pyramid.config.Configurator.introspector``,
550 ``pyramid.config.Configurator.introspectable``,
7d109d6 @mcdonc allow config.action to take arbitrary kw args
mcdonc authored
551 ``pyramid.registry.Registry.introspector``.
552
553 - Allow extra keyword arguments to be passed to the
554 ``pyramid.config.Configurator.action`` method.
57a0d77 @mcdonc docs; todo; coverage for Introspector
mcdonc authored
555
56df902 @mcdonc - New APIs: ``pyramid.path.AssetResolver`` and
mcdonc authored
556 - New APIs: ``pyramid.path.AssetResolver`` and
557 ``pyramid.path.DottedNameResolver``. The former can be used to resolve
558 asset specifications, the latter can be used to resolve dotted names to
559 modules or packages.
560
b54b2c0 @mcdonc close an issue
mcdonc authored
561 Bug Fixes
562 ---------
563
a4b82c8 @mcdonc also closes another issue
mcdonc authored
564 - Make test suite pass on 32-bit systems; closes #286. closes #306.
b54b2c0 @mcdonc close an issue
mcdonc authored
565 See also https://github.com/Pylons/pyramid/issues/286
566
206a7f6 @mcdonc Closes #308
mcdonc authored
567 - The ``pryamid.view.view_config`` decorator did not accept a ``match_params``
568 predicate argument. See https://github.com/Pylons/pyramid/pull/308
569
876fb62 @mcdonc garden
mcdonc authored
570 - The AuthTktCookieHelper could potentially generate Unicode headers
571 inappropriately when the ``tokens`` argument to remember was used. See
572 https://github.com/Pylons/pyramid/pull/314.
573
6e4c2d0 @mcdonc garden
mcdonc authored
574 - The AuthTktAuthenticationPolicy did not use a timing-attack-aware string
575 comparator. See https://github.com/Pylons/pyramid/pull/320 for more info.
576
9e7c119 @mcdonc - The DummySession in ``pyramid.testing`` now generates a new CSRF token...
mcdonc authored
577 - The DummySession in ``pyramid.testing`` now generates a new CSRF token if
578 one doesn't yet exist.
579
1c39aea @mcdonc - ``request.static_url`` now generates URL-quoted URLs when fed a ``path...
mcdonc authored
580 - ``request.static_url`` now generates URL-quoted URLs when fed a ``path``
a5512e6 @mcdonc reference github issue
mcdonc authored
581 argument which contains characters that are unsuitable for URLs. See
582 https://github.com/Pylons/pyramid/issues/349 for more info.
1c39aea @mcdonc - ``request.static_url`` now generates URL-quoted URLs when fed a ``path...
mcdonc authored
583
ea814be @mcdonc garden
mcdonc authored
584 - Prevent a scaffold rendering from being named ``site`` (conflicts with
585 Python internal site.py).
586
c753fc5 @mcdonc garden
mcdonc authored
587 - Support for using instances as targets of the ``pyramid.wsgi.wsgiapp`` and
588 ``pryramid.wsgi.wsgiapp2`` functions.
589 See https://github.com/Pylons/pyramid/pull/370 for more info.
590
3a80546 @mcdonc - The Pyramid debug logger now uses the standard logging configuration
mcdonc authored
591 Backwards Incompatibilities
592 ---------------------------
593
e04cbb0 @mcdonc fix merge conflicts
mcdonc authored
594 - Pyramid no longer runs on Python 2.5 (which includes the most recent
9ffa36d @mcdonc garden
mcdonc authored
595 release of Jython and the Python 2.5 version of GAE as of this writing).
6b2a621 @mcdonc improve changes docs
mcdonc authored
596
75f05a6 @mcdonc document glue changes
mcdonc authored
597 - The ``paster`` command is no longer the documented way to create projects,
598 start the server, or run debugging commands. To create projects from
599 scaffolds, ``paster create`` is replaced by the ``pcreate`` console script.
600 To serve up a project, ``paster serve`` is replaced by the ``pserve``
601 console script. New console scripts named ``pshell``, ``pviews``,
602 ``proutes``, and ``ptweens`` do what their ``paster <commandname>``
603 equivalents used to do. Rationale: the Paste and PasteScript packages do
604 not run under Python 3.
605
606 - The default WSGI server run as the result of ``pserve`` from newly rendered
607 scaffolding is now the ``wsgiref`` WSGI server instead of the
608 ``paste.httpserver`` server. Rationale: Rationale: the Paste and
609 PasteScript packages do not run under Python 3.
610
4c6fa2f @mmerickel typo
mmerickel authored
611 - The ``pshell`` command (see "paster pshell") no longer accepts a
8a5db43 @mcdonc Garden (ref commit #2cf5d28).
mcdonc authored
612 ``--disable-ipython`` command-line argument. Instead, it accepts a ``-p``
613 or ``--python-shell`` argument, which can be any of the values ``python``,
614 ``ipython`` or ``bpython``.
615
e307fcd @mcdonc - Removed the ``pyramid.renderers.renderer_from_name`` function. It has...
mcdonc authored
616 - Removed the ``pyramid.renderers.renderer_from_name`` function. It has been
617 deprecated since Pyramid 1.0, and was never an API.
618
b74abe0 @mcdonc garden
mcdonc authored
619 - To use ZCML with versions of Pyramid >= 1.3, you will need ``pyramid_zcml``
620 version >= 0.8 and ``zope.configuration`` version >= 3.8.0. The
621 ``pyramid_zcml`` package version 0.8 is backwards compatible all the way to
622 Pyramid 1.0, so you won't be warned if you have older versions installed
623 and upgrade Pyramid "in-place"; it may simply break instead.
624
e04cbb0 @mcdonc fix merge conflicts
mcdonc authored
625 Dependencies
626 ------------
391402e @mcdonc - Projects created via a scaffold no longer depend on the ``WebError``
mcdonc authored
627
8fe0215 @mcdonc the starter scaffold now uses url dispatch; add a minimal section about ...
mcdonc authored
628 - Pyramid no longer depends on the ``zope.component`` package, except as a
e04cbb0 @mcdonc fix merge conflicts
mcdonc authored
629 testing dependency.
1939d00 @mcdonc - Fixed an issue with the default renderer not working at certain times....
mcdonc authored
630
e04cbb0 @mcdonc fix merge conflicts
mcdonc authored
631 - Pyramid now depends on a zope.interface>=3.8.0, WebOb>=1.2dev,
632 repoze.lru>=0.4, zope.deprecation>=3.5.0, translationstring>=0.4 (for
633 Python 3 compatibility purposes). It also, as a testing dependency,
634 depends on WebTest>=1.3.1 for the same reason.
1939d00 @mcdonc - Fixed an issue with the default renderer not working at certain times....
mcdonc authored
635
75f05a6 @mcdonc document glue changes
mcdonc authored
636 - Pyramid no longer depends on the Paste or PasteScript packages.
637
5edd54f @mcdonc - The SQLAlchemy Wiki tutorial has been updated. It now uses
mcdonc authored
638 Documentation
639 -------------
640
641 - The SQLAlchemy Wiki tutorial has been updated. It now uses
642 ``@view_config`` decorators and an explicit database population script.
75f05a6 @mcdonc document glue changes
mcdonc authored
643
14e5fa9 @mcdonc garden
mcdonc authored
644 - Minor updates to the ZODB Wiki tutorial.
645
9d97b65 @mcdonc add skeleton for using introspection chapter
mcdonc authored
646 - A narrative documentation chapter named "Extending Pyramid Configuration"
647 was added; it describes how to add a new directive, and how use the
648 ``pyramid.config.Configurator.action`` method within custom directives. It
649 also describes how to add introspectable objects.
650
8fe0215 @mcdonc the starter scaffold now uses url dispatch; add a minimal section about ...
mcdonc authored
651 - A narrative documentation chapter named "Pyramid Configuration
652 Introspection" was added. It describes how to query the introspection
653 system.
654
818f8ca @mcdonc - The ``alchemy`` scaffold has been removed.
mcdonc authored
655 Scaffolds
656 ---------
657
658 - Rendered scaffolds have now been changed to be more relocatable (fewer
659 mentions of the package name within files in the package).
660
8a5db43 @mcdonc Garden (ref commit #2cf5d28).
mcdonc authored
661 - The ``routesalchemy`` scaffold has been renamed ``alchemy``, replacing the
662 older (traversal-based) ``alchemy`` scaffold (which has been retired).
818f8ca @mcdonc - The ``alchemy`` scaffold has been removed.
mcdonc authored
663
8fe0215 @mcdonc the starter scaffold now uses url dispatch; add a minimal section about ...
mcdonc authored
664 - The ``starter`` scaffold now uses URL dispatch by default.
665
Something went wrong with that request. Please try again.