Files
deb-python-pecan/docs/source/changes.rst
Ryan Petrello 422d063857 Version increment.
Change-Id: Icd58638f87108a0954dd26db31a22772b4d450ed
2014-08-28 12:48:37 -04:00

168 lines
6.9 KiB
ReStructuredText

0.7.0
=====
* Fixed an edge case in RestController routing which should have returned an
HTTP 400 but was instead raising an exception (and thus, HTTP 500).
* Fixed an incorrect root logger configuration for quickstarted pecan projects.
* Added `pecan.state.arguments`, a new feature for inspecting controller call
arguments.
* Fixed an infinite recursion error in PecanHook application. Subclassing both
`rest.RestController` and `hooks.HookController` resulted in an infinite
recursion error in hook application (which prevented applications from
starting).
* Pecan's tests are now included in its source distribution.
0.6.1
=====
* Fixed a bug which causes pecan to mistakenly return HTTP 204 for non-empty
response bodies.
0.6.0
=====
* Added support for disabling the `pecan.request` and `pecan.response`
threadlocals at the WSGI application level in favor of explicit reference
passing. For more information, see :ref:`contextlocals`.
* Added better support for hook composition via subclassing and mixins. For
more information, see :ref:`attaching_hooks`.
* Added support for specifying custom request and response implementations at
the WSGI application level for people who want to extend the functionality
provided by the base classes in `webob`.
* Pecan controllers may now return an explicit `webob.Response` instance to
short-circuit Pecan's template rendering and serialization.
* For generic methods that return HTTP 405, pecan now generates an `Allow`
header to communicate acceptable methods to the client.
* Fixed a bug in adherence to RFC2616: if an exposed method returns no response
body (or namespace), pecan will now enforce an HTTP 204 response (instead of
HTTP 200).
* Fixed a bug in adherence to RFC2616: when pecan responds with HTTP 204 or
HTTP 304, the `Content-Type` header is automatically stripped (because these
types of HTTP responses do not contain body content).
* Fixed a bug: now when clients request JSON via an `Accept` header, `webob`
HTTP exceptions are serialized as JSON, not their native HTML representation.
* Fixed a bug that broke applications which specified `default_renderer
= json`.
0.5.0
=====
* This release adds formal support for pypy.
* Added colored request logging to the `pecan serve` command.
* Added a scaffold for easily generating a basic REST API.
* Added the ability to pass arbitrary keyword arguments to
`pecan.testing.load_test_app`.
* Fixed a recursion-related bug in the error document middleware.
* Fixed a bug in the `gunicorn_pecan` command that caused `threading.local`
data to leak between eventlet/gevent green threads.
* Improved documentation through fixes and narrative tutorials for sample pecan
applications.
0.4.5
=====
* Fixed a trailing slash bug for `RestController`s that have a `_lookup` method.
* Cleaned up the WSGI app reference from the threadlocal state on every request
(to avoid potential memory leaks, especially when testing).
* Improved pecan documentation and corrected intersphinx references.
* pecan supports Python 3.4.
0.4.4
=====
* Removed memoization of certain controller attributes, which can lead to
a memory leak in dynamic controller lookups.
0.4.3
=====
* Fixed several bugs for RestController.
* Fixed a bug in security handling for generic controllers.
* Resolved a bug in `_default` handlers used in `RestController`.
* Persist `pecan.request.context` across internal redirects.
0.4.2
=====
* Remove a routing optimization that breaks the WSME pecan plugin.
0.4.1
=====
* Moved the project to `StackForge infrastructure
<http://ci.openstack.org/stackforge.html>`_, including Gerrit code review,
Jenkins continuous integration, and GitHub mirroring.
* Added a pecan plugin for the popular `uwsgi server
<http://uwsgi-docs.readthedocs.org>`_.
* Replaced the ``simplegeneric`` dependency with the new
``functools.singledispatch`` function in preparation for Python 3.4 support.
* Optimized pecan's core dispatch routing for notably faster response times.
0.3.2
=====
* Made some changes to simplify how ``pecan.conf.app`` is passed to new apps.
* Fixed a routing bug for certain ``_lookup`` controller configurations.
* Improved documentation for handling file uploads.
* Deprecated the ``pecan.conf.requestviewer`` configuration option.
0.3.1
=====
* ``on_error`` hooks can now return a Pecan Response objects.
* Minor documentation and release tooling updates.
0.3.0
=====
* Pecan now supports Python 2.6, 2.7, 3.2, and 3.3.
0.2.4
=====
* Add support for ``_lookup`` methods as a fallback in RestController.
* A variety of improvements to project documentation.
0.2.3
=====
* Add a variety of optimizations to ``pecan.core`` that improve request
handling time by approximately 30% for simple object dispatch routing.
* Store exceptions raised by ``abort`` in the WSGI environ so they can be
accessed later in the request handling (e.g., by other middleware or pecan
hooks).
* Make TransactionHook more robust so that it isn't as susceptible to failure
when exceptions occur in *other* pecan hooks within a request.
* Rearrange quickstart verbiage so users don't miss a necessary step.
0.2.2
=====
* Unobfuscate syntax highlighting JavaScript for debian packaging.
* Extract the scaffold-building tests into tox.
* Add support for specifying a pecan configuration file via the
``PECAN_CONFIG``
environment variable.
* Fix a bug in ``DELETE`` methods in two (or more) nested ``RestControllers``.
* Add documentation for returning specific HTTP status codes.
0.2.1
=====
* Include a license, readme, and ``requirements.txt`` in distributions.
* Improve inspection with ``dir()`` for ``pecan.request`` and ``pecan.response``
* Fix a bug which prevented pecan applications from being mounted at WSGI
virtual paths.
0.2.0
=====
* Update base project scaffolding tests to be more repeatable.
* Add an application-level configuration option to disable content-type guessing by URL
* Fix the wrong test dependency on Jinja, it's Jinja2.
* Fix a routing-related bug in ``RestController``. Fixes #156
* Add an explicit ``CONTRIBUTING.rst`` document.
* Improve visibility of deployment-related docs.
* Add support for a ``gunicorn_pecan`` console script.
* Remove and annotate a few unused (and py26 alternative) imports.
* Bug fix: don't strip a dotted extension from the path unless it has a matching mimetype.
* Add a test to the scaffold project buildout that ensures pep8 passes.
* Fix misleading output for ``$ pecan --version``.
0.2.0b
======
* Fix a bug in ``SecureController``. Resolves #131.
* Extract debug middleware static file dependencies into physical files.
* Improve a test that can fail due to a race condition.
* Improve documentation about configation format and ``app.py``.
* Add support for content type detection via HTTP Accept headers.
* Correct source installation instructions in ``README``.
* Fix an incorrect code example in the Hooks documentation.
* docs: Fix minor typo in ``*args`` Routing example.