Announcing TurboGears 2.2.0!

Showing 1-3 of 3 messages
Announcing TurboGears 2.2.0! Michael Pedersen 8/23/12 9:12 PM
That's right, we finally did it! It's up right now, and if you follow
the directions on you'll get 2.2.0.

I'd like to take a minute to thank Alessandro Molina in particular. I
did what support I could, but this release really belongs to him.
Please pass along congratulations and thanks to him. And if there's
bugs, I'll take the blame myself for not doing more to help.

The full changelog is below.

Important Commit Messages:

* Fix template engine extension collision in tw2.core >= 2.1
* Permit TGController subclasses to keep the decorations made on the
parent class methods around
* Support repoze.who v2
* New auth configuration layer that doesn't require repoze.what
anymore while still being compatible
* Support validation dict using TW2 validators and make validation
less dependant from FormEncode
* Always prefer default renderer when multiple engines are registered
for the same content_type
* Fix empty documentation for some decorators
* Remove url kwargs which were marked for removal in 2.2
* Remove legacy renderers support
* Disable AuthMetadataProvider when is None
* Improved kajiki loader to solve some issues with py:extends
* use .jinja extension for jinja templates by default
* On Mako when using file loader templates where reloaded using the
  auto_reload_templates option, while when using dotted loader the
  mako.reloadfromdisk option was used. Merge the two options in
  auto_reload_templates as all the other templates engines use this
* __before__ and __after__ were renamed to _before and _after
* Expose render call as a public api with render_template name
* Create sqla module for sqlalchemy related things and add
BalancedSession for master/slave load balancing
* Change prefix for tw2 to make resources archiving work correctly
* prefer_toscawidgets2 option in app_cfg enables tw2 and disables
  tw2. This should be the default in 2.2 newly quickstarted projects
* Add option for setting the template rendering parameters.
* Permit to avoid doctype injection when manually rendering templates
with tg.render.render
* Object dispatch has been delegated to the crank package, improving
performance and test coverage
* Quickstart new applications using repoze.who v2
* Add dynamic response.charset to meta in mako templates
* New quickstart template
* Quickstart projects without repoze.what requirement using new auth layer
* Fix issue with kajiki quickstart
* Adapt the bootstrap based template to jinja changes, always provide
  master.html for extensions and remove the minimal template as the
  new one is minimal enough
* Make genshi always available to have a lingua franca for pluggable
apps and extensions
* Storing sessions in encrypted cookies is easier to manage then the
file based solution for newly quickstarted projects
* tgext.admin now works with ToscaWidgets2
* Paste quickstart command will now ask if you want to use an
alternative templating system instead of asking for each one
* New Upgrading TG2 page
* Document new inherit option of @expose with examples
* Fix missing kajiki setup_renderer reference and remove reference to
* Update Authentication documentation
* Document flash and caching
* Document lurl usage
* Document WebFlash
* Add more docs and example about app_globals and tmpl_context
* Document ugettext and lazy_ugettext
* Document DBsession().using_engine switch to a context manager
* Minor fixes in MultipleDtabases documentation
* Added documentation about master slave load balancing
* Removing some old and now invalid parts of the documentation and add
ToscaWidgets2 documentation
* Remove some references to tw1 in core parts of the doc

Tickets Closed:
1 Improve documentation on authentication, identification and authorization
2 Include lazy translations in the documentation
11 Document SecureFormMixin from TW
19 DataGrid and pagination tutorial/​reference missing for TG2
21 sqlite db creation error in wiki20 tutorial
26 Documentation for app_globals unclear
27 Document webflash aka tg.flash
51 Turbogears 2.1b1 tgext.admin Doesn't Handle Boolean Options
57 add a --clean option to quickstart
68 Simplify database migration in TG2
70 Migrating turbogears to pip
71 Create some kind of "component" architecture for TG2
75 quickstart graphics aren't easy to modify
137 Proper use of url() for widgets in the documentation
138 Backport repoze.what-quickstart and repoze.what-pylonshq removal
139 Move dispatch to Crank
140 Verify quickstart and devtools dependency
149 Expose the tg.render.render function as render_template
150 Full ToscaWidgets2 support and make it default when quickstarting app
151 Minimal Search and Sorting functions in admin
152 Jinja Support in quickstart
153 Master /​ Slave database support
154 Merge autoreload options for template engines
156 Provide a way to quickstart with Kajiki
157 repoze.who-1.0 is bugged when using auth_tkt
158 Permit to inherit decorations on TGController subclasses
160 allow_only doesn't get checked in dynamically dispatched RestController

Michael J. Pedersen
My Online Resume: -- Google+
Google Talk: -- Twitter: pedersentg
Re: Announcing TurboGears 2.2.0! Mengu 8/24/12 3:14 AM
congratulations on the release guys. i see the dispatch mechanism is moved to crank so does this mean 2.2 is without pylons?

24 Ağustos 2012 Cuma 07:12:34 UTC+3 tarihinde Michael Pedersen yazdı:
Re: [TurboGears] Re: Announcing TurboGears 2.2.0! Alessandro Molina 8/24/12 6:57 AM
2.2 is still Pylons based.
Pylons actually didn't provide dispatch in TurboGears, the pylons
dispatch was overwritten inside TurboGears to perform object dispatch.
Now the TurboGears custom object dispatch got replaced by crank which
has many performance improvements when compared with the old dispatch
system. The two are compatible as crank was actually a fork of the TG
dispatch system.
> --
> You received this message because you are subscribed to the Google Groups
> "TurboGears" group.
> To view this discussion on the web visit
> To post to this group, send email to
> To unsubscribe from this group, send email to
> For more options, visit this group at