2024-11-09 08:23:47 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Sat Nov 9 08:23:28 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
|
|
|
|
|
|
|
- add py313-tests.patch
|
|
|
|
- modernize spec file
|
|
|
|
|
2024-01-02 21:18:37 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Tue Jan 2 21:17:44 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
|
|
|
|
|
|
|
- update to 2.0.2:
|
|
|
|
* Removed support for null-bytes in the path when making a
|
|
|
|
request for a file
|
|
|
|
* Backward Incompatibilities - Requests to a static_view are no
|
|
|
|
longer allowed to contain a null-byte in any
|
|
|
|
|
2023-06-11 11:33:54 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Sun Jun 11 08:51:18 UTC 2023 - ecsos <ecsos@opensuse.org>
|
|
|
|
|
|
|
|
- Add %{?sle15_python_module_pythons}
|
|
|
|
|
2023-02-20 05:47:16 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Mon Feb 20 05:45:21 UTC 2023 - Steve Kowalik <steven.kowalik@suse.com>
|
|
|
|
|
|
|
|
- Update to 2.0.1:
|
|
|
|
* Add support for Python 3.10 and 3.11.
|
|
|
|
* Copy __name__ from decorated attribute when using pyramid.decorator.reify.
|
|
|
|
* Fix method signatures in docs for
|
|
|
|
pyramid.config.Configurator.add_static_view and
|
|
|
|
pyramid.config.Configurator.override_asset.
|
|
|
|
* Remove obsolete stackframe hack used in Python 3.5.0 when showing
|
|
|
|
configurator conflict errors.
|
|
|
|
* Fix an error when injecting certain objects into the pshell env due to
|
|
|
|
the use of !=.
|
|
|
|
* Pyramid drops support for l*gettext() methods in the i18n module. These
|
|
|
|
have been deprecated in Python's gettext module since 3.8, and removed
|
|
|
|
in Python 3.11.
|
|
|
|
* Avoid setDaemon(True) deprecation warning by updating threading API
|
2024-01-02 21:18:37 +00:00
|
|
|
usage to .daemon = True.
|
2023-02-20 05:47:16 +00:00
|
|
|
|
2021-08-03 10:07:47 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Mon Aug 2 11:21:49 UTC 2021 - Markéta Machová <mmachova@suse.com>
|
|
|
|
|
|
|
|
- Update to 2.0
|
|
|
|
* Add Python 3.8 and 3.9
|
|
|
|
* Drop Python 2.7, 3.4 and 3.5
|
2024-01-02 21:18:37 +00:00
|
|
|
* The authentication and authorization policies of Pyramid 1.x have been
|
|
|
|
merged into a single security policy in Pyramid 2.0. New security APIs
|
2021-08-03 10:07:47 +00:00
|
|
|
have been added.
|
2024-01-02 21:18:37 +00:00
|
|
|
* It is now possible to control whether a route pattern contains
|
2021-08-03 10:07:47 +00:00
|
|
|
a trailing slash.
|
|
|
|
* pcreate and the builtin scaffolds have been removed in favor of
|
|
|
|
using the cookiecutter tool and the pyramid-cookiecutter-starter
|
|
|
|
cookiecutter.
|
2024-01-02 21:18:37 +00:00
|
|
|
* Deprecated the authentication and authorization interfaces and
|
|
|
|
principal-based support.
|
|
|
|
* Deprecated several ACL-related aspects of pyramid.security. Equivalent
|
2021-08-03 10:07:47 +00:00
|
|
|
objects should now be imported from the pyramid.authorization module.
|
|
|
|
|
2020-08-31 08:02:28 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Tue Aug 31 10:02:12 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
|
|
|
|
|
|
|
|
- Remove conditionaling of bcond with_python2 as it ain't needed
|
|
|
|
|
2020-03-17 10:54:33 +00:00
|
|
|
-------------------------------------------------------------------
|
2020-07-02 09:12:44 +00:00
|
|
|
Thu Jul 2 09:07:37 UTC 2020 - pgajdos@suse.com
|
|
|
|
|
|
|
|
- use %pytest macro, drop dependency on nose
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
2020-03-17 10:54:33 +00:00
|
|
|
Tue Mar 17 10:42:38 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
|
|
|
|
|
|
|
|
- Match up all the deps to the reality
|
|
|
|
|
2020-03-15 22:02:42 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Sun Mar 15 19:47:10 UTC 2020 - Bruno Friedmann <bruno@ioda-net.ch>
|
|
|
|
|
2024-01-02 21:18:37 +00:00
|
|
|
- Remove python2 support, due to pyton-venusian being only python3
|
2020-03-15 22:02:42 +00:00
|
|
|
|
2019-06-21 11:28:33 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Fri Jun 21 08:13:38 UTC 2019 - pgajdos@suse.com
|
|
|
|
|
|
|
|
- version update to 1.10.4
|
|
|
|
Bugs fixed during 1.10
|
|
|
|
----------------------
|
|
|
|
- Fix performance regression in ``pyramid.view.view_config`` decorator.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3490
|
|
|
|
- Add ``ignore_files`` option to ``[pserve]`` settings which will tell
|
|
|
|
``pserve`` to ignore certain files/globs when using ``--reload``.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3464
|
|
|
|
- Fix docs build for Sphinx 2.0.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3481
|
|
|
|
- Improve debugging info from ``pyramid.view.view_config`` decorator.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3485
|
|
|
|
- Fix a bug in ``pyramid.testing.DummySecurityPolicy`` in which
|
|
|
|
``principals_allowed_by_permission`` would return all principals instead
|
|
|
|
of an empty list if ``permissive`` is ``False``.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3450
|
|
|
|
- Fix a bug in which ``pyramid.exceptions.ConfigurationConflictError`` may
|
|
|
|
not render the appropriate error message on certain conflicts that were
|
|
|
|
not sortable on Python 3 due to differing types.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3457
|
|
|
|
- Avoid configuring logging in the monitor process using the logging config
|
|
|
|
intended for the application. This avoids opening files for writing in both
|
|
|
|
processes which can cause issues on some systems.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3460
|
|
|
|
- Fix an issue when passing a duck-typed registry object into
|
|
|
|
``pyramid.testing.setUp(registry=...)`` in which the registry wasn't
|
|
|
|
properly fixed prior to invoking actions.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3418
|
|
|
|
- Fix the ``pyramid.testing.DummyRequest`` to support the new
|
|
|
|
``request.accept`` API so that ``acceptable_offers`` is available even
|
|
|
|
when code sets the value to a string.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3396
|
|
|
|
- Fix deprecated escape sequences in preparation for Python 3.8.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3400
|
|
|
|
Features in 1.10
|
|
|
|
----------------
|
|
|
|
- Add a ``_depth`` and ``_category`` arguments to all of the venusian
|
|
|
|
decorators. The ``_category`` argument can be used to affect which actions
|
|
|
|
are registered when performing a ``config.scan(..., category=...)`` with a
|
|
|
|
specific category. The ``_depth`` argument should be used when wrapping
|
|
|
|
the decorator in your own. This change affects ``pyramid.view.view_config``,
|
|
|
|
``pyramid.view.exception_view_config``,
|
|
|
|
``pyramid.view.forbidden_view_config``, ``pyramid.view.notfound_view_config``,
|
|
|
|
``pyramid.events.subscriber`` and ``pyramid.response.response_adapter``
|
|
|
|
decorators. See https://github.com/Pylons/pyramid/pull/3105 and
|
|
|
|
https://github.com/Pylons/pyramid/pull/3122
|
|
|
|
- Fix the ``pyramid.request.Request`` class name after using
|
|
|
|
``set_property`` or ``config.add_request_method`` such that the
|
|
|
|
``str(request.__class__)`` would appear as ``pyramid.request.Request``
|
|
|
|
instead of ``pyramid.util.Request``.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3129
|
|
|
|
- In ``cherrypy_server_runner``, prefer imports from the ``cheroot`` package
|
|
|
|
over the legacy imports from `cherrypy.wsgiserver`.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3235
|
|
|
|
- Add a context manager ``route_prefix_context`` to the
|
|
|
|
``pyramid.config.Configurator`` to allow for convenient setting of the
|
|
|
|
route_prefix for ``include`` and ``add_route`` calls inside the context.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3279
|
|
|
|
- Modify the builtin session implementations to support ``SameSite`` options
|
|
|
|
on cookies and set the default to ``'Lax'``. This affects
|
|
|
|
``pyramid.session.BaseCookieSessionFactory``,
|
|
|
|
``pyramid.session.SignedCookieSessionFactory``, and
|
|
|
|
``pyramid.session.UnencryptedCookieSessionFactoryConfig``.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3300
|
|
|
|
- Modify ``pyramid.authentication.AuthTktAuthenticationPolicy`` and
|
|
|
|
``pyramid.csrf.CookieCSRFStoragePolicy`` to support the ``SameSite`` option
|
|
|
|
on cookies and set the default to ``'Lax'``.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3319
|
|
|
|
- Added new ``pyramid.httpexceptions.HTTPPermanentRedirect``
|
|
|
|
exception/response object for a HTTP 308 redirect.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3302
|
|
|
|
- Within ``pshell``, allow the user-defined ``setup`` function to be a
|
|
|
|
generator, in which case it may wrap the command's lifecycle.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3318
|
|
|
|
- Within ``pshell``, variables defined by the ``[pshell]`` settings are
|
|
|
|
available within the user-defined ``setup`` function.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3318
|
|
|
|
- Add support for Python 3.7. Add testing on Python 3.8 with allowed failures.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3333
|
|
|
|
- Added the ``pyramid.config.Configurator.add_accept_view_order`` directive,
|
|
|
|
allowing users to specify media type preferences in ambiguous situations
|
|
|
|
such as when several views match. A default ordering is defined for media
|
|
|
|
types that prefers human-readable html/text responses over JSON.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3326
|
|
|
|
- Support a list of media types in the ``accept`` predicate used in
|
|
|
|
``pyramid.config.Configurator.add_route``.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3326
|
|
|
|
- Added ``pyramid.session.JSONSerializer``. See "Upcoming Changes to ISession
|
|
|
|
in Pyramid 2.0" in the "Sessions" chapter of the documentation for more
|
|
|
|
information about this feature.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3353
|
|
|
|
- Add a ``registry`` argument to ``pyramid.renderers.get_renderer``
|
|
|
|
to allow users to avoid threadlocals during renderer lookup.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3358
|
|
|
|
- Pyramid's test suite is no longer distributed with the universal wheel.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3387
|
|
|
|
- All Python code is now formatted automatically using ``black``.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3388
|
|
|
|
Deprecations
|
|
|
|
------------
|
|
|
|
- The ``pyramid.intefaces.ISession`` interface will move to require
|
|
|
|
JSON-serializable objects in Pyramid 2.0. See
|
|
|
|
"Upcoming Changes to ISession in Pyramid 2.0" in the "Sessions" chapter
|
|
|
|
of the documentation for more information about this change.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3353
|
|
|
|
- The ``pyramid.session.signed_serialize`` and
|
|
|
|
``pyramid.session.signed_deserialize`` functions will be removed in Pyramid
|
|
|
|
2.0, along with the removal of
|
|
|
|
``pyramid.session.UnencryptedCookieSessionFactoryConfig`` which was
|
|
|
|
deprecated in Pyramid 1.5. Please switch to using the
|
|
|
|
``SignedCookieSessionFactory``, copying the code, or another session
|
|
|
|
implementation if you're still using these features.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3353
|
|
|
|
- Media ranges are deprecated in the ``accept`` argument of
|
|
|
|
``pyramid.config.Configurator.add_route``. Use a list of explicit
|
|
|
|
media types to ``add_route`` to support multiple types.
|
|
|
|
- Media ranges are deprecated in the ``accept`` argument of
|
|
|
|
``pyramid.config.Configurator.add_view``. There is no replacement for
|
|
|
|
ranges to ``add_view``, but after much discussion the workflow is
|
|
|
|
fundamentally ambiguous in the face of various client-supplied values for
|
|
|
|
the ``Accept`` header.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3326
|
|
|
|
Bug Fixes in 1.10
|
|
|
|
-----------------
|
|
|
|
- Set appropriate ``code`` and ``title`` attributes on the ``HTTPClientError``
|
|
|
|
and ``HTTPServerError`` exception classes. This prevents inadvertently
|
|
|
|
returning a 520 error code.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3280
|
|
|
|
- Replace ``webob.acceptparse.MIMEAccept`` from WebOb with
|
|
|
|
``webob.acceptparse.create_accept_header`` in the HTTP exception handling
|
|
|
|
code. The old ``MIMEAccept`` has been deprecated. The new methods follow the
|
|
|
|
RFC's more closely. See https://github.com/Pylons/pyramid/pull/3251
|
|
|
|
- Catch extra errors like ``AttributeError`` when unpickling "trusted"
|
|
|
|
session cookies with bad pickle data in them. This would occur when sharing
|
|
|
|
a secret between projects that shouldn't actually share session cookies,
|
|
|
|
like when reusing secrets between projects in development.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3325
|
|
|
|
Backward Incompatibilities in 1.10
|
|
|
|
----------------------------------
|
|
|
|
- On Python 3.4+ the ``repoze.lru`` dependency is dropped. If you were using
|
|
|
|
this package directly in your apps you should make sure that you are
|
|
|
|
depending on it directly within your project.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3140
|
|
|
|
- Remove the ``permission`` argument from
|
|
|
|
``pyramid.config.Configurator.add_route``. This was an argument left over
|
|
|
|
from a feature removed in Pyramid 1.5 and has had no effect since then.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3299
|
|
|
|
- Modify the builtin session implementations to set ``SameSite='Lax'`` on
|
|
|
|
cookies. This affects ``pyramid.session.BaseCookieSessionFactory``,
|
|
|
|
``pyramid.session.SignedCookieSessionFactory``, and
|
|
|
|
``pyramid.session.UnencryptedCookieSessionFactoryConfig``.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3300
|
|
|
|
- Variables defined in the ``[pshell]`` section of the settings will no
|
|
|
|
longer override those set by the ``setup`` function.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3318
|
|
|
|
- ``pyramid.config.Configurator.add_notfound_view`` uses default redirect
|
|
|
|
class exception ``pyramid.httpexceptions.HTTPTemporaryRedirect`` instead
|
|
|
|
of previous ``pyramid.httpexceptions.HTTPFound``.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3328
|
|
|
|
- Removed ``pyramid.config.Configurator.set_request_property`` which had been
|
|
|
|
deprecated since Pyramid 1.5. Instead use
|
|
|
|
``pyramid.config.Configurator.add_request_method`` with ``reify=True`` or
|
|
|
|
``property=True``.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3368
|
|
|
|
- Removed the ``principal`` keyword argument from
|
|
|
|
``pyramid.security.remember`` which had been deprecated since Pyramid 1.6
|
|
|
|
and replaced by the ``userid`` argument.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3369
|
|
|
|
- Removed the ``pyramid.tests`` subpackage that used to contain the Pyramid
|
|
|
|
test suite. These changes also changed the format of the repository to move
|
|
|
|
the code into a ``src`` folder.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/3387
|
|
|
|
|
2017-10-10 12:46:00 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Mon Oct 9 21:37:19 UTC 2017 - hpj@urpla.net
|
|
|
|
|
|
|
|
- add missing runtime dependencies
|
|
|
|
|
2017-09-11 15:45:22 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Fri Sep 8 16:31:46 UTC 2017 - toddrme2178@gmail.com
|
|
|
|
|
|
|
|
- Remove non-free documentation (CC-BY-NC-SA-3.0 license).
|
|
|
|
|
2017-09-07 16:29:21 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Thu Sep 7 15:57:20 UTC 2017 - toddrme2178@gmail.com
|
|
|
|
|
|
|
|
- Revert change to older copyright
|
|
|
|
We shouldn't change previous copyrights
|
|
|
|
- Fix doc package dependency issue
|
|
|
|
|
2017-08-08 16:00:57 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Mon Aug 7 23:22:39 UTC 2017 - jengelh@inai.de
|
|
|
|
|
|
|
|
- Trim filler wording from description.
|
|
|
|
|
2017-07-16 16:30:25 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Sun Jul 16 08:31:15 UTC 2017 - aloisio@gmx.com
|
|
|
|
|
|
|
|
- Update to 1.9.1, see HISTORY.txt for (long) changelog
|
|
|
|
- Converted to single-spec
|
|
|
|
|
2016-01-05 21:33:55 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Tue Jan 5 18:43:19 UTC 2016 - hpj@urpla.net
|
|
|
|
|
2024-01-02 21:18:37 +00:00
|
|
|
- use the PyPI tarball instead of github
|
2016-01-05 21:33:55 +00:00
|
|
|
|
2016-01-05 18:12:09 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Tue Jan 5 14:31:05 UTC 2016 - hpj@urpla.net
|
|
|
|
|
|
|
|
- 1.6.0 (2016-01-03)
|
|
|
|
Too many changes to list here, check:
|
|
|
|
https://github.com/Pylons/pyramid/blob/master/CHANGES.txt
|
|
|
|
|
2015-08-03 12:34:16 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Thu Jul 30 14:16:47 UTC 2015 - hpj@urpla.net
|
|
|
|
|
|
|
|
- 1.5.7 (2015-04-28)
|
|
|
|
* Further fix the JSONP renderer by prefixing the returned content with a comment.
|
2024-01-02 21:18:37 +00:00
|
|
|
This should mitigate attacks from Flash (See CVE-2014-4671).
|
2015-08-03 12:34:16 +00:00
|
|
|
See https://github.com/Pylons/pyramid/pull/1648
|
|
|
|
* Allow periods and brackets ([]) in the JSONP callback. The original fix was
|
|
|
|
overly-restrictive and broke Angular. See https://github.com/Pylons/pyramid/pull/1648
|
|
|
|
|
|
|
|
- 1.5.6 (2015-04-14)
|
|
|
|
* 1.5.5 was a brown-bag release which was missing files.
|
|
|
|
|
|
|
|
- 1.5.5 (2015-04-14)
|
|
|
|
* The JSONP renderer created JavaScript code in such a way that a callback variable
|
|
|
|
could be used to arbitrarily inject javascript into the response object.
|
|
|
|
https://github.com/Pylons/pyramid/pull/1626
|
|
|
|
|
|
|
|
- 1.5.4 (2015-02-24)
|
2024-01-02 21:18:37 +00:00
|
|
|
* Fix regression where pserve --reload would not work when running as a daemon.
|
2015-08-03 12:34:16 +00:00
|
|
|
Backported from https://github.com/Pylons/pyramid/pull/1592
|
|
|
|
|
|
|
|
- 1.5.3 (2015-02-22)
|
|
|
|
* Work around an issue where pserve --reload would leave terminal echo disabled if it
|
|
|
|
reloaded during a pdb session. Backported from https://github.com/Pylons/pyramid/pull/1577
|
|
|
|
* Fixed a failing unittest caused by differing mimetypes on various OS platforms.
|
|
|
|
See https://github.com/Pylons/pyramid/issues/1405
|
|
|
|
* Overall improvments for the proutes command. Added --format and --glob arguments to the
|
2024-01-02 21:18:37 +00:00
|
|
|
command, introduced the method column for displaying available request methods, and
|
|
|
|
improved the view output by showing the module instead of just __repr__.
|
2015-08-03 12:34:16 +00:00
|
|
|
See: https://github.com/Pylons/pyramid/pull/1542
|
|
|
|
* The pyramid.renderers.JSONP renderer would raise an exception if used without a request
|
|
|
|
object. It will now fallback to behave like the pyramid.renderers.JSON renderer if
|
|
|
|
there is no request object to derive a callback from.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/1562
|
|
|
|
* Prevent “parameters to load are deprecated” DeprecationWarning from setuptools>=11.3.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/1541
|
|
|
|
* Avoiding timing attacks against CSRF tokens. Backported from
|
|
|
|
https://github.com/Pylons/pyramid/pull/1574
|
|
|
|
* pserve can now take a -b or --browser option to open the server URL in a web browser.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/1533
|
|
|
|
|
2015-08-03 14:06:16 +00:00
|
|
|
- remove fix_mimetype_tests.patch, applied upstream
|
2015-08-03 12:34:16 +00:00
|
|
|
|
2015-02-06 16:50:05 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Fri Feb 6 16:31:11 UTC 2015 - hpj@urpla.net
|
|
|
|
|
|
|
|
- fix python-venusian version: 1.0a3 is greater than 1.0 unfortunately
|
|
|
|
|
2015-02-03 18:42:51 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Tue Feb 3 17:45:55 UTC 2015 - toddrme2178@gmail.com
|
|
|
|
|
|
|
|
- Update year
|
|
|
|
- Implement update-alternatives for compatibility with an unpcoming
|
|
|
|
python 3 version
|
|
|
|
- Removed dependencies that are not longer needed.
|
|
|
|
|
2014-12-12 21:39:34 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Fri Dec 12 20:20:57 UTC 2014 - tbechtold@suse.com
|
|
|
|
|
|
|
|
- Update to version 1.5.2
|
|
|
|
- ``pyramid.wsgi.wsgiapp`` and ``pyramid.wsgi.wsgiapp2`` now raise
|
|
|
|
``ValueError`` when accidentally passed ``None``.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/1320
|
|
|
|
- Work around a bug introduced in Python 2.7.7 on Windows where
|
|
|
|
``mimetypes.guess_type`` returns Unicode rather than str for the content
|
|
|
|
type, unlike any previous version of Python. See
|
|
|
|
https://github.com/Pylons/pyramid/issues/1360 for more information.
|
|
|
|
- Update scaffold generating machinery to return the version of pyramid and
|
|
|
|
pyramid docs for use in scaffolds. Updated starter, alchemy and zodb
|
|
|
|
templates to have links to correctly versioned documentation and reflect
|
|
|
|
which pyramid was used to generate the scaffold.
|
|
|
|
- Fix an issue whereby predicates would be resolved as maybe_dotted in the
|
|
|
|
introspectable but not when passed for registration. This would mean that
|
|
|
|
``add_route_predicate`` for example can not take a string and turn it into
|
|
|
|
the actual callable function.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/1306
|
|
|
|
- Fix ``pyramid.testing.setUp`` to return a ``Configurator`` with a proper
|
|
|
|
package. Previously it was not possible to do package-relative includes
|
|
|
|
using the returned ``Configurator`` during testing. There is now a
|
|
|
|
``package`` argument that can override this behavior as well.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/1322
|
|
|
|
- Removed non-ascii copyright symbol from templates, as this was
|
|
|
|
causing the scaffolds to fail for project generation on some systems.
|
|
|
|
- Fix an issue where a ``pyramid.response.FileResponse`` may apply a charset
|
|
|
|
where it does not belong. See https://github.com/Pylons/pyramid/pull/1251
|
|
|
|
- Avoid crash in ``pserve --reload`` under Py3k, when iterating over possibly
|
|
|
|
mutated ``sys.modules``.
|
|
|
|
- ``UnencryptedCookieSessionFactoryConfig`` failed if the secret contained
|
|
|
|
higher order characters. See https://github.com/Pylons/pyramid/issues/1246
|
|
|
|
- Fixed a bug in ``UnencryptedCookieSessionFactoryConfig`` and
|
|
|
|
``SignedCookieSessionFactory`` where ``timeout=None`` would cause a new
|
|
|
|
session to always be created. Also in ``SignedCookieSessionFactory`` a
|
|
|
|
``reissue_time=None`` would cause an exception when modifying the session.
|
|
|
|
See https://github.com/Pylons/pyramid/issues/1247
|
|
|
|
- Updated docs and scaffolds to keep in step with new 2.0 release of
|
|
|
|
``Lingua``. This included removing all ``setup.cfg`` files from scaffolds
|
|
|
|
and documentation environments.
|
|
|
|
- We no longer eagerly clear ``request.exception`` and ``request.exc_info`` in
|
|
|
|
the exception view tween. This makes it possible to inspect exception
|
|
|
|
information within a finished callback. See
|
|
|
|
https://github.com/Pylons/pyramid/issues/1223.
|
|
|
|
- Updated scaffolds with new theme, fixed documentation and sample project.
|
|
|
|
- Depend on a newer version of WebOb so that we pull in some crucial bug-fixes
|
|
|
|
that were showstoppers for functionality in Pyramid.
|
|
|
|
- Add a trailing semicolon to the JSONP response. This fixes JavaScript syntax
|
|
|
|
errors for old IE versions. See https://github.com/Pylons/pyramid/pull/1205
|
|
|
|
- Fix a memory leak when the configurator's ``set_request_property`` method was
|
|
|
|
used or when the configurator's ``add_request_method`` method was used with
|
|
|
|
the ``property=True`` attribute. See
|
|
|
|
https://github.com/Pylons/pyramid/issues/1212 .
|
|
|
|
- An authorization API has been added as a method of the
|
|
|
|
request: ``request.has_permission``.
|
|
|
|
``request.has_permission`` is a method-based alternative to the
|
|
|
|
``pyramid.security.has_permission`` API and works exactly the same. The
|
|
|
|
older API is now deprecated.
|
|
|
|
- Property API attributes have been added to the request for easier access to
|
|
|
|
authentication data: ``request.authenticated_userid``,
|
|
|
|
``request.unauthenticated_userid``, and ``request.effective_principals``.
|
|
|
|
These are analogues, respectively, of
|
|
|
|
``pyramid.security.authenticated_userid``,
|
|
|
|
``pyramid.security.unauthenticated_userid``, and
|
|
|
|
``pyramid.security.effective_principals``. They operate exactly the same,
|
|
|
|
except they are attributes of the request instead of functions accepting a
|
|
|
|
request. They are properties, so they cannot be assigned to. The older
|
|
|
|
function-based APIs are now deprecated.
|
|
|
|
- Pyramid's console scripts (``pserve``, ``pviews``, etc) can now be run
|
|
|
|
directly, allowing custom arguments to be sent to the python interpreter
|
|
|
|
at runtime. For example::
|
|
|
|
python -3 -m pyramid.scripts.pserve development.ini
|
|
|
|
- Added a specific subclass of ``HTTPBadRequest`` named
|
|
|
|
``pyramid.exceptions.BadCSRFToken`` which will now be raised in response
|
|
|
|
to failures in ``check_csrf_token``.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/1149
|
|
|
|
- Added a new ``SignedCookieSessionFactory`` which is very similar to the
|
|
|
|
``UnencryptedCookieSessionFactoryConfig`` but with a clearer focus on signing
|
|
|
|
content. The custom serializer arguments to this function should only focus
|
|
|
|
on serializing, unlike its predecessor which required the serializer to also
|
|
|
|
perform signing. See https://github.com/Pylons/pyramid/pull/1142 . Note
|
|
|
|
that cookies generated using ``SignedCookieSessionFactory`` are not
|
|
|
|
compatible with cookies generated using ``UnencryptedCookieSessionFactory``,
|
|
|
|
so existing user session data will be destroyed if you switch to it.
|
|
|
|
- Added a new ``BaseCookieSessionFactory`` which acts as a generic cookie
|
|
|
|
factory that can be used by framework implementors to create their own
|
|
|
|
session implementations. It provides a reusable API which focuses strictly
|
|
|
|
on providing a dictionary-like object that properly handles renewals,
|
|
|
|
timeouts, and conformance with the ``ISession`` API.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/1142
|
|
|
|
- The anchor argument to ``pyramid.request.Request.route_url`` and
|
|
|
|
``pyramid.request.Request.resource_url`` and their derivatives will now be
|
|
|
|
escaped via URL quoting to ensure minimal conformance. See
|
|
|
|
https://github.com/Pylons/pyramid/pull/1183
|
|
|
|
- Allow sending of ``_query`` and ``_anchor`` options to
|
|
|
|
``pyramid.request.Request.static_url`` when an external URL is being
|
|
|
|
generated.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/1183
|
|
|
|
- You can now send a string as the ``_query`` argument to
|
|
|
|
``pyramid.request.Request.route_url`` and
|
|
|
|
``pyramid.request.Request.resource_url`` and their derivatives. When a
|
|
|
|
string is sent instead of a list or dictionary. it is URL-quoted however it
|
|
|
|
does not need to be in ``k=v`` form. This is useful if you want to be able
|
|
|
|
to use a different query string format than ``x-www-form-urlencoded``. See
|
|
|
|
https://github.com/Pylons/pyramid/pull/1183
|
|
|
|
- ``pyramid.testing.DummyRequest`` now has a ``domain`` attribute to match the
|
|
|
|
new WebOb 1.3 API. Its value is ``example.com``.
|
|
|
|
- Fix the ``pcreate`` script so that when the target directory name ends with a
|
|
|
|
slash it does not produce a non-working project directory structure.
|
|
|
|
Previously saying ``pcreate -s starter /foo/bar/`` produced different output
|
|
|
|
than saying ``pcreate -s starter /foo/bar``. The former did not work
|
|
|
|
properly.
|
|
|
|
- Fix the ``principals_allowed_by_permission`` method of
|
|
|
|
``ACLAuthorizationPolicy`` so it anticipates a callable ``__acl__``
|
|
|
|
on resources. Previously it did not try to call the ``__acl__``
|
|
|
|
if it was callable.
|
|
|
|
- The ``pviews`` script did not work when a url required custom request
|
|
|
|
methods in order to perform traversal. Custom methods and descriptors added
|
|
|
|
via ``pyramid.config.Configurator.add_request_method`` will now be present,
|
|
|
|
allowing traversal to continue.
|
|
|
|
See https://github.com/Pylons/pyramid/issues/1104
|
|
|
|
- Remove unused ``renderer`` argument from ``Configurator.add_route``.
|
|
|
|
- Allow the ``BasicAuthenticationPolicy`` to work with non-ascii usernames
|
|
|
|
and passwords. The charset is not passed as part of the header and different
|
|
|
|
browsers alternate between UTF-8 and Latin-1, so the policy now attempts
|
|
|
|
to decode with UTF-8 first, and will fallback to Latin-1.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/1170
|
|
|
|
- The ``@view_defaults`` now apply to notfound and forbidden views
|
|
|
|
that are defined as methods of a decorated class.
|
|
|
|
See https://github.com/Pylons/pyramid/issues/1173
|
|
|
|
- The key/values in the ``_query`` parameter of ``request.route_url`` and the
|
|
|
|
``query`` parameter of ``request.resource_url`` (and their variants), used
|
|
|
|
to encode a value of ``None`` as the string ``'None'``, leaving the resulting
|
|
|
|
query string to be ``a=b&key=None``. The value is now dropped in this
|
|
|
|
situation, leaving a query string of ``a=b&key=``.
|
|
|
|
See https://github.com/Pylons/pyramid/issues/1119
|
|
|
|
- Deprecate the ``pyramid.interfaces.ITemplateRenderer`` interface. It was
|
|
|
|
ill-defined and became unused when Mako and Chameleon template bindings were
|
|
|
|
split into their own packages.
|
|
|
|
- The ``pyramid.session.UnencryptedCookieSessionFactoryConfig`` API has been
|
|
|
|
deprecated and is superseded by the
|
|
|
|
``pyramid.session.SignedCookieSessionFactory``. Note that while the cookies
|
|
|
|
generated by the ``UnencryptedCookieSessionFactoryConfig``
|
|
|
|
are compatible with cookies generated by old releases, cookies generated by
|
|
|
|
the SignedCookieSessionFactory are not. See
|
|
|
|
https://github.com/Pylons/pyramid/pull/1142
|
|
|
|
- The ``pyramid.security.has_permission`` API is now deprecated. Instead, use
|
|
|
|
the newly-added ``has_permission`` method of the request object.
|
|
|
|
- The ``pyramid.security.effective_principals`` API is now deprecated.
|
|
|
|
Instead, use the newly-added ``effective_principals`` attribute of the
|
|
|
|
request object.
|
|
|
|
- The ``pyramid.security.authenticated_userid`` API is now deprecated.
|
|
|
|
Instead, use the newly-added ``authenticated_userid`` attribute of the
|
|
|
|
request object.
|
|
|
|
- The ``pyramid.security.unauthenticated_userid`` API is now deprecated.
|
|
|
|
Instead, use the newly-added ``unauthenticated_userid`` attribute of the
|
|
|
|
request object.
|
|
|
|
- Pyramid now depends on WebOb>=1.3 (it uses ``webob.cookies.CookieProfile``
|
|
|
|
from 1.3+).
|
|
|
|
- Users can now provide dotted Python names to as the ``factory`` argument
|
|
|
|
the Configurator methods named ``add_{view,route,subscriber}_predicate``
|
|
|
|
(instead of passing the predicate factory directly, you can pass a
|
|
|
|
dotted name which refers to the factory).
|
|
|
|
- Fix an exception in ``pyramid.path.package_name`` when resolving the package
|
|
|
|
name for namespace packages that had no ``__file__`` attribute.
|
|
|
|
- Pyramid no longer depends on or configures the Mako and Chameleon templating
|
|
|
|
system renderers by default. Disincluding these templating systems by
|
|
|
|
default means that the Pyramid core has fewer dependencies and can run on
|
|
|
|
future platforms without immediate concern for the compatibility of its
|
|
|
|
templating add-ons. It also makes maintenance slightly more effective, as
|
|
|
|
different people can maintain the templating system add-ons that they
|
|
|
|
understand and care about without needing commit access to the Pyramid core,
|
|
|
|
and it allows users who just don't want to see any packages they don't use
|
|
|
|
come along for the ride when they install Pyramid.
|
|
|
|
This means that upon upgrading to Pyramid 1.5a2+, projects that use either
|
|
|
|
of these templating systems will see a traceback that ends something like
|
|
|
|
this when their application attempts to render a Chameleon or Mako template::
|
|
|
|
ValueError: No such renderer factory .pt
|
|
|
|
Or::
|
|
|
|
ValueError: No such renderer factory .mako
|
|
|
|
Or::
|
|
|
|
ValueError: No such renderer factory .mak
|
|
|
|
Support for Mako templating has been moved into an add-on package named
|
|
|
|
``pyramid_mako``, and support for Chameleon templating has been moved into
|
|
|
|
an add-on package named ``pyramid_chameleon``. These packages are drop-in
|
|
|
|
replacements for the old built-in support for these templating langauges.
|
|
|
|
All you have to do is install them and make them active in your configuration
|
|
|
|
to register renderer factories for ``.pt`` and/or ``.mako`` (or ``.mak``) to
|
|
|
|
make your application work again.
|
|
|
|
To re-add support for Chameleon and/or Mako template renderers into your
|
|
|
|
existing projects, follow the below steps.
|
|
|
|
If you depend on Mako templates:
|
|
|
|
* Make sure the ``pyramid_mako`` package is installed. One way to do this
|
|
|
|
is by adding ``pyramid_mako`` to the ``install_requires`` section of your
|
|
|
|
package's ``setup.py`` file and afterwards rerunning ``setup.py develop``::
|
|
|
|
setup(
|
|
|
|
#...
|
|
|
|
install_requires=[
|
|
|
|
'pyramid_mako', # new dependency
|
|
|
|
'pyramid',
|
|
|
|
#...
|
|
|
|
],
|
|
|
|
)
|
|
|
|
* Within the portion of your application which instantiates a Pyramid
|
|
|
|
``pyramid.config.Configurator`` (often the ``main()`` function in
|
|
|
|
your project's ``__init__.py`` file), tell Pyramid to include the
|
|
|
|
``pyramid_mako`` includeme::
|
|
|
|
config = Configurator(.....)
|
|
|
|
config.include('pyramid_mako')
|
|
|
|
If you depend on Chameleon templates:
|
|
|
|
* Make sure the ``pyramid_chameleon`` package is installed. One way to do
|
|
|
|
this is by adding ``pyramid_chameleon`` to the ``install_requires`` section
|
|
|
|
of your package's ``setup.py`` file and afterwards rerunning
|
|
|
|
``setup.py develop``::
|
|
|
|
setup(
|
|
|
|
#...
|
|
|
|
install_requires=[
|
|
|
|
'pyramid_chameleon', # new dependency
|
|
|
|
'pyramid',
|
|
|
|
#...
|
|
|
|
],
|
|
|
|
)
|
|
|
|
* Within the portion of your application which instantiates a Pyramid
|
|
|
|
``~pyramid.config.Configurator`` (often the ``main()`` function in
|
|
|
|
your project's ``__init__.py`` file), tell Pyramid to include the
|
|
|
|
``pyramid_chameleon`` includeme::
|
|
|
|
config = Configurator(.....)
|
|
|
|
config.include('pyramid_chameleon')
|
|
|
|
Note that it's also fine to install these packages into *older* Pyramids for
|
|
|
|
forward compatibility purposes. Even if you don't upgrade to Pyramid 1.5
|
|
|
|
immediately, performing the above steps in a Pyramid 1.4 installation is
|
|
|
|
perfectly fine, won't cause any difference, and will give you forward
|
|
|
|
compatibility when you eventually do upgrade to Pyramid 1.5.
|
|
|
|
With the removal of Mako and Chameleon support from the core, some
|
|
|
|
unit tests that use the ``pyramid.renderers.render*`` methods may begin to
|
|
|
|
fail. If any of your unit tests are invoking either
|
|
|
|
``pyramid.renderers.render()`` or ``pyramid.renderers.render_to_response()``
|
|
|
|
with either Mako or Chameleon templates then the
|
|
|
|
``pyramid.config.Configurator`` instance in effect during
|
|
|
|
the unit test should be also be updated to include the addons, as shown
|
|
|
|
above. For example::
|
|
|
|
class ATest(unittest.TestCase):
|
|
|
|
def setUp(self):
|
|
|
|
self.config = pyramid.testing.setUp()
|
|
|
|
self.config.include('pyramid_mako')
|
|
|
|
def test_it(self):
|
|
|
|
result = pyramid.renderers.render('mypkg:templates/home.mako', {} )
|
|
|
|
|
|
|
|
Or::
|
|
|
|
class ATest(unittest.TestCase):
|
|
|
|
def setUp(self):
|
|
|
|
self.config = pyramid.testing.setUp()
|
|
|
|
self.config.include('pyramid_chameleon')
|
|
|
|
def test_it(self):
|
|
|
|
result = pyramid.renderers.render('mypkg:templates/home.pt', {})
|
|
|
|
- If you're using the Pyramid debug toolbar, when you upgrade Pyramid to
|
|
|
|
1.5a2+, you'll also need to upgrade the ``pyramid_debugtoolbar`` package to
|
|
|
|
at least version 1.0.8, as older toolbar versions are not compatible with
|
|
|
|
Pyramid 1.5a2+ due to the removal of Mako support from the core. It's
|
|
|
|
fine to use this newer version of the toolbar code with older Pyramids too.
|
|
|
|
- Removed the ``request.response_*`` varying attributes. These attributes
|
|
|
|
have been deprecated since Pyramid 1.1, and as per the deprecation policy,
|
|
|
|
have now been removed.
|
|
|
|
- ``request.response`` will no longer be mutated when using the
|
|
|
|
``pyramid.renderers.render()`` API. Almost all renderers mutate the
|
|
|
|
``request.response`` response object (for example, the JSON renderer sets
|
|
|
|
``request.response.content_type`` to ``application/json``), but this is
|
|
|
|
only necessary when the renderer is generating a response; it was a bug
|
|
|
|
when it was done as a side effect of calling ``pyramid.renderers.render()``.
|
|
|
|
- Removed the ``bfg2pyramid`` fixer script.
|
|
|
|
- The ``pyramid.events.NewResponse`` event is now sent **after** response
|
|
|
|
callbacks are executed. It previously executed before response callbacks
|
|
|
|
were executed. Rationale: it's more useful to be able to inspect the response
|
|
|
|
after response callbacks have done their jobs instead of before.
|
|
|
|
- Removed the class named ``pyramid.view.static`` that had been deprecated
|
|
|
|
since Pyramid 1.1. Instead use ``pyramid.static.static_view`` with
|
|
|
|
``use_subpath=True`` argument.
|
|
|
|
- Removed the ``pyramid.view.is_response`` function that had been deprecated
|
|
|
|
since Pyramid 1.1. Use the ``pyramid.request.Request.is_response`` method
|
|
|
|
instead.
|
|
|
|
- Removed the ability to pass the following arguments to
|
|
|
|
``pyramid.config.Configurator.add_route``: ``view``, ``view_context``.
|
|
|
|
``view_for``, ``view_permission``, ``view_renderer``, and ``view_attr``.
|
|
|
|
Using these arguments had been deprecated since Pyramid 1.1. Instead of
|
|
|
|
passing view-related arguments to ``add_route``, use a separate call to
|
|
|
|
``pyramid.config.Configurator.add_view`` to associate a view with a route
|
|
|
|
using its ``route_name`` argument. Note that this impacts the
|
|
|
|
``pyramid.config.Configurator.add_static_view`` function too, because it
|
|
|
|
delegates to ``add_route``.
|
|
|
|
- Removed the ability to influence and query a ``pyramid.request.Request``
|
|
|
|
object as if it were a dictionary. Previously it was possible to use methods
|
|
|
|
like ``__getitem__``, ``get``, ``items``, and other dictlike methods to
|
|
|
|
access values in the WSGI environment. This behavior had been deprecated
|
|
|
|
since Pyramid 1.1. Use methods of ``request.environ`` (a real dictionary)
|
|
|
|
instead.
|
|
|
|
- Removed ancient backwards compatibily hack in
|
|
|
|
``pyramid.traversal.DefaultRootFactory`` which populated the ``__dict__`` of
|
|
|
|
the factory with the matchdict values for compatibility with BFG 0.9.
|
|
|
|
- The ``renderer_globals_factory`` argument to the
|
|
|
|
``pyramid.config.Configurator` constructor and its ``setup_registry`` method
|
|
|
|
has been removed. The ``set_renderer_globals_factory`` method of
|
|
|
|
``pyramid.config.Configurator`` has also been removed. The (internal)
|
|
|
|
``pyramid.interfaces.IRendererGlobals`` interface was also removed. These
|
|
|
|
arguments, methods and interfaces had been deprecated since 1.1. Use a
|
|
|
|
``BeforeRender`` event subscriber as documented in the "Hooks" chapter of the
|
|
|
|
Pyramid narrative documentation instead of providing renderer globals values
|
|
|
|
to the configurator.
|
|
|
|
- The ``pyramid.config.Configurator.set_request_property`` method now issues
|
|
|
|
a deprecation warning when used. It had been docs-deprecated in 1.4
|
|
|
|
but did not issue a deprecation warning when used.
|
|
|
|
- A new http exception subclass named ``pyramid.httpexceptions.HTTPSuccessful``
|
|
|
|
was added. You can use this class as the ``context`` of an exception
|
|
|
|
view to catch all 200-series "exceptions" (e.g. "raise HTTPOk"). This
|
|
|
|
also allows you to catch *only* the ``HTTPOk`` exception itself; previously
|
|
|
|
this was impossible because a number of other exceptions
|
|
|
|
(such as ``HTTPNoContent``) inherited from ``HTTPOk``, but now they do not.
|
|
|
|
- You can now generate "hybrid" urldispatch/traversal URLs more easily
|
|
|
|
by using the new ``route_name``, ``route_kw`` and ``route_remainder_name``
|
|
|
|
arguments to ``request.resource_url`` and ``request.resource_path``. See
|
|
|
|
the new section of the "Combining Traversal and URL Dispatch" documentation
|
|
|
|
chapter entitled "Hybrid URL Generation".
|
|
|
|
- It is now possible to escape double braces in Pyramid scaffolds (unescaped,
|
|
|
|
these represent replacement values). You can use ``\{\{a\}\}`` to
|
|
|
|
represent a "bare" ``{{a}}``. See
|
|
|
|
https://github.com/Pylons/pyramid/pull/862
|
|
|
|
- Add ``localizer`` and ``locale_name`` properties (reified) to the request.
|
|
|
|
See https://github.com/Pylons/pyramid/issues/508. Note that the
|
|
|
|
``pyramid.i18n.get_localizer`` and ``pyramid.i18n.get_locale_name`` functions
|
|
|
|
now simply look up these properties on the request.
|
|
|
|
- Add ``pdistreport`` script, which prints the Python version in use, the
|
|
|
|
Pyramid version in use, and the version number and location of all Python
|
|
|
|
distributions currently installed.
|
|
|
|
- Add the ability to invert the result of any view, route, or subscriber
|
|
|
|
predicate using the ``not_`` class. For example::
|
|
|
|
from pyramid.config import not_
|
|
|
|
@view_config(route_name='myroute', request_method=not_('POST'))
|
|
|
|
def myview(request): ...
|
|
|
|
The above example will ensure that the view is called if the request method
|
|
|
|
is not POST (at least if no other view is more specific).
|
|
|
|
The ``pyramid.config.not_`` class can be used against any value that is
|
|
|
|
a predicate value passed in any of these contexts:
|
|
|
|
- ``pyramid.config.Configurator.add_view``
|
|
|
|
- ``pyramid.config.Configurator.add_route``
|
|
|
|
- ``pyramid.config.Configurator.add_subscriber``
|
|
|
|
- ``pyramid.view.view_config``
|
|
|
|
- ``pyramid.events.subscriber``
|
|
|
|
- ``scripts/prequest.py``: add support for submitting ``PUT`` and ``PATCH``
|
|
|
|
requests. See https://github.com/Pylons/pyramid/pull/1033. add support for
|
|
|
|
submitting ``OPTIONS`` and ``PROPFIND`` requests, and allow users to specify
|
|
|
|
basic authentication credentials in the request via a ``--login`` argument to
|
|
|
|
the script. See https://github.com/Pylons/pyramid/pull/1039.
|
|
|
|
- ``ACLAuthorizationPolicy`` supports ``__acl__`` as a callable. This
|
|
|
|
removes the ambiguity between the potential ``AttributeError`` that would
|
|
|
|
be raised on the ``context`` when the property was not defined and the
|
|
|
|
``AttributeError`` that could be raised from any user-defined code within
|
|
|
|
a dynamic property. It is recommended to define a dynamic ACL as a callable
|
|
|
|
to avoid this ambiguity. See https://github.com/Pylons/pyramid/issues/735.
|
|
|
|
- Allow a protocol-relative URL (e.g. ``//example.com/images``) to be passed to
|
|
|
|
``pyramid.config.Configurator.add_static_view``. This allows
|
|
|
|
externally-hosted static URLs to be generated based on the current protocol.
|
|
|
|
- The ``AuthTktAuthenticationPolicy`` has two new options to configure its
|
|
|
|
domain usage:
|
|
|
|
* ``parent_domain``: if set the authentication cookie is set on
|
|
|
|
the parent domain. This is useful if you have multiple sites sharing the
|
|
|
|
same domain.
|
|
|
|
* ``domain``: if provided the cookie is always set for this domain, bypassing
|
|
|
|
all usual logic.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/1028,
|
|
|
|
https://github.com/Pylons/pyramid/pull/1072 and
|
|
|
|
https://github.com/Pylons/pyramid/pull/1078.
|
|
|
|
- The ``AuthTktAuthenticationPolicy`` now supports IPv6 addresses when using
|
|
|
|
the ``include_ip=True`` option. This is possibly incompatible with
|
|
|
|
alternative ``auth_tkt`` implementations, as the specification does not
|
|
|
|
define how to properly handle IPv6. See
|
|
|
|
https://github.com/Pylons/pyramid/issues/831.
|
|
|
|
- Make it possible to use variable arguments via
|
|
|
|
``pyramid.paster.get_appsettings``. This also allowed the generated
|
|
|
|
``initialize_db`` script from the ``alchemy`` scaffold to grow support
|
|
|
|
for options in the form ``a=1 b=2`` so you can fill in
|
|
|
|
values in a parameterized ``.ini`` file, e.g.
|
|
|
|
``initialize_myapp_db etc/development.ini a=1 b=2``.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/911
|
|
|
|
- The ``request.session.check_csrf_token()`` method and the ``check_csrf`` view
|
|
|
|
predicate now take into account the value of the HTTP header named
|
|
|
|
``X-CSRF-Token`` (as well as the ``csrf_token`` form parameter, which they
|
|
|
|
always did). The header is tried when the form parameter does not exist.
|
|
|
|
- View lookup will now search for valid views based on the inheritance
|
|
|
|
hierarchy of the context. It tries to find views based on the most
|
|
|
|
specific context first, and upon predicate failure, will move up the
|
|
|
|
inheritance chain to test views found by the super-type of the context.
|
|
|
|
In the past, only the most specific type containing views would be checked
|
|
|
|
and if no matching view could be found then a PredicateMismatch would be
|
|
|
|
raised. Now predicate mismatches don't hide valid views registered on
|
|
|
|
super-types. Here's an example that now works::
|
|
|
|
class IResource(Interface):
|
|
|
|
...
|
|
|
|
@view_config(context=IResource)
|
|
|
|
def get(context, request):
|
|
|
|
...
|
|
|
|
@view_config(context=IResource, request_method='POST')
|
|
|
|
def post(context, request):
|
|
|
|
...
|
|
|
|
@view_config(context=IResource, request_method='DELETE')
|
|
|
|
def delete(context, request):
|
|
|
|
...
|
|
|
|
@implementer(IResource)
|
|
|
|
class MyResource:
|
|
|
|
...
|
|
|
|
@view_config(context=MyResource, request_method='POST')
|
|
|
|
def override_post(context, request):
|
|
|
|
...
|
|
|
|
Previously the override_post view registration would hide the get
|
|
|
|
and delete views in the context of MyResource -- leading to a
|
|
|
|
predicate mismatch error when trying to use GET or DELETE
|
|
|
|
methods. Now the views are found and no predicate mismatch is
|
|
|
|
raised.
|
|
|
|
See https://github.com/Pylons/pyramid/pull/786 and
|
|
|
|
https://github.com/Pylons/pyramid/pull/1004 and
|
|
|
|
https://github.com/Pylons/pyramid/pull/1046
|
|
|
|
- The ``pserve`` command now takes a ``-v`` (or ``--verbose``) flag and a
|
|
|
|
``-q`` (or ``--quiet``) flag. Output from running ``pserve`` can be
|
|
|
|
controlled using these flags. ``-v`` can be specified multiple times to
|
|
|
|
increase verbosity. ``-q`` sets verbosity to ``0`` unconditionally. The
|
|
|
|
default verbosity level is ``1``.
|
|
|
|
- The ``alchemy`` scaffold tests now provide better coverage. See
|
|
|
|
https://github.com/Pylons/pyramid/pull/1029
|
|
|
|
- The ``pyramid.config.Configurator.add_route`` method now supports being
|
|
|
|
called with an external URL as pattern. See
|
|
|
|
https://github.com/Pylons/pyramid/issues/611 and the documentation section
|
|
|
|
in the "URL Dispatch" chapter entitled "External Routes" for more information.
|
|
|
|
Bug Fixes
|
|
|
|
---------
|
|
|
|
- It was not possible to use ``pyramid.httpexceptions.HTTPException`` as
|
|
|
|
the ``context`` of an exception view as very general catchall for
|
|
|
|
http-related exceptions when you wanted that exception view to override the
|
|
|
|
default exception view. See https://github.com/Pylons/pyramid/issues/985
|
|
|
|
- When the ``pyramid.reload_templates`` setting was true, and a Chameleon
|
|
|
|
template was reloaded, and the renderer specification named a macro
|
|
|
|
(e.g. ``foo#macroname.pt``), renderings of the template after the template
|
|
|
|
was reloaded due to a file change would produce the entire template body
|
|
|
|
instead of just a rendering of the macro. See
|
|
|
|
https://github.com/Pylons/pyramid/issues/1013.
|
|
|
|
- Fix an obscure problem when combining a virtual root with a route with a
|
|
|
|
``*traverse`` in its pattern. Now the traversal path generated in
|
|
|
|
such a configuration will be correct, instead of an element missing
|
|
|
|
a leading slash.
|
|
|
|
- Fixed a Mako renderer bug returning a tuple with a previous defname value
|
|
|
|
in some circumstances. See https://github.com/Pylons/pyramid/issues/1037
|
|
|
|
for more information.
|
|
|
|
- Make the ``pyramid.config.assets.PackageOverrides`` object implement the API
|
|
|
|
for ``__loader__`` objects specified in PEP 302. Proxies to the
|
|
|
|
``__loader__`` set by the importer, if present; otherwise, raises
|
|
|
|
``NotImplementedError``. This makes Pyramid static view overrides work
|
|
|
|
properly under Python 3.3 (previously they would not). See
|
|
|
|
https://github.com/Pylons/pyramid/pull/1015 for more information.
|
|
|
|
- ``mako_templating``: added defensive workaround for non-importability of
|
|
|
|
``mako`` due to upstream ``markupsafe`` dropping Python 3.2 support. Mako
|
|
|
|
templating will no longer work under the combination of MarkupSafe 0.17 and
|
|
|
|
Python 3.2 (although the combination of MarkupSafe 0.17 and Python 3.3 or any
|
|
|
|
supported Python 2 version will work OK).
|
|
|
|
- Spaces and dots may now be in mako renderer template paths. This was
|
|
|
|
broken when support for the new makodef syntax was added in 1.4a1.
|
|
|
|
See https://github.com/Pylons/pyramid/issues/950
|
|
|
|
- ``pyramid.debug_authorization=true`` will now correctly print out
|
|
|
|
``Allowed`` for views registered with ``NO_PERMISSION_REQUIRED`` instead
|
|
|
|
of invoking the ``permits`` method of the authorization policy.
|
|
|
|
See https://github.com/Pylons/pyramid/issues/954
|
|
|
|
- Pyramid failed to install on some systems due to being packaged with
|
|
|
|
some test files containing higher order characters in their names. These
|
|
|
|
files have now been removed. See
|
|
|
|
https://github.com/Pylons/pyramid/issues/981
|
|
|
|
- ``pyramid.testing.DummyResource`` didn't define ``__bool__``, so code under
|
|
|
|
Python 3 would use ``__len__`` to find truthiness; this usually caused an
|
|
|
|
instance of DummyResource to be "falsy" instead of "truthy". See
|
|
|
|
https://github.com/Pylons/pyramid/pull/1032
|
|
|
|
- The ``alchemy`` scaffold would break when the database was MySQL during
|
|
|
|
tables creation. See https://github.com/Pylons/pyramid/pull/1049
|
|
|
|
- The ``current_route_url`` method now attaches the query string to the URL by
|
|
|
|
default. See
|
|
|
|
https://github.com/Pylons/pyramid/issues/1040
|
|
|
|
- Make ``pserve.cherrypy_server_runner`` Python 3 compatible. See
|
|
|
|
https://github.com/Pylons/pyramid/issues/718
|
|
|
|
- Modified the ``current_route_url`` method in pyramid.Request. The method
|
|
|
|
previously returned the URL without the query string by default, it now does
|
|
|
|
attach the query string unless it is overriden.
|
|
|
|
- The ``route_url`` and ``route_path`` APIs no longer quote ``/``
|
|
|
|
to ``%2F`` when a replacement value contains a ``/``. This was pointless,
|
|
|
|
as WSGI servers always unquote the slash anyway, and Pyramid never sees the
|
|
|
|
quoted value.
|
|
|
|
- It is no longer possible to set a ``locale_name`` attribute of the request,
|
|
|
|
nor is it possible to set a ``localizer`` attribute of the request. These
|
|
|
|
are now "reified" properties that look up a locale name and localizer
|
|
|
|
respectively using the machinery described in the "Internationalization"
|
|
|
|
chapter of the documentation.
|
|
|
|
- If you send an ``X-Vhm-Root`` header with a value that ends with a slash (or
|
|
|
|
any number of slashes), the trailing slash(es) will be removed before a URL
|
|
|
|
is generated when you use use ``request.resource_url`` or
|
|
|
|
``request.resource_path``. Previously the virtual root path would not have
|
|
|
|
trailing slashes stripped, which would influence URL generation.
|
|
|
|
- The ``pyramid.interfaces.IResourceURL`` interface has now grown two new
|
|
|
|
attributes: ``virtual_path_tuple`` and ``physical_path_tuple``. These should
|
|
|
|
be the tuple form of the resource's path (physical and virtual).
|
|
|
|
- Update python-WebOb requirement
|
|
|
|
- Add fix_mimetype_tests.patch (from upstream) to fix testcase
|
|
|
|
- Set LANG=en_US.UTF-8 during testrun
|
|
|
|
- Remove /usr/bin/bfg2pyramid . Removed upstream
|
|
|
|
- Add /usr/bin/pdistreport
|
|
|
|
|
2013-11-24 21:16:04 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Sun Nov 24 21:13:45 UTC 2013 - p.drouand@gmail.com
|
|
|
|
|
|
|
|
- Update to version 1.4.5
|
|
|
|
+ The ``alchemy`` scaffold would break when the database was MySQL during
|
2024-01-02 21:18:37 +00:00
|
|
|
tables creation. See https://github.com/Pylons/pyramid/pull/1049. Backport
|
2013-11-24 21:16:04 +00:00
|
|
|
from master.
|
|
|
|
+ It was not possible to use ``pyramid.httpexceptions.HTTPException`` as
|
|
|
|
the ``context`` of an exception view as very general catchall for
|
2024-01-02 21:18:37 +00:00
|
|
|
http-related exceptions when you wanted that exception view to override the
|
2013-11-24 21:16:04 +00:00
|
|
|
default exception view. See https://github.com/Pylons/pyramid/issues/985.
|
|
|
|
Backport from master.
|
2024-01-02 21:18:37 +00:00
|
|
|
+ When the ``pyramid.reload_templates`` setting was true, and a Chameleon
|
|
|
|
template was reloaded, and the renderer specification named a macro
|
2013-11-24 21:16:04 +00:00
|
|
|
(e.g. ``foo#macroname.pt``), renderings of the template after the template
|
2024-01-02 21:18:37 +00:00
|
|
|
was reloaded due to a file change would produce the entire template body
|
|
|
|
instead of just a rendering of the macro. See
|
2013-11-24 21:16:04 +00:00
|
|
|
https://github.com/Pylons/pyramid/issues/1013. Backport from master.
|
|
|
|
+ Fixed a Mako renderer bug returning a tuple with a previous defname value
|
|
|
|
in some circumstances. See https://github.com/Pylons/pyramid/issues/1037 for
|
|
|
|
more information. Backport from master.
|
|
|
|
+ Make ``pserve.cherrypy_server_runner`` Python 3 compatible. See
|
|
|
|
https://github.com/Pylons/pyramid/issues/718. Backport from master.
|
|
|
|
- Changes from version 1.4.4
|
2024-01-02 21:18:37 +00:00
|
|
|
+ Fix an obscure problem when combining a virtual root with a route with a
|
2013-11-24 21:16:04 +00:00
|
|
|
``*traverse`` in its pattern. Now the traversal path generated in
|
|
|
|
such a configuration will be correct, instead of an element missing
|
|
|
|
a leading slash.
|
2013-11-25 22:58:07 +00:00
|
|
|
- Remove pyramid-dont-load-external-sphinx-theme.patch; merged on upstream
|
|
|
|
release
|
2013-11-24 21:16:04 +00:00
|
|
|
|
2013-10-24 11:12:24 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Thu Oct 24 11:12:22 UTC 2013 - speilicke@suse.com
|
|
|
|
|
|
|
|
- Require python-setuptools instead of distribute (upstreams merged)
|
|
|
|
|
2013-08-06 13:59:27 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Mon Aug 5 19:48:46 UTC 2013 - hpj@urpla.net
|
|
|
|
|
|
|
|
- remove pylons_theme_support.py module, as it is provided by
|
|
|
|
python-pylons_sphinx_theme now
|
|
|
|
|
2013-07-31 15:28:06 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Wed Jul 31 13:46:28 UTC 2013 - hpj@urpla.net
|
|
|
|
|
|
|
|
- add python-unittest2 and python-ordereddict deps for 11.1
|
|
|
|
|
2013-07-31 06:25:58 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Tue Jul 30 22:03:34 UTC 2013 - hpj@urpla.net
|
|
|
|
|
|
|
|
- Update to version 1.4.3
|
|
|
|
- generate documentation
|
|
|
|
- fix dependencies
|
|
|
|
- enable nose tests with coverage
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
Tue Jul 16 23:44:33 UTC 2013 - hpj@urpla.net
|
|
|
|
|
|
|
|
- add python-zope-deprecation dependency
|
|
|
|
|
2013-03-06 18:45:47 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Fri Mar 1 06:44:25 UTC 2013 - coolo@suse.com
|
|
|
|
|
|
|
|
- update license to new format
|
|
|
|
|
2012-03-20 14:50:08 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Tue Mar 20 10:50:58 UTC 2012 - saschpe@suse.de
|
|
|
|
|
|
|
|
- Update to version 1.3.b3
|
|
|
|
* No changelog provided
|
|
|
|
- Don't install documentation with problematic licensing terms (bnc#753015)
|
|
|
|
|
2012-03-12 22:03:10 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Mon Mar 12 22:02:23 UTC 2012 - saschpe@gmx.de
|
|
|
|
|
|
|
|
- Update to version 1.3.b2
|
|
|
|
* No changelog provided
|
|
|
|
|
2012-02-01 10:09:47 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Wed Feb 1 10:09:28 UTC 2012 - saschpe@suse.de
|
|
|
|
|
|
|
|
- Update to 1.3a6
|
|
|
|
- Set license to SDPX style
|
|
|
|
- Simplified macro usage
|
|
|
|
|
2011-09-27 19:04:38 +00:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Sat Jul 9 13:06:38 UTC 2011 - saschpe@gmx.de
|
|
|
|
|
|
|
|
- Initial version
|
|
|
|
|