commit | author | age
|
b38bbf
|
1 |
unreleased |
MM |
2 |
========== |
bdb8e0
|
3 |
|
fa8a9d
|
4 |
Major Features |
MM |
5 |
-------------- |
|
6 |
|
|
7 |
- The file format used by all ``p*`` command line scripts such as ``pserve`` |
|
8 |
and ``pshell``, as well as the ``pyramid.paster.bootstrap`` function |
|
9 |
is now replaceable thanks to a new dependency on |
f454b8
|
10 |
`plaster <http://docs.pylonsproject.org/projects/plaster/en/latest/>`_. |
fa8a9d
|
11 |
|
MM |
12 |
For now, Pyramid is still shipping with integrated support for the |
|
13 |
PasteDeploy INI format by depending on the ``plaster_pastedeploy`` binding. |
|
14 |
|
|
15 |
See https://github.com/Pylons/pyramid/pull/2985 |
5f4649
|
16 |
|
4c3971
|
17 |
- Added an execution policy hook to the request pipeline. An execution |
MM |
18 |
policy has the ability to control creation and execution of the request |
f454b8
|
19 |
objects before they enter the rest of the pipeline. This means for a single |
fa8a9d
|
20 |
request environ the policy may create more than one request object. |
MM |
21 |
|
|
22 |
The first library to use this feature is |
|
23 |
`pyramid_retry |
f454b8
|
24 |
<http://docs.pylonsproject.org/projects/pyramid-retry/en/latest/>`_. |
fa8a9d
|
25 |
|
MM |
26 |
See https://github.com/Pylons/pyramid/pull/2964 |
|
27 |
|
|
28 |
Features |
|
29 |
-------- |
4c3971
|
30 |
|
839dbf
|
31 |
- Support an ``open_url`` config setting in the ``pserve`` section of the |
MM |
32 |
config file. This url is used to open a web browser when ``pserve --browser`` |
|
33 |
is invoked. When this setting is unavailable the ``pserve`` script will |
|
34 |
attempt to guess the port the server is using from the |
|
35 |
``server:<server_name>`` section of the config file but there is no |
|
36 |
requirement that the server is being run in this format so it may fail. |
|
37 |
See https://github.com/Pylons/pyramid/pull/2984 |
|
38 |
|
bd1cce
|
39 |
- The threadlocals are now available inside any function invoked via |
MM |
40 |
``config.include``. This means the only config-time code that cannot rely |
|
41 |
on threadlocals is code executed from non-actions inside the main. This |
|
42 |
can be alleviated by invoking ``config.begin()`` and ``config.end()`` |
|
43 |
appropriately. See https://github.com/Pylons/pyramid/pull/2989 |
|
44 |
|
682a9b
|
45 |
- A new CSRF implementation, ``pyramid.csrf.SessionCSRFStoragePolicy``, |
MM |
46 |
has been added which delegates all CSRF generation to the current session, |
|
47 |
following the old API for this. A ``pyramid.csrf.get_csrf_token()`` api is now |
|
48 |
available in template global scope, to make it easy for template developers |
|
49 |
to get the current CSRF token without adding it to Python code. |
|
50 |
See https://github.com/Pylons/pyramid/pull/2854 and |
|
51 |
https://github.com/Pylons/pyramid/pull/3019 |
a2c7c7
|
52 |
|
87af11
|
53 |
- The ``pyramid.config.Configurator`` can now be used as a context manager |
MM |
54 |
which will automatically push/pop threadlocals (similar to |
|
55 |
``config.begin()`` and ``config.end()``). It will also automatically perform |
|
56 |
a ``config.commit()`` and thus it is only recommended to be used at the |
|
57 |
top-level of your app. See https://github.com/Pylons/pyramid/pull/2874 |
a2c7c7
|
58 |
|
1cf132
|
59 |
Bug Fixes |
BJR |
60 |
--------- |
45f882
|
61 |
|
564b63
|
62 |
- HTTPException's accepts a detail kwarg that may be used to pass additional |
BJR |
63 |
details to the exception. You may now pass objects so long as they have a |
169155
|
64 |
valid __str__ method. See https://github.com/Pylons/pyramid/pull/2951 |
MM |
65 |
|
|
66 |
- Fix a reference cycle causing memory leaks in which the registry |
|
67 |
would keep a ``Configurator`` instance alive even after the configurator |
|
68 |
was discarded. Another fix was also added for the ``global_registries`` |
|
69 |
object in which the registry was stored in a closure preventing it from |
|
70 |
being deallocated. See https://github.com/Pylons/pyramid/pull/2967 |
564b63
|
71 |
|
38294e
|
72 |
- Fix a bug directly invoking ``pyramid.scripts.pserve.main`` with the |
MM |
73 |
``--reload`` option in which ``sys.argv`` is always used in the subprocess |
|
74 |
instead of the supplied ``argv``. |
|
75 |
See https://github.com/Pylons/pyramid/pull/2962 |
|
76 |
|
1cf132
|
77 |
Deprecations |
BJR |
78 |
------------ |
cb98a9
|
79 |
|
b38bbf
|
80 |
Backward Incompatibilities |
MM |
81 |
-------------------------- |
d2f0fe
|
82 |
|
d9c20d
|
83 |
Documentation Changes |
MM |
84 |
--------------------- |
a2c7c7
|
85 |
|
MW |
86 |
- Retrieving CSRF token from the session has been deprecated, in favor of |
|
87 |
equivalent methods in :mod:`pyramid.csrf`. |
|
88 |
See https://github.com/Pylons/pyramid/pull/2854 |