TurboGears 2.3.10 now released ( http://www.turbogears.org )

This release introduces some major changes in response management for non HTML responses. This is mostly aimed at people implementing web services and JSON APIs on TurboGears.

* Fixed unicode error messages in validation_errors_response
* Added support for strip_text in kajiki templates
* Transaction manager no longer sets current path as not (fixes crash with transaction 2.0.3)
* Improved deprecated features warning reporting
* Allow custom error pages to only render for specific content types through errorpage.content_types option. ( http://turbogears.readthedocs.io/en/latest/reference/config-options.html#custom-error-pages )
* Custom error pages no longer will render for content types != text/html
* Fixed ``tg.abort`` passthrough support, now properly skipping error pages and authentication ( http://turbogears.readthedocs.io/en/latest/reference/classes.html#tg.controllers.util.abort )
* Changing ``tg.response.content_type`` in controller actions will now properly change the rendered template when multiple ones are registered.
* Documented request attributes and methods that previously were not.
* Exposed ``request.disable_error_pages()`` and ``request.disable_auth_challenger()`` to skip custom error pages and auth challenging in current request ( http://turbogears.readthedocs.io/en/latest/reference/classes.html#request-response )
* It is no longer needed for ``lib.helpers`` and ``lib.app_globals`` to be imported into ``lib/__init__.py``.
* Controller Actions can now return ``None`` for a 204 No Content response.
* Returning ``tg.response`` from a controller action will now return the response as it is instead of creating a new copy of it
* JSON renderer now accepts rendering only a part of the dictionary returned by the action through the ``key`` render_param ( http://turbogears.readthedocs.io/en/latest/reference/config-options.html#tg.renderers.json.JSONRenderer )
* It is now possible to return JSON lists instead of objects from actions by using ``render_params={'allow_lists': False, 'key': 'values'}`` in ``@expose`` and returning the list in ``values`` key of the action returned dictionary.
* ``script_json_encode`` will now encode as JSON lists and iso dates by default.
* Fixed scaffolds for templates in newly quickstarted projects ( http://turbogears.readthedocs.io/en/latest/turbogears/scaffolding.html )
Shared publiclyView activity