Introduction
We are ready to start testing the next version of TurboGears: 2.1. This release is the first of what will be a series of alpha and beta releases before we move into production. 2.1 is not a huge departure from the 2.0 codebase, rather, it’s efforts are to clean up and speed up the existing codebase, both conceptually and technically. So, if you have some time, install it today and give it a whirl!
Major Differences (Things that affect present 2.0 users)
==================================================
Rendering
The item that will affect most 2.0 users is the renderer.  Json rendering is now not a special hard-coded case, so you will need to add it to your default config. Most 2.0 apps will have to add the following line to their app_cfg.py if you are using @expose(‘json’) at all::
base_config.renderers.append(‘json’)
If you should forget to do this, you will get an error message reminding you to do so.
TurboJson
Support for TurboJson has been removed. We have not found many people using this, and in fact, if you still need it, you can still put it into your TG application. For the most part SimpleJson does a good job of rendering Json for us, and because it is a part of the python default library in 2.6, it makes sense to utilize it. This allowed us to remove about 8 package dependencies.
Minor Differences (Things that affect folks familiar with how TG already works)
==================================================================
Dispatch
The dispatch mechanism has been completely refactored. This means that pesky things like requiring *args at the end of a RestController.edit are now not required. The new dispatcher is much faster, up to 200% faster for RestController dispatching. It also has the flexibility to add a _dispatch() method to your Controller class to drive the dispatch. This is not yet documented, but it’s on the high priority list for documentation.
Setup-app
Setup-app has been broken into two pieces, schema creation and bootstrapping. This will not affect existing TurboGears apps, but if you were familiar with a certain way quickstart works, this has changed. There are now schema.py and bootstrap.py modules in the websetup directory of your quickstart. These isolate database schema creation from adding bootstrap data to the database. This helps when you are writing scripts that modify a database, but do not add the bootstrap data (useful for testing). Having them in separate modules makes the separation of concerns more apparent.
Catwalk
While the branding was nice, we decided to drop the Catwalk name in order to make it easier to follow tutorials that utilize tgext.admin. Therefore, in quickstarts, you will no longer see catwalk, just tgext.admin calls. This also allowed us to drop yet another dependency. Catwalk will still remain a viable package, but it will no longer be maintained. The good news is that nearly all the functionality for the admin resides withing tgext.admin. Catwalk was simply a configuration of the former.
New Features
===============
Documentation
A concerted effort has been made to increase the depth, breadth, and organization of the docs. Areas of focus have been: Organization of the docs themselves, Configuration, Tutorials, and Utilities. Part of the 2.1 push will be to get the docs to a level of completion never seen before, and an organized effort is taking place to ensure this aspect of the project’s success.
Mako!!
TurboGears2 has always supported Mako, but we are now providing template support in our quickstart. When you quickstart a new project, it will ask you if you want to use mako templates instead of Genshi. Mako is usually about 3x as fast as Genshi for complex rendered pages, and up to 10x as fast for simple ones. Careful attention has been given the Admin to make sure it still works with Mako (it does), so you can be certain if you make the choice to use mako, it will work out of the box.
local:
In order to handle template inheritance gracefully, an identifier for the local project has been added to the template lookup in Mako. This allows the admin to inherit your local project’s master.mak file. An inhertance clause in Mako that uses local would looks something like::
<%inherit file=”local:templates.master”/>
Genshi has support for this automatically, but it is not explicit, and we are looking at ways to support this explicitly before 2.1 goes to final.
ToscaWidgets2 Support
ToscaWidgets2 recently made a 2.0a1 release. We have included in TurboGears2.1 the ability to easily configure your application for TW2, along with other added support for this next-generation widget framework.
Thanks
=======
This release comes not without considerable effort on the part of the TurboGears team. I would like to thank Michael Pedersen for his undying effort with the docs. Michael helped to collect about 190 todo items for our docs, and squashed a countless number of them. We now have about 130 items todo on the docs, but that number is ever-decreasing with his and other’s effort. Thanks to those folks who have contributed to the DocSprint, and who still continue to contribute, including Michael Fletcher, Jorge Vargas, and Seth Davis. If you use TurboGears, and find you need to dig into the source code to figure stuff out, please help us make the docs better by contributing to a DocSprint or sending us a pull request.
Thanks to Jorge for straightening out the Json rendering issue. Also, by removing TurboJson from the stack of required packages, we have opened the door for TurboGears to run on AppEngine and Jython. This would not be possible without Jorge’s effort.
Thanks also to Mark Ramm, Christopher Ardnt, Florent Aide, Alberto Valverde, Paul Johnston, Christoph Zwerschke, and Lee McFadden for their continued support of TG.
Finally, I just wanted to send a thank you to the folks who have contributed to the TG codebase by association. Mike Bayer, Jason Kirtland, Ben Bangert, Philip Jenvey, Chris McDonough, and last but not least Ian Bicking. Thanks for all of your effort making possible this great conglomeration of parts.

Damn, this sounds cool. Will there be a 2.0 to 2.1 migration document describing all the changes one must, should and could do to their TG project to migrate to 2.1? With explicit patches and pointers to more info (like how to move from Genshi to Mako templates)?
What I love in TG is the relatively painless upgrades for existing software, but some more explicit docs for that would be very appreciated so that I don’t have to do a diff on the quickstart projects between the releases.
@Aigars:
The above document describes all that is needed to migrate from 2.0 to 2.1. Basically, you add:
base_config.renderers.append(‘json’)
To your app_cfg.py, and you are good to go. I appreciate your notion about explicit docs, but in this case, I believe the announcement is enough of a document to describe the changes needed. I will consider adding more about what changes between versions in future alpha releases, and certainly 2.1 final will have an explicit document about what is different from 2.0.
How can we install it? The tutorial to install it automatically dont work
Hey There. I found your blog using msn. This is a really well written article. I’ll make sure to bookmark it and return to read more of your useful information. Thanks for the post. I will certainly comeback.
My brother recommended I might like this web site. He was totally right. This post actually made my day. You can not imagine just how much time I had spent for this info! Thanks!
How do i just say such a relief to discover a kid who actually knows what theyre having a debate about on the web. You certainly recognize how to bring an issue to light to make it important. Lots more people will need to see this and see this side in the story. I cant believe youre less popular since you definitely have gift.
You really make it seem really easy with your presentation but I to find this topic to be actually something that I think I’d never understand. It sort of feels too complicated and very large for me. I am looking ahead in your subsequent publish, I will try to get the cling of it!
32. You can certainly see your skills in the paintings you write. The sector hopes for even more passionate writers like you who aren’t afraid to mention how they believe. Always follow your heart.
What i don’t realize is in fact how you’re now not actually much more neatly-liked than you may be right now. You are very intelligent. You recognize therefore significantly when it comes to this subject, made me personally believe it from so many varied angles. Its like men and women don’t seem to be involved unless it is one thing to do with Girl gaga! Your own stuffs excellent. Always care for it up!
Helpful information. Fortunate me I found your website unintentionally, and I am stunned why this coincidence didn’t happened earlier! I bookmarked it.
Excellent site. Plenty of helpful info here. I’m sending it to several pals ans additionally sharing in delicious. And certainly, thanks in your sweat!
Good day very cool blog!! Man .. Beautiful .. Superb .. I will bookmark your site and take the feeds also…I am happy to seek out so many useful info here within the submit, we need work out more techniques on this regard, thanks for sharing.
Bayley225@yahoo.com
I am often to blogging and i really respect your content. The article has really peaks my interest. I am going to bookmark your website and preserve checking for new information.
Read was interesting, stay in touch…
[...]please visit the sites we follow, including this one, as it represents our picks from the web[...]…
Good day I am so delighted I found your website. A quick question if you don’t mind. I’m really enjoying the design and layout of your site. It’s a very easy on the eyes which makes it easy to follow for me to come here and visit more often. Did you hire out a designer to create your theme? Superb work!…
A formidable share, I basically given this onto a colleague who was performing a bit of analysis on this. And he really purchased me breakfast as a result of I discovered it for him.. smile. So let me reword that: Thnx for the treat! Even so yeah Thnkx for spending the time to discuss this, I feel strongly about it and really like reading much more on this topic. If potential, as you grow to be expertise, would you mind updating your weblog with a lot more details? It is highly helpful for me. Huge thumb up for this weblog submit!
It seems like the internet is where it’s at. I studied Computer Information and Film/Video at school, but I’m not too shabby with a keyboard when it comes to writing interesting stuff. Does anyone know of anyone (aside from Drudge and Arianna Huffington) who has been able to make a few bucks by blogging on a site from home?.
It’s actually a cool and helpful piece of information. I am satisfied that you just shared this useful information with us. Please keep us informed like this. Thank you for sharing.
First-class story it is without doubt. My teacher has been looking for this information.
Useful info. Fortunate me I discovered your web site by chance, and I’m stunned why this twist of fate didn’t happened in advance! I bookmarked it.
fantastic points altogether, you simply gained a brand new reader. What may you suggest in regards to your publish that you made a few days ago? Any positive?
This software is really amazing and interesting,Its features are really good.It works really good.
Gold Price
this comment is for administrator ONLY. you lose out at monetising your blog bro, check out this article where a blogger reveals her secret earning systems, its hot shit http://earn-free-online.com/nothing-to-buy-case-study-281-made-in-4-minutes/
It’s actually a great and useful piece of information. I am happy that you just shared this useful information with us. Please stay us informed like this. Thanks for sharing.
I’m really impressed along with your writing skills and also with the layout in your blog. Is this a paid topic or did you modify it yourself? Either way keep up the excellent high quality writing, it’s uncommon to peer a nice weblog like this one these days.
I’m impressed, I have to say. Actually hardly ever do I encounter a weblog that’s both educative and entertaining, and let me inform you, you could have hit the nail on the head. Your concept is excellent; the issue is something that not sufficient individuals are talking intelligently about. I am very joyful that I stumbled across this in my search for something relating to this.
Thanks for another fantastic article. The place else could anyone get that type of info in such a perfect way of writing? I have a presentation subsequent week, and I am at the look for such information.
Wow! This can be one particular of the most helpful blogs We have ever arrive across on this subject. Basically Great. I’m also a specialist in this topic therefore I can understand your effort.
Plan a voter registrati-on drive, targeting the disenfranc-hised, the poor, the unemployed-… and register them to vote. Get them to the polls… to elect candidates from among yourselves for County Commission-er. Run candidates for state rep and senator from your county… and get out the vote.men fashion
I am often to blogging and i really respect your content. The article has really peaks my interest. I’m going to bookmark your web site and keep checking for new information.
In the grand pattern of things you actually get a B+ for hard work. Exactly where you misplaced everybody ended up being on the specifics. You know, it is said, details make or break the argument.. And that couldn’t be more true here. Having said that, allow me inform you just what exactly did give good results. Your writing is extremely powerful which is most likely why I am taking an effort to comment. I do not make it a regular habit of doing that. Next, even though I can notice a leaps in logic you come up with, I am not necessarily convinced of just how you seem to unite the details which inturn help to make the actual conclusion. For now I shall subscribe to your position but wish in the foreseeable future you connect your dots much better.
Thanks for this post. I certainly agree with what you’re saying. I’ve been talking about this subject a good deal lately with my brother so hopefully this will get him to see my point of view. Fingers crossed!
Related…
[...]just beneath, are numerous totally not related sites to ours, however, they are surely worth going over[...]…
Hej. Ogromnie bajerancki stronka. Przedstawiam indywidualna stronkę internetową www. Niezwykle jest bajerancka i naturalnie Ci się wkreci. Uzupełnij w tym miejscu własną witrynę www.
Here is my best view…
I love the layout of this place, it looks very pro! Is the theme a free one or a premium one?
An excellent post. I enjoyed it immensely. Can you recommend any similar sites?