Wednesday, January 23, 2013

Announcing TurboGears 2.2.1!

That's right, it's out right now, and you can begin using it in your own projects! Follow the directions on you'll get 2.2.0.

I'd like to thank +Alessandro Molina+Christoph Zwerschke, and +Carlos Daniel Ruvalcaba Valenzuela. Between the three of them, TurboGears is becoming better every day, and they deserve much praise and thanks.

The full changelog is below.
Ming / Mongo
  • Support connection options for ming/mongodb
  • Support new ming configuration API
  • Fix datastore options for ming
  • Jinja autoload filters
  • Added jinja filter autoloading namespace protection test cases.
  • When autoloading jinja filters use the special __all__ module variable to import the filters, if it is not defined then just import any defined callables.
  • Jinja2 didn't perform escaping while mako, genshi and kajiki did
  • Closes #17, mako bytecaching only works when use_dotted_templatenames = False.
  • Better configuration of authenticators.
  • More flexible configuration of authenticators. By adding ('default', None) to the list of authenticators, you can now include the default authenticator in the list of custom authenticators.
  • Fix more references to pylons.c
  • Update doc to deprecated pylons ns
  • Update Wiki20 tutorial to TG2.2 and try to make it easier to follow and faster to read by hightlighting code and reducing parts that are more advanced or pure web developemnt/python related
TurboGears Project
  • Fix for travis due to repoze.who 2.1 now bringing in WebOb 1.2
  • Travis-ci for development branch
  • Add contributing file.
Everything Else
  • urljoin behavior on schemas seems to change depending on python version
  • Refactor request_type detection usage
  • Fix issue with request extensions being wrongly handled two times
  • Use the new built-in translations provided by ToscaWidgets 2.
  • @beaker_cache was not available inside the deacorators module while it should have been
  • @require now provides smart behavior, and can be used to just abort, rather than do redirect. Closes #27
  • Make possible to import controllers (and so expose templates) before AppConfig.init_config has been called
  • Most packages used by TG currently don't work with SQLAlchemy 0.8
  • Permission._groups is currently defined as an array, so it expects to receive a list